1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
12pub enum BtCoexistenceMode {
13 Enabled,
14 Disabled,
15 Sense,
16 #[doc(hidden)]
17 __SourceBreaking {
18 unknown_ordinal: u32,
19 },
20}
21
22#[macro_export]
24macro_rules! BtCoexistenceModeUnknown {
25 () => {
26 _
27 };
28}
29
30impl BtCoexistenceMode {
31 #[inline]
32 pub fn from_primitive(prim: u32) -> Option<Self> {
33 match prim {
34 1 => Some(Self::Enabled),
35 2 => Some(Self::Disabled),
36 3 => Some(Self::Sense),
37 _ => None,
38 }
39 }
40
41 #[inline]
42 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
43 match prim {
44 1 => Self::Enabled,
45 2 => Self::Disabled,
46 3 => Self::Sense,
47 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
48 }
49 }
50
51 #[inline]
52 pub fn unknown() -> Self {
53 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
54 }
55
56 #[inline]
57 pub const fn into_primitive(self) -> u32 {
58 match self {
59 Self::Enabled => 1,
60 Self::Disabled => 2,
61 Self::Sense => 3,
62 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
63 }
64 }
65
66 #[inline]
67 pub fn is_unknown(&self) -> bool {
68 match self {
69 Self::__SourceBreaking { unknown_ordinal: _ } => true,
70 _ => false,
71 }
72 }
73}
74
75#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
76pub enum IfaceConcurrencyType {
77 Sta,
78 Ap,
79 ApBridged,
80 P2P,
81 NanIface,
82 #[doc(hidden)]
83 __SourceBreaking {
84 unknown_ordinal: u32,
85 },
86}
87
88#[macro_export]
90macro_rules! IfaceConcurrencyTypeUnknown {
91 () => {
92 _
93 };
94}
95
96impl IfaceConcurrencyType {
97 #[inline]
98 pub fn from_primitive(prim: u32) -> Option<Self> {
99 match prim {
100 1 => Some(Self::Sta),
101 2 => Some(Self::Ap),
102 3 => Some(Self::ApBridged),
103 4 => Some(Self::P2P),
104 5 => Some(Self::NanIface),
105 _ => None,
106 }
107 }
108
109 #[inline]
110 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
111 match prim {
112 1 => Self::Sta,
113 2 => Self::Ap,
114 3 => Self::ApBridged,
115 4 => Self::P2P,
116 5 => Self::NanIface,
117 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
118 }
119 }
120
121 #[inline]
122 pub fn unknown() -> Self {
123 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
124 }
125
126 #[inline]
127 pub const fn into_primitive(self) -> u32 {
128 match self {
129 Self::Sta => 1,
130 Self::Ap => 2,
131 Self::ApBridged => 3,
132 Self::P2P => 4,
133 Self::NanIface => 5,
134 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
135 }
136 }
137
138 #[inline]
139 pub fn is_unknown(&self) -> bool {
140 match self {
141 Self::__SourceBreaking { unknown_ordinal: _ } => true,
142 _ => false,
143 }
144 }
145}
146
147#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
148pub enum Nl80211MessageType {
149 Done,
150 Error,
151 Ack,
152 NoOp,
153 Overrun,
154 Message,
155 #[doc(hidden)]
156 __SourceBreaking {
157 unknown_ordinal: u32,
158 },
159}
160
161#[macro_export]
163macro_rules! Nl80211MessageTypeUnknown {
164 () => {
165 _
166 };
167}
168
169impl Nl80211MessageType {
170 #[inline]
171 pub fn from_primitive(prim: u32) -> Option<Self> {
172 match prim {
173 1 => Some(Self::Done),
174 2 => Some(Self::Error),
175 3 => Some(Self::Ack),
176 4 => Some(Self::NoOp),
177 5 => Some(Self::Overrun),
178 6 => Some(Self::Message),
179 _ => None,
180 }
181 }
182
183 #[inline]
184 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
185 match prim {
186 1 => Self::Done,
187 2 => Self::Error,
188 3 => Self::Ack,
189 4 => Self::NoOp,
190 5 => Self::Overrun,
191 6 => Self::Message,
192 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
193 }
194 }
195
196 #[inline]
197 pub fn unknown() -> Self {
198 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
199 }
200
201 #[inline]
202 pub const fn into_primitive(self) -> u32 {
203 match self {
204 Self::Done => 1,
205 Self::Error => 2,
206 Self::Ack => 3,
207 Self::NoOp => 4,
208 Self::Overrun => 5,
209 Self::Message => 6,
210 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
211 }
212 }
213
214 #[inline]
215 pub fn is_unknown(&self) -> bool {
216 match self {
217 Self::__SourceBreaking { unknown_ordinal: _ } => true,
218 _ => false,
219 }
220 }
221}
222
223#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
224pub enum StaIfaceCallbackState {
225 Disconnected,
226 IfaceDisabled,
227 Inactive,
228 Scanning,
229 Authenticating,
230 Associating,
231 Associated,
232 FourwayHandshake,
233 GroupHandshake,
234 Completed,
235 #[doc(hidden)]
236 __SourceBreaking {
237 unknown_ordinal: u32,
238 },
239}
240
241#[macro_export]
243macro_rules! StaIfaceCallbackStateUnknown {
244 () => {
245 _
246 };
247}
248
249impl StaIfaceCallbackState {
250 #[inline]
251 pub fn from_primitive(prim: u32) -> Option<Self> {
252 match prim {
253 0 => Some(Self::Disconnected),
254 1 => Some(Self::IfaceDisabled),
255 2 => Some(Self::Inactive),
256 3 => Some(Self::Scanning),
257 4 => Some(Self::Authenticating),
258 5 => Some(Self::Associating),
259 6 => Some(Self::Associated),
260 7 => Some(Self::FourwayHandshake),
261 8 => Some(Self::GroupHandshake),
262 9 => Some(Self::Completed),
263 _ => None,
264 }
265 }
266
267 #[inline]
268 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
269 match prim {
270 0 => Self::Disconnected,
271 1 => Self::IfaceDisabled,
272 2 => Self::Inactive,
273 3 => Self::Scanning,
274 4 => Self::Authenticating,
275 5 => Self::Associating,
276 6 => Self::Associated,
277 7 => Self::FourwayHandshake,
278 8 => Self::GroupHandshake,
279 9 => Self::Completed,
280 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
281 }
282 }
283
284 #[inline]
285 pub fn unknown() -> Self {
286 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
287 }
288
289 #[inline]
290 pub const fn into_primitive(self) -> u32 {
291 match self {
292 Self::Disconnected => 0,
293 Self::IfaceDisabled => 1,
294 Self::Inactive => 2,
295 Self::Scanning => 3,
296 Self::Authenticating => 4,
297 Self::Associating => 5,
298 Self::Associated => 6,
299 Self::FourwayHandshake => 7,
300 Self::GroupHandshake => 8,
301 Self::Completed => 9,
302 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
303 }
304 }
305
306 #[inline]
307 pub fn is_unknown(&self) -> bool {
308 match self {
309 Self::__SourceBreaking { unknown_ordinal: _ } => true,
310 _ => false,
311 }
312 }
313}
314
315#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
316pub enum WifiChipTxPowerScenario {
317 VoiceCall,
318 OnHeadCellOff,
319 OnHeadCellOn,
320 OnBodyCellOff,
321 OnBodyCellOn,
322 #[doc(hidden)]
323 __SourceBreaking {
324 unknown_ordinal: u32,
325 },
326}
327
328#[macro_export]
330macro_rules! WifiChipTxPowerScenarioUnknown {
331 () => {
332 _
333 };
334}
335
336impl WifiChipTxPowerScenario {
337 #[inline]
338 pub fn from_primitive(prim: u32) -> Option<Self> {
339 match prim {
340 0 => Some(Self::VoiceCall),
341 1 => Some(Self::OnHeadCellOff),
342 2 => Some(Self::OnHeadCellOn),
343 3 => Some(Self::OnBodyCellOff),
344 4 => Some(Self::OnBodyCellOn),
345 _ => None,
346 }
347 }
348
349 #[inline]
350 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
351 match prim {
352 0 => Self::VoiceCall,
353 1 => Self::OnHeadCellOff,
354 2 => Self::OnHeadCellOn,
355 3 => Self::OnBodyCellOff,
356 4 => Self::OnBodyCellOn,
357 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
358 }
359 }
360
361 #[inline]
362 pub fn unknown() -> Self {
363 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
364 }
365
366 #[inline]
367 pub const fn into_primitive(self) -> u32 {
368 match self {
369 Self::VoiceCall => 0,
370 Self::OnHeadCellOff => 1,
371 Self::OnHeadCellOn => 2,
372 Self::OnBodyCellOff => 3,
373 Self::OnBodyCellOn => 4,
374 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
375 }
376 }
377
378 #[inline]
379 pub fn is_unknown(&self) -> bool {
380 match self {
381 Self::__SourceBreaking { unknown_ordinal: _ } => true,
382 _ => false,
383 }
384 }
385}
386
387#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
388pub enum WifiLegacyHalStatus {
389 NotSupported,
390 Internal,
391 InvalidArgument,
392 #[doc(hidden)]
393 __SourceBreaking {
394 unknown_ordinal: u32,
395 },
396}
397
398#[macro_export]
400macro_rules! WifiLegacyHalStatusUnknown {
401 () => {
402 _
403 };
404}
405
406impl WifiLegacyHalStatus {
407 #[inline]
408 pub fn from_primitive(prim: u32) -> Option<Self> {
409 match prim {
410 1 => Some(Self::NotSupported),
411 2 => Some(Self::Internal),
412 3 => Some(Self::InvalidArgument),
413 _ => None,
414 }
415 }
416
417 #[inline]
418 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
419 match prim {
420 1 => Self::NotSupported,
421 2 => Self::Internal,
422 3 => Self::InvalidArgument,
423 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
424 }
425 }
426
427 #[inline]
428 pub fn unknown() -> Self {
429 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
430 }
431
432 #[inline]
433 pub const fn into_primitive(self) -> u32 {
434 match self {
435 Self::NotSupported => 1,
436 Self::Internal => 2,
437 Self::InvalidArgument => 3,
438 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
439 }
440 }
441
442 #[inline]
443 pub fn is_unknown(&self) -> bool {
444 match self {
445 Self::__SourceBreaking { unknown_ordinal: _ } => true,
446 _ => false,
447 }
448 }
449}
450
451#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
452pub enum WifiLegacyHalTxPowerScenario {
453 Invalid,
454 Default,
455 VoiceCallLegacy,
456 OnHeadCellOff,
457 OnHeadCellOn,
458 OnBodyCellOff,
459 OnBodyCellOn,
460 OnBodyBt,
461 OnHeadHotspot,
462 OnHeadHotspotMmw,
463 OnBodyCellOnBt,
464 OnBodyHotspot,
465 OnBodyHotspotBt,
466 OnBodyHotspotMmw,
467 OnBodyHotspotBtMmw,
468 OnHeadCellOffUnfolded,
469 OnHeadCellOnUnfolded,
470 OnHeadHotspotUnfolded,
471 OnHeadHotspotMmwUnfolded,
472 OnBodyCellOffUnfolded,
473 OnBodyBtUnfolded,
474 OnBodyCellOnUnfolded,
475 OnBodyCellOnBtUnfolded,
476 OnBodyHotspotUnfolded,
477 OnBodyHotspotBtUnfolded,
478 OnBodyHotspotMmwUnfolded,
479 OnBodyHotspotBtMmwUnfolded,
480 OnBodyRearCamera,
481 OnBodyCellOffUnfoldedCap,
482 OnBodyBtUnfoldedCap,
483 OnBodyCellOnUnfoldedCap,
484 OnBodyCellOnBtUnfoldedCap,
485 OnBodyVideoRecording,
486 #[doc(hidden)]
487 __SourceBreaking {
488 unknown_ordinal: i32,
489 },
490}
491
492#[macro_export]
494macro_rules! WifiLegacyHalTxPowerScenarioUnknown {
495 () => {
496 _
497 };
498}
499
500impl WifiLegacyHalTxPowerScenario {
501 #[inline]
502 pub fn from_primitive(prim: i32) -> Option<Self> {
503 match prim {
504 -2 => Some(Self::Invalid),
505 -1 => Some(Self::Default),
506 0 => Some(Self::VoiceCallLegacy),
507 1 => Some(Self::OnHeadCellOff),
508 2 => Some(Self::OnHeadCellOn),
509 3 => Some(Self::OnBodyCellOff),
510 4 => Some(Self::OnBodyCellOn),
511 5 => Some(Self::OnBodyBt),
512 6 => Some(Self::OnHeadHotspot),
513 7 => Some(Self::OnHeadHotspotMmw),
514 8 => Some(Self::OnBodyCellOnBt),
515 9 => Some(Self::OnBodyHotspot),
516 10 => Some(Self::OnBodyHotspotBt),
517 11 => Some(Self::OnBodyHotspotMmw),
518 12 => Some(Self::OnBodyHotspotBtMmw),
519 13 => Some(Self::OnHeadCellOffUnfolded),
520 14 => Some(Self::OnHeadCellOnUnfolded),
521 15 => Some(Self::OnHeadHotspotUnfolded),
522 16 => Some(Self::OnHeadHotspotMmwUnfolded),
523 17 => Some(Self::OnBodyCellOffUnfolded),
524 18 => Some(Self::OnBodyBtUnfolded),
525 19 => Some(Self::OnBodyCellOnUnfolded),
526 20 => Some(Self::OnBodyCellOnBtUnfolded),
527 21 => Some(Self::OnBodyHotspotUnfolded),
528 22 => Some(Self::OnBodyHotspotBtUnfolded),
529 23 => Some(Self::OnBodyHotspotMmwUnfolded),
530 24 => Some(Self::OnBodyHotspotBtMmwUnfolded),
531 25 => Some(Self::OnBodyRearCamera),
532 26 => Some(Self::OnBodyCellOffUnfoldedCap),
533 27 => Some(Self::OnBodyBtUnfoldedCap),
534 28 => Some(Self::OnBodyCellOnUnfoldedCap),
535 29 => Some(Self::OnBodyCellOnBtUnfoldedCap),
536 30 => Some(Self::OnBodyVideoRecording),
537 _ => None,
538 }
539 }
540
541 #[inline]
542 pub fn from_primitive_allow_unknown(prim: i32) -> Self {
543 match prim {
544 -2 => Self::Invalid,
545 -1 => Self::Default,
546 0 => Self::VoiceCallLegacy,
547 1 => Self::OnHeadCellOff,
548 2 => Self::OnHeadCellOn,
549 3 => Self::OnBodyCellOff,
550 4 => Self::OnBodyCellOn,
551 5 => Self::OnBodyBt,
552 6 => Self::OnHeadHotspot,
553 7 => Self::OnHeadHotspotMmw,
554 8 => Self::OnBodyCellOnBt,
555 9 => Self::OnBodyHotspot,
556 10 => Self::OnBodyHotspotBt,
557 11 => Self::OnBodyHotspotMmw,
558 12 => Self::OnBodyHotspotBtMmw,
559 13 => Self::OnHeadCellOffUnfolded,
560 14 => Self::OnHeadCellOnUnfolded,
561 15 => Self::OnHeadHotspotUnfolded,
562 16 => Self::OnHeadHotspotMmwUnfolded,
563 17 => Self::OnBodyCellOffUnfolded,
564 18 => Self::OnBodyBtUnfolded,
565 19 => Self::OnBodyCellOnUnfolded,
566 20 => Self::OnBodyCellOnBtUnfolded,
567 21 => Self::OnBodyHotspotUnfolded,
568 22 => Self::OnBodyHotspotBtUnfolded,
569 23 => Self::OnBodyHotspotMmwUnfolded,
570 24 => Self::OnBodyHotspotBtMmwUnfolded,
571 25 => Self::OnBodyRearCamera,
572 26 => Self::OnBodyCellOffUnfoldedCap,
573 27 => Self::OnBodyBtUnfoldedCap,
574 28 => Self::OnBodyCellOnUnfoldedCap,
575 29 => Self::OnBodyCellOnBtUnfoldedCap,
576 30 => Self::OnBodyVideoRecording,
577 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
578 }
579 }
580
581 #[inline]
582 pub fn unknown() -> Self {
583 Self::__SourceBreaking { unknown_ordinal: 0x7fffffff }
584 }
585
586 #[inline]
587 pub const fn into_primitive(self) -> i32 {
588 match self {
589 Self::Invalid => -2,
590 Self::Default => -1,
591 Self::VoiceCallLegacy => 0,
592 Self::OnHeadCellOff => 1,
593 Self::OnHeadCellOn => 2,
594 Self::OnBodyCellOff => 3,
595 Self::OnBodyCellOn => 4,
596 Self::OnBodyBt => 5,
597 Self::OnHeadHotspot => 6,
598 Self::OnHeadHotspotMmw => 7,
599 Self::OnBodyCellOnBt => 8,
600 Self::OnBodyHotspot => 9,
601 Self::OnBodyHotspotBt => 10,
602 Self::OnBodyHotspotMmw => 11,
603 Self::OnBodyHotspotBtMmw => 12,
604 Self::OnHeadCellOffUnfolded => 13,
605 Self::OnHeadCellOnUnfolded => 14,
606 Self::OnHeadHotspotUnfolded => 15,
607 Self::OnHeadHotspotMmwUnfolded => 16,
608 Self::OnBodyCellOffUnfolded => 17,
609 Self::OnBodyBtUnfolded => 18,
610 Self::OnBodyCellOnUnfolded => 19,
611 Self::OnBodyCellOnBtUnfolded => 20,
612 Self::OnBodyHotspotUnfolded => 21,
613 Self::OnBodyHotspotBtUnfolded => 22,
614 Self::OnBodyHotspotMmwUnfolded => 23,
615 Self::OnBodyHotspotBtMmwUnfolded => 24,
616 Self::OnBodyRearCamera => 25,
617 Self::OnBodyCellOffUnfoldedCap => 26,
618 Self::OnBodyBtUnfoldedCap => 27,
619 Self::OnBodyCellOnUnfoldedCap => 28,
620 Self::OnBodyCellOnBtUnfoldedCap => 29,
621 Self::OnBodyVideoRecording => 30,
622 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
623 }
624 }
625
626 #[inline]
627 pub fn is_unknown(&self) -> bool {
628 match self {
629 Self::__SourceBreaking { unknown_ordinal: _ } => true,
630 _ => false,
631 }
632 }
633}
634
635#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
636pub enum WlanixError {
637 InternalError,
638 InvalidArgs,
639 #[doc(hidden)]
640 __SourceBreaking {
641 unknown_ordinal: u32,
642 },
643}
644
645#[macro_export]
647macro_rules! WlanixErrorUnknown {
648 () => {
649 _
650 };
651}
652
653impl WlanixError {
654 #[inline]
655 pub fn from_primitive(prim: u32) -> Option<Self> {
656 match prim {
657 1 => Some(Self::InternalError),
658 2 => Some(Self::InvalidArgs),
659 _ => None,
660 }
661 }
662
663 #[inline]
664 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
665 match prim {
666 1 => Self::InternalError,
667 2 => Self::InvalidArgs,
668 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
669 }
670 }
671
672 #[inline]
673 pub fn unknown() -> Self {
674 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
675 }
676
677 #[inline]
678 pub const fn into_primitive(self) -> u32 {
679 match self {
680 Self::InternalError => 1,
681 Self::InvalidArgs => 2,
682 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
683 }
684 }
685
686 #[inline]
687 pub fn is_unknown(&self) -> bool {
688 match self {
689 Self::__SourceBreaking { unknown_ordinal: _ } => true,
690 _ => false,
691 }
692 }
693}
694
695#[derive(Clone, Debug, PartialEq)]
696pub struct Nl80211MessageArray {
697 pub messages: Vec<Nl80211Message>,
698}
699
700impl fidl::Persistable for Nl80211MessageArray {}
701
702#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
703pub struct WifiChipSelectTxPowerScenarioRequest {
704 pub scenario: WifiChipTxPowerScenario,
705}
706
707impl fidl::Persistable for WifiChipSelectTxPowerScenarioRequest {}
708
709#[derive(Clone, Debug, Default, PartialEq)]
710pub struct ChipConcurrencyCombination {
711 pub limits: Option<Vec<ChipConcurrencyCombinationLimit>>,
712 #[doc(hidden)]
713 pub __source_breaking: fidl::marker::SourceBreaking,
714}
715
716impl fidl::Persistable for ChipConcurrencyCombination {}
717
718#[derive(Clone, Debug, Default, PartialEq)]
719pub struct ChipConcurrencyCombinationLimit {
720 pub types: Option<Vec<IfaceConcurrencyType>>,
721 pub max_ifaces: Option<u32>,
722 #[doc(hidden)]
723 pub __source_breaking: fidl::marker::SourceBreaking,
724}
725
726impl fidl::Persistable for ChipConcurrencyCombinationLimit {}
727
728#[derive(Clone, Debug, Default, PartialEq)]
729pub struct ChipMode {
730 pub id: Option<u32>,
731 pub available_combinations: Option<Vec<ChipConcurrencyCombination>>,
732 #[doc(hidden)]
733 pub __source_breaking: fidl::marker::SourceBreaking,
734}
735
736impl fidl::Persistable for ChipMode {}
737
738#[derive(Clone, Debug, Default, PartialEq)]
739pub struct Nl80211Message {
740 pub message_type: Option<Nl80211MessageType>,
741 pub payload: Option<Vec<u8>>,
742 #[doc(hidden)]
743 pub __source_breaking: fidl::marker::SourceBreaking,
744}
745
746impl fidl::Persistable for Nl80211Message {}
747
748#[derive(Clone, Debug, Default, PartialEq)]
749pub struct SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
750 pub ssid: Option<Vec<u8>>,
751 pub bssid: Option<[u8; 6]>,
752 pub status_code: Option<fidl_fuchsia_wlan_ieee80211__common::StatusCode>,
753 pub timed_out: Option<bool>,
754 #[doc(hidden)]
755 pub __source_breaking: fidl::marker::SourceBreaking,
756}
757
758impl fidl::Persistable for SupplicantStaIfaceCallbackOnAssociationRejectedRequest {}
759
760#[derive(Clone, Debug, Default, PartialEq)]
761pub struct SupplicantStaIfaceCallbackOnDisconnectedRequest {
762 pub bssid: Option<[u8; 6]>,
763 pub locally_generated: Option<bool>,
764 pub reason_code: Option<fidl_fuchsia_wlan_ieee80211__common::ReasonCode>,
765 #[doc(hidden)]
766 pub __source_breaking: fidl::marker::SourceBreaking,
767}
768
769impl fidl::Persistable for SupplicantStaIfaceCallbackOnDisconnectedRequest {}
770
771#[derive(Clone, Debug, Default, PartialEq)]
772pub struct SupplicantStaIfaceCallbackOnStateChangedRequest {
773 pub new_state: Option<StaIfaceCallbackState>,
774 pub bssid: Option<[u8; 6]>,
775 pub id: Option<u32>,
776 pub ssid: Option<Vec<u8>>,
777 #[doc(hidden)]
778 pub __source_breaking: fidl::marker::SourceBreaking,
779}
780
781impl fidl::Persistable for SupplicantStaIfaceCallbackOnStateChangedRequest {}
782
783#[derive(Clone, Debug, Default, PartialEq)]
784pub struct SupplicantStaIfaceSetBtCoexistenceModeRequest {
785 pub mode: Option<BtCoexistenceMode>,
786 #[doc(hidden)]
787 pub __source_breaking: fidl::marker::SourceBreaking,
788}
789
790impl fidl::Persistable for SupplicantStaIfaceSetBtCoexistenceModeRequest {}
791
792#[derive(Clone, Debug, Default, PartialEq)]
793pub struct SupplicantStaIfaceGetMacAddressResponse {
794 pub mac_addr: Option<[u8; 6]>,
795 #[doc(hidden)]
796 pub __source_breaking: fidl::marker::SourceBreaking,
797}
798
799impl fidl::Persistable for SupplicantStaIfaceGetMacAddressResponse {}
800
801#[derive(Clone, Debug, Default, PartialEq)]
802pub struct SupplicantStaNetworkSetBssidRequest {
803 pub bssid: Option<[u8; 6]>,
804 #[doc(hidden)]
805 pub __source_breaking: fidl::marker::SourceBreaking,
806}
807
808impl fidl::Persistable for SupplicantStaNetworkSetBssidRequest {}
809
810#[derive(Clone, Debug, Default, PartialEq)]
811pub struct SupplicantStaNetworkSetPskPassphraseRequest {
812 pub passphrase: Option<Vec<u8>>,
813 #[doc(hidden)]
814 pub __source_breaking: fidl::marker::SourceBreaking,
815}
816
817impl fidl::Persistable for SupplicantStaNetworkSetPskPassphraseRequest {}
818
819#[derive(Clone, Debug, Default, PartialEq)]
820pub struct SupplicantStaNetworkSetSaePasswordRequest {
821 pub password: Option<Vec<u8>>,
822 #[doc(hidden)]
823 pub __source_breaking: fidl::marker::SourceBreaking,
824}
825
826impl fidl::Persistable for SupplicantStaNetworkSetSaePasswordRequest {}
827
828#[derive(Clone, Debug, Default, PartialEq)]
829pub struct SupplicantStaNetworkSetSsidRequest {
830 pub ssid: Option<Vec<u8>>,
831 #[doc(hidden)]
832 pub __source_breaking: fidl::marker::SourceBreaking,
833}
834
835impl fidl::Persistable for SupplicantStaNetworkSetSsidRequest {}
836
837#[derive(Clone, Debug, Default, PartialEq)]
838pub struct SupplicantStaNetworkSetWepKeyRequest {
839 pub key: Option<Vec<u8>>,
840 pub key_idx: Option<i32>,
841 #[doc(hidden)]
842 pub __source_breaking: fidl::marker::SourceBreaking,
843}
844
845impl fidl::Persistable for SupplicantStaNetworkSetWepKeyRequest {}
846
847#[derive(Clone, Debug, Default, PartialEq)]
848pub struct SupplicantStaNetworkSetWepTxKeyIdxRequest {
849 pub key_idx: Option<i32>,
850 #[doc(hidden)]
851 pub __source_breaking: fidl::marker::SourceBreaking,
852}
853
854impl fidl::Persistable for SupplicantStaNetworkSetWepTxKeyIdxRequest {}
855
856#[derive(Clone, Debug, Default, PartialEq)]
857pub struct WifiChipGetAvailableModesResponse {
858 pub chip_modes: Option<Vec<ChipMode>>,
859 #[doc(hidden)]
860 pub __source_breaking: fidl::marker::SourceBreaking,
861}
862
863impl fidl::Persistable for WifiChipGetAvailableModesResponse {}
864
865#[derive(Clone, Debug, Default, PartialEq)]
866pub struct WifiChipGetCapabilitiesResponse {
867 pub capabilities_mask: Option<u32>,
868 #[doc(hidden)]
869 pub __source_breaking: fidl::marker::SourceBreaking,
870}
871
872impl fidl::Persistable for WifiChipGetCapabilitiesResponse {}
873
874#[derive(Clone, Debug, Default, PartialEq)]
875pub struct WifiChipGetIdResponse {
876 pub id: Option<u32>,
877 #[doc(hidden)]
878 pub __source_breaking: fidl::marker::SourceBreaking,
879}
880
881impl fidl::Persistable for WifiChipGetIdResponse {}
882
883#[derive(Clone, Debug, Default, PartialEq)]
884pub struct WifiChipGetModeResponse {
885 pub mode: Option<u32>,
886 #[doc(hidden)]
887 pub __source_breaking: fidl::marker::SourceBreaking,
888}
889
890impl fidl::Persistable for WifiChipGetModeResponse {}
891
892#[derive(Clone, Debug, Default, PartialEq)]
893pub struct WifiChipGetStaIfaceNamesResponse {
894 pub iface_names: Option<Vec<String>>,
895 #[doc(hidden)]
896 pub __source_breaking: fidl::marker::SourceBreaking,
897}
898
899impl fidl::Persistable for WifiChipGetStaIfaceNamesResponse {}
900
901#[derive(Clone, Debug, Default, PartialEq)]
902pub struct WifiStaIfaceGetNameResponse {
903 pub iface_name: Option<String>,
904 #[doc(hidden)]
905 pub __source_breaking: fidl::marker::SourceBreaking,
906}
907
908impl fidl::Persistable for WifiStaIfaceGetNameResponse {}
909
910#[derive(Clone, Debug, Default, PartialEq)]
911pub struct WifiGetChipIdsResponse {
912 pub chip_ids: Option<Vec<u32>>,
913 #[doc(hidden)]
914 pub __source_breaking: fidl::marker::SourceBreaking,
915}
916
917impl fidl::Persistable for WifiGetChipIdsResponse {}
918
919#[derive(Clone, Debug, Default, PartialEq)]
920pub struct WifiGetStateResponse {
921 pub is_started: Option<bool>,
922 #[doc(hidden)]
923 pub __source_breaking: fidl::marker::SourceBreaking,
924}
925
926impl fidl::Persistable for WifiGetStateResponse {}
927
928pub mod nl80211_ordinals {
929 pub const GET_MULTICAST: u64 = 0x58b73dd089681dc2;
930 pub const MESSAGE: u64 = 0x6336259e15bb3795;
931 pub const MESSAGE_V2: u64 = 0x4626796aba1e2987;
932}
933
934pub mod nl80211_multicast_ordinals {
935 pub const MESSAGE: u64 = 0x4cc9241f302f16c0;
936}
937
938pub mod supplicant_ordinals {
939 pub const ADD_STA_INTERFACE: u64 = 0x73194b2afe9b367e;
940 pub const REMOVE_INTERFACE: u64 = 0x7f83e5b75b27d242;
941}
942
943pub mod supplicant_sta_iface_ordinals {
944 pub const REGISTER_CALLBACK: u64 = 0x1be680e863a8e71;
945 pub const ADD_NETWORK: u64 = 0xa77cf60628766dc;
946 pub const DISCONNECT: u64 = 0x52a1d38e0b4871fa;
947 pub const GET_MAC_ADDRESS: u64 = 0x60591d204a3f537f;
948 pub const SET_BT_COEXISTENCE_MODE: u64 = 0x14567ff593a9b154;
949 pub const SET_POWER_SAVE: u64 = 0x5a04c29320085298;
950 pub const SET_SUSPEND_MODE_ENABLED: u64 = 0xaf10de85bb7023a;
951 pub const SET_STA_COUNTRY_CODE: u64 = 0x977e22f9b79b26e;
952}
953
954pub mod supplicant_sta_iface_callback_ordinals {
955 pub const ON_STATE_CHANGED: u64 = 0x27e086d26c49eb6c;
956 pub const ON_DISCONNECTED: u64 = 0x69546475f4dee0cc;
957 pub const ON_ASSOCIATION_REJECTED: u64 = 0x7ef3961518bed988;
958}
959
960pub mod supplicant_sta_network_ordinals {
961 pub const SET_BSSID: u64 = 0x10a91d044ee6374d;
962 pub const CLEAR_BSSID: u64 = 0xbc7ad82f541b267;
963 pub const SET_SSID: u64 = 0x6b598a7a802e3083;
964 pub const SET_PSK_PASSPHRASE: u64 = 0xf6d438225979307;
965 pub const SET_SAE_PASSWORD: u64 = 0x2982737e196747b8;
966 pub const SET_WEP_KEY: u64 = 0x22a7e25ec81f2dee;
967 pub const SET_WEP_TX_KEY_IDX: u64 = 0x4f25576c21fcb8cb;
968 pub const SELECT: u64 = 0x354bc361a0c77b45;
969}
970
971pub mod wifi_ordinals {
972 pub const REGISTER_EVENT_CALLBACK: u64 = 0x12abbdea948dd67b;
973 pub const START: u64 = 0x427030e4dc6ec07a;
974 pub const STOP: u64 = 0x67c9bdf61b2888d;
975 pub const GET_STATE: u64 = 0x4616114a937d1fb0;
976 pub const GET_CHIP_IDS: u64 = 0x2fb4f92351d802b5;
977 pub const GET_CHIP: u64 = 0xef95d8246612540;
978}
979
980pub mod wifi_chip_ordinals {
981 pub const CREATE_STA_IFACE: u64 = 0x6fb2d5892face7af;
982 pub const GET_STA_IFACE_NAMES: u64 = 0x349257482df6a000;
983 pub const GET_STA_IFACE: u64 = 0x6d9704eeb36f28a2;
984 pub const REMOVE_STA_IFACE: u64 = 0x4cd8eee466f8b04c;
985 pub const SET_COUNTRY_CODE: u64 = 0x1dfe372d1d61a490;
986 pub const GET_AVAILABLE_MODES: u64 = 0x1701095b452a3acd;
987 pub const GET_ID: u64 = 0x37d5197325bb3370;
988 pub const GET_MODE: u64 = 0x4d209e0f3ac84d6f;
989 pub const GET_CAPABILITIES: u64 = 0x1b253f396dcaa2e0;
990 pub const TRIGGER_SUBSYSTEM_RESTART: u64 = 0x42ffcae5aad196f9;
991 pub const SELECT_TX_POWER_SCENARIO: u64 = 0x19287ab52ea72281;
992 pub const RESET_TX_POWER_SCENARIO: u64 = 0x46408a2fb1eb9d09;
993}
994
995pub mod wifi_event_callback_ordinals {
996 pub const ON_START: u64 = 0x61189ff44f9d35f3;
997 pub const ON_STOP: u64 = 0x58b697bcd475e0f9;
998}
999
1000pub mod wifi_legacy_hal_ordinals {
1001 pub const SELECT_TX_POWER_SCENARIO: u64 = 0x49f42620e0a3caf9;
1002 pub const RESET_TX_POWER_SCENARIO: u64 = 0x6c0f8e9203167d8e;
1003}
1004
1005pub mod wifi_sta_iface_ordinals {
1006 pub const GET_NAME: u64 = 0x5c150b91c80c5789;
1007 pub const SET_SCAN_ONLY_MODE: u64 = 0x22550328583bf0e3;
1008}
1009
1010pub mod wlanix_ordinals {
1011 pub const GET_WIFI: u64 = 0x142511f44b2c338c;
1012 pub const GET_SUPPLICANT: u64 = 0x55554b37c4021d3d;
1013 pub const GET_NL80211: u64 = 0x48028a25bd855ef9;
1014 pub const GET_WIFI_LEGACY_HAL: u64 = 0x7302d9bb3b8d1edc;
1015}
1016
1017mod internal {
1018 use super::*;
1019 unsafe impl fidl::encoding::TypeMarker for BtCoexistenceMode {
1020 type Owned = Self;
1021
1022 #[inline(always)]
1023 fn inline_align(_context: fidl::encoding::Context) -> usize {
1024 std::mem::align_of::<u32>()
1025 }
1026
1027 #[inline(always)]
1028 fn inline_size(_context: fidl::encoding::Context) -> usize {
1029 std::mem::size_of::<u32>()
1030 }
1031
1032 #[inline(always)]
1033 fn encode_is_copy() -> bool {
1034 false
1035 }
1036
1037 #[inline(always)]
1038 fn decode_is_copy() -> bool {
1039 false
1040 }
1041 }
1042
1043 impl fidl::encoding::ValueTypeMarker for BtCoexistenceMode {
1044 type Borrowed<'a> = Self;
1045 #[inline(always)]
1046 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1047 *value
1048 }
1049 }
1050
1051 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1052 for BtCoexistenceMode
1053 {
1054 #[inline]
1055 unsafe fn encode(
1056 self,
1057 encoder: &mut fidl::encoding::Encoder<'_, D>,
1058 offset: usize,
1059 _depth: fidl::encoding::Depth,
1060 ) -> fidl::Result<()> {
1061 encoder.debug_check_bounds::<Self>(offset);
1062 encoder.write_num(self.into_primitive(), offset);
1063 Ok(())
1064 }
1065 }
1066
1067 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BtCoexistenceMode {
1068 #[inline(always)]
1069 fn new_empty() -> Self {
1070 Self::unknown()
1071 }
1072
1073 #[inline]
1074 unsafe fn decode(
1075 &mut self,
1076 decoder: &mut fidl::encoding::Decoder<'_, D>,
1077 offset: usize,
1078 _depth: fidl::encoding::Depth,
1079 ) -> fidl::Result<()> {
1080 decoder.debug_check_bounds::<Self>(offset);
1081 let prim = decoder.read_num::<u32>(offset);
1082
1083 *self = Self::from_primitive_allow_unknown(prim);
1084 Ok(())
1085 }
1086 }
1087 unsafe impl fidl::encoding::TypeMarker for IfaceConcurrencyType {
1088 type Owned = Self;
1089
1090 #[inline(always)]
1091 fn inline_align(_context: fidl::encoding::Context) -> usize {
1092 std::mem::align_of::<u32>()
1093 }
1094
1095 #[inline(always)]
1096 fn inline_size(_context: fidl::encoding::Context) -> usize {
1097 std::mem::size_of::<u32>()
1098 }
1099
1100 #[inline(always)]
1101 fn encode_is_copy() -> bool {
1102 false
1103 }
1104
1105 #[inline(always)]
1106 fn decode_is_copy() -> bool {
1107 false
1108 }
1109 }
1110
1111 impl fidl::encoding::ValueTypeMarker for IfaceConcurrencyType {
1112 type Borrowed<'a> = Self;
1113 #[inline(always)]
1114 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1115 *value
1116 }
1117 }
1118
1119 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1120 for IfaceConcurrencyType
1121 {
1122 #[inline]
1123 unsafe fn encode(
1124 self,
1125 encoder: &mut fidl::encoding::Encoder<'_, D>,
1126 offset: usize,
1127 _depth: fidl::encoding::Depth,
1128 ) -> fidl::Result<()> {
1129 encoder.debug_check_bounds::<Self>(offset);
1130 encoder.write_num(self.into_primitive(), offset);
1131 Ok(())
1132 }
1133 }
1134
1135 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for IfaceConcurrencyType {
1136 #[inline(always)]
1137 fn new_empty() -> Self {
1138 Self::unknown()
1139 }
1140
1141 #[inline]
1142 unsafe fn decode(
1143 &mut self,
1144 decoder: &mut fidl::encoding::Decoder<'_, D>,
1145 offset: usize,
1146 _depth: fidl::encoding::Depth,
1147 ) -> fidl::Result<()> {
1148 decoder.debug_check_bounds::<Self>(offset);
1149 let prim = decoder.read_num::<u32>(offset);
1150
1151 *self = Self::from_primitive_allow_unknown(prim);
1152 Ok(())
1153 }
1154 }
1155 unsafe impl fidl::encoding::TypeMarker for Nl80211MessageType {
1156 type Owned = Self;
1157
1158 #[inline(always)]
1159 fn inline_align(_context: fidl::encoding::Context) -> usize {
1160 std::mem::align_of::<u32>()
1161 }
1162
1163 #[inline(always)]
1164 fn inline_size(_context: fidl::encoding::Context) -> usize {
1165 std::mem::size_of::<u32>()
1166 }
1167
1168 #[inline(always)]
1169 fn encode_is_copy() -> bool {
1170 false
1171 }
1172
1173 #[inline(always)]
1174 fn decode_is_copy() -> bool {
1175 false
1176 }
1177 }
1178
1179 impl fidl::encoding::ValueTypeMarker for Nl80211MessageType {
1180 type Borrowed<'a> = Self;
1181 #[inline(always)]
1182 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1183 *value
1184 }
1185 }
1186
1187 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1188 for Nl80211MessageType
1189 {
1190 #[inline]
1191 unsafe fn encode(
1192 self,
1193 encoder: &mut fidl::encoding::Encoder<'_, D>,
1194 offset: usize,
1195 _depth: fidl::encoding::Depth,
1196 ) -> fidl::Result<()> {
1197 encoder.debug_check_bounds::<Self>(offset);
1198 encoder.write_num(self.into_primitive(), offset);
1199 Ok(())
1200 }
1201 }
1202
1203 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Nl80211MessageType {
1204 #[inline(always)]
1205 fn new_empty() -> Self {
1206 Self::unknown()
1207 }
1208
1209 #[inline]
1210 unsafe fn decode(
1211 &mut self,
1212 decoder: &mut fidl::encoding::Decoder<'_, D>,
1213 offset: usize,
1214 _depth: fidl::encoding::Depth,
1215 ) -> fidl::Result<()> {
1216 decoder.debug_check_bounds::<Self>(offset);
1217 let prim = decoder.read_num::<u32>(offset);
1218
1219 *self = Self::from_primitive_allow_unknown(prim);
1220 Ok(())
1221 }
1222 }
1223 unsafe impl fidl::encoding::TypeMarker for StaIfaceCallbackState {
1224 type Owned = Self;
1225
1226 #[inline(always)]
1227 fn inline_align(_context: fidl::encoding::Context) -> usize {
1228 std::mem::align_of::<u32>()
1229 }
1230
1231 #[inline(always)]
1232 fn inline_size(_context: fidl::encoding::Context) -> usize {
1233 std::mem::size_of::<u32>()
1234 }
1235
1236 #[inline(always)]
1237 fn encode_is_copy() -> bool {
1238 false
1239 }
1240
1241 #[inline(always)]
1242 fn decode_is_copy() -> bool {
1243 false
1244 }
1245 }
1246
1247 impl fidl::encoding::ValueTypeMarker for StaIfaceCallbackState {
1248 type Borrowed<'a> = Self;
1249 #[inline(always)]
1250 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1251 *value
1252 }
1253 }
1254
1255 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1256 for StaIfaceCallbackState
1257 {
1258 #[inline]
1259 unsafe fn encode(
1260 self,
1261 encoder: &mut fidl::encoding::Encoder<'_, D>,
1262 offset: usize,
1263 _depth: fidl::encoding::Depth,
1264 ) -> fidl::Result<()> {
1265 encoder.debug_check_bounds::<Self>(offset);
1266 encoder.write_num(self.into_primitive(), offset);
1267 Ok(())
1268 }
1269 }
1270
1271 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StaIfaceCallbackState {
1272 #[inline(always)]
1273 fn new_empty() -> Self {
1274 Self::unknown()
1275 }
1276
1277 #[inline]
1278 unsafe fn decode(
1279 &mut self,
1280 decoder: &mut fidl::encoding::Decoder<'_, D>,
1281 offset: usize,
1282 _depth: fidl::encoding::Depth,
1283 ) -> fidl::Result<()> {
1284 decoder.debug_check_bounds::<Self>(offset);
1285 let prim = decoder.read_num::<u32>(offset);
1286
1287 *self = Self::from_primitive_allow_unknown(prim);
1288 Ok(())
1289 }
1290 }
1291 unsafe impl fidl::encoding::TypeMarker for WifiChipTxPowerScenario {
1292 type Owned = Self;
1293
1294 #[inline(always)]
1295 fn inline_align(_context: fidl::encoding::Context) -> usize {
1296 std::mem::align_of::<u32>()
1297 }
1298
1299 #[inline(always)]
1300 fn inline_size(_context: fidl::encoding::Context) -> usize {
1301 std::mem::size_of::<u32>()
1302 }
1303
1304 #[inline(always)]
1305 fn encode_is_copy() -> bool {
1306 false
1307 }
1308
1309 #[inline(always)]
1310 fn decode_is_copy() -> bool {
1311 false
1312 }
1313 }
1314
1315 impl fidl::encoding::ValueTypeMarker for WifiChipTxPowerScenario {
1316 type Borrowed<'a> = Self;
1317 #[inline(always)]
1318 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1319 *value
1320 }
1321 }
1322
1323 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1324 for WifiChipTxPowerScenario
1325 {
1326 #[inline]
1327 unsafe fn encode(
1328 self,
1329 encoder: &mut fidl::encoding::Encoder<'_, D>,
1330 offset: usize,
1331 _depth: fidl::encoding::Depth,
1332 ) -> fidl::Result<()> {
1333 encoder.debug_check_bounds::<Self>(offset);
1334 encoder.write_num(self.into_primitive(), offset);
1335 Ok(())
1336 }
1337 }
1338
1339 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1340 for WifiChipTxPowerScenario
1341 {
1342 #[inline(always)]
1343 fn new_empty() -> Self {
1344 Self::unknown()
1345 }
1346
1347 #[inline]
1348 unsafe fn decode(
1349 &mut self,
1350 decoder: &mut fidl::encoding::Decoder<'_, D>,
1351 offset: usize,
1352 _depth: fidl::encoding::Depth,
1353 ) -> fidl::Result<()> {
1354 decoder.debug_check_bounds::<Self>(offset);
1355 let prim = decoder.read_num::<u32>(offset);
1356
1357 *self = Self::from_primitive_allow_unknown(prim);
1358 Ok(())
1359 }
1360 }
1361 unsafe impl fidl::encoding::TypeMarker for WifiLegacyHalStatus {
1362 type Owned = Self;
1363
1364 #[inline(always)]
1365 fn inline_align(_context: fidl::encoding::Context) -> usize {
1366 std::mem::align_of::<u32>()
1367 }
1368
1369 #[inline(always)]
1370 fn inline_size(_context: fidl::encoding::Context) -> usize {
1371 std::mem::size_of::<u32>()
1372 }
1373
1374 #[inline(always)]
1375 fn encode_is_copy() -> bool {
1376 false
1377 }
1378
1379 #[inline(always)]
1380 fn decode_is_copy() -> bool {
1381 false
1382 }
1383 }
1384
1385 impl fidl::encoding::ValueTypeMarker for WifiLegacyHalStatus {
1386 type Borrowed<'a> = Self;
1387 #[inline(always)]
1388 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1389 *value
1390 }
1391 }
1392
1393 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1394 for WifiLegacyHalStatus
1395 {
1396 #[inline]
1397 unsafe fn encode(
1398 self,
1399 encoder: &mut fidl::encoding::Encoder<'_, D>,
1400 offset: usize,
1401 _depth: fidl::encoding::Depth,
1402 ) -> fidl::Result<()> {
1403 encoder.debug_check_bounds::<Self>(offset);
1404 encoder.write_num(self.into_primitive(), offset);
1405 Ok(())
1406 }
1407 }
1408
1409 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiLegacyHalStatus {
1410 #[inline(always)]
1411 fn new_empty() -> Self {
1412 Self::unknown()
1413 }
1414
1415 #[inline]
1416 unsafe fn decode(
1417 &mut self,
1418 decoder: &mut fidl::encoding::Decoder<'_, D>,
1419 offset: usize,
1420 _depth: fidl::encoding::Depth,
1421 ) -> fidl::Result<()> {
1422 decoder.debug_check_bounds::<Self>(offset);
1423 let prim = decoder.read_num::<u32>(offset);
1424
1425 *self = Self::from_primitive_allow_unknown(prim);
1426 Ok(())
1427 }
1428 }
1429 unsafe impl fidl::encoding::TypeMarker for WifiLegacyHalTxPowerScenario {
1430 type Owned = Self;
1431
1432 #[inline(always)]
1433 fn inline_align(_context: fidl::encoding::Context) -> usize {
1434 std::mem::align_of::<i32>()
1435 }
1436
1437 #[inline(always)]
1438 fn inline_size(_context: fidl::encoding::Context) -> usize {
1439 std::mem::size_of::<i32>()
1440 }
1441
1442 #[inline(always)]
1443 fn encode_is_copy() -> bool {
1444 false
1445 }
1446
1447 #[inline(always)]
1448 fn decode_is_copy() -> bool {
1449 false
1450 }
1451 }
1452
1453 impl fidl::encoding::ValueTypeMarker for WifiLegacyHalTxPowerScenario {
1454 type Borrowed<'a> = Self;
1455 #[inline(always)]
1456 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1457 *value
1458 }
1459 }
1460
1461 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1462 for WifiLegacyHalTxPowerScenario
1463 {
1464 #[inline]
1465 unsafe fn encode(
1466 self,
1467 encoder: &mut fidl::encoding::Encoder<'_, D>,
1468 offset: usize,
1469 _depth: fidl::encoding::Depth,
1470 ) -> fidl::Result<()> {
1471 encoder.debug_check_bounds::<Self>(offset);
1472 encoder.write_num(self.into_primitive(), offset);
1473 Ok(())
1474 }
1475 }
1476
1477 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1478 for WifiLegacyHalTxPowerScenario
1479 {
1480 #[inline(always)]
1481 fn new_empty() -> Self {
1482 Self::unknown()
1483 }
1484
1485 #[inline]
1486 unsafe fn decode(
1487 &mut self,
1488 decoder: &mut fidl::encoding::Decoder<'_, D>,
1489 offset: usize,
1490 _depth: fidl::encoding::Depth,
1491 ) -> fidl::Result<()> {
1492 decoder.debug_check_bounds::<Self>(offset);
1493 let prim = decoder.read_num::<i32>(offset);
1494
1495 *self = Self::from_primitive_allow_unknown(prim);
1496 Ok(())
1497 }
1498 }
1499 unsafe impl fidl::encoding::TypeMarker for WlanixError {
1500 type Owned = Self;
1501
1502 #[inline(always)]
1503 fn inline_align(_context: fidl::encoding::Context) -> usize {
1504 std::mem::align_of::<u32>()
1505 }
1506
1507 #[inline(always)]
1508 fn inline_size(_context: fidl::encoding::Context) -> usize {
1509 std::mem::size_of::<u32>()
1510 }
1511
1512 #[inline(always)]
1513 fn encode_is_copy() -> bool {
1514 false
1515 }
1516
1517 #[inline(always)]
1518 fn decode_is_copy() -> bool {
1519 false
1520 }
1521 }
1522
1523 impl fidl::encoding::ValueTypeMarker for WlanixError {
1524 type Borrowed<'a> = Self;
1525 #[inline(always)]
1526 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1527 *value
1528 }
1529 }
1530
1531 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for WlanixError {
1532 #[inline]
1533 unsafe fn encode(
1534 self,
1535 encoder: &mut fidl::encoding::Encoder<'_, D>,
1536 offset: usize,
1537 _depth: fidl::encoding::Depth,
1538 ) -> fidl::Result<()> {
1539 encoder.debug_check_bounds::<Self>(offset);
1540 encoder.write_num(self.into_primitive(), offset);
1541 Ok(())
1542 }
1543 }
1544
1545 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WlanixError {
1546 #[inline(always)]
1547 fn new_empty() -> Self {
1548 Self::unknown()
1549 }
1550
1551 #[inline]
1552 unsafe fn decode(
1553 &mut self,
1554 decoder: &mut fidl::encoding::Decoder<'_, D>,
1555 offset: usize,
1556 _depth: fidl::encoding::Depth,
1557 ) -> fidl::Result<()> {
1558 decoder.debug_check_bounds::<Self>(offset);
1559 let prim = decoder.read_num::<u32>(offset);
1560
1561 *self = Self::from_primitive_allow_unknown(prim);
1562 Ok(())
1563 }
1564 }
1565
1566 impl fidl::encoding::ValueTypeMarker for Nl80211MessageArray {
1567 type Borrowed<'a> = &'a Self;
1568 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1569 value
1570 }
1571 }
1572
1573 unsafe impl fidl::encoding::TypeMarker for Nl80211MessageArray {
1574 type Owned = Self;
1575
1576 #[inline(always)]
1577 fn inline_align(_context: fidl::encoding::Context) -> usize {
1578 8
1579 }
1580
1581 #[inline(always)]
1582 fn inline_size(_context: fidl::encoding::Context) -> usize {
1583 16
1584 }
1585 }
1586
1587 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Nl80211MessageArray, D>
1588 for &Nl80211MessageArray
1589 {
1590 #[inline]
1591 unsafe fn encode(
1592 self,
1593 encoder: &mut fidl::encoding::Encoder<'_, D>,
1594 offset: usize,
1595 _depth: fidl::encoding::Depth,
1596 ) -> fidl::Result<()> {
1597 encoder.debug_check_bounds::<Nl80211MessageArray>(offset);
1598 fidl::encoding::Encode::<Nl80211MessageArray, D>::encode(
1600 (
1601 <fidl::encoding::UnboundedVector<Nl80211Message> as fidl::encoding::ValueTypeMarker>::borrow(&self.messages),
1602 ),
1603 encoder, offset, _depth
1604 )
1605 }
1606 }
1607 unsafe impl<
1608 D: fidl::encoding::ResourceDialect,
1609 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<Nl80211Message>, D>,
1610 > fidl::encoding::Encode<Nl80211MessageArray, D> for (T0,)
1611 {
1612 #[inline]
1613 unsafe fn encode(
1614 self,
1615 encoder: &mut fidl::encoding::Encoder<'_, D>,
1616 offset: usize,
1617 depth: fidl::encoding::Depth,
1618 ) -> fidl::Result<()> {
1619 encoder.debug_check_bounds::<Nl80211MessageArray>(offset);
1620 self.0.encode(encoder, offset + 0, depth)?;
1624 Ok(())
1625 }
1626 }
1627
1628 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Nl80211MessageArray {
1629 #[inline(always)]
1630 fn new_empty() -> Self {
1631 Self { messages: fidl::new_empty!(fidl::encoding::UnboundedVector<Nl80211Message>, D) }
1632 }
1633
1634 #[inline]
1635 unsafe fn decode(
1636 &mut self,
1637 decoder: &mut fidl::encoding::Decoder<'_, D>,
1638 offset: usize,
1639 _depth: fidl::encoding::Depth,
1640 ) -> fidl::Result<()> {
1641 decoder.debug_check_bounds::<Self>(offset);
1642 fidl::decode!(
1644 fidl::encoding::UnboundedVector<Nl80211Message>,
1645 D,
1646 &mut self.messages,
1647 decoder,
1648 offset + 0,
1649 _depth
1650 )?;
1651 Ok(())
1652 }
1653 }
1654
1655 impl fidl::encoding::ValueTypeMarker for WifiChipSelectTxPowerScenarioRequest {
1656 type Borrowed<'a> = &'a Self;
1657 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1658 value
1659 }
1660 }
1661
1662 unsafe impl fidl::encoding::TypeMarker for WifiChipSelectTxPowerScenarioRequest {
1663 type Owned = Self;
1664
1665 #[inline(always)]
1666 fn inline_align(_context: fidl::encoding::Context) -> usize {
1667 4
1668 }
1669
1670 #[inline(always)]
1671 fn inline_size(_context: fidl::encoding::Context) -> usize {
1672 4
1673 }
1674 }
1675
1676 unsafe impl<D: fidl::encoding::ResourceDialect>
1677 fidl::encoding::Encode<WifiChipSelectTxPowerScenarioRequest, D>
1678 for &WifiChipSelectTxPowerScenarioRequest
1679 {
1680 #[inline]
1681 unsafe fn encode(
1682 self,
1683 encoder: &mut fidl::encoding::Encoder<'_, D>,
1684 offset: usize,
1685 _depth: fidl::encoding::Depth,
1686 ) -> fidl::Result<()> {
1687 encoder.debug_check_bounds::<WifiChipSelectTxPowerScenarioRequest>(offset);
1688 fidl::encoding::Encode::<WifiChipSelectTxPowerScenarioRequest, D>::encode(
1690 (<WifiChipTxPowerScenario as fidl::encoding::ValueTypeMarker>::borrow(
1691 &self.scenario,
1692 ),),
1693 encoder,
1694 offset,
1695 _depth,
1696 )
1697 }
1698 }
1699 unsafe impl<
1700 D: fidl::encoding::ResourceDialect,
1701 T0: fidl::encoding::Encode<WifiChipTxPowerScenario, D>,
1702 > fidl::encoding::Encode<WifiChipSelectTxPowerScenarioRequest, D> for (T0,)
1703 {
1704 #[inline]
1705 unsafe fn encode(
1706 self,
1707 encoder: &mut fidl::encoding::Encoder<'_, D>,
1708 offset: usize,
1709 depth: fidl::encoding::Depth,
1710 ) -> fidl::Result<()> {
1711 encoder.debug_check_bounds::<WifiChipSelectTxPowerScenarioRequest>(offset);
1712 self.0.encode(encoder, offset + 0, depth)?;
1716 Ok(())
1717 }
1718 }
1719
1720 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1721 for WifiChipSelectTxPowerScenarioRequest
1722 {
1723 #[inline(always)]
1724 fn new_empty() -> Self {
1725 Self { scenario: fidl::new_empty!(WifiChipTxPowerScenario, D) }
1726 }
1727
1728 #[inline]
1729 unsafe fn decode(
1730 &mut self,
1731 decoder: &mut fidl::encoding::Decoder<'_, D>,
1732 offset: usize,
1733 _depth: fidl::encoding::Depth,
1734 ) -> fidl::Result<()> {
1735 decoder.debug_check_bounds::<Self>(offset);
1736 fidl::decode!(
1738 WifiChipTxPowerScenario,
1739 D,
1740 &mut self.scenario,
1741 decoder,
1742 offset + 0,
1743 _depth
1744 )?;
1745 Ok(())
1746 }
1747 }
1748
1749 impl ChipConcurrencyCombination {
1750 #[inline(always)]
1751 fn max_ordinal_present(&self) -> u64 {
1752 if let Some(_) = self.limits {
1753 return 1;
1754 }
1755 0
1756 }
1757 }
1758
1759 impl fidl::encoding::ValueTypeMarker for ChipConcurrencyCombination {
1760 type Borrowed<'a> = &'a Self;
1761 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1762 value
1763 }
1764 }
1765
1766 unsafe impl fidl::encoding::TypeMarker for ChipConcurrencyCombination {
1767 type Owned = Self;
1768
1769 #[inline(always)]
1770 fn inline_align(_context: fidl::encoding::Context) -> usize {
1771 8
1772 }
1773
1774 #[inline(always)]
1775 fn inline_size(_context: fidl::encoding::Context) -> usize {
1776 16
1777 }
1778 }
1779
1780 unsafe impl<D: fidl::encoding::ResourceDialect>
1781 fidl::encoding::Encode<ChipConcurrencyCombination, D> for &ChipConcurrencyCombination
1782 {
1783 unsafe fn encode(
1784 self,
1785 encoder: &mut fidl::encoding::Encoder<'_, D>,
1786 offset: usize,
1787 mut depth: fidl::encoding::Depth,
1788 ) -> fidl::Result<()> {
1789 encoder.debug_check_bounds::<ChipConcurrencyCombination>(offset);
1790 let max_ordinal: u64 = self.max_ordinal_present();
1792 encoder.write_num(max_ordinal, offset);
1793 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
1794 if max_ordinal == 0 {
1796 return Ok(());
1797 }
1798 depth.increment()?;
1799 let envelope_size = 8;
1800 let bytes_len = max_ordinal as usize * envelope_size;
1801 #[allow(unused_variables)]
1802 let offset = encoder.out_of_line_offset(bytes_len);
1803 let mut _prev_end_offset: usize = 0;
1804 if 1 > max_ordinal {
1805 return Ok(());
1806 }
1807
1808 let cur_offset: usize = (1 - 1) * envelope_size;
1811
1812 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
1814
1815 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>, D>(
1820 self.limits.as_ref().map(<fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit> as fidl::encoding::ValueTypeMarker>::borrow),
1821 encoder, offset + cur_offset, depth
1822 )?;
1823
1824 _prev_end_offset = cur_offset + envelope_size;
1825
1826 Ok(())
1827 }
1828 }
1829
1830 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1831 for ChipConcurrencyCombination
1832 {
1833 #[inline(always)]
1834 fn new_empty() -> Self {
1835 Self::default()
1836 }
1837
1838 unsafe fn decode(
1839 &mut self,
1840 decoder: &mut fidl::encoding::Decoder<'_, D>,
1841 offset: usize,
1842 mut depth: fidl::encoding::Depth,
1843 ) -> fidl::Result<()> {
1844 decoder.debug_check_bounds::<Self>(offset);
1845 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
1846 None => return Err(fidl::Error::NotNullable),
1847 Some(len) => len,
1848 };
1849 if len == 0 {
1851 return Ok(());
1852 };
1853 depth.increment()?;
1854 let envelope_size = 8;
1855 let bytes_len = len * envelope_size;
1856 let offset = decoder.out_of_line_offset(bytes_len)?;
1857 let mut _next_ordinal_to_read = 0;
1859 let mut next_offset = offset;
1860 let end_offset = offset + bytes_len;
1861 _next_ordinal_to_read += 1;
1862 if next_offset >= end_offset {
1863 return Ok(());
1864 }
1865
1866 while _next_ordinal_to_read < 1 {
1868 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
1869 _next_ordinal_to_read += 1;
1870 next_offset += envelope_size;
1871 }
1872
1873 let next_out_of_line = decoder.next_out_of_line();
1874 let handles_before = decoder.remaining_handles();
1875 if let Some((inlined, num_bytes, num_handles)) =
1876 fidl::encoding::decode_envelope_header(decoder, next_offset)?
1877 {
1878 let member_inline_size = <fidl::encoding::UnboundedVector<
1879 ChipConcurrencyCombinationLimit,
1880 > as fidl::encoding::TypeMarker>::inline_size(
1881 decoder.context
1882 );
1883 if inlined != (member_inline_size <= 4) {
1884 return Err(fidl::Error::InvalidInlineBitInEnvelope);
1885 }
1886 let inner_offset;
1887 let mut inner_depth = depth.clone();
1888 if inlined {
1889 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
1890 inner_offset = next_offset;
1891 } else {
1892 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
1893 inner_depth.increment()?;
1894 }
1895 let val_ref = self.limits.get_or_insert_with(|| {
1896 fidl::new_empty!(
1897 fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>,
1898 D
1899 )
1900 });
1901 fidl::decode!(
1902 fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>,
1903 D,
1904 val_ref,
1905 decoder,
1906 inner_offset,
1907 inner_depth
1908 )?;
1909 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
1910 {
1911 return Err(fidl::Error::InvalidNumBytesInEnvelope);
1912 }
1913 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
1914 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
1915 }
1916 }
1917
1918 next_offset += envelope_size;
1919
1920 while next_offset < end_offset {
1922 _next_ordinal_to_read += 1;
1923 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
1924 next_offset += envelope_size;
1925 }
1926
1927 Ok(())
1928 }
1929 }
1930
1931 impl ChipConcurrencyCombinationLimit {
1932 #[inline(always)]
1933 fn max_ordinal_present(&self) -> u64 {
1934 if let Some(_) = self.max_ifaces {
1935 return 2;
1936 }
1937 if let Some(_) = self.types {
1938 return 1;
1939 }
1940 0
1941 }
1942 }
1943
1944 impl fidl::encoding::ValueTypeMarker for ChipConcurrencyCombinationLimit {
1945 type Borrowed<'a> = &'a Self;
1946 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1947 value
1948 }
1949 }
1950
1951 unsafe impl fidl::encoding::TypeMarker for ChipConcurrencyCombinationLimit {
1952 type Owned = Self;
1953
1954 #[inline(always)]
1955 fn inline_align(_context: fidl::encoding::Context) -> usize {
1956 8
1957 }
1958
1959 #[inline(always)]
1960 fn inline_size(_context: fidl::encoding::Context) -> usize {
1961 16
1962 }
1963 }
1964
1965 unsafe impl<D: fidl::encoding::ResourceDialect>
1966 fidl::encoding::Encode<ChipConcurrencyCombinationLimit, D>
1967 for &ChipConcurrencyCombinationLimit
1968 {
1969 unsafe fn encode(
1970 self,
1971 encoder: &mut fidl::encoding::Encoder<'_, D>,
1972 offset: usize,
1973 mut depth: fidl::encoding::Depth,
1974 ) -> fidl::Result<()> {
1975 encoder.debug_check_bounds::<ChipConcurrencyCombinationLimit>(offset);
1976 let max_ordinal: u64 = self.max_ordinal_present();
1978 encoder.write_num(max_ordinal, offset);
1979 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
1980 if max_ordinal == 0 {
1982 return Ok(());
1983 }
1984 depth.increment()?;
1985 let envelope_size = 8;
1986 let bytes_len = max_ordinal as usize * envelope_size;
1987 #[allow(unused_variables)]
1988 let offset = encoder.out_of_line_offset(bytes_len);
1989 let mut _prev_end_offset: usize = 0;
1990 if 1 > max_ordinal {
1991 return Ok(());
1992 }
1993
1994 let cur_offset: usize = (1 - 1) * envelope_size;
1997
1998 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2000
2001 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<IfaceConcurrencyType>, D>(
2006 self.types.as_ref().map(<fidl::encoding::UnboundedVector<IfaceConcurrencyType> as fidl::encoding::ValueTypeMarker>::borrow),
2007 encoder, offset + cur_offset, depth
2008 )?;
2009
2010 _prev_end_offset = cur_offset + envelope_size;
2011 if 2 > max_ordinal {
2012 return Ok(());
2013 }
2014
2015 let cur_offset: usize = (2 - 1) * envelope_size;
2018
2019 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2021
2022 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2027 self.max_ifaces.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2028 encoder,
2029 offset + cur_offset,
2030 depth,
2031 )?;
2032
2033 _prev_end_offset = cur_offset + envelope_size;
2034
2035 Ok(())
2036 }
2037 }
2038
2039 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2040 for ChipConcurrencyCombinationLimit
2041 {
2042 #[inline(always)]
2043 fn new_empty() -> Self {
2044 Self::default()
2045 }
2046
2047 unsafe fn decode(
2048 &mut self,
2049 decoder: &mut fidl::encoding::Decoder<'_, D>,
2050 offset: usize,
2051 mut depth: fidl::encoding::Depth,
2052 ) -> fidl::Result<()> {
2053 decoder.debug_check_bounds::<Self>(offset);
2054 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2055 None => return Err(fidl::Error::NotNullable),
2056 Some(len) => len,
2057 };
2058 if len == 0 {
2060 return Ok(());
2061 };
2062 depth.increment()?;
2063 let envelope_size = 8;
2064 let bytes_len = len * envelope_size;
2065 let offset = decoder.out_of_line_offset(bytes_len)?;
2066 let mut _next_ordinal_to_read = 0;
2068 let mut next_offset = offset;
2069 let end_offset = offset + bytes_len;
2070 _next_ordinal_to_read += 1;
2071 if next_offset >= end_offset {
2072 return Ok(());
2073 }
2074
2075 while _next_ordinal_to_read < 1 {
2077 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2078 _next_ordinal_to_read += 1;
2079 next_offset += envelope_size;
2080 }
2081
2082 let next_out_of_line = decoder.next_out_of_line();
2083 let handles_before = decoder.remaining_handles();
2084 if let Some((inlined, num_bytes, num_handles)) =
2085 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2086 {
2087 let member_inline_size = <fidl::encoding::UnboundedVector<IfaceConcurrencyType> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2088 if inlined != (member_inline_size <= 4) {
2089 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2090 }
2091 let inner_offset;
2092 let mut inner_depth = depth.clone();
2093 if inlined {
2094 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2095 inner_offset = next_offset;
2096 } else {
2097 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2098 inner_depth.increment()?;
2099 }
2100 let val_ref = self.types.get_or_insert_with(|| {
2101 fidl::new_empty!(fidl::encoding::UnboundedVector<IfaceConcurrencyType>, D)
2102 });
2103 fidl::decode!(
2104 fidl::encoding::UnboundedVector<IfaceConcurrencyType>,
2105 D,
2106 val_ref,
2107 decoder,
2108 inner_offset,
2109 inner_depth
2110 )?;
2111 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2112 {
2113 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2114 }
2115 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2116 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2117 }
2118 }
2119
2120 next_offset += envelope_size;
2121 _next_ordinal_to_read += 1;
2122 if next_offset >= end_offset {
2123 return Ok(());
2124 }
2125
2126 while _next_ordinal_to_read < 2 {
2128 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2129 _next_ordinal_to_read += 1;
2130 next_offset += envelope_size;
2131 }
2132
2133 let next_out_of_line = decoder.next_out_of_line();
2134 let handles_before = decoder.remaining_handles();
2135 if let Some((inlined, num_bytes, num_handles)) =
2136 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2137 {
2138 let member_inline_size =
2139 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2140 if inlined != (member_inline_size <= 4) {
2141 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2142 }
2143 let inner_offset;
2144 let mut inner_depth = depth.clone();
2145 if inlined {
2146 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2147 inner_offset = next_offset;
2148 } else {
2149 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2150 inner_depth.increment()?;
2151 }
2152 let val_ref = self.max_ifaces.get_or_insert_with(|| fidl::new_empty!(u32, D));
2153 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2154 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2155 {
2156 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2157 }
2158 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2159 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2160 }
2161 }
2162
2163 next_offset += envelope_size;
2164
2165 while next_offset < end_offset {
2167 _next_ordinal_to_read += 1;
2168 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2169 next_offset += envelope_size;
2170 }
2171
2172 Ok(())
2173 }
2174 }
2175
2176 impl ChipMode {
2177 #[inline(always)]
2178 fn max_ordinal_present(&self) -> u64 {
2179 if let Some(_) = self.available_combinations {
2180 return 2;
2181 }
2182 if let Some(_) = self.id {
2183 return 1;
2184 }
2185 0
2186 }
2187 }
2188
2189 impl fidl::encoding::ValueTypeMarker for ChipMode {
2190 type Borrowed<'a> = &'a Self;
2191 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2192 value
2193 }
2194 }
2195
2196 unsafe impl fidl::encoding::TypeMarker for ChipMode {
2197 type Owned = Self;
2198
2199 #[inline(always)]
2200 fn inline_align(_context: fidl::encoding::Context) -> usize {
2201 8
2202 }
2203
2204 #[inline(always)]
2205 fn inline_size(_context: fidl::encoding::Context) -> usize {
2206 16
2207 }
2208 }
2209
2210 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ChipMode, D> for &ChipMode {
2211 unsafe fn encode(
2212 self,
2213 encoder: &mut fidl::encoding::Encoder<'_, D>,
2214 offset: usize,
2215 mut depth: fidl::encoding::Depth,
2216 ) -> fidl::Result<()> {
2217 encoder.debug_check_bounds::<ChipMode>(offset);
2218 let max_ordinal: u64 = self.max_ordinal_present();
2220 encoder.write_num(max_ordinal, offset);
2221 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2222 if max_ordinal == 0 {
2224 return Ok(());
2225 }
2226 depth.increment()?;
2227 let envelope_size = 8;
2228 let bytes_len = max_ordinal as usize * envelope_size;
2229 #[allow(unused_variables)]
2230 let offset = encoder.out_of_line_offset(bytes_len);
2231 let mut _prev_end_offset: usize = 0;
2232 if 1 > max_ordinal {
2233 return Ok(());
2234 }
2235
2236 let cur_offset: usize = (1 - 1) * envelope_size;
2239
2240 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2242
2243 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2248 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2249 encoder,
2250 offset + cur_offset,
2251 depth,
2252 )?;
2253
2254 _prev_end_offset = cur_offset + envelope_size;
2255 if 2 > max_ordinal {
2256 return Ok(());
2257 }
2258
2259 let cur_offset: usize = (2 - 1) * envelope_size;
2262
2263 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2265
2266 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipConcurrencyCombination>, D>(
2271 self.available_combinations.as_ref().map(<fidl::encoding::UnboundedVector<ChipConcurrencyCombination> as fidl::encoding::ValueTypeMarker>::borrow),
2272 encoder, offset + cur_offset, depth
2273 )?;
2274
2275 _prev_end_offset = cur_offset + envelope_size;
2276
2277 Ok(())
2278 }
2279 }
2280
2281 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ChipMode {
2282 #[inline(always)]
2283 fn new_empty() -> Self {
2284 Self::default()
2285 }
2286
2287 unsafe fn decode(
2288 &mut self,
2289 decoder: &mut fidl::encoding::Decoder<'_, D>,
2290 offset: usize,
2291 mut depth: fidl::encoding::Depth,
2292 ) -> fidl::Result<()> {
2293 decoder.debug_check_bounds::<Self>(offset);
2294 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2295 None => return Err(fidl::Error::NotNullable),
2296 Some(len) => len,
2297 };
2298 if len == 0 {
2300 return Ok(());
2301 };
2302 depth.increment()?;
2303 let envelope_size = 8;
2304 let bytes_len = len * envelope_size;
2305 let offset = decoder.out_of_line_offset(bytes_len)?;
2306 let mut _next_ordinal_to_read = 0;
2308 let mut next_offset = offset;
2309 let end_offset = offset + bytes_len;
2310 _next_ordinal_to_read += 1;
2311 if next_offset >= end_offset {
2312 return Ok(());
2313 }
2314
2315 while _next_ordinal_to_read < 1 {
2317 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2318 _next_ordinal_to_read += 1;
2319 next_offset += envelope_size;
2320 }
2321
2322 let next_out_of_line = decoder.next_out_of_line();
2323 let handles_before = decoder.remaining_handles();
2324 if let Some((inlined, num_bytes, num_handles)) =
2325 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2326 {
2327 let member_inline_size =
2328 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2329 if inlined != (member_inline_size <= 4) {
2330 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2331 }
2332 let inner_offset;
2333 let mut inner_depth = depth.clone();
2334 if inlined {
2335 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2336 inner_offset = next_offset;
2337 } else {
2338 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2339 inner_depth.increment()?;
2340 }
2341 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
2342 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2343 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2344 {
2345 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2346 }
2347 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2348 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2349 }
2350 }
2351
2352 next_offset += envelope_size;
2353 _next_ordinal_to_read += 1;
2354 if next_offset >= end_offset {
2355 return Ok(());
2356 }
2357
2358 while _next_ordinal_to_read < 2 {
2360 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2361 _next_ordinal_to_read += 1;
2362 next_offset += envelope_size;
2363 }
2364
2365 let next_out_of_line = decoder.next_out_of_line();
2366 let handles_before = decoder.remaining_handles();
2367 if let Some((inlined, num_bytes, num_handles)) =
2368 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2369 {
2370 let member_inline_size = <fidl::encoding::UnboundedVector<
2371 ChipConcurrencyCombination,
2372 > as fidl::encoding::TypeMarker>::inline_size(
2373 decoder.context
2374 );
2375 if inlined != (member_inline_size <= 4) {
2376 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2377 }
2378 let inner_offset;
2379 let mut inner_depth = depth.clone();
2380 if inlined {
2381 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2382 inner_offset = next_offset;
2383 } else {
2384 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2385 inner_depth.increment()?;
2386 }
2387 let val_ref = self.available_combinations.get_or_insert_with(|| {
2388 fidl::new_empty!(fidl::encoding::UnboundedVector<ChipConcurrencyCombination>, D)
2389 });
2390 fidl::decode!(
2391 fidl::encoding::UnboundedVector<ChipConcurrencyCombination>,
2392 D,
2393 val_ref,
2394 decoder,
2395 inner_offset,
2396 inner_depth
2397 )?;
2398 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2399 {
2400 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2401 }
2402 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2403 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2404 }
2405 }
2406
2407 next_offset += envelope_size;
2408
2409 while next_offset < end_offset {
2411 _next_ordinal_to_read += 1;
2412 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2413 next_offset += envelope_size;
2414 }
2415
2416 Ok(())
2417 }
2418 }
2419
2420 impl Nl80211Message {
2421 #[inline(always)]
2422 fn max_ordinal_present(&self) -> u64 {
2423 if let Some(_) = self.payload {
2424 return 2;
2425 }
2426 if let Some(_) = self.message_type {
2427 return 1;
2428 }
2429 0
2430 }
2431 }
2432
2433 impl fidl::encoding::ValueTypeMarker for Nl80211Message {
2434 type Borrowed<'a> = &'a Self;
2435 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2436 value
2437 }
2438 }
2439
2440 unsafe impl fidl::encoding::TypeMarker for Nl80211Message {
2441 type Owned = Self;
2442
2443 #[inline(always)]
2444 fn inline_align(_context: fidl::encoding::Context) -> usize {
2445 8
2446 }
2447
2448 #[inline(always)]
2449 fn inline_size(_context: fidl::encoding::Context) -> usize {
2450 16
2451 }
2452 }
2453
2454 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Nl80211Message, D>
2455 for &Nl80211Message
2456 {
2457 unsafe fn encode(
2458 self,
2459 encoder: &mut fidl::encoding::Encoder<'_, D>,
2460 offset: usize,
2461 mut depth: fidl::encoding::Depth,
2462 ) -> fidl::Result<()> {
2463 encoder.debug_check_bounds::<Nl80211Message>(offset);
2464 let max_ordinal: u64 = self.max_ordinal_present();
2466 encoder.write_num(max_ordinal, offset);
2467 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2468 if max_ordinal == 0 {
2470 return Ok(());
2471 }
2472 depth.increment()?;
2473 let envelope_size = 8;
2474 let bytes_len = max_ordinal as usize * envelope_size;
2475 #[allow(unused_variables)]
2476 let offset = encoder.out_of_line_offset(bytes_len);
2477 let mut _prev_end_offset: usize = 0;
2478 if 1 > max_ordinal {
2479 return Ok(());
2480 }
2481
2482 let cur_offset: usize = (1 - 1) * envelope_size;
2485
2486 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2488
2489 fidl::encoding::encode_in_envelope_optional::<Nl80211MessageType, D>(
2494 self.message_type
2495 .as_ref()
2496 .map(<Nl80211MessageType as fidl::encoding::ValueTypeMarker>::borrow),
2497 encoder,
2498 offset + cur_offset,
2499 depth,
2500 )?;
2501
2502 _prev_end_offset = cur_offset + envelope_size;
2503 if 2 > max_ordinal {
2504 return Ok(());
2505 }
2506
2507 let cur_offset: usize = (2 - 1) * envelope_size;
2510
2511 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2513
2514 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
2519 self.payload.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
2520 encoder, offset + cur_offset, depth
2521 )?;
2522
2523 _prev_end_offset = cur_offset + envelope_size;
2524
2525 Ok(())
2526 }
2527 }
2528
2529 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Nl80211Message {
2530 #[inline(always)]
2531 fn new_empty() -> Self {
2532 Self::default()
2533 }
2534
2535 unsafe fn decode(
2536 &mut self,
2537 decoder: &mut fidl::encoding::Decoder<'_, D>,
2538 offset: usize,
2539 mut depth: fidl::encoding::Depth,
2540 ) -> fidl::Result<()> {
2541 decoder.debug_check_bounds::<Self>(offset);
2542 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2543 None => return Err(fidl::Error::NotNullable),
2544 Some(len) => len,
2545 };
2546 if len == 0 {
2548 return Ok(());
2549 };
2550 depth.increment()?;
2551 let envelope_size = 8;
2552 let bytes_len = len * envelope_size;
2553 let offset = decoder.out_of_line_offset(bytes_len)?;
2554 let mut _next_ordinal_to_read = 0;
2556 let mut next_offset = offset;
2557 let end_offset = offset + bytes_len;
2558 _next_ordinal_to_read += 1;
2559 if next_offset >= end_offset {
2560 return Ok(());
2561 }
2562
2563 while _next_ordinal_to_read < 1 {
2565 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2566 _next_ordinal_to_read += 1;
2567 next_offset += envelope_size;
2568 }
2569
2570 let next_out_of_line = decoder.next_out_of_line();
2571 let handles_before = decoder.remaining_handles();
2572 if let Some((inlined, num_bytes, num_handles)) =
2573 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2574 {
2575 let member_inline_size =
2576 <Nl80211MessageType as fidl::encoding::TypeMarker>::inline_size(
2577 decoder.context,
2578 );
2579 if inlined != (member_inline_size <= 4) {
2580 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2581 }
2582 let inner_offset;
2583 let mut inner_depth = depth.clone();
2584 if inlined {
2585 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2586 inner_offset = next_offset;
2587 } else {
2588 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2589 inner_depth.increment()?;
2590 }
2591 let val_ref = self
2592 .message_type
2593 .get_or_insert_with(|| fidl::new_empty!(Nl80211MessageType, D));
2594 fidl::decode!(Nl80211MessageType, D, val_ref, decoder, inner_offset, inner_depth)?;
2595 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2596 {
2597 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2598 }
2599 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2600 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2601 }
2602 }
2603
2604 next_offset += envelope_size;
2605 _next_ordinal_to_read += 1;
2606 if next_offset >= end_offset {
2607 return Ok(());
2608 }
2609
2610 while _next_ordinal_to_read < 2 {
2612 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2613 _next_ordinal_to_read += 1;
2614 next_offset += envelope_size;
2615 }
2616
2617 let next_out_of_line = decoder.next_out_of_line();
2618 let handles_before = decoder.remaining_handles();
2619 if let Some((inlined, num_bytes, num_handles)) =
2620 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2621 {
2622 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2623 if inlined != (member_inline_size <= 4) {
2624 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2625 }
2626 let inner_offset;
2627 let mut inner_depth = depth.clone();
2628 if inlined {
2629 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2630 inner_offset = next_offset;
2631 } else {
2632 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2633 inner_depth.increment()?;
2634 }
2635 let val_ref = self.payload.get_or_insert_with(|| {
2636 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
2637 });
2638 fidl::decode!(
2639 fidl::encoding::UnboundedVector<u8>,
2640 D,
2641 val_ref,
2642 decoder,
2643 inner_offset,
2644 inner_depth
2645 )?;
2646 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2647 {
2648 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2649 }
2650 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2651 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2652 }
2653 }
2654
2655 next_offset += envelope_size;
2656
2657 while next_offset < end_offset {
2659 _next_ordinal_to_read += 1;
2660 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2661 next_offset += envelope_size;
2662 }
2663
2664 Ok(())
2665 }
2666 }
2667
2668 impl SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2669 #[inline(always)]
2670 fn max_ordinal_present(&self) -> u64 {
2671 if let Some(_) = self.timed_out {
2672 return 4;
2673 }
2674 if let Some(_) = self.status_code {
2675 return 3;
2676 }
2677 if let Some(_) = self.bssid {
2678 return 2;
2679 }
2680 if let Some(_) = self.ssid {
2681 return 1;
2682 }
2683 0
2684 }
2685 }
2686
2687 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2688 type Borrowed<'a> = &'a Self;
2689 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2690 value
2691 }
2692 }
2693
2694 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2695 type Owned = Self;
2696
2697 #[inline(always)]
2698 fn inline_align(_context: fidl::encoding::Context) -> usize {
2699 8
2700 }
2701
2702 #[inline(always)]
2703 fn inline_size(_context: fidl::encoding::Context) -> usize {
2704 16
2705 }
2706 }
2707
2708 unsafe impl<D: fidl::encoding::ResourceDialect>
2709 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnAssociationRejectedRequest, D>
2710 for &SupplicantStaIfaceCallbackOnAssociationRejectedRequest
2711 {
2712 unsafe fn encode(
2713 self,
2714 encoder: &mut fidl::encoding::Encoder<'_, D>,
2715 offset: usize,
2716 mut depth: fidl::encoding::Depth,
2717 ) -> fidl::Result<()> {
2718 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnAssociationRejectedRequest>(
2719 offset,
2720 );
2721 let max_ordinal: u64 = self.max_ordinal_present();
2723 encoder.write_num(max_ordinal, offset);
2724 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2725 if max_ordinal == 0 {
2727 return Ok(());
2728 }
2729 depth.increment()?;
2730 let envelope_size = 8;
2731 let bytes_len = max_ordinal as usize * envelope_size;
2732 #[allow(unused_variables)]
2733 let offset = encoder.out_of_line_offset(bytes_len);
2734 let mut _prev_end_offset: usize = 0;
2735 if 1 > max_ordinal {
2736 return Ok(());
2737 }
2738
2739 let cur_offset: usize = (1 - 1) * envelope_size;
2742
2743 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2745
2746 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
2751 self.ssid.as_ref().map(
2752 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
2753 ),
2754 encoder,
2755 offset + cur_offset,
2756 depth,
2757 )?;
2758
2759 _prev_end_offset = cur_offset + envelope_size;
2760 if 2 > max_ordinal {
2761 return Ok(());
2762 }
2763
2764 let cur_offset: usize = (2 - 1) * envelope_size;
2767
2768 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2770
2771 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
2776 self.bssid
2777 .as_ref()
2778 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
2779 encoder,
2780 offset + cur_offset,
2781 depth,
2782 )?;
2783
2784 _prev_end_offset = cur_offset + envelope_size;
2785 if 3 > max_ordinal {
2786 return Ok(());
2787 }
2788
2789 let cur_offset: usize = (3 - 1) * envelope_size;
2792
2793 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2795
2796 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>(
2801 self.status_code.as_ref().map(<fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow),
2802 encoder, offset + cur_offset, depth
2803 )?;
2804
2805 _prev_end_offset = cur_offset + envelope_size;
2806 if 4 > max_ordinal {
2807 return Ok(());
2808 }
2809
2810 let cur_offset: usize = (4 - 1) * envelope_size;
2813
2814 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2816
2817 fidl::encoding::encode_in_envelope_optional::<bool, D>(
2822 self.timed_out.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
2823 encoder,
2824 offset + cur_offset,
2825 depth,
2826 )?;
2827
2828 _prev_end_offset = cur_offset + envelope_size;
2829
2830 Ok(())
2831 }
2832 }
2833
2834 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2835 for SupplicantStaIfaceCallbackOnAssociationRejectedRequest
2836 {
2837 #[inline(always)]
2838 fn new_empty() -> Self {
2839 Self::default()
2840 }
2841
2842 unsafe fn decode(
2843 &mut self,
2844 decoder: &mut fidl::encoding::Decoder<'_, D>,
2845 offset: usize,
2846 mut depth: fidl::encoding::Depth,
2847 ) -> fidl::Result<()> {
2848 decoder.debug_check_bounds::<Self>(offset);
2849 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2850 None => return Err(fidl::Error::NotNullable),
2851 Some(len) => len,
2852 };
2853 if len == 0 {
2855 return Ok(());
2856 };
2857 depth.increment()?;
2858 let envelope_size = 8;
2859 let bytes_len = len * envelope_size;
2860 let offset = decoder.out_of_line_offset(bytes_len)?;
2861 let mut _next_ordinal_to_read = 0;
2863 let mut next_offset = offset;
2864 let end_offset = offset + bytes_len;
2865 _next_ordinal_to_read += 1;
2866 if next_offset >= end_offset {
2867 return Ok(());
2868 }
2869
2870 while _next_ordinal_to_read < 1 {
2872 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2873 _next_ordinal_to_read += 1;
2874 next_offset += envelope_size;
2875 }
2876
2877 let next_out_of_line = decoder.next_out_of_line();
2878 let handles_before = decoder.remaining_handles();
2879 if let Some((inlined, num_bytes, num_handles)) =
2880 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2881 {
2882 let member_inline_size =
2883 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
2884 decoder.context,
2885 );
2886 if inlined != (member_inline_size <= 4) {
2887 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2888 }
2889 let inner_offset;
2890 let mut inner_depth = depth.clone();
2891 if inlined {
2892 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2893 inner_offset = next_offset;
2894 } else {
2895 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2896 inner_depth.increment()?;
2897 }
2898 let val_ref = self
2899 .ssid
2900 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
2901 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
2902 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2903 {
2904 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2905 }
2906 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2907 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2908 }
2909 }
2910
2911 next_offset += envelope_size;
2912 _next_ordinal_to_read += 1;
2913 if next_offset >= end_offset {
2914 return Ok(());
2915 }
2916
2917 while _next_ordinal_to_read < 2 {
2919 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2920 _next_ordinal_to_read += 1;
2921 next_offset += envelope_size;
2922 }
2923
2924 let next_out_of_line = decoder.next_out_of_line();
2925 let handles_before = decoder.remaining_handles();
2926 if let Some((inlined, num_bytes, num_handles)) =
2927 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2928 {
2929 let member_inline_size =
2930 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
2931 decoder.context,
2932 );
2933 if inlined != (member_inline_size <= 4) {
2934 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2935 }
2936 let inner_offset;
2937 let mut inner_depth = depth.clone();
2938 if inlined {
2939 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2940 inner_offset = next_offset;
2941 } else {
2942 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2943 inner_depth.increment()?;
2944 }
2945 let val_ref = self
2946 .bssid
2947 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
2948 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
2949 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2950 {
2951 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2952 }
2953 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2954 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2955 }
2956 }
2957
2958 next_offset += envelope_size;
2959 _next_ordinal_to_read += 1;
2960 if next_offset >= end_offset {
2961 return Ok(());
2962 }
2963
2964 while _next_ordinal_to_read < 3 {
2966 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2967 _next_ordinal_to_read += 1;
2968 next_offset += envelope_size;
2969 }
2970
2971 let next_out_of_line = decoder.next_out_of_line();
2972 let handles_before = decoder.remaining_handles();
2973 if let Some((inlined, num_bytes, num_handles)) =
2974 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2975 {
2976 let member_inline_size = <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2977 if inlined != (member_inline_size <= 4) {
2978 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2979 }
2980 let inner_offset;
2981 let mut inner_depth = depth.clone();
2982 if inlined {
2983 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2984 inner_offset = next_offset;
2985 } else {
2986 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2987 inner_depth.increment()?;
2988 }
2989 let val_ref = self.status_code.get_or_insert_with(|| {
2990 fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D)
2991 });
2992 fidl::decode!(
2993 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
2994 D,
2995 val_ref,
2996 decoder,
2997 inner_offset,
2998 inner_depth
2999 )?;
3000 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3001 {
3002 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3003 }
3004 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3005 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3006 }
3007 }
3008
3009 next_offset += envelope_size;
3010 _next_ordinal_to_read += 1;
3011 if next_offset >= end_offset {
3012 return Ok(());
3013 }
3014
3015 while _next_ordinal_to_read < 4 {
3017 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3018 _next_ordinal_to_read += 1;
3019 next_offset += envelope_size;
3020 }
3021
3022 let next_out_of_line = decoder.next_out_of_line();
3023 let handles_before = decoder.remaining_handles();
3024 if let Some((inlined, num_bytes, num_handles)) =
3025 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3026 {
3027 let member_inline_size =
3028 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3029 if inlined != (member_inline_size <= 4) {
3030 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3031 }
3032 let inner_offset;
3033 let mut inner_depth = depth.clone();
3034 if inlined {
3035 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3036 inner_offset = next_offset;
3037 } else {
3038 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3039 inner_depth.increment()?;
3040 }
3041 let val_ref = self.timed_out.get_or_insert_with(|| fidl::new_empty!(bool, D));
3042 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3043 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3044 {
3045 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3046 }
3047 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3048 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3049 }
3050 }
3051
3052 next_offset += envelope_size;
3053
3054 while next_offset < end_offset {
3056 _next_ordinal_to_read += 1;
3057 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3058 next_offset += envelope_size;
3059 }
3060
3061 Ok(())
3062 }
3063 }
3064
3065 impl SupplicantStaIfaceCallbackOnDisconnectedRequest {
3066 #[inline(always)]
3067 fn max_ordinal_present(&self) -> u64 {
3068 if let Some(_) = self.reason_code {
3069 return 3;
3070 }
3071 if let Some(_) = self.locally_generated {
3072 return 2;
3073 }
3074 if let Some(_) = self.bssid {
3075 return 1;
3076 }
3077 0
3078 }
3079 }
3080
3081 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnDisconnectedRequest {
3082 type Borrowed<'a> = &'a Self;
3083 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3084 value
3085 }
3086 }
3087
3088 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnDisconnectedRequest {
3089 type Owned = Self;
3090
3091 #[inline(always)]
3092 fn inline_align(_context: fidl::encoding::Context) -> usize {
3093 8
3094 }
3095
3096 #[inline(always)]
3097 fn inline_size(_context: fidl::encoding::Context) -> usize {
3098 16
3099 }
3100 }
3101
3102 unsafe impl<D: fidl::encoding::ResourceDialect>
3103 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnDisconnectedRequest, D>
3104 for &SupplicantStaIfaceCallbackOnDisconnectedRequest
3105 {
3106 unsafe fn encode(
3107 self,
3108 encoder: &mut fidl::encoding::Encoder<'_, D>,
3109 offset: usize,
3110 mut depth: fidl::encoding::Depth,
3111 ) -> fidl::Result<()> {
3112 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnDisconnectedRequest>(offset);
3113 let max_ordinal: u64 = self.max_ordinal_present();
3115 encoder.write_num(max_ordinal, offset);
3116 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3117 if max_ordinal == 0 {
3119 return Ok(());
3120 }
3121 depth.increment()?;
3122 let envelope_size = 8;
3123 let bytes_len = max_ordinal as usize * envelope_size;
3124 #[allow(unused_variables)]
3125 let offset = encoder.out_of_line_offset(bytes_len);
3126 let mut _prev_end_offset: usize = 0;
3127 if 1 > max_ordinal {
3128 return Ok(());
3129 }
3130
3131 let cur_offset: usize = (1 - 1) * envelope_size;
3134
3135 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3137
3138 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3143 self.bssid
3144 .as_ref()
3145 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3146 encoder,
3147 offset + cur_offset,
3148 depth,
3149 )?;
3150
3151 _prev_end_offset = cur_offset + envelope_size;
3152 if 2 > max_ordinal {
3153 return Ok(());
3154 }
3155
3156 let cur_offset: usize = (2 - 1) * envelope_size;
3159
3160 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3162
3163 fidl::encoding::encode_in_envelope_optional::<bool, D>(
3168 self.locally_generated
3169 .as_ref()
3170 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
3171 encoder,
3172 offset + cur_offset,
3173 depth,
3174 )?;
3175
3176 _prev_end_offset = cur_offset + envelope_size;
3177 if 3 > max_ordinal {
3178 return Ok(());
3179 }
3180
3181 let cur_offset: usize = (3 - 1) * envelope_size;
3184
3185 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3187
3188 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>(
3193 self.reason_code.as_ref().map(<fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow),
3194 encoder, offset + cur_offset, depth
3195 )?;
3196
3197 _prev_end_offset = cur_offset + envelope_size;
3198
3199 Ok(())
3200 }
3201 }
3202
3203 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3204 for SupplicantStaIfaceCallbackOnDisconnectedRequest
3205 {
3206 #[inline(always)]
3207 fn new_empty() -> Self {
3208 Self::default()
3209 }
3210
3211 unsafe fn decode(
3212 &mut self,
3213 decoder: &mut fidl::encoding::Decoder<'_, D>,
3214 offset: usize,
3215 mut depth: fidl::encoding::Depth,
3216 ) -> fidl::Result<()> {
3217 decoder.debug_check_bounds::<Self>(offset);
3218 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3219 None => return Err(fidl::Error::NotNullable),
3220 Some(len) => len,
3221 };
3222 if len == 0 {
3224 return Ok(());
3225 };
3226 depth.increment()?;
3227 let envelope_size = 8;
3228 let bytes_len = len * envelope_size;
3229 let offset = decoder.out_of_line_offset(bytes_len)?;
3230 let mut _next_ordinal_to_read = 0;
3232 let mut next_offset = offset;
3233 let end_offset = offset + bytes_len;
3234 _next_ordinal_to_read += 1;
3235 if next_offset >= end_offset {
3236 return Ok(());
3237 }
3238
3239 while _next_ordinal_to_read < 1 {
3241 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3242 _next_ordinal_to_read += 1;
3243 next_offset += envelope_size;
3244 }
3245
3246 let next_out_of_line = decoder.next_out_of_line();
3247 let handles_before = decoder.remaining_handles();
3248 if let Some((inlined, num_bytes, num_handles)) =
3249 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3250 {
3251 let member_inline_size =
3252 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3253 decoder.context,
3254 );
3255 if inlined != (member_inline_size <= 4) {
3256 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3257 }
3258 let inner_offset;
3259 let mut inner_depth = depth.clone();
3260 if inlined {
3261 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3262 inner_offset = next_offset;
3263 } else {
3264 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3265 inner_depth.increment()?;
3266 }
3267 let val_ref = self
3268 .bssid
3269 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3270 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
3271 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3272 {
3273 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3274 }
3275 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3276 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3277 }
3278 }
3279
3280 next_offset += envelope_size;
3281 _next_ordinal_to_read += 1;
3282 if next_offset >= end_offset {
3283 return Ok(());
3284 }
3285
3286 while _next_ordinal_to_read < 2 {
3288 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3289 _next_ordinal_to_read += 1;
3290 next_offset += envelope_size;
3291 }
3292
3293 let next_out_of_line = decoder.next_out_of_line();
3294 let handles_before = decoder.remaining_handles();
3295 if let Some((inlined, num_bytes, num_handles)) =
3296 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3297 {
3298 let member_inline_size =
3299 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3300 if inlined != (member_inline_size <= 4) {
3301 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3302 }
3303 let inner_offset;
3304 let mut inner_depth = depth.clone();
3305 if inlined {
3306 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3307 inner_offset = next_offset;
3308 } else {
3309 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3310 inner_depth.increment()?;
3311 }
3312 let val_ref =
3313 self.locally_generated.get_or_insert_with(|| fidl::new_empty!(bool, D));
3314 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3315 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3316 {
3317 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3318 }
3319 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3320 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3321 }
3322 }
3323
3324 next_offset += envelope_size;
3325 _next_ordinal_to_read += 1;
3326 if next_offset >= end_offset {
3327 return Ok(());
3328 }
3329
3330 while _next_ordinal_to_read < 3 {
3332 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3333 _next_ordinal_to_read += 1;
3334 next_offset += envelope_size;
3335 }
3336
3337 let next_out_of_line = decoder.next_out_of_line();
3338 let handles_before = decoder.remaining_handles();
3339 if let Some((inlined, num_bytes, num_handles)) =
3340 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3341 {
3342 let member_inline_size = <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3343 if inlined != (member_inline_size <= 4) {
3344 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3345 }
3346 let inner_offset;
3347 let mut inner_depth = depth.clone();
3348 if inlined {
3349 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3350 inner_offset = next_offset;
3351 } else {
3352 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3353 inner_depth.increment()?;
3354 }
3355 let val_ref = self.reason_code.get_or_insert_with(|| {
3356 fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D)
3357 });
3358 fidl::decode!(
3359 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3360 D,
3361 val_ref,
3362 decoder,
3363 inner_offset,
3364 inner_depth
3365 )?;
3366 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3367 {
3368 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3369 }
3370 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3371 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3372 }
3373 }
3374
3375 next_offset += envelope_size;
3376
3377 while next_offset < end_offset {
3379 _next_ordinal_to_read += 1;
3380 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3381 next_offset += envelope_size;
3382 }
3383
3384 Ok(())
3385 }
3386 }
3387
3388 impl SupplicantStaIfaceCallbackOnStateChangedRequest {
3389 #[inline(always)]
3390 fn max_ordinal_present(&self) -> u64 {
3391 if let Some(_) = self.ssid {
3392 return 4;
3393 }
3394 if let Some(_) = self.id {
3395 return 3;
3396 }
3397 if let Some(_) = self.bssid {
3398 return 2;
3399 }
3400 if let Some(_) = self.new_state {
3401 return 1;
3402 }
3403 0
3404 }
3405 }
3406
3407 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnStateChangedRequest {
3408 type Borrowed<'a> = &'a Self;
3409 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3410 value
3411 }
3412 }
3413
3414 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnStateChangedRequest {
3415 type Owned = Self;
3416
3417 #[inline(always)]
3418 fn inline_align(_context: fidl::encoding::Context) -> usize {
3419 8
3420 }
3421
3422 #[inline(always)]
3423 fn inline_size(_context: fidl::encoding::Context) -> usize {
3424 16
3425 }
3426 }
3427
3428 unsafe impl<D: fidl::encoding::ResourceDialect>
3429 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnStateChangedRequest, D>
3430 for &SupplicantStaIfaceCallbackOnStateChangedRequest
3431 {
3432 unsafe fn encode(
3433 self,
3434 encoder: &mut fidl::encoding::Encoder<'_, D>,
3435 offset: usize,
3436 mut depth: fidl::encoding::Depth,
3437 ) -> fidl::Result<()> {
3438 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnStateChangedRequest>(offset);
3439 let max_ordinal: u64 = self.max_ordinal_present();
3441 encoder.write_num(max_ordinal, offset);
3442 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3443 if max_ordinal == 0 {
3445 return Ok(());
3446 }
3447 depth.increment()?;
3448 let envelope_size = 8;
3449 let bytes_len = max_ordinal as usize * envelope_size;
3450 #[allow(unused_variables)]
3451 let offset = encoder.out_of_line_offset(bytes_len);
3452 let mut _prev_end_offset: usize = 0;
3453 if 1 > max_ordinal {
3454 return Ok(());
3455 }
3456
3457 let cur_offset: usize = (1 - 1) * envelope_size;
3460
3461 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3463
3464 fidl::encoding::encode_in_envelope_optional::<StaIfaceCallbackState, D>(
3469 self.new_state
3470 .as_ref()
3471 .map(<StaIfaceCallbackState as fidl::encoding::ValueTypeMarker>::borrow),
3472 encoder,
3473 offset + cur_offset,
3474 depth,
3475 )?;
3476
3477 _prev_end_offset = cur_offset + envelope_size;
3478 if 2 > max_ordinal {
3479 return Ok(());
3480 }
3481
3482 let cur_offset: usize = (2 - 1) * envelope_size;
3485
3486 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3488
3489 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3494 self.bssid
3495 .as_ref()
3496 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3497 encoder,
3498 offset + cur_offset,
3499 depth,
3500 )?;
3501
3502 _prev_end_offset = cur_offset + envelope_size;
3503 if 3 > max_ordinal {
3504 return Ok(());
3505 }
3506
3507 let cur_offset: usize = (3 - 1) * envelope_size;
3510
3511 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3513
3514 fidl::encoding::encode_in_envelope_optional::<u32, D>(
3519 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
3520 encoder,
3521 offset + cur_offset,
3522 depth,
3523 )?;
3524
3525 _prev_end_offset = cur_offset + envelope_size;
3526 if 4 > max_ordinal {
3527 return Ok(());
3528 }
3529
3530 let cur_offset: usize = (4 - 1) * envelope_size;
3533
3534 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3536
3537 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
3542 self.ssid.as_ref().map(
3543 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
3544 ),
3545 encoder,
3546 offset + cur_offset,
3547 depth,
3548 )?;
3549
3550 _prev_end_offset = cur_offset + envelope_size;
3551
3552 Ok(())
3553 }
3554 }
3555
3556 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3557 for SupplicantStaIfaceCallbackOnStateChangedRequest
3558 {
3559 #[inline(always)]
3560 fn new_empty() -> Self {
3561 Self::default()
3562 }
3563
3564 unsafe fn decode(
3565 &mut self,
3566 decoder: &mut fidl::encoding::Decoder<'_, D>,
3567 offset: usize,
3568 mut depth: fidl::encoding::Depth,
3569 ) -> fidl::Result<()> {
3570 decoder.debug_check_bounds::<Self>(offset);
3571 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3572 None => return Err(fidl::Error::NotNullable),
3573 Some(len) => len,
3574 };
3575 if len == 0 {
3577 return Ok(());
3578 };
3579 depth.increment()?;
3580 let envelope_size = 8;
3581 let bytes_len = len * envelope_size;
3582 let offset = decoder.out_of_line_offset(bytes_len)?;
3583 let mut _next_ordinal_to_read = 0;
3585 let mut next_offset = offset;
3586 let end_offset = offset + bytes_len;
3587 _next_ordinal_to_read += 1;
3588 if next_offset >= end_offset {
3589 return Ok(());
3590 }
3591
3592 while _next_ordinal_to_read < 1 {
3594 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3595 _next_ordinal_to_read += 1;
3596 next_offset += envelope_size;
3597 }
3598
3599 let next_out_of_line = decoder.next_out_of_line();
3600 let handles_before = decoder.remaining_handles();
3601 if let Some((inlined, num_bytes, num_handles)) =
3602 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3603 {
3604 let member_inline_size =
3605 <StaIfaceCallbackState as fidl::encoding::TypeMarker>::inline_size(
3606 decoder.context,
3607 );
3608 if inlined != (member_inline_size <= 4) {
3609 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3610 }
3611 let inner_offset;
3612 let mut inner_depth = depth.clone();
3613 if inlined {
3614 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3615 inner_offset = next_offset;
3616 } else {
3617 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3618 inner_depth.increment()?;
3619 }
3620 let val_ref = self
3621 .new_state
3622 .get_or_insert_with(|| fidl::new_empty!(StaIfaceCallbackState, D));
3623 fidl::decode!(
3624 StaIfaceCallbackState,
3625 D,
3626 val_ref,
3627 decoder,
3628 inner_offset,
3629 inner_depth
3630 )?;
3631 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3632 {
3633 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3634 }
3635 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3636 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3637 }
3638 }
3639
3640 next_offset += envelope_size;
3641 _next_ordinal_to_read += 1;
3642 if next_offset >= end_offset {
3643 return Ok(());
3644 }
3645
3646 while _next_ordinal_to_read < 2 {
3648 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3649 _next_ordinal_to_read += 1;
3650 next_offset += envelope_size;
3651 }
3652
3653 let next_out_of_line = decoder.next_out_of_line();
3654 let handles_before = decoder.remaining_handles();
3655 if let Some((inlined, num_bytes, num_handles)) =
3656 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3657 {
3658 let member_inline_size =
3659 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3660 decoder.context,
3661 );
3662 if inlined != (member_inline_size <= 4) {
3663 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3664 }
3665 let inner_offset;
3666 let mut inner_depth = depth.clone();
3667 if inlined {
3668 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3669 inner_offset = next_offset;
3670 } else {
3671 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3672 inner_depth.increment()?;
3673 }
3674 let val_ref = self
3675 .bssid
3676 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3677 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
3678 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3679 {
3680 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3681 }
3682 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3683 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3684 }
3685 }
3686
3687 next_offset += envelope_size;
3688 _next_ordinal_to_read += 1;
3689 if next_offset >= end_offset {
3690 return Ok(());
3691 }
3692
3693 while _next_ordinal_to_read < 3 {
3695 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3696 _next_ordinal_to_read += 1;
3697 next_offset += envelope_size;
3698 }
3699
3700 let next_out_of_line = decoder.next_out_of_line();
3701 let handles_before = decoder.remaining_handles();
3702 if let Some((inlined, num_bytes, num_handles)) =
3703 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3704 {
3705 let member_inline_size =
3706 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3707 if inlined != (member_inline_size <= 4) {
3708 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3709 }
3710 let inner_offset;
3711 let mut inner_depth = depth.clone();
3712 if inlined {
3713 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3714 inner_offset = next_offset;
3715 } else {
3716 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3717 inner_depth.increment()?;
3718 }
3719 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
3720 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
3721 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3722 {
3723 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3724 }
3725 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3726 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3727 }
3728 }
3729
3730 next_offset += envelope_size;
3731 _next_ordinal_to_read += 1;
3732 if next_offset >= end_offset {
3733 return Ok(());
3734 }
3735
3736 while _next_ordinal_to_read < 4 {
3738 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3739 _next_ordinal_to_read += 1;
3740 next_offset += envelope_size;
3741 }
3742
3743 let next_out_of_line = decoder.next_out_of_line();
3744 let handles_before = decoder.remaining_handles();
3745 if let Some((inlined, num_bytes, num_handles)) =
3746 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3747 {
3748 let member_inline_size =
3749 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
3750 decoder.context,
3751 );
3752 if inlined != (member_inline_size <= 4) {
3753 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3754 }
3755 let inner_offset;
3756 let mut inner_depth = depth.clone();
3757 if inlined {
3758 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3759 inner_offset = next_offset;
3760 } else {
3761 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3762 inner_depth.increment()?;
3763 }
3764 let val_ref = self
3765 .ssid
3766 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
3767 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
3768 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3769 {
3770 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3771 }
3772 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3773 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3774 }
3775 }
3776
3777 next_offset += envelope_size;
3778
3779 while next_offset < end_offset {
3781 _next_ordinal_to_read += 1;
3782 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3783 next_offset += envelope_size;
3784 }
3785
3786 Ok(())
3787 }
3788 }
3789
3790 impl SupplicantStaIfaceSetBtCoexistenceModeRequest {
3791 #[inline(always)]
3792 fn max_ordinal_present(&self) -> u64 {
3793 if let Some(_) = self.mode {
3794 return 1;
3795 }
3796 0
3797 }
3798 }
3799
3800 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceSetBtCoexistenceModeRequest {
3801 type Borrowed<'a> = &'a Self;
3802 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3803 value
3804 }
3805 }
3806
3807 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceSetBtCoexistenceModeRequest {
3808 type Owned = Self;
3809
3810 #[inline(always)]
3811 fn inline_align(_context: fidl::encoding::Context) -> usize {
3812 8
3813 }
3814
3815 #[inline(always)]
3816 fn inline_size(_context: fidl::encoding::Context) -> usize {
3817 16
3818 }
3819 }
3820
3821 unsafe impl<D: fidl::encoding::ResourceDialect>
3822 fidl::encoding::Encode<SupplicantStaIfaceSetBtCoexistenceModeRequest, D>
3823 for &SupplicantStaIfaceSetBtCoexistenceModeRequest
3824 {
3825 unsafe fn encode(
3826 self,
3827 encoder: &mut fidl::encoding::Encoder<'_, D>,
3828 offset: usize,
3829 mut depth: fidl::encoding::Depth,
3830 ) -> fidl::Result<()> {
3831 encoder.debug_check_bounds::<SupplicantStaIfaceSetBtCoexistenceModeRequest>(offset);
3832 let max_ordinal: u64 = self.max_ordinal_present();
3834 encoder.write_num(max_ordinal, offset);
3835 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3836 if max_ordinal == 0 {
3838 return Ok(());
3839 }
3840 depth.increment()?;
3841 let envelope_size = 8;
3842 let bytes_len = max_ordinal as usize * envelope_size;
3843 #[allow(unused_variables)]
3844 let offset = encoder.out_of_line_offset(bytes_len);
3845 let mut _prev_end_offset: usize = 0;
3846 if 1 > max_ordinal {
3847 return Ok(());
3848 }
3849
3850 let cur_offset: usize = (1 - 1) * envelope_size;
3853
3854 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3856
3857 fidl::encoding::encode_in_envelope_optional::<BtCoexistenceMode, D>(
3862 self.mode
3863 .as_ref()
3864 .map(<BtCoexistenceMode as fidl::encoding::ValueTypeMarker>::borrow),
3865 encoder,
3866 offset + cur_offset,
3867 depth,
3868 )?;
3869
3870 _prev_end_offset = cur_offset + envelope_size;
3871
3872 Ok(())
3873 }
3874 }
3875
3876 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3877 for SupplicantStaIfaceSetBtCoexistenceModeRequest
3878 {
3879 #[inline(always)]
3880 fn new_empty() -> Self {
3881 Self::default()
3882 }
3883
3884 unsafe fn decode(
3885 &mut self,
3886 decoder: &mut fidl::encoding::Decoder<'_, D>,
3887 offset: usize,
3888 mut depth: fidl::encoding::Depth,
3889 ) -> fidl::Result<()> {
3890 decoder.debug_check_bounds::<Self>(offset);
3891 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3892 None => return Err(fidl::Error::NotNullable),
3893 Some(len) => len,
3894 };
3895 if len == 0 {
3897 return Ok(());
3898 };
3899 depth.increment()?;
3900 let envelope_size = 8;
3901 let bytes_len = len * envelope_size;
3902 let offset = decoder.out_of_line_offset(bytes_len)?;
3903 let mut _next_ordinal_to_read = 0;
3905 let mut next_offset = offset;
3906 let end_offset = offset + bytes_len;
3907 _next_ordinal_to_read += 1;
3908 if next_offset >= end_offset {
3909 return Ok(());
3910 }
3911
3912 while _next_ordinal_to_read < 1 {
3914 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3915 _next_ordinal_to_read += 1;
3916 next_offset += envelope_size;
3917 }
3918
3919 let next_out_of_line = decoder.next_out_of_line();
3920 let handles_before = decoder.remaining_handles();
3921 if let Some((inlined, num_bytes, num_handles)) =
3922 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3923 {
3924 let member_inline_size =
3925 <BtCoexistenceMode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3926 if inlined != (member_inline_size <= 4) {
3927 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3928 }
3929 let inner_offset;
3930 let mut inner_depth = depth.clone();
3931 if inlined {
3932 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3933 inner_offset = next_offset;
3934 } else {
3935 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3936 inner_depth.increment()?;
3937 }
3938 let val_ref =
3939 self.mode.get_or_insert_with(|| fidl::new_empty!(BtCoexistenceMode, D));
3940 fidl::decode!(BtCoexistenceMode, D, val_ref, decoder, inner_offset, inner_depth)?;
3941 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3942 {
3943 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3944 }
3945 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3946 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3947 }
3948 }
3949
3950 next_offset += envelope_size;
3951
3952 while next_offset < end_offset {
3954 _next_ordinal_to_read += 1;
3955 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3956 next_offset += envelope_size;
3957 }
3958
3959 Ok(())
3960 }
3961 }
3962
3963 impl SupplicantStaIfaceGetMacAddressResponse {
3964 #[inline(always)]
3965 fn max_ordinal_present(&self) -> u64 {
3966 if let Some(_) = self.mac_addr {
3967 return 1;
3968 }
3969 0
3970 }
3971 }
3972
3973 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceGetMacAddressResponse {
3974 type Borrowed<'a> = &'a Self;
3975 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3976 value
3977 }
3978 }
3979
3980 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceGetMacAddressResponse {
3981 type Owned = Self;
3982
3983 #[inline(always)]
3984 fn inline_align(_context: fidl::encoding::Context) -> usize {
3985 8
3986 }
3987
3988 #[inline(always)]
3989 fn inline_size(_context: fidl::encoding::Context) -> usize {
3990 16
3991 }
3992 }
3993
3994 unsafe impl<D: fidl::encoding::ResourceDialect>
3995 fidl::encoding::Encode<SupplicantStaIfaceGetMacAddressResponse, D>
3996 for &SupplicantStaIfaceGetMacAddressResponse
3997 {
3998 unsafe fn encode(
3999 self,
4000 encoder: &mut fidl::encoding::Encoder<'_, D>,
4001 offset: usize,
4002 mut depth: fidl::encoding::Depth,
4003 ) -> fidl::Result<()> {
4004 encoder.debug_check_bounds::<SupplicantStaIfaceGetMacAddressResponse>(offset);
4005 let max_ordinal: u64 = self.max_ordinal_present();
4007 encoder.write_num(max_ordinal, offset);
4008 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4009 if max_ordinal == 0 {
4011 return Ok(());
4012 }
4013 depth.increment()?;
4014 let envelope_size = 8;
4015 let bytes_len = max_ordinal as usize * envelope_size;
4016 #[allow(unused_variables)]
4017 let offset = encoder.out_of_line_offset(bytes_len);
4018 let mut _prev_end_offset: usize = 0;
4019 if 1 > max_ordinal {
4020 return Ok(());
4021 }
4022
4023 let cur_offset: usize = (1 - 1) * envelope_size;
4026
4027 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4029
4030 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4035 self.mac_addr
4036 .as_ref()
4037 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4038 encoder,
4039 offset + cur_offset,
4040 depth,
4041 )?;
4042
4043 _prev_end_offset = cur_offset + envelope_size;
4044
4045 Ok(())
4046 }
4047 }
4048
4049 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4050 for SupplicantStaIfaceGetMacAddressResponse
4051 {
4052 #[inline(always)]
4053 fn new_empty() -> Self {
4054 Self::default()
4055 }
4056
4057 unsafe fn decode(
4058 &mut self,
4059 decoder: &mut fidl::encoding::Decoder<'_, D>,
4060 offset: usize,
4061 mut depth: fidl::encoding::Depth,
4062 ) -> fidl::Result<()> {
4063 decoder.debug_check_bounds::<Self>(offset);
4064 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4065 None => return Err(fidl::Error::NotNullable),
4066 Some(len) => len,
4067 };
4068 if len == 0 {
4070 return Ok(());
4071 };
4072 depth.increment()?;
4073 let envelope_size = 8;
4074 let bytes_len = len * envelope_size;
4075 let offset = decoder.out_of_line_offset(bytes_len)?;
4076 let mut _next_ordinal_to_read = 0;
4078 let mut next_offset = offset;
4079 let end_offset = offset + bytes_len;
4080 _next_ordinal_to_read += 1;
4081 if next_offset >= end_offset {
4082 return Ok(());
4083 }
4084
4085 while _next_ordinal_to_read < 1 {
4087 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4088 _next_ordinal_to_read += 1;
4089 next_offset += envelope_size;
4090 }
4091
4092 let next_out_of_line = decoder.next_out_of_line();
4093 let handles_before = decoder.remaining_handles();
4094 if let Some((inlined, num_bytes, num_handles)) =
4095 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4096 {
4097 let member_inline_size =
4098 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4099 decoder.context,
4100 );
4101 if inlined != (member_inline_size <= 4) {
4102 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4103 }
4104 let inner_offset;
4105 let mut inner_depth = depth.clone();
4106 if inlined {
4107 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4108 inner_offset = next_offset;
4109 } else {
4110 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4111 inner_depth.increment()?;
4112 }
4113 let val_ref = self
4114 .mac_addr
4115 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4116 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4117 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4118 {
4119 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4120 }
4121 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4122 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4123 }
4124 }
4125
4126 next_offset += envelope_size;
4127
4128 while next_offset < end_offset {
4130 _next_ordinal_to_read += 1;
4131 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4132 next_offset += envelope_size;
4133 }
4134
4135 Ok(())
4136 }
4137 }
4138
4139 impl SupplicantStaNetworkSetBssidRequest {
4140 #[inline(always)]
4141 fn max_ordinal_present(&self) -> u64 {
4142 if let Some(_) = self.bssid {
4143 return 1;
4144 }
4145 0
4146 }
4147 }
4148
4149 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetBssidRequest {
4150 type Borrowed<'a> = &'a Self;
4151 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4152 value
4153 }
4154 }
4155
4156 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetBssidRequest {
4157 type Owned = Self;
4158
4159 #[inline(always)]
4160 fn inline_align(_context: fidl::encoding::Context) -> usize {
4161 8
4162 }
4163
4164 #[inline(always)]
4165 fn inline_size(_context: fidl::encoding::Context) -> usize {
4166 16
4167 }
4168 }
4169
4170 unsafe impl<D: fidl::encoding::ResourceDialect>
4171 fidl::encoding::Encode<SupplicantStaNetworkSetBssidRequest, D>
4172 for &SupplicantStaNetworkSetBssidRequest
4173 {
4174 unsafe fn encode(
4175 self,
4176 encoder: &mut fidl::encoding::Encoder<'_, D>,
4177 offset: usize,
4178 mut depth: fidl::encoding::Depth,
4179 ) -> fidl::Result<()> {
4180 encoder.debug_check_bounds::<SupplicantStaNetworkSetBssidRequest>(offset);
4181 let max_ordinal: u64 = self.max_ordinal_present();
4183 encoder.write_num(max_ordinal, offset);
4184 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4185 if max_ordinal == 0 {
4187 return Ok(());
4188 }
4189 depth.increment()?;
4190 let envelope_size = 8;
4191 let bytes_len = max_ordinal as usize * envelope_size;
4192 #[allow(unused_variables)]
4193 let offset = encoder.out_of_line_offset(bytes_len);
4194 let mut _prev_end_offset: usize = 0;
4195 if 1 > max_ordinal {
4196 return Ok(());
4197 }
4198
4199 let cur_offset: usize = (1 - 1) * envelope_size;
4202
4203 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4205
4206 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4211 self.bssid
4212 .as_ref()
4213 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4214 encoder,
4215 offset + cur_offset,
4216 depth,
4217 )?;
4218
4219 _prev_end_offset = cur_offset + envelope_size;
4220
4221 Ok(())
4222 }
4223 }
4224
4225 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4226 for SupplicantStaNetworkSetBssidRequest
4227 {
4228 #[inline(always)]
4229 fn new_empty() -> Self {
4230 Self::default()
4231 }
4232
4233 unsafe fn decode(
4234 &mut self,
4235 decoder: &mut fidl::encoding::Decoder<'_, D>,
4236 offset: usize,
4237 mut depth: fidl::encoding::Depth,
4238 ) -> fidl::Result<()> {
4239 decoder.debug_check_bounds::<Self>(offset);
4240 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4241 None => return Err(fidl::Error::NotNullable),
4242 Some(len) => len,
4243 };
4244 if len == 0 {
4246 return Ok(());
4247 };
4248 depth.increment()?;
4249 let envelope_size = 8;
4250 let bytes_len = len * envelope_size;
4251 let offset = decoder.out_of_line_offset(bytes_len)?;
4252 let mut _next_ordinal_to_read = 0;
4254 let mut next_offset = offset;
4255 let end_offset = offset + bytes_len;
4256 _next_ordinal_to_read += 1;
4257 if next_offset >= end_offset {
4258 return Ok(());
4259 }
4260
4261 while _next_ordinal_to_read < 1 {
4263 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4264 _next_ordinal_to_read += 1;
4265 next_offset += envelope_size;
4266 }
4267
4268 let next_out_of_line = decoder.next_out_of_line();
4269 let handles_before = decoder.remaining_handles();
4270 if let Some((inlined, num_bytes, num_handles)) =
4271 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4272 {
4273 let member_inline_size =
4274 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4275 decoder.context,
4276 );
4277 if inlined != (member_inline_size <= 4) {
4278 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4279 }
4280 let inner_offset;
4281 let mut inner_depth = depth.clone();
4282 if inlined {
4283 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4284 inner_offset = next_offset;
4285 } else {
4286 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4287 inner_depth.increment()?;
4288 }
4289 let val_ref = self
4290 .bssid
4291 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4292 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4293 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4294 {
4295 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4296 }
4297 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4298 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4299 }
4300 }
4301
4302 next_offset += envelope_size;
4303
4304 while next_offset < end_offset {
4306 _next_ordinal_to_read += 1;
4307 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4308 next_offset += envelope_size;
4309 }
4310
4311 Ok(())
4312 }
4313 }
4314
4315 impl SupplicantStaNetworkSetPskPassphraseRequest {
4316 #[inline(always)]
4317 fn max_ordinal_present(&self) -> u64 {
4318 if let Some(_) = self.passphrase {
4319 return 1;
4320 }
4321 0
4322 }
4323 }
4324
4325 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetPskPassphraseRequest {
4326 type Borrowed<'a> = &'a Self;
4327 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4328 value
4329 }
4330 }
4331
4332 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetPskPassphraseRequest {
4333 type Owned = Self;
4334
4335 #[inline(always)]
4336 fn inline_align(_context: fidl::encoding::Context) -> usize {
4337 8
4338 }
4339
4340 #[inline(always)]
4341 fn inline_size(_context: fidl::encoding::Context) -> usize {
4342 16
4343 }
4344 }
4345
4346 unsafe impl<D: fidl::encoding::ResourceDialect>
4347 fidl::encoding::Encode<SupplicantStaNetworkSetPskPassphraseRequest, D>
4348 for &SupplicantStaNetworkSetPskPassphraseRequest
4349 {
4350 unsafe fn encode(
4351 self,
4352 encoder: &mut fidl::encoding::Encoder<'_, D>,
4353 offset: usize,
4354 mut depth: fidl::encoding::Depth,
4355 ) -> fidl::Result<()> {
4356 encoder.debug_check_bounds::<SupplicantStaNetworkSetPskPassphraseRequest>(offset);
4357 let max_ordinal: u64 = self.max_ordinal_present();
4359 encoder.write_num(max_ordinal, offset);
4360 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4361 if max_ordinal == 0 {
4363 return Ok(());
4364 }
4365 depth.increment()?;
4366 let envelope_size = 8;
4367 let bytes_len = max_ordinal as usize * envelope_size;
4368 #[allow(unused_variables)]
4369 let offset = encoder.out_of_line_offset(bytes_len);
4370 let mut _prev_end_offset: usize = 0;
4371 if 1 > max_ordinal {
4372 return Ok(());
4373 }
4374
4375 let cur_offset: usize = (1 - 1) * envelope_size;
4378
4379 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4381
4382 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
4387 self.passphrase.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
4388 encoder, offset + cur_offset, depth
4389 )?;
4390
4391 _prev_end_offset = cur_offset + envelope_size;
4392
4393 Ok(())
4394 }
4395 }
4396
4397 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4398 for SupplicantStaNetworkSetPskPassphraseRequest
4399 {
4400 #[inline(always)]
4401 fn new_empty() -> Self {
4402 Self::default()
4403 }
4404
4405 unsafe fn decode(
4406 &mut self,
4407 decoder: &mut fidl::encoding::Decoder<'_, D>,
4408 offset: usize,
4409 mut depth: fidl::encoding::Depth,
4410 ) -> fidl::Result<()> {
4411 decoder.debug_check_bounds::<Self>(offset);
4412 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4413 None => return Err(fidl::Error::NotNullable),
4414 Some(len) => len,
4415 };
4416 if len == 0 {
4418 return Ok(());
4419 };
4420 depth.increment()?;
4421 let envelope_size = 8;
4422 let bytes_len = len * envelope_size;
4423 let offset = decoder.out_of_line_offset(bytes_len)?;
4424 let mut _next_ordinal_to_read = 0;
4426 let mut next_offset = offset;
4427 let end_offset = offset + bytes_len;
4428 _next_ordinal_to_read += 1;
4429 if next_offset >= end_offset {
4430 return Ok(());
4431 }
4432
4433 while _next_ordinal_to_read < 1 {
4435 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4436 _next_ordinal_to_read += 1;
4437 next_offset += envelope_size;
4438 }
4439
4440 let next_out_of_line = decoder.next_out_of_line();
4441 let handles_before = decoder.remaining_handles();
4442 if let Some((inlined, num_bytes, num_handles)) =
4443 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4444 {
4445 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4446 if inlined != (member_inline_size <= 4) {
4447 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4448 }
4449 let inner_offset;
4450 let mut inner_depth = depth.clone();
4451 if inlined {
4452 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4453 inner_offset = next_offset;
4454 } else {
4455 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4456 inner_depth.increment()?;
4457 }
4458 let val_ref = self.passphrase.get_or_insert_with(|| {
4459 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
4460 });
4461 fidl::decode!(
4462 fidl::encoding::UnboundedVector<u8>,
4463 D,
4464 val_ref,
4465 decoder,
4466 inner_offset,
4467 inner_depth
4468 )?;
4469 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4470 {
4471 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4472 }
4473 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4474 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4475 }
4476 }
4477
4478 next_offset += envelope_size;
4479
4480 while next_offset < end_offset {
4482 _next_ordinal_to_read += 1;
4483 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4484 next_offset += envelope_size;
4485 }
4486
4487 Ok(())
4488 }
4489 }
4490
4491 impl SupplicantStaNetworkSetSaePasswordRequest {
4492 #[inline(always)]
4493 fn max_ordinal_present(&self) -> u64 {
4494 if let Some(_) = self.password {
4495 return 1;
4496 }
4497 0
4498 }
4499 }
4500
4501 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetSaePasswordRequest {
4502 type Borrowed<'a> = &'a Self;
4503 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4504 value
4505 }
4506 }
4507
4508 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetSaePasswordRequest {
4509 type Owned = Self;
4510
4511 #[inline(always)]
4512 fn inline_align(_context: fidl::encoding::Context) -> usize {
4513 8
4514 }
4515
4516 #[inline(always)]
4517 fn inline_size(_context: fidl::encoding::Context) -> usize {
4518 16
4519 }
4520 }
4521
4522 unsafe impl<D: fidl::encoding::ResourceDialect>
4523 fidl::encoding::Encode<SupplicantStaNetworkSetSaePasswordRequest, D>
4524 for &SupplicantStaNetworkSetSaePasswordRequest
4525 {
4526 unsafe fn encode(
4527 self,
4528 encoder: &mut fidl::encoding::Encoder<'_, D>,
4529 offset: usize,
4530 mut depth: fidl::encoding::Depth,
4531 ) -> fidl::Result<()> {
4532 encoder.debug_check_bounds::<SupplicantStaNetworkSetSaePasswordRequest>(offset);
4533 let max_ordinal: u64 = self.max_ordinal_present();
4535 encoder.write_num(max_ordinal, offset);
4536 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4537 if max_ordinal == 0 {
4539 return Ok(());
4540 }
4541 depth.increment()?;
4542 let envelope_size = 8;
4543 let bytes_len = max_ordinal as usize * envelope_size;
4544 #[allow(unused_variables)]
4545 let offset = encoder.out_of_line_offset(bytes_len);
4546 let mut _prev_end_offset: usize = 0;
4547 if 1 > max_ordinal {
4548 return Ok(());
4549 }
4550
4551 let cur_offset: usize = (1 - 1) * envelope_size;
4554
4555 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4557
4558 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
4563 self.password.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
4564 encoder, offset + cur_offset, depth
4565 )?;
4566
4567 _prev_end_offset = cur_offset + envelope_size;
4568
4569 Ok(())
4570 }
4571 }
4572
4573 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4574 for SupplicantStaNetworkSetSaePasswordRequest
4575 {
4576 #[inline(always)]
4577 fn new_empty() -> Self {
4578 Self::default()
4579 }
4580
4581 unsafe fn decode(
4582 &mut self,
4583 decoder: &mut fidl::encoding::Decoder<'_, D>,
4584 offset: usize,
4585 mut depth: fidl::encoding::Depth,
4586 ) -> fidl::Result<()> {
4587 decoder.debug_check_bounds::<Self>(offset);
4588 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4589 None => return Err(fidl::Error::NotNullable),
4590 Some(len) => len,
4591 };
4592 if len == 0 {
4594 return Ok(());
4595 };
4596 depth.increment()?;
4597 let envelope_size = 8;
4598 let bytes_len = len * envelope_size;
4599 let offset = decoder.out_of_line_offset(bytes_len)?;
4600 let mut _next_ordinal_to_read = 0;
4602 let mut next_offset = offset;
4603 let end_offset = offset + bytes_len;
4604 _next_ordinal_to_read += 1;
4605 if next_offset >= end_offset {
4606 return Ok(());
4607 }
4608
4609 while _next_ordinal_to_read < 1 {
4611 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4612 _next_ordinal_to_read += 1;
4613 next_offset += envelope_size;
4614 }
4615
4616 let next_out_of_line = decoder.next_out_of_line();
4617 let handles_before = decoder.remaining_handles();
4618 if let Some((inlined, num_bytes, num_handles)) =
4619 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4620 {
4621 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4622 if inlined != (member_inline_size <= 4) {
4623 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4624 }
4625 let inner_offset;
4626 let mut inner_depth = depth.clone();
4627 if inlined {
4628 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4629 inner_offset = next_offset;
4630 } else {
4631 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4632 inner_depth.increment()?;
4633 }
4634 let val_ref = self.password.get_or_insert_with(|| {
4635 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
4636 });
4637 fidl::decode!(
4638 fidl::encoding::UnboundedVector<u8>,
4639 D,
4640 val_ref,
4641 decoder,
4642 inner_offset,
4643 inner_depth
4644 )?;
4645 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4646 {
4647 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4648 }
4649 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4650 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4651 }
4652 }
4653
4654 next_offset += envelope_size;
4655
4656 while next_offset < end_offset {
4658 _next_ordinal_to_read += 1;
4659 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4660 next_offset += envelope_size;
4661 }
4662
4663 Ok(())
4664 }
4665 }
4666
4667 impl SupplicantStaNetworkSetSsidRequest {
4668 #[inline(always)]
4669 fn max_ordinal_present(&self) -> u64 {
4670 if let Some(_) = self.ssid {
4671 return 1;
4672 }
4673 0
4674 }
4675 }
4676
4677 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetSsidRequest {
4678 type Borrowed<'a> = &'a Self;
4679 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4680 value
4681 }
4682 }
4683
4684 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetSsidRequest {
4685 type Owned = Self;
4686
4687 #[inline(always)]
4688 fn inline_align(_context: fidl::encoding::Context) -> usize {
4689 8
4690 }
4691
4692 #[inline(always)]
4693 fn inline_size(_context: fidl::encoding::Context) -> usize {
4694 16
4695 }
4696 }
4697
4698 unsafe impl<D: fidl::encoding::ResourceDialect>
4699 fidl::encoding::Encode<SupplicantStaNetworkSetSsidRequest, D>
4700 for &SupplicantStaNetworkSetSsidRequest
4701 {
4702 unsafe fn encode(
4703 self,
4704 encoder: &mut fidl::encoding::Encoder<'_, D>,
4705 offset: usize,
4706 mut depth: fidl::encoding::Depth,
4707 ) -> fidl::Result<()> {
4708 encoder.debug_check_bounds::<SupplicantStaNetworkSetSsidRequest>(offset);
4709 let max_ordinal: u64 = self.max_ordinal_present();
4711 encoder.write_num(max_ordinal, offset);
4712 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4713 if max_ordinal == 0 {
4715 return Ok(());
4716 }
4717 depth.increment()?;
4718 let envelope_size = 8;
4719 let bytes_len = max_ordinal as usize * envelope_size;
4720 #[allow(unused_variables)]
4721 let offset = encoder.out_of_line_offset(bytes_len);
4722 let mut _prev_end_offset: usize = 0;
4723 if 1 > max_ordinal {
4724 return Ok(());
4725 }
4726
4727 let cur_offset: usize = (1 - 1) * envelope_size;
4730
4731 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4733
4734 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
4739 self.ssid.as_ref().map(
4740 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
4741 ),
4742 encoder,
4743 offset + cur_offset,
4744 depth,
4745 )?;
4746
4747 _prev_end_offset = cur_offset + envelope_size;
4748
4749 Ok(())
4750 }
4751 }
4752
4753 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4754 for SupplicantStaNetworkSetSsidRequest
4755 {
4756 #[inline(always)]
4757 fn new_empty() -> Self {
4758 Self::default()
4759 }
4760
4761 unsafe fn decode(
4762 &mut self,
4763 decoder: &mut fidl::encoding::Decoder<'_, D>,
4764 offset: usize,
4765 mut depth: fidl::encoding::Depth,
4766 ) -> fidl::Result<()> {
4767 decoder.debug_check_bounds::<Self>(offset);
4768 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4769 None => return Err(fidl::Error::NotNullable),
4770 Some(len) => len,
4771 };
4772 if len == 0 {
4774 return Ok(());
4775 };
4776 depth.increment()?;
4777 let envelope_size = 8;
4778 let bytes_len = len * envelope_size;
4779 let offset = decoder.out_of_line_offset(bytes_len)?;
4780 let mut _next_ordinal_to_read = 0;
4782 let mut next_offset = offset;
4783 let end_offset = offset + bytes_len;
4784 _next_ordinal_to_read += 1;
4785 if next_offset >= end_offset {
4786 return Ok(());
4787 }
4788
4789 while _next_ordinal_to_read < 1 {
4791 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4792 _next_ordinal_to_read += 1;
4793 next_offset += envelope_size;
4794 }
4795
4796 let next_out_of_line = decoder.next_out_of_line();
4797 let handles_before = decoder.remaining_handles();
4798 if let Some((inlined, num_bytes, num_handles)) =
4799 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4800 {
4801 let member_inline_size =
4802 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
4803 decoder.context,
4804 );
4805 if inlined != (member_inline_size <= 4) {
4806 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4807 }
4808 let inner_offset;
4809 let mut inner_depth = depth.clone();
4810 if inlined {
4811 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4812 inner_offset = next_offset;
4813 } else {
4814 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4815 inner_depth.increment()?;
4816 }
4817 let val_ref = self
4818 .ssid
4819 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
4820 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
4821 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4822 {
4823 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4824 }
4825 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4826 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4827 }
4828 }
4829
4830 next_offset += envelope_size;
4831
4832 while next_offset < end_offset {
4834 _next_ordinal_to_read += 1;
4835 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4836 next_offset += envelope_size;
4837 }
4838
4839 Ok(())
4840 }
4841 }
4842
4843 impl SupplicantStaNetworkSetWepKeyRequest {
4844 #[inline(always)]
4845 fn max_ordinal_present(&self) -> u64 {
4846 if let Some(_) = self.key_idx {
4847 return 2;
4848 }
4849 if let Some(_) = self.key {
4850 return 1;
4851 }
4852 0
4853 }
4854 }
4855
4856 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetWepKeyRequest {
4857 type Borrowed<'a> = &'a Self;
4858 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4859 value
4860 }
4861 }
4862
4863 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetWepKeyRequest {
4864 type Owned = Self;
4865
4866 #[inline(always)]
4867 fn inline_align(_context: fidl::encoding::Context) -> usize {
4868 8
4869 }
4870
4871 #[inline(always)]
4872 fn inline_size(_context: fidl::encoding::Context) -> usize {
4873 16
4874 }
4875 }
4876
4877 unsafe impl<D: fidl::encoding::ResourceDialect>
4878 fidl::encoding::Encode<SupplicantStaNetworkSetWepKeyRequest, D>
4879 for &SupplicantStaNetworkSetWepKeyRequest
4880 {
4881 unsafe fn encode(
4882 self,
4883 encoder: &mut fidl::encoding::Encoder<'_, D>,
4884 offset: usize,
4885 mut depth: fidl::encoding::Depth,
4886 ) -> fidl::Result<()> {
4887 encoder.debug_check_bounds::<SupplicantStaNetworkSetWepKeyRequest>(offset);
4888 let max_ordinal: u64 = self.max_ordinal_present();
4890 encoder.write_num(max_ordinal, offset);
4891 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4892 if max_ordinal == 0 {
4894 return Ok(());
4895 }
4896 depth.increment()?;
4897 let envelope_size = 8;
4898 let bytes_len = max_ordinal as usize * envelope_size;
4899 #[allow(unused_variables)]
4900 let offset = encoder.out_of_line_offset(bytes_len);
4901 let mut _prev_end_offset: usize = 0;
4902 if 1 > max_ordinal {
4903 return Ok(());
4904 }
4905
4906 let cur_offset: usize = (1 - 1) * envelope_size;
4909
4910 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4912
4913 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
4918 self.key.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
4919 encoder, offset + cur_offset, depth
4920 )?;
4921
4922 _prev_end_offset = cur_offset + envelope_size;
4923 if 2 > max_ordinal {
4924 return Ok(());
4925 }
4926
4927 let cur_offset: usize = (2 - 1) * envelope_size;
4930
4931 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4933
4934 fidl::encoding::encode_in_envelope_optional::<i32, D>(
4939 self.key_idx.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
4940 encoder,
4941 offset + cur_offset,
4942 depth,
4943 )?;
4944
4945 _prev_end_offset = cur_offset + envelope_size;
4946
4947 Ok(())
4948 }
4949 }
4950
4951 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4952 for SupplicantStaNetworkSetWepKeyRequest
4953 {
4954 #[inline(always)]
4955 fn new_empty() -> Self {
4956 Self::default()
4957 }
4958
4959 unsafe fn decode(
4960 &mut self,
4961 decoder: &mut fidl::encoding::Decoder<'_, D>,
4962 offset: usize,
4963 mut depth: fidl::encoding::Depth,
4964 ) -> fidl::Result<()> {
4965 decoder.debug_check_bounds::<Self>(offset);
4966 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4967 None => return Err(fidl::Error::NotNullable),
4968 Some(len) => len,
4969 };
4970 if len == 0 {
4972 return Ok(());
4973 };
4974 depth.increment()?;
4975 let envelope_size = 8;
4976 let bytes_len = len * envelope_size;
4977 let offset = decoder.out_of_line_offset(bytes_len)?;
4978 let mut _next_ordinal_to_read = 0;
4980 let mut next_offset = offset;
4981 let end_offset = offset + bytes_len;
4982 _next_ordinal_to_read += 1;
4983 if next_offset >= end_offset {
4984 return Ok(());
4985 }
4986
4987 while _next_ordinal_to_read < 1 {
4989 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4990 _next_ordinal_to_read += 1;
4991 next_offset += envelope_size;
4992 }
4993
4994 let next_out_of_line = decoder.next_out_of_line();
4995 let handles_before = decoder.remaining_handles();
4996 if let Some((inlined, num_bytes, num_handles)) =
4997 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4998 {
4999 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5000 if inlined != (member_inline_size <= 4) {
5001 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5002 }
5003 let inner_offset;
5004 let mut inner_depth = depth.clone();
5005 if inlined {
5006 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5007 inner_offset = next_offset;
5008 } else {
5009 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5010 inner_depth.increment()?;
5011 }
5012 let val_ref = self.key.get_or_insert_with(|| {
5013 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
5014 });
5015 fidl::decode!(
5016 fidl::encoding::UnboundedVector<u8>,
5017 D,
5018 val_ref,
5019 decoder,
5020 inner_offset,
5021 inner_depth
5022 )?;
5023 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5024 {
5025 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5026 }
5027 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5028 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5029 }
5030 }
5031
5032 next_offset += envelope_size;
5033 _next_ordinal_to_read += 1;
5034 if next_offset >= end_offset {
5035 return Ok(());
5036 }
5037
5038 while _next_ordinal_to_read < 2 {
5040 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5041 _next_ordinal_to_read += 1;
5042 next_offset += envelope_size;
5043 }
5044
5045 let next_out_of_line = decoder.next_out_of_line();
5046 let handles_before = decoder.remaining_handles();
5047 if let Some((inlined, num_bytes, num_handles)) =
5048 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5049 {
5050 let member_inline_size =
5051 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5052 if inlined != (member_inline_size <= 4) {
5053 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5054 }
5055 let inner_offset;
5056 let mut inner_depth = depth.clone();
5057 if inlined {
5058 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5059 inner_offset = next_offset;
5060 } else {
5061 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5062 inner_depth.increment()?;
5063 }
5064 let val_ref = self.key_idx.get_or_insert_with(|| fidl::new_empty!(i32, D));
5065 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
5066 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5067 {
5068 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5069 }
5070 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5071 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5072 }
5073 }
5074
5075 next_offset += envelope_size;
5076
5077 while next_offset < end_offset {
5079 _next_ordinal_to_read += 1;
5080 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5081 next_offset += envelope_size;
5082 }
5083
5084 Ok(())
5085 }
5086 }
5087
5088 impl SupplicantStaNetworkSetWepTxKeyIdxRequest {
5089 #[inline(always)]
5090 fn max_ordinal_present(&self) -> u64 {
5091 if let Some(_) = self.key_idx {
5092 return 1;
5093 }
5094 0
5095 }
5096 }
5097
5098 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetWepTxKeyIdxRequest {
5099 type Borrowed<'a> = &'a Self;
5100 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5101 value
5102 }
5103 }
5104
5105 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetWepTxKeyIdxRequest {
5106 type Owned = Self;
5107
5108 #[inline(always)]
5109 fn inline_align(_context: fidl::encoding::Context) -> usize {
5110 8
5111 }
5112
5113 #[inline(always)]
5114 fn inline_size(_context: fidl::encoding::Context) -> usize {
5115 16
5116 }
5117 }
5118
5119 unsafe impl<D: fidl::encoding::ResourceDialect>
5120 fidl::encoding::Encode<SupplicantStaNetworkSetWepTxKeyIdxRequest, D>
5121 for &SupplicantStaNetworkSetWepTxKeyIdxRequest
5122 {
5123 unsafe fn encode(
5124 self,
5125 encoder: &mut fidl::encoding::Encoder<'_, D>,
5126 offset: usize,
5127 mut depth: fidl::encoding::Depth,
5128 ) -> fidl::Result<()> {
5129 encoder.debug_check_bounds::<SupplicantStaNetworkSetWepTxKeyIdxRequest>(offset);
5130 let max_ordinal: u64 = self.max_ordinal_present();
5132 encoder.write_num(max_ordinal, offset);
5133 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5134 if max_ordinal == 0 {
5136 return Ok(());
5137 }
5138 depth.increment()?;
5139 let envelope_size = 8;
5140 let bytes_len = max_ordinal as usize * envelope_size;
5141 #[allow(unused_variables)]
5142 let offset = encoder.out_of_line_offset(bytes_len);
5143 let mut _prev_end_offset: usize = 0;
5144 if 1 > max_ordinal {
5145 return Ok(());
5146 }
5147
5148 let cur_offset: usize = (1 - 1) * envelope_size;
5151
5152 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5154
5155 fidl::encoding::encode_in_envelope_optional::<i32, D>(
5160 self.key_idx.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
5161 encoder,
5162 offset + cur_offset,
5163 depth,
5164 )?;
5165
5166 _prev_end_offset = cur_offset + envelope_size;
5167
5168 Ok(())
5169 }
5170 }
5171
5172 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5173 for SupplicantStaNetworkSetWepTxKeyIdxRequest
5174 {
5175 #[inline(always)]
5176 fn new_empty() -> Self {
5177 Self::default()
5178 }
5179
5180 unsafe fn decode(
5181 &mut self,
5182 decoder: &mut fidl::encoding::Decoder<'_, D>,
5183 offset: usize,
5184 mut depth: fidl::encoding::Depth,
5185 ) -> fidl::Result<()> {
5186 decoder.debug_check_bounds::<Self>(offset);
5187 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5188 None => return Err(fidl::Error::NotNullable),
5189 Some(len) => len,
5190 };
5191 if len == 0 {
5193 return Ok(());
5194 };
5195 depth.increment()?;
5196 let envelope_size = 8;
5197 let bytes_len = len * envelope_size;
5198 let offset = decoder.out_of_line_offset(bytes_len)?;
5199 let mut _next_ordinal_to_read = 0;
5201 let mut next_offset = offset;
5202 let end_offset = offset + bytes_len;
5203 _next_ordinal_to_read += 1;
5204 if next_offset >= end_offset {
5205 return Ok(());
5206 }
5207
5208 while _next_ordinal_to_read < 1 {
5210 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5211 _next_ordinal_to_read += 1;
5212 next_offset += envelope_size;
5213 }
5214
5215 let next_out_of_line = decoder.next_out_of_line();
5216 let handles_before = decoder.remaining_handles();
5217 if let Some((inlined, num_bytes, num_handles)) =
5218 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5219 {
5220 let member_inline_size =
5221 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5222 if inlined != (member_inline_size <= 4) {
5223 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5224 }
5225 let inner_offset;
5226 let mut inner_depth = depth.clone();
5227 if inlined {
5228 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5229 inner_offset = next_offset;
5230 } else {
5231 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5232 inner_depth.increment()?;
5233 }
5234 let val_ref = self.key_idx.get_or_insert_with(|| fidl::new_empty!(i32, D));
5235 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
5236 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5237 {
5238 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5239 }
5240 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5241 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5242 }
5243 }
5244
5245 next_offset += envelope_size;
5246
5247 while next_offset < end_offset {
5249 _next_ordinal_to_read += 1;
5250 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5251 next_offset += envelope_size;
5252 }
5253
5254 Ok(())
5255 }
5256 }
5257
5258 impl WifiChipGetAvailableModesResponse {
5259 #[inline(always)]
5260 fn max_ordinal_present(&self) -> u64 {
5261 if let Some(_) = self.chip_modes {
5262 return 1;
5263 }
5264 0
5265 }
5266 }
5267
5268 impl fidl::encoding::ValueTypeMarker for WifiChipGetAvailableModesResponse {
5269 type Borrowed<'a> = &'a Self;
5270 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5271 value
5272 }
5273 }
5274
5275 unsafe impl fidl::encoding::TypeMarker for WifiChipGetAvailableModesResponse {
5276 type Owned = Self;
5277
5278 #[inline(always)]
5279 fn inline_align(_context: fidl::encoding::Context) -> usize {
5280 8
5281 }
5282
5283 #[inline(always)]
5284 fn inline_size(_context: fidl::encoding::Context) -> usize {
5285 16
5286 }
5287 }
5288
5289 unsafe impl<D: fidl::encoding::ResourceDialect>
5290 fidl::encoding::Encode<WifiChipGetAvailableModesResponse, D>
5291 for &WifiChipGetAvailableModesResponse
5292 {
5293 unsafe fn encode(
5294 self,
5295 encoder: &mut fidl::encoding::Encoder<'_, D>,
5296 offset: usize,
5297 mut depth: fidl::encoding::Depth,
5298 ) -> fidl::Result<()> {
5299 encoder.debug_check_bounds::<WifiChipGetAvailableModesResponse>(offset);
5300 let max_ordinal: u64 = self.max_ordinal_present();
5302 encoder.write_num(max_ordinal, offset);
5303 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5304 if max_ordinal == 0 {
5306 return Ok(());
5307 }
5308 depth.increment()?;
5309 let envelope_size = 8;
5310 let bytes_len = max_ordinal as usize * envelope_size;
5311 #[allow(unused_variables)]
5312 let offset = encoder.out_of_line_offset(bytes_len);
5313 let mut _prev_end_offset: usize = 0;
5314 if 1 > max_ordinal {
5315 return Ok(());
5316 }
5317
5318 let cur_offset: usize = (1 - 1) * envelope_size;
5321
5322 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5324
5325 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipMode>, D>(
5330 self.chip_modes.as_ref().map(<fidl::encoding::UnboundedVector<ChipMode> as fidl::encoding::ValueTypeMarker>::borrow),
5331 encoder, offset + cur_offset, depth
5332 )?;
5333
5334 _prev_end_offset = cur_offset + envelope_size;
5335
5336 Ok(())
5337 }
5338 }
5339
5340 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5341 for WifiChipGetAvailableModesResponse
5342 {
5343 #[inline(always)]
5344 fn new_empty() -> Self {
5345 Self::default()
5346 }
5347
5348 unsafe fn decode(
5349 &mut self,
5350 decoder: &mut fidl::encoding::Decoder<'_, D>,
5351 offset: usize,
5352 mut depth: fidl::encoding::Depth,
5353 ) -> fidl::Result<()> {
5354 decoder.debug_check_bounds::<Self>(offset);
5355 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5356 None => return Err(fidl::Error::NotNullable),
5357 Some(len) => len,
5358 };
5359 if len == 0 {
5361 return Ok(());
5362 };
5363 depth.increment()?;
5364 let envelope_size = 8;
5365 let bytes_len = len * envelope_size;
5366 let offset = decoder.out_of_line_offset(bytes_len)?;
5367 let mut _next_ordinal_to_read = 0;
5369 let mut next_offset = offset;
5370 let end_offset = offset + bytes_len;
5371 _next_ordinal_to_read += 1;
5372 if next_offset >= end_offset {
5373 return Ok(());
5374 }
5375
5376 while _next_ordinal_to_read < 1 {
5378 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5379 _next_ordinal_to_read += 1;
5380 next_offset += envelope_size;
5381 }
5382
5383 let next_out_of_line = decoder.next_out_of_line();
5384 let handles_before = decoder.remaining_handles();
5385 if let Some((inlined, num_bytes, num_handles)) =
5386 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5387 {
5388 let member_inline_size = <fidl::encoding::UnboundedVector<ChipMode> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5389 if inlined != (member_inline_size <= 4) {
5390 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5391 }
5392 let inner_offset;
5393 let mut inner_depth = depth.clone();
5394 if inlined {
5395 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5396 inner_offset = next_offset;
5397 } else {
5398 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5399 inner_depth.increment()?;
5400 }
5401 let val_ref = self.chip_modes.get_or_insert_with(|| {
5402 fidl::new_empty!(fidl::encoding::UnboundedVector<ChipMode>, D)
5403 });
5404 fidl::decode!(
5405 fidl::encoding::UnboundedVector<ChipMode>,
5406 D,
5407 val_ref,
5408 decoder,
5409 inner_offset,
5410 inner_depth
5411 )?;
5412 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5413 {
5414 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5415 }
5416 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5417 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5418 }
5419 }
5420
5421 next_offset += envelope_size;
5422
5423 while next_offset < end_offset {
5425 _next_ordinal_to_read += 1;
5426 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5427 next_offset += envelope_size;
5428 }
5429
5430 Ok(())
5431 }
5432 }
5433
5434 impl WifiChipGetCapabilitiesResponse {
5435 #[inline(always)]
5436 fn max_ordinal_present(&self) -> u64 {
5437 if let Some(_) = self.capabilities_mask {
5438 return 1;
5439 }
5440 0
5441 }
5442 }
5443
5444 impl fidl::encoding::ValueTypeMarker for WifiChipGetCapabilitiesResponse {
5445 type Borrowed<'a> = &'a Self;
5446 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5447 value
5448 }
5449 }
5450
5451 unsafe impl fidl::encoding::TypeMarker for WifiChipGetCapabilitiesResponse {
5452 type Owned = Self;
5453
5454 #[inline(always)]
5455 fn inline_align(_context: fidl::encoding::Context) -> usize {
5456 8
5457 }
5458
5459 #[inline(always)]
5460 fn inline_size(_context: fidl::encoding::Context) -> usize {
5461 16
5462 }
5463 }
5464
5465 unsafe impl<D: fidl::encoding::ResourceDialect>
5466 fidl::encoding::Encode<WifiChipGetCapabilitiesResponse, D>
5467 for &WifiChipGetCapabilitiesResponse
5468 {
5469 unsafe fn encode(
5470 self,
5471 encoder: &mut fidl::encoding::Encoder<'_, D>,
5472 offset: usize,
5473 mut depth: fidl::encoding::Depth,
5474 ) -> fidl::Result<()> {
5475 encoder.debug_check_bounds::<WifiChipGetCapabilitiesResponse>(offset);
5476 let max_ordinal: u64 = self.max_ordinal_present();
5478 encoder.write_num(max_ordinal, offset);
5479 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5480 if max_ordinal == 0 {
5482 return Ok(());
5483 }
5484 depth.increment()?;
5485 let envelope_size = 8;
5486 let bytes_len = max_ordinal as usize * envelope_size;
5487 #[allow(unused_variables)]
5488 let offset = encoder.out_of_line_offset(bytes_len);
5489 let mut _prev_end_offset: usize = 0;
5490 if 1 > max_ordinal {
5491 return Ok(());
5492 }
5493
5494 let cur_offset: usize = (1 - 1) * envelope_size;
5497
5498 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5500
5501 fidl::encoding::encode_in_envelope_optional::<u32, D>(
5506 self.capabilities_mask
5507 .as_ref()
5508 .map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
5509 encoder,
5510 offset + cur_offset,
5511 depth,
5512 )?;
5513
5514 _prev_end_offset = cur_offset + envelope_size;
5515
5516 Ok(())
5517 }
5518 }
5519
5520 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5521 for WifiChipGetCapabilitiesResponse
5522 {
5523 #[inline(always)]
5524 fn new_empty() -> Self {
5525 Self::default()
5526 }
5527
5528 unsafe fn decode(
5529 &mut self,
5530 decoder: &mut fidl::encoding::Decoder<'_, D>,
5531 offset: usize,
5532 mut depth: fidl::encoding::Depth,
5533 ) -> fidl::Result<()> {
5534 decoder.debug_check_bounds::<Self>(offset);
5535 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5536 None => return Err(fidl::Error::NotNullable),
5537 Some(len) => len,
5538 };
5539 if len == 0 {
5541 return Ok(());
5542 };
5543 depth.increment()?;
5544 let envelope_size = 8;
5545 let bytes_len = len * envelope_size;
5546 let offset = decoder.out_of_line_offset(bytes_len)?;
5547 let mut _next_ordinal_to_read = 0;
5549 let mut next_offset = offset;
5550 let end_offset = offset + bytes_len;
5551 _next_ordinal_to_read += 1;
5552 if next_offset >= end_offset {
5553 return Ok(());
5554 }
5555
5556 while _next_ordinal_to_read < 1 {
5558 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5559 _next_ordinal_to_read += 1;
5560 next_offset += envelope_size;
5561 }
5562
5563 let next_out_of_line = decoder.next_out_of_line();
5564 let handles_before = decoder.remaining_handles();
5565 if let Some((inlined, num_bytes, num_handles)) =
5566 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5567 {
5568 let member_inline_size =
5569 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5570 if inlined != (member_inline_size <= 4) {
5571 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5572 }
5573 let inner_offset;
5574 let mut inner_depth = depth.clone();
5575 if inlined {
5576 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5577 inner_offset = next_offset;
5578 } else {
5579 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5580 inner_depth.increment()?;
5581 }
5582 let val_ref =
5583 self.capabilities_mask.get_or_insert_with(|| fidl::new_empty!(u32, D));
5584 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
5585 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5586 {
5587 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5588 }
5589 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5590 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5591 }
5592 }
5593
5594 next_offset += envelope_size;
5595
5596 while next_offset < end_offset {
5598 _next_ordinal_to_read += 1;
5599 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5600 next_offset += envelope_size;
5601 }
5602
5603 Ok(())
5604 }
5605 }
5606
5607 impl WifiChipGetIdResponse {
5608 #[inline(always)]
5609 fn max_ordinal_present(&self) -> u64 {
5610 if let Some(_) = self.id {
5611 return 1;
5612 }
5613 0
5614 }
5615 }
5616
5617 impl fidl::encoding::ValueTypeMarker for WifiChipGetIdResponse {
5618 type Borrowed<'a> = &'a Self;
5619 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5620 value
5621 }
5622 }
5623
5624 unsafe impl fidl::encoding::TypeMarker for WifiChipGetIdResponse {
5625 type Owned = Self;
5626
5627 #[inline(always)]
5628 fn inline_align(_context: fidl::encoding::Context) -> usize {
5629 8
5630 }
5631
5632 #[inline(always)]
5633 fn inline_size(_context: fidl::encoding::Context) -> usize {
5634 16
5635 }
5636 }
5637
5638 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WifiChipGetIdResponse, D>
5639 for &WifiChipGetIdResponse
5640 {
5641 unsafe fn encode(
5642 self,
5643 encoder: &mut fidl::encoding::Encoder<'_, D>,
5644 offset: usize,
5645 mut depth: fidl::encoding::Depth,
5646 ) -> fidl::Result<()> {
5647 encoder.debug_check_bounds::<WifiChipGetIdResponse>(offset);
5648 let max_ordinal: u64 = self.max_ordinal_present();
5650 encoder.write_num(max_ordinal, offset);
5651 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5652 if max_ordinal == 0 {
5654 return Ok(());
5655 }
5656 depth.increment()?;
5657 let envelope_size = 8;
5658 let bytes_len = max_ordinal as usize * envelope_size;
5659 #[allow(unused_variables)]
5660 let offset = encoder.out_of_line_offset(bytes_len);
5661 let mut _prev_end_offset: usize = 0;
5662 if 1 > max_ordinal {
5663 return Ok(());
5664 }
5665
5666 let cur_offset: usize = (1 - 1) * envelope_size;
5669
5670 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5672
5673 fidl::encoding::encode_in_envelope_optional::<u32, D>(
5678 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
5679 encoder,
5680 offset + cur_offset,
5681 depth,
5682 )?;
5683
5684 _prev_end_offset = cur_offset + envelope_size;
5685
5686 Ok(())
5687 }
5688 }
5689
5690 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiChipGetIdResponse {
5691 #[inline(always)]
5692 fn new_empty() -> Self {
5693 Self::default()
5694 }
5695
5696 unsafe fn decode(
5697 &mut self,
5698 decoder: &mut fidl::encoding::Decoder<'_, D>,
5699 offset: usize,
5700 mut depth: fidl::encoding::Depth,
5701 ) -> fidl::Result<()> {
5702 decoder.debug_check_bounds::<Self>(offset);
5703 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5704 None => return Err(fidl::Error::NotNullable),
5705 Some(len) => len,
5706 };
5707 if len == 0 {
5709 return Ok(());
5710 };
5711 depth.increment()?;
5712 let envelope_size = 8;
5713 let bytes_len = len * envelope_size;
5714 let offset = decoder.out_of_line_offset(bytes_len)?;
5715 let mut _next_ordinal_to_read = 0;
5717 let mut next_offset = offset;
5718 let end_offset = offset + bytes_len;
5719 _next_ordinal_to_read += 1;
5720 if next_offset >= end_offset {
5721 return Ok(());
5722 }
5723
5724 while _next_ordinal_to_read < 1 {
5726 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5727 _next_ordinal_to_read += 1;
5728 next_offset += envelope_size;
5729 }
5730
5731 let next_out_of_line = decoder.next_out_of_line();
5732 let handles_before = decoder.remaining_handles();
5733 if let Some((inlined, num_bytes, num_handles)) =
5734 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5735 {
5736 let member_inline_size =
5737 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5738 if inlined != (member_inline_size <= 4) {
5739 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5740 }
5741 let inner_offset;
5742 let mut inner_depth = depth.clone();
5743 if inlined {
5744 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5745 inner_offset = next_offset;
5746 } else {
5747 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5748 inner_depth.increment()?;
5749 }
5750 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
5751 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
5752 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5753 {
5754 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5755 }
5756 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5757 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5758 }
5759 }
5760
5761 next_offset += envelope_size;
5762
5763 while next_offset < end_offset {
5765 _next_ordinal_to_read += 1;
5766 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5767 next_offset += envelope_size;
5768 }
5769
5770 Ok(())
5771 }
5772 }
5773
5774 impl WifiChipGetModeResponse {
5775 #[inline(always)]
5776 fn max_ordinal_present(&self) -> u64 {
5777 if let Some(_) = self.mode {
5778 return 1;
5779 }
5780 0
5781 }
5782 }
5783
5784 impl fidl::encoding::ValueTypeMarker for WifiChipGetModeResponse {
5785 type Borrowed<'a> = &'a Self;
5786 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5787 value
5788 }
5789 }
5790
5791 unsafe impl fidl::encoding::TypeMarker for WifiChipGetModeResponse {
5792 type Owned = Self;
5793
5794 #[inline(always)]
5795 fn inline_align(_context: fidl::encoding::Context) -> usize {
5796 8
5797 }
5798
5799 #[inline(always)]
5800 fn inline_size(_context: fidl::encoding::Context) -> usize {
5801 16
5802 }
5803 }
5804
5805 unsafe impl<D: fidl::encoding::ResourceDialect>
5806 fidl::encoding::Encode<WifiChipGetModeResponse, D> for &WifiChipGetModeResponse
5807 {
5808 unsafe fn encode(
5809 self,
5810 encoder: &mut fidl::encoding::Encoder<'_, D>,
5811 offset: usize,
5812 mut depth: fidl::encoding::Depth,
5813 ) -> fidl::Result<()> {
5814 encoder.debug_check_bounds::<WifiChipGetModeResponse>(offset);
5815 let max_ordinal: u64 = self.max_ordinal_present();
5817 encoder.write_num(max_ordinal, offset);
5818 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5819 if max_ordinal == 0 {
5821 return Ok(());
5822 }
5823 depth.increment()?;
5824 let envelope_size = 8;
5825 let bytes_len = max_ordinal as usize * envelope_size;
5826 #[allow(unused_variables)]
5827 let offset = encoder.out_of_line_offset(bytes_len);
5828 let mut _prev_end_offset: usize = 0;
5829 if 1 > max_ordinal {
5830 return Ok(());
5831 }
5832
5833 let cur_offset: usize = (1 - 1) * envelope_size;
5836
5837 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5839
5840 fidl::encoding::encode_in_envelope_optional::<u32, D>(
5845 self.mode.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
5846 encoder,
5847 offset + cur_offset,
5848 depth,
5849 )?;
5850
5851 _prev_end_offset = cur_offset + envelope_size;
5852
5853 Ok(())
5854 }
5855 }
5856
5857 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5858 for WifiChipGetModeResponse
5859 {
5860 #[inline(always)]
5861 fn new_empty() -> Self {
5862 Self::default()
5863 }
5864
5865 unsafe fn decode(
5866 &mut self,
5867 decoder: &mut fidl::encoding::Decoder<'_, D>,
5868 offset: usize,
5869 mut depth: fidl::encoding::Depth,
5870 ) -> fidl::Result<()> {
5871 decoder.debug_check_bounds::<Self>(offset);
5872 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5873 None => return Err(fidl::Error::NotNullable),
5874 Some(len) => len,
5875 };
5876 if len == 0 {
5878 return Ok(());
5879 };
5880 depth.increment()?;
5881 let envelope_size = 8;
5882 let bytes_len = len * envelope_size;
5883 let offset = decoder.out_of_line_offset(bytes_len)?;
5884 let mut _next_ordinal_to_read = 0;
5886 let mut next_offset = offset;
5887 let end_offset = offset + bytes_len;
5888 _next_ordinal_to_read += 1;
5889 if next_offset >= end_offset {
5890 return Ok(());
5891 }
5892
5893 while _next_ordinal_to_read < 1 {
5895 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5896 _next_ordinal_to_read += 1;
5897 next_offset += envelope_size;
5898 }
5899
5900 let next_out_of_line = decoder.next_out_of_line();
5901 let handles_before = decoder.remaining_handles();
5902 if let Some((inlined, num_bytes, num_handles)) =
5903 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5904 {
5905 let member_inline_size =
5906 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5907 if inlined != (member_inline_size <= 4) {
5908 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5909 }
5910 let inner_offset;
5911 let mut inner_depth = depth.clone();
5912 if inlined {
5913 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5914 inner_offset = next_offset;
5915 } else {
5916 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5917 inner_depth.increment()?;
5918 }
5919 let val_ref = self.mode.get_or_insert_with(|| fidl::new_empty!(u32, D));
5920 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
5921 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5922 {
5923 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5924 }
5925 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5926 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5927 }
5928 }
5929
5930 next_offset += envelope_size;
5931
5932 while next_offset < end_offset {
5934 _next_ordinal_to_read += 1;
5935 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5936 next_offset += envelope_size;
5937 }
5938
5939 Ok(())
5940 }
5941 }
5942
5943 impl WifiChipGetStaIfaceNamesResponse {
5944 #[inline(always)]
5945 fn max_ordinal_present(&self) -> u64 {
5946 if let Some(_) = self.iface_names {
5947 return 1;
5948 }
5949 0
5950 }
5951 }
5952
5953 impl fidl::encoding::ValueTypeMarker for WifiChipGetStaIfaceNamesResponse {
5954 type Borrowed<'a> = &'a Self;
5955 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5956 value
5957 }
5958 }
5959
5960 unsafe impl fidl::encoding::TypeMarker for WifiChipGetStaIfaceNamesResponse {
5961 type Owned = Self;
5962
5963 #[inline(always)]
5964 fn inline_align(_context: fidl::encoding::Context) -> usize {
5965 8
5966 }
5967
5968 #[inline(always)]
5969 fn inline_size(_context: fidl::encoding::Context) -> usize {
5970 16
5971 }
5972 }
5973
5974 unsafe impl<D: fidl::encoding::ResourceDialect>
5975 fidl::encoding::Encode<WifiChipGetStaIfaceNamesResponse, D>
5976 for &WifiChipGetStaIfaceNamesResponse
5977 {
5978 unsafe fn encode(
5979 self,
5980 encoder: &mut fidl::encoding::Encoder<'_, D>,
5981 offset: usize,
5982 mut depth: fidl::encoding::Depth,
5983 ) -> fidl::Result<()> {
5984 encoder.debug_check_bounds::<WifiChipGetStaIfaceNamesResponse>(offset);
5985 let max_ordinal: u64 = self.max_ordinal_present();
5987 encoder.write_num(max_ordinal, offset);
5988 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5989 if max_ordinal == 0 {
5991 return Ok(());
5992 }
5993 depth.increment()?;
5994 let envelope_size = 8;
5995 let bytes_len = max_ordinal as usize * envelope_size;
5996 #[allow(unused_variables)]
5997 let offset = encoder.out_of_line_offset(bytes_len);
5998 let mut _prev_end_offset: usize = 0;
5999 if 1 > max_ordinal {
6000 return Ok(());
6001 }
6002
6003 let cur_offset: usize = (1 - 1) * envelope_size;
6006
6007 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6009
6010 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>, D>(
6015 self.iface_names.as_ref().map(<fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>> as fidl::encoding::ValueTypeMarker>::borrow),
6016 encoder, offset + cur_offset, depth
6017 )?;
6018
6019 _prev_end_offset = cur_offset + envelope_size;
6020
6021 Ok(())
6022 }
6023 }
6024
6025 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6026 for WifiChipGetStaIfaceNamesResponse
6027 {
6028 #[inline(always)]
6029 fn new_empty() -> Self {
6030 Self::default()
6031 }
6032
6033 unsafe fn decode(
6034 &mut self,
6035 decoder: &mut fidl::encoding::Decoder<'_, D>,
6036 offset: usize,
6037 mut depth: fidl::encoding::Depth,
6038 ) -> fidl::Result<()> {
6039 decoder.debug_check_bounds::<Self>(offset);
6040 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6041 None => return Err(fidl::Error::NotNullable),
6042 Some(len) => len,
6043 };
6044 if len == 0 {
6046 return Ok(());
6047 };
6048 depth.increment()?;
6049 let envelope_size = 8;
6050 let bytes_len = len * envelope_size;
6051 let offset = decoder.out_of_line_offset(bytes_len)?;
6052 let mut _next_ordinal_to_read = 0;
6054 let mut next_offset = offset;
6055 let end_offset = offset + bytes_len;
6056 _next_ordinal_to_read += 1;
6057 if next_offset >= end_offset {
6058 return Ok(());
6059 }
6060
6061 while _next_ordinal_to_read < 1 {
6063 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6064 _next_ordinal_to_read += 1;
6065 next_offset += envelope_size;
6066 }
6067
6068 let next_out_of_line = decoder.next_out_of_line();
6069 let handles_before = decoder.remaining_handles();
6070 if let Some((inlined, num_bytes, num_handles)) =
6071 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6072 {
6073 let member_inline_size = <fidl::encoding::UnboundedVector<
6074 fidl::encoding::BoundedString<16>,
6075 > as fidl::encoding::TypeMarker>::inline_size(
6076 decoder.context
6077 );
6078 if inlined != (member_inline_size <= 4) {
6079 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6080 }
6081 let inner_offset;
6082 let mut inner_depth = depth.clone();
6083 if inlined {
6084 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6085 inner_offset = next_offset;
6086 } else {
6087 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6088 inner_depth.increment()?;
6089 }
6090 let val_ref = self.iface_names.get_or_insert_with(|| {
6091 fidl::new_empty!(
6092 fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>,
6093 D
6094 )
6095 });
6096 fidl::decode!(
6097 fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>,
6098 D,
6099 val_ref,
6100 decoder,
6101 inner_offset,
6102 inner_depth
6103 )?;
6104 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6105 {
6106 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6107 }
6108 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6109 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6110 }
6111 }
6112
6113 next_offset += envelope_size;
6114
6115 while next_offset < end_offset {
6117 _next_ordinal_to_read += 1;
6118 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6119 next_offset += envelope_size;
6120 }
6121
6122 Ok(())
6123 }
6124 }
6125
6126 impl WifiStaIfaceGetNameResponse {
6127 #[inline(always)]
6128 fn max_ordinal_present(&self) -> u64 {
6129 if let Some(_) = self.iface_name {
6130 return 1;
6131 }
6132 0
6133 }
6134 }
6135
6136 impl fidl::encoding::ValueTypeMarker for WifiStaIfaceGetNameResponse {
6137 type Borrowed<'a> = &'a Self;
6138 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6139 value
6140 }
6141 }
6142
6143 unsafe impl fidl::encoding::TypeMarker for WifiStaIfaceGetNameResponse {
6144 type Owned = Self;
6145
6146 #[inline(always)]
6147 fn inline_align(_context: fidl::encoding::Context) -> usize {
6148 8
6149 }
6150
6151 #[inline(always)]
6152 fn inline_size(_context: fidl::encoding::Context) -> usize {
6153 16
6154 }
6155 }
6156
6157 unsafe impl<D: fidl::encoding::ResourceDialect>
6158 fidl::encoding::Encode<WifiStaIfaceGetNameResponse, D> for &WifiStaIfaceGetNameResponse
6159 {
6160 unsafe fn encode(
6161 self,
6162 encoder: &mut fidl::encoding::Encoder<'_, D>,
6163 offset: usize,
6164 mut depth: fidl::encoding::Depth,
6165 ) -> fidl::Result<()> {
6166 encoder.debug_check_bounds::<WifiStaIfaceGetNameResponse>(offset);
6167 let max_ordinal: u64 = self.max_ordinal_present();
6169 encoder.write_num(max_ordinal, offset);
6170 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6171 if max_ordinal == 0 {
6173 return Ok(());
6174 }
6175 depth.increment()?;
6176 let envelope_size = 8;
6177 let bytes_len = max_ordinal as usize * envelope_size;
6178 #[allow(unused_variables)]
6179 let offset = encoder.out_of_line_offset(bytes_len);
6180 let mut _prev_end_offset: usize = 0;
6181 if 1 > max_ordinal {
6182 return Ok(());
6183 }
6184
6185 let cur_offset: usize = (1 - 1) * envelope_size;
6188
6189 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6191
6192 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<16>, D>(
6197 self.iface_name.as_ref().map(
6198 <fidl::encoding::BoundedString<16> as fidl::encoding::ValueTypeMarker>::borrow,
6199 ),
6200 encoder,
6201 offset + cur_offset,
6202 depth,
6203 )?;
6204
6205 _prev_end_offset = cur_offset + envelope_size;
6206
6207 Ok(())
6208 }
6209 }
6210
6211 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6212 for WifiStaIfaceGetNameResponse
6213 {
6214 #[inline(always)]
6215 fn new_empty() -> Self {
6216 Self::default()
6217 }
6218
6219 unsafe fn decode(
6220 &mut self,
6221 decoder: &mut fidl::encoding::Decoder<'_, D>,
6222 offset: usize,
6223 mut depth: fidl::encoding::Depth,
6224 ) -> fidl::Result<()> {
6225 decoder.debug_check_bounds::<Self>(offset);
6226 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6227 None => return Err(fidl::Error::NotNullable),
6228 Some(len) => len,
6229 };
6230 if len == 0 {
6232 return Ok(());
6233 };
6234 depth.increment()?;
6235 let envelope_size = 8;
6236 let bytes_len = len * envelope_size;
6237 let offset = decoder.out_of_line_offset(bytes_len)?;
6238 let mut _next_ordinal_to_read = 0;
6240 let mut next_offset = offset;
6241 let end_offset = offset + bytes_len;
6242 _next_ordinal_to_read += 1;
6243 if next_offset >= end_offset {
6244 return Ok(());
6245 }
6246
6247 while _next_ordinal_to_read < 1 {
6249 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6250 _next_ordinal_to_read += 1;
6251 next_offset += envelope_size;
6252 }
6253
6254 let next_out_of_line = decoder.next_out_of_line();
6255 let handles_before = decoder.remaining_handles();
6256 if let Some((inlined, num_bytes, num_handles)) =
6257 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6258 {
6259 let member_inline_size =
6260 <fidl::encoding::BoundedString<16> as fidl::encoding::TypeMarker>::inline_size(
6261 decoder.context,
6262 );
6263 if inlined != (member_inline_size <= 4) {
6264 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6265 }
6266 let inner_offset;
6267 let mut inner_depth = depth.clone();
6268 if inlined {
6269 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6270 inner_offset = next_offset;
6271 } else {
6272 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6273 inner_depth.increment()?;
6274 }
6275 let val_ref = self
6276 .iface_name
6277 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<16>, D));
6278 fidl::decode!(
6279 fidl::encoding::BoundedString<16>,
6280 D,
6281 val_ref,
6282 decoder,
6283 inner_offset,
6284 inner_depth
6285 )?;
6286 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6287 {
6288 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6289 }
6290 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6291 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6292 }
6293 }
6294
6295 next_offset += envelope_size;
6296
6297 while next_offset < end_offset {
6299 _next_ordinal_to_read += 1;
6300 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6301 next_offset += envelope_size;
6302 }
6303
6304 Ok(())
6305 }
6306 }
6307
6308 impl WifiGetChipIdsResponse {
6309 #[inline(always)]
6310 fn max_ordinal_present(&self) -> u64 {
6311 if let Some(_) = self.chip_ids {
6312 return 1;
6313 }
6314 0
6315 }
6316 }
6317
6318 impl fidl::encoding::ValueTypeMarker for WifiGetChipIdsResponse {
6319 type Borrowed<'a> = &'a Self;
6320 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6321 value
6322 }
6323 }
6324
6325 unsafe impl fidl::encoding::TypeMarker for WifiGetChipIdsResponse {
6326 type Owned = Self;
6327
6328 #[inline(always)]
6329 fn inline_align(_context: fidl::encoding::Context) -> usize {
6330 8
6331 }
6332
6333 #[inline(always)]
6334 fn inline_size(_context: fidl::encoding::Context) -> usize {
6335 16
6336 }
6337 }
6338
6339 unsafe impl<D: fidl::encoding::ResourceDialect>
6340 fidl::encoding::Encode<WifiGetChipIdsResponse, D> for &WifiGetChipIdsResponse
6341 {
6342 unsafe fn encode(
6343 self,
6344 encoder: &mut fidl::encoding::Encoder<'_, D>,
6345 offset: usize,
6346 mut depth: fidl::encoding::Depth,
6347 ) -> fidl::Result<()> {
6348 encoder.debug_check_bounds::<WifiGetChipIdsResponse>(offset);
6349 let max_ordinal: u64 = self.max_ordinal_present();
6351 encoder.write_num(max_ordinal, offset);
6352 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6353 if max_ordinal == 0 {
6355 return Ok(());
6356 }
6357 depth.increment()?;
6358 let envelope_size = 8;
6359 let bytes_len = max_ordinal as usize * envelope_size;
6360 #[allow(unused_variables)]
6361 let offset = encoder.out_of_line_offset(bytes_len);
6362 let mut _prev_end_offset: usize = 0;
6363 if 1 > max_ordinal {
6364 return Ok(());
6365 }
6366
6367 let cur_offset: usize = (1 - 1) * envelope_size;
6370
6371 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6373
6374 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u32>, D>(
6379 self.chip_ids.as_ref().map(<fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow),
6380 encoder, offset + cur_offset, depth
6381 )?;
6382
6383 _prev_end_offset = cur_offset + envelope_size;
6384
6385 Ok(())
6386 }
6387 }
6388
6389 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6390 for WifiGetChipIdsResponse
6391 {
6392 #[inline(always)]
6393 fn new_empty() -> Self {
6394 Self::default()
6395 }
6396
6397 unsafe fn decode(
6398 &mut self,
6399 decoder: &mut fidl::encoding::Decoder<'_, D>,
6400 offset: usize,
6401 mut depth: fidl::encoding::Depth,
6402 ) -> fidl::Result<()> {
6403 decoder.debug_check_bounds::<Self>(offset);
6404 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6405 None => return Err(fidl::Error::NotNullable),
6406 Some(len) => len,
6407 };
6408 if len == 0 {
6410 return Ok(());
6411 };
6412 depth.increment()?;
6413 let envelope_size = 8;
6414 let bytes_len = len * envelope_size;
6415 let offset = decoder.out_of_line_offset(bytes_len)?;
6416 let mut _next_ordinal_to_read = 0;
6418 let mut next_offset = offset;
6419 let end_offset = offset + bytes_len;
6420 _next_ordinal_to_read += 1;
6421 if next_offset >= end_offset {
6422 return Ok(());
6423 }
6424
6425 while _next_ordinal_to_read < 1 {
6427 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6428 _next_ordinal_to_read += 1;
6429 next_offset += envelope_size;
6430 }
6431
6432 let next_out_of_line = decoder.next_out_of_line();
6433 let handles_before = decoder.remaining_handles();
6434 if let Some((inlined, num_bytes, num_handles)) =
6435 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6436 {
6437 let member_inline_size = <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6438 if inlined != (member_inline_size <= 4) {
6439 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6440 }
6441 let inner_offset;
6442 let mut inner_depth = depth.clone();
6443 if inlined {
6444 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6445 inner_offset = next_offset;
6446 } else {
6447 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6448 inner_depth.increment()?;
6449 }
6450 let val_ref = self.chip_ids.get_or_insert_with(|| {
6451 fidl::new_empty!(fidl::encoding::UnboundedVector<u32>, D)
6452 });
6453 fidl::decode!(
6454 fidl::encoding::UnboundedVector<u32>,
6455 D,
6456 val_ref,
6457 decoder,
6458 inner_offset,
6459 inner_depth
6460 )?;
6461 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6462 {
6463 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6464 }
6465 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6466 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6467 }
6468 }
6469
6470 next_offset += envelope_size;
6471
6472 while next_offset < end_offset {
6474 _next_ordinal_to_read += 1;
6475 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6476 next_offset += envelope_size;
6477 }
6478
6479 Ok(())
6480 }
6481 }
6482
6483 impl WifiGetStateResponse {
6484 #[inline(always)]
6485 fn max_ordinal_present(&self) -> u64 {
6486 if let Some(_) = self.is_started {
6487 return 1;
6488 }
6489 0
6490 }
6491 }
6492
6493 impl fidl::encoding::ValueTypeMarker for WifiGetStateResponse {
6494 type Borrowed<'a> = &'a Self;
6495 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6496 value
6497 }
6498 }
6499
6500 unsafe impl fidl::encoding::TypeMarker for WifiGetStateResponse {
6501 type Owned = Self;
6502
6503 #[inline(always)]
6504 fn inline_align(_context: fidl::encoding::Context) -> usize {
6505 8
6506 }
6507
6508 #[inline(always)]
6509 fn inline_size(_context: fidl::encoding::Context) -> usize {
6510 16
6511 }
6512 }
6513
6514 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WifiGetStateResponse, D>
6515 for &WifiGetStateResponse
6516 {
6517 unsafe fn encode(
6518 self,
6519 encoder: &mut fidl::encoding::Encoder<'_, D>,
6520 offset: usize,
6521 mut depth: fidl::encoding::Depth,
6522 ) -> fidl::Result<()> {
6523 encoder.debug_check_bounds::<WifiGetStateResponse>(offset);
6524 let max_ordinal: u64 = self.max_ordinal_present();
6526 encoder.write_num(max_ordinal, offset);
6527 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6528 if max_ordinal == 0 {
6530 return Ok(());
6531 }
6532 depth.increment()?;
6533 let envelope_size = 8;
6534 let bytes_len = max_ordinal as usize * envelope_size;
6535 #[allow(unused_variables)]
6536 let offset = encoder.out_of_line_offset(bytes_len);
6537 let mut _prev_end_offset: usize = 0;
6538 if 1 > max_ordinal {
6539 return Ok(());
6540 }
6541
6542 let cur_offset: usize = (1 - 1) * envelope_size;
6545
6546 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6548
6549 fidl::encoding::encode_in_envelope_optional::<bool, D>(
6554 self.is_started.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
6555 encoder,
6556 offset + cur_offset,
6557 depth,
6558 )?;
6559
6560 _prev_end_offset = cur_offset + envelope_size;
6561
6562 Ok(())
6563 }
6564 }
6565
6566 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiGetStateResponse {
6567 #[inline(always)]
6568 fn new_empty() -> Self {
6569 Self::default()
6570 }
6571
6572 unsafe fn decode(
6573 &mut self,
6574 decoder: &mut fidl::encoding::Decoder<'_, D>,
6575 offset: usize,
6576 mut depth: fidl::encoding::Depth,
6577 ) -> fidl::Result<()> {
6578 decoder.debug_check_bounds::<Self>(offset);
6579 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6580 None => return Err(fidl::Error::NotNullable),
6581 Some(len) => len,
6582 };
6583 if len == 0 {
6585 return Ok(());
6586 };
6587 depth.increment()?;
6588 let envelope_size = 8;
6589 let bytes_len = len * envelope_size;
6590 let offset = decoder.out_of_line_offset(bytes_len)?;
6591 let mut _next_ordinal_to_read = 0;
6593 let mut next_offset = offset;
6594 let end_offset = offset + bytes_len;
6595 _next_ordinal_to_read += 1;
6596 if next_offset >= end_offset {
6597 return Ok(());
6598 }
6599
6600 while _next_ordinal_to_read < 1 {
6602 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6603 _next_ordinal_to_read += 1;
6604 next_offset += envelope_size;
6605 }
6606
6607 let next_out_of_line = decoder.next_out_of_line();
6608 let handles_before = decoder.remaining_handles();
6609 if let Some((inlined, num_bytes, num_handles)) =
6610 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6611 {
6612 let member_inline_size =
6613 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6614 if inlined != (member_inline_size <= 4) {
6615 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6616 }
6617 let inner_offset;
6618 let mut inner_depth = depth.clone();
6619 if inlined {
6620 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6621 inner_offset = next_offset;
6622 } else {
6623 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6624 inner_depth.increment()?;
6625 }
6626 let val_ref = self.is_started.get_or_insert_with(|| fidl::new_empty!(bool, D));
6627 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
6628 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6629 {
6630 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6631 }
6632 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6633 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6634 }
6635 }
6636
6637 next_offset += envelope_size;
6638
6639 while next_offset < end_offset {
6641 _next_ordinal_to_read += 1;
6642 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6643 next_offset += envelope_size;
6644 }
6645
6646 Ok(())
6647 }
6648 }
6649}