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