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 SupplicantStaIfaceGetSignalPollResultsResponse {
791 pub current_rssi_dbm: Option<i32>,
792 pub tx_bitrate_mbps: Option<u32>,
793 pub rx_bitrate_mbps: Option<u32>,
794 pub frequency_mhz: Option<u32>,
795 #[doc(hidden)]
796 pub __source_breaking: fidl::marker::SourceBreaking,
797}
798
799impl fidl::Persistable for SupplicantStaIfaceGetSignalPollResultsResponse {}
800
801#[derive(Clone, Debug, Default, PartialEq)]
802pub struct SupplicantStaNetworkSetBssidRequest {
803 pub bssid: Option<[u8; 6]>,
804 #[doc(hidden)]
805 pub __source_breaking: fidl::marker::SourceBreaking,
806}
807
808impl fidl::Persistable for SupplicantStaNetworkSetBssidRequest {}
809
810#[derive(Clone, Debug, Default, PartialEq)]
811pub struct SupplicantStaNetworkSetKeyMgmtRequest {
812 pub key_mgmt_mask: Option<KeyMgmtMask>,
813 #[doc(hidden)]
814 pub __source_breaking: fidl::marker::SourceBreaking,
815}
816
817impl fidl::Persistable for SupplicantStaNetworkSetKeyMgmtRequest {}
818
819#[derive(Clone, Debug, Default, PartialEq)]
820pub struct SupplicantStaNetworkSetPskPassphraseRequest {
821 pub passphrase: Option<Vec<u8>>,
822 #[doc(hidden)]
823 pub __source_breaking: fidl::marker::SourceBreaking,
824}
825
826impl fidl::Persistable for SupplicantStaNetworkSetPskPassphraseRequest {}
827
828#[derive(Clone, Debug, Default, PartialEq)]
829pub struct SupplicantStaNetworkSetSaePasswordRequest {
830 pub password: Option<Vec<u8>>,
831 #[doc(hidden)]
832 pub __source_breaking: fidl::marker::SourceBreaking,
833}
834
835impl fidl::Persistable for SupplicantStaNetworkSetSaePasswordRequest {}
836
837#[derive(Clone, Debug, Default, PartialEq)]
838pub struct SupplicantStaNetworkSetSsidRequest {
839 pub ssid: Option<Vec<u8>>,
840 #[doc(hidden)]
841 pub __source_breaking: fidl::marker::SourceBreaking,
842}
843
844impl fidl::Persistable for SupplicantStaNetworkSetSsidRequest {}
845
846#[derive(Clone, Debug, Default, PartialEq)]
847pub struct SupplicantStaNetworkSetWepKeyRequest {
848 pub key: Option<Vec<u8>>,
849 pub key_idx: Option<i32>,
850 #[doc(hidden)]
851 pub __source_breaking: fidl::marker::SourceBreaking,
852}
853
854impl fidl::Persistable for SupplicantStaNetworkSetWepKeyRequest {}
855
856#[derive(Clone, Debug, Default, PartialEq)]
857pub struct SupplicantStaNetworkSetWepTxKeyIdxRequest {
858 pub key_idx: Option<i32>,
859 #[doc(hidden)]
860 pub __source_breaking: fidl::marker::SourceBreaking,
861}
862
863impl fidl::Persistable for SupplicantStaNetworkSetWepTxKeyIdxRequest {}
864
865#[derive(Clone, Debug, Default, PartialEq)]
866pub struct WifiChipGetAvailableModesResponse {
867 pub chip_modes: Option<Vec<ChipMode>>,
868 #[doc(hidden)]
869 pub __source_breaking: fidl::marker::SourceBreaking,
870}
871
872impl fidl::Persistable for WifiChipGetAvailableModesResponse {}
873
874#[derive(Clone, Debug, Default, PartialEq)]
875pub struct WifiChipGetCapabilitiesResponse {
876 pub capabilities_mask: Option<u32>,
877 #[doc(hidden)]
878 pub __source_breaking: fidl::marker::SourceBreaking,
879}
880
881impl fidl::Persistable for WifiChipGetCapabilitiesResponse {}
882
883#[derive(Clone, Debug, Default, PartialEq)]
884pub struct WifiChipGetIdResponse {
885 pub id: Option<u32>,
886 #[doc(hidden)]
887 pub __source_breaking: fidl::marker::SourceBreaking,
888}
889
890impl fidl::Persistable for WifiChipGetIdResponse {}
891
892#[derive(Clone, Debug, Default, PartialEq)]
893pub struct WifiChipGetModeResponse {
894 pub mode: Option<u32>,
895 #[doc(hidden)]
896 pub __source_breaking: fidl::marker::SourceBreaking,
897}
898
899impl fidl::Persistable for WifiChipGetModeResponse {}
900
901#[derive(Clone, Debug, Default, PartialEq)]
902pub struct WifiChipGetStaIfaceNamesResponse {
903 pub iface_names: Option<Vec<String>>,
904 #[doc(hidden)]
905 pub __source_breaking: fidl::marker::SourceBreaking,
906}
907
908impl fidl::Persistable for WifiChipGetStaIfaceNamesResponse {}
909
910#[derive(Clone, Debug, Default, PartialEq)]
911pub struct WifiStaIfaceInstallApfPacketFilterRequest {
912 pub program: Option<Vec<u8>>,
913 #[doc(hidden)]
914 pub __source_breaking: fidl::marker::SourceBreaking,
915}
916
917impl fidl::Persistable for WifiStaIfaceInstallApfPacketFilterRequest {}
918
919#[derive(Clone, Debug, Default, PartialEq)]
920pub struct WifiStaIfaceGetApfPacketFilterSupportResponse {
921 pub version: Option<i32>,
922 pub max_filter_length: Option<i32>,
923 #[doc(hidden)]
924 pub __source_breaking: fidl::marker::SourceBreaking,
925}
926
927impl fidl::Persistable for WifiStaIfaceGetApfPacketFilterSupportResponse {}
928
929#[derive(Clone, Debug, Default, PartialEq)]
930pub struct WifiStaIfaceGetNameResponse {
931 pub iface_name: Option<String>,
932 #[doc(hidden)]
933 pub __source_breaking: fidl::marker::SourceBreaking,
934}
935
936impl fidl::Persistable for WifiStaIfaceGetNameResponse {}
937
938#[derive(Clone, Debug, Default, PartialEq)]
939pub struct WifiStaIfaceReadApfPacketFilterDataResponse {
940 pub memory: Option<Vec<u8>>,
941 #[doc(hidden)]
942 pub __source_breaking: fidl::marker::SourceBreaking,
943}
944
945impl fidl::Persistable for WifiStaIfaceReadApfPacketFilterDataResponse {}
946
947#[derive(Clone, Debug, Default, PartialEq)]
948pub struct WifiGetChipIdsResponse {
949 pub chip_ids: Option<Vec<u32>>,
950 #[doc(hidden)]
951 pub __source_breaking: fidl::marker::SourceBreaking,
952}
953
954impl fidl::Persistable for WifiGetChipIdsResponse {}
955
956#[derive(Clone, Debug, Default, PartialEq)]
957pub struct WifiGetStateResponse {
958 pub is_started: Option<bool>,
959 #[doc(hidden)]
960 pub __source_breaking: fidl::marker::SourceBreaking,
961}
962
963impl fidl::Persistable for WifiGetStateResponse {}
964
965#[derive(Clone, Debug)]
966pub enum Nl80211Message {
967 Done(Done),
968 Error(Error),
969 Ack(Ack),
970 Message(Message),
971 #[doc(hidden)]
972 __SourceBreaking {
973 unknown_ordinal: u64,
974 },
975}
976
977#[macro_export]
979macro_rules! Nl80211MessageUnknown {
980 () => {
981 _
982 };
983}
984
985impl PartialEq for Nl80211Message {
987 fn eq(&self, other: &Self) -> bool {
988 match (self, other) {
989 (Self::Done(x), Self::Done(y)) => *x == *y,
990 (Self::Error(x), Self::Error(y)) => *x == *y,
991 (Self::Ack(x), Self::Ack(y)) => *x == *y,
992 (Self::Message(x), Self::Message(y)) => *x == *y,
993 _ => false,
994 }
995 }
996}
997
998impl Nl80211Message {
999 #[inline]
1000 pub fn ordinal(&self) -> u64 {
1001 match *self {
1002 Self::Done(_) => 1,
1003 Self::Error(_) => 2,
1004 Self::Ack(_) => 3,
1005 Self::Message(_) => 4,
1006 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
1007 }
1008 }
1009
1010 #[inline]
1011 pub fn unknown_variant_for_testing() -> Self {
1012 Self::__SourceBreaking { unknown_ordinal: 0 }
1013 }
1014
1015 #[inline]
1016 pub fn is_unknown(&self) -> bool {
1017 match self {
1018 Self::__SourceBreaking { .. } => true,
1019 _ => false,
1020 }
1021 }
1022}
1023
1024impl fidl::Persistable for Nl80211Message {}
1025
1026pub mod nl80211_ordinals {
1027 pub const GET_MULTICAST: u64 = 0x58b73dd089681dc2;
1028 pub const MESSAGE: u64 = 0x6336259e15bb3795;
1029 pub const MESSAGE_V2: u64 = 0x4626796aba1e2987;
1030}
1031
1032pub mod nl80211_multicast_ordinals {
1033 pub const MESSAGE: u64 = 0x4cc9241f302f16c0;
1034}
1035
1036pub mod supplicant_ordinals {
1037 pub const ADD_STA_INTERFACE: u64 = 0x73194b2afe9b367e;
1038 pub const REMOVE_INTERFACE: u64 = 0x7f83e5b75b27d242;
1039}
1040
1041pub mod supplicant_sta_iface_ordinals {
1042 pub const REGISTER_CALLBACK: u64 = 0x1be680e863a8e71;
1043 pub const ADD_NETWORK: u64 = 0xa77cf60628766dc;
1044 pub const DISCONNECT: u64 = 0x52a1d38e0b4871fa;
1045 pub const GET_MAC_ADDRESS: u64 = 0x60591d204a3f537f;
1046 pub const GET_FACTORY_MAC_ADDRESS: u64 = 0x58857179ad71e624;
1047 pub const SET_BT_COEXISTENCE_MODE: u64 = 0x14567ff593a9b154;
1048 pub const SET_POWER_SAVE: u64 = 0x5a04c29320085298;
1049 pub const SET_SUSPEND_MODE_ENABLED: u64 = 0xaf10de85bb7023a;
1050 pub const SET_STA_COUNTRY_CODE: u64 = 0x977e22f9b79b26e;
1051 pub const GET_SIGNAL_POLL_RESULTS: u64 = 0x783512ea6925df61;
1052}
1053
1054pub mod supplicant_sta_iface_callback_ordinals {
1055 pub const ON_STATE_CHANGED: u64 = 0x27e086d26c49eb6c;
1056 pub const ON_DISCONNECTED: u64 = 0x69546475f4dee0cc;
1057 pub const ON_ASSOCIATION_REJECTED: u64 = 0x7ef3961518bed988;
1058}
1059
1060pub mod supplicant_sta_network_ordinals {
1061 pub const SET_BSSID: u64 = 0x10a91d044ee6374d;
1062 pub const CLEAR_BSSID: u64 = 0xbc7ad82f541b267;
1063 pub const SET_SSID: u64 = 0x6b598a7a802e3083;
1064 pub const SET_KEY_MGMT: u64 = 0xc67082685b75a5c;
1065 pub const SET_PSK_PASSPHRASE: u64 = 0xf6d438225979307;
1066 pub const SET_SAE_PASSWORD: u64 = 0x2982737e196747b8;
1067 pub const SET_WEP_KEY: u64 = 0x22a7e25ec81f2dee;
1068 pub const SET_WEP_TX_KEY_IDX: u64 = 0x4f25576c21fcb8cb;
1069 pub const SELECT: u64 = 0x354bc361a0c77b45;
1070}
1071
1072pub mod wifi_ordinals {
1073 pub const REGISTER_EVENT_CALLBACK: u64 = 0x12abbdea948dd67b;
1074 pub const START: u64 = 0x427030e4dc6ec07a;
1075 pub const STOP: u64 = 0x67c9bdf61b2888d;
1076 pub const GET_STATE: u64 = 0x4616114a937d1fb0;
1077 pub const GET_CHIP_IDS: u64 = 0x2fb4f92351d802b5;
1078 pub const GET_CHIP: u64 = 0xef95d8246612540;
1079}
1080
1081pub mod wifi_chip_ordinals {
1082 pub const CREATE_STA_IFACE: u64 = 0x6fb2d5892face7af;
1083 pub const GET_STA_IFACE_NAMES: u64 = 0x349257482df6a000;
1084 pub const GET_STA_IFACE: u64 = 0x6d9704eeb36f28a2;
1085 pub const REMOVE_STA_IFACE: u64 = 0x4cd8eee466f8b04c;
1086 pub const SET_COUNTRY_CODE: u64 = 0x1dfe372d1d61a490;
1087 pub const GET_AVAILABLE_MODES: u64 = 0x1701095b452a3acd;
1088 pub const GET_ID: u64 = 0x37d5197325bb3370;
1089 pub const GET_MODE: u64 = 0x4d209e0f3ac84d6f;
1090 pub const GET_CAPABILITIES: u64 = 0x1b253f396dcaa2e0;
1091 pub const TRIGGER_SUBSYSTEM_RESTART: u64 = 0x42ffcae5aad196f9;
1092 pub const SELECT_TX_POWER_SCENARIO: u64 = 0x19287ab52ea72281;
1093 pub const RESET_TX_POWER_SCENARIO: u64 = 0x46408a2fb1eb9d09;
1094}
1095
1096pub mod wifi_event_callback_ordinals {
1097 pub const ON_START: u64 = 0x61189ff44f9d35f3;
1098 pub const ON_STOP: u64 = 0x58b697bcd475e0f9;
1099 pub const ON_SUBSYSTEM_RESTART: u64 = 0x69dfee4d3475db21;
1100}
1101
1102pub mod wifi_legacy_hal_ordinals {
1103 pub const SELECT_TX_POWER_SCENARIO: u64 = 0x49f42620e0a3caf9;
1104 pub const RESET_TX_POWER_SCENARIO: u64 = 0x6c0f8e9203167d8e;
1105}
1106
1107pub mod wifi_sta_iface_ordinals {
1108 pub const GET_NAME: u64 = 0x5c150b91c80c5789;
1109 pub const SET_SCAN_ONLY_MODE: u64 = 0x22550328583bf0e3;
1110 pub const SET_MAC_ADDRESS: u64 = 0x39c4f355079421b9;
1111 pub const GET_APF_PACKET_FILTER_SUPPORT: u64 = 0x205c538d31d76c8c;
1112 pub const INSTALL_APF_PACKET_FILTER: u64 = 0x6306fbfdb65631ba;
1113 pub const READ_APF_PACKET_FILTER_DATA: u64 = 0x4f39e558ddbca39;
1114}
1115
1116pub mod wlanix_ordinals {
1117 pub const GET_WIFI: u64 = 0x142511f44b2c338c;
1118 pub const GET_SUPPLICANT: u64 = 0x55554b37c4021d3d;
1119 pub const GET_NL80211: u64 = 0x48028a25bd855ef9;
1120 pub const GET_WIFI_LEGACY_HAL: u64 = 0x7302d9bb3b8d1edc;
1121}
1122
1123mod internal {
1124 use super::*;
1125 unsafe impl fidl::encoding::TypeMarker for KeyMgmtMask {
1126 type Owned = Self;
1127
1128 #[inline(always)]
1129 fn inline_align(_context: fidl::encoding::Context) -> usize {
1130 4
1131 }
1132
1133 #[inline(always)]
1134 fn inline_size(_context: fidl::encoding::Context) -> usize {
1135 4
1136 }
1137 }
1138
1139 impl fidl::encoding::ValueTypeMarker for KeyMgmtMask {
1140 type Borrowed<'a> = Self;
1141 #[inline(always)]
1142 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1143 *value
1144 }
1145 }
1146
1147 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyMgmtMask {
1148 #[inline]
1149 unsafe fn encode(
1150 self,
1151 encoder: &mut fidl::encoding::Encoder<'_, D>,
1152 offset: usize,
1153 _depth: fidl::encoding::Depth,
1154 ) -> fidl::Result<()> {
1155 encoder.debug_check_bounds::<Self>(offset);
1156 encoder.write_num(self.bits(), offset);
1157 Ok(())
1158 }
1159 }
1160
1161 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyMgmtMask {
1162 #[inline(always)]
1163 fn new_empty() -> Self {
1164 Self::empty()
1165 }
1166
1167 #[inline]
1168 unsafe fn decode(
1169 &mut self,
1170 decoder: &mut fidl::encoding::Decoder<'_, D>,
1171 offset: usize,
1172 _depth: fidl::encoding::Depth,
1173 ) -> fidl::Result<()> {
1174 decoder.debug_check_bounds::<Self>(offset);
1175 let prim = decoder.read_num::<u32>(offset);
1176 *self = Self::from_bits_allow_unknown(prim);
1177 Ok(())
1178 }
1179 }
1180 unsafe impl fidl::encoding::TypeMarker for BtCoexistenceMode {
1181 type Owned = Self;
1182
1183 #[inline(always)]
1184 fn inline_align(_context: fidl::encoding::Context) -> usize {
1185 std::mem::align_of::<u32>()
1186 }
1187
1188 #[inline(always)]
1189 fn inline_size(_context: fidl::encoding::Context) -> usize {
1190 std::mem::size_of::<u32>()
1191 }
1192
1193 #[inline(always)]
1194 fn encode_is_copy() -> bool {
1195 false
1196 }
1197
1198 #[inline(always)]
1199 fn decode_is_copy() -> bool {
1200 false
1201 }
1202 }
1203
1204 impl fidl::encoding::ValueTypeMarker for BtCoexistenceMode {
1205 type Borrowed<'a> = Self;
1206 #[inline(always)]
1207 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1208 *value
1209 }
1210 }
1211
1212 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1213 for BtCoexistenceMode
1214 {
1215 #[inline]
1216 unsafe fn encode(
1217 self,
1218 encoder: &mut fidl::encoding::Encoder<'_, D>,
1219 offset: usize,
1220 _depth: fidl::encoding::Depth,
1221 ) -> fidl::Result<()> {
1222 encoder.debug_check_bounds::<Self>(offset);
1223 encoder.write_num(self.into_primitive(), offset);
1224 Ok(())
1225 }
1226 }
1227
1228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BtCoexistenceMode {
1229 #[inline(always)]
1230 fn new_empty() -> Self {
1231 Self::unknown()
1232 }
1233
1234 #[inline]
1235 unsafe fn decode(
1236 &mut self,
1237 decoder: &mut fidl::encoding::Decoder<'_, D>,
1238 offset: usize,
1239 _depth: fidl::encoding::Depth,
1240 ) -> fidl::Result<()> {
1241 decoder.debug_check_bounds::<Self>(offset);
1242 let prim = decoder.read_num::<u32>(offset);
1243
1244 *self = Self::from_primitive_allow_unknown(prim);
1245 Ok(())
1246 }
1247 }
1248 unsafe impl fidl::encoding::TypeMarker for IfaceConcurrencyType {
1249 type Owned = Self;
1250
1251 #[inline(always)]
1252 fn inline_align(_context: fidl::encoding::Context) -> usize {
1253 std::mem::align_of::<u32>()
1254 }
1255
1256 #[inline(always)]
1257 fn inline_size(_context: fidl::encoding::Context) -> usize {
1258 std::mem::size_of::<u32>()
1259 }
1260
1261 #[inline(always)]
1262 fn encode_is_copy() -> bool {
1263 false
1264 }
1265
1266 #[inline(always)]
1267 fn decode_is_copy() -> bool {
1268 false
1269 }
1270 }
1271
1272 impl fidl::encoding::ValueTypeMarker for IfaceConcurrencyType {
1273 type Borrowed<'a> = Self;
1274 #[inline(always)]
1275 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1276 *value
1277 }
1278 }
1279
1280 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1281 for IfaceConcurrencyType
1282 {
1283 #[inline]
1284 unsafe fn encode(
1285 self,
1286 encoder: &mut fidl::encoding::Encoder<'_, D>,
1287 offset: usize,
1288 _depth: fidl::encoding::Depth,
1289 ) -> fidl::Result<()> {
1290 encoder.debug_check_bounds::<Self>(offset);
1291 encoder.write_num(self.into_primitive(), offset);
1292 Ok(())
1293 }
1294 }
1295
1296 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for IfaceConcurrencyType {
1297 #[inline(always)]
1298 fn new_empty() -> Self {
1299 Self::unknown()
1300 }
1301
1302 #[inline]
1303 unsafe fn decode(
1304 &mut self,
1305 decoder: &mut fidl::encoding::Decoder<'_, D>,
1306 offset: usize,
1307 _depth: fidl::encoding::Depth,
1308 ) -> fidl::Result<()> {
1309 decoder.debug_check_bounds::<Self>(offset);
1310 let prim = decoder.read_num::<u32>(offset);
1311
1312 *self = Self::from_primitive_allow_unknown(prim);
1313 Ok(())
1314 }
1315 }
1316 unsafe impl fidl::encoding::TypeMarker for StaIfaceCallbackState {
1317 type Owned = Self;
1318
1319 #[inline(always)]
1320 fn inline_align(_context: fidl::encoding::Context) -> usize {
1321 std::mem::align_of::<u32>()
1322 }
1323
1324 #[inline(always)]
1325 fn inline_size(_context: fidl::encoding::Context) -> usize {
1326 std::mem::size_of::<u32>()
1327 }
1328
1329 #[inline(always)]
1330 fn encode_is_copy() -> bool {
1331 false
1332 }
1333
1334 #[inline(always)]
1335 fn decode_is_copy() -> bool {
1336 false
1337 }
1338 }
1339
1340 impl fidl::encoding::ValueTypeMarker for StaIfaceCallbackState {
1341 type Borrowed<'a> = Self;
1342 #[inline(always)]
1343 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1344 *value
1345 }
1346 }
1347
1348 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1349 for StaIfaceCallbackState
1350 {
1351 #[inline]
1352 unsafe fn encode(
1353 self,
1354 encoder: &mut fidl::encoding::Encoder<'_, D>,
1355 offset: usize,
1356 _depth: fidl::encoding::Depth,
1357 ) -> fidl::Result<()> {
1358 encoder.debug_check_bounds::<Self>(offset);
1359 encoder.write_num(self.into_primitive(), offset);
1360 Ok(())
1361 }
1362 }
1363
1364 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StaIfaceCallbackState {
1365 #[inline(always)]
1366 fn new_empty() -> Self {
1367 Self::unknown()
1368 }
1369
1370 #[inline]
1371 unsafe fn decode(
1372 &mut self,
1373 decoder: &mut fidl::encoding::Decoder<'_, D>,
1374 offset: usize,
1375 _depth: fidl::encoding::Depth,
1376 ) -> fidl::Result<()> {
1377 decoder.debug_check_bounds::<Self>(offset);
1378 let prim = decoder.read_num::<u32>(offset);
1379
1380 *self = Self::from_primitive_allow_unknown(prim);
1381 Ok(())
1382 }
1383 }
1384 unsafe impl fidl::encoding::TypeMarker for WifiChipTxPowerScenario {
1385 type Owned = Self;
1386
1387 #[inline(always)]
1388 fn inline_align(_context: fidl::encoding::Context) -> usize {
1389 std::mem::align_of::<u32>()
1390 }
1391
1392 #[inline(always)]
1393 fn inline_size(_context: fidl::encoding::Context) -> usize {
1394 std::mem::size_of::<u32>()
1395 }
1396
1397 #[inline(always)]
1398 fn encode_is_copy() -> bool {
1399 false
1400 }
1401
1402 #[inline(always)]
1403 fn decode_is_copy() -> bool {
1404 false
1405 }
1406 }
1407
1408 impl fidl::encoding::ValueTypeMarker for WifiChipTxPowerScenario {
1409 type Borrowed<'a> = Self;
1410 #[inline(always)]
1411 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1412 *value
1413 }
1414 }
1415
1416 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1417 for WifiChipTxPowerScenario
1418 {
1419 #[inline]
1420 unsafe fn encode(
1421 self,
1422 encoder: &mut fidl::encoding::Encoder<'_, D>,
1423 offset: usize,
1424 _depth: fidl::encoding::Depth,
1425 ) -> fidl::Result<()> {
1426 encoder.debug_check_bounds::<Self>(offset);
1427 encoder.write_num(self.into_primitive(), offset);
1428 Ok(())
1429 }
1430 }
1431
1432 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1433 for WifiChipTxPowerScenario
1434 {
1435 #[inline(always)]
1436 fn new_empty() -> Self {
1437 Self::unknown()
1438 }
1439
1440 #[inline]
1441 unsafe fn decode(
1442 &mut self,
1443 decoder: &mut fidl::encoding::Decoder<'_, D>,
1444 offset: usize,
1445 _depth: fidl::encoding::Depth,
1446 ) -> fidl::Result<()> {
1447 decoder.debug_check_bounds::<Self>(offset);
1448 let prim = decoder.read_num::<u32>(offset);
1449
1450 *self = Self::from_primitive_allow_unknown(prim);
1451 Ok(())
1452 }
1453 }
1454 unsafe impl fidl::encoding::TypeMarker for WifiLegacyHalStatus {
1455 type Owned = Self;
1456
1457 #[inline(always)]
1458 fn inline_align(_context: fidl::encoding::Context) -> usize {
1459 std::mem::align_of::<u32>()
1460 }
1461
1462 #[inline(always)]
1463 fn inline_size(_context: fidl::encoding::Context) -> usize {
1464 std::mem::size_of::<u32>()
1465 }
1466
1467 #[inline(always)]
1468 fn encode_is_copy() -> bool {
1469 false
1470 }
1471
1472 #[inline(always)]
1473 fn decode_is_copy() -> bool {
1474 false
1475 }
1476 }
1477
1478 impl fidl::encoding::ValueTypeMarker for WifiLegacyHalStatus {
1479 type Borrowed<'a> = Self;
1480 #[inline(always)]
1481 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1482 *value
1483 }
1484 }
1485
1486 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1487 for WifiLegacyHalStatus
1488 {
1489 #[inline]
1490 unsafe fn encode(
1491 self,
1492 encoder: &mut fidl::encoding::Encoder<'_, D>,
1493 offset: usize,
1494 _depth: fidl::encoding::Depth,
1495 ) -> fidl::Result<()> {
1496 encoder.debug_check_bounds::<Self>(offset);
1497 encoder.write_num(self.into_primitive(), offset);
1498 Ok(())
1499 }
1500 }
1501
1502 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiLegacyHalStatus {
1503 #[inline(always)]
1504 fn new_empty() -> Self {
1505 Self::unknown()
1506 }
1507
1508 #[inline]
1509 unsafe fn decode(
1510 &mut self,
1511 decoder: &mut fidl::encoding::Decoder<'_, D>,
1512 offset: usize,
1513 _depth: fidl::encoding::Depth,
1514 ) -> fidl::Result<()> {
1515 decoder.debug_check_bounds::<Self>(offset);
1516 let prim = decoder.read_num::<u32>(offset);
1517
1518 *self = Self::from_primitive_allow_unknown(prim);
1519 Ok(())
1520 }
1521 }
1522 unsafe impl fidl::encoding::TypeMarker for WifiLegacyHalTxPowerScenario {
1523 type Owned = Self;
1524
1525 #[inline(always)]
1526 fn inline_align(_context: fidl::encoding::Context) -> usize {
1527 std::mem::align_of::<i32>()
1528 }
1529
1530 #[inline(always)]
1531 fn inline_size(_context: fidl::encoding::Context) -> usize {
1532 std::mem::size_of::<i32>()
1533 }
1534
1535 #[inline(always)]
1536 fn encode_is_copy() -> bool {
1537 false
1538 }
1539
1540 #[inline(always)]
1541 fn decode_is_copy() -> bool {
1542 false
1543 }
1544 }
1545
1546 impl fidl::encoding::ValueTypeMarker for WifiLegacyHalTxPowerScenario {
1547 type Borrowed<'a> = Self;
1548 #[inline(always)]
1549 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1550 *value
1551 }
1552 }
1553
1554 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1555 for WifiLegacyHalTxPowerScenario
1556 {
1557 #[inline]
1558 unsafe fn encode(
1559 self,
1560 encoder: &mut fidl::encoding::Encoder<'_, D>,
1561 offset: usize,
1562 _depth: fidl::encoding::Depth,
1563 ) -> fidl::Result<()> {
1564 encoder.debug_check_bounds::<Self>(offset);
1565 encoder.write_num(self.into_primitive(), offset);
1566 Ok(())
1567 }
1568 }
1569
1570 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1571 for WifiLegacyHalTxPowerScenario
1572 {
1573 #[inline(always)]
1574 fn new_empty() -> Self {
1575 Self::unknown()
1576 }
1577
1578 #[inline]
1579 unsafe fn decode(
1580 &mut self,
1581 decoder: &mut fidl::encoding::Decoder<'_, D>,
1582 offset: usize,
1583 _depth: fidl::encoding::Depth,
1584 ) -> fidl::Result<()> {
1585 decoder.debug_check_bounds::<Self>(offset);
1586 let prim = decoder.read_num::<i32>(offset);
1587
1588 *self = Self::from_primitive_allow_unknown(prim);
1589 Ok(())
1590 }
1591 }
1592 unsafe impl fidl::encoding::TypeMarker for WlanixError {
1593 type Owned = Self;
1594
1595 #[inline(always)]
1596 fn inline_align(_context: fidl::encoding::Context) -> usize {
1597 std::mem::align_of::<u32>()
1598 }
1599
1600 #[inline(always)]
1601 fn inline_size(_context: fidl::encoding::Context) -> usize {
1602 std::mem::size_of::<u32>()
1603 }
1604
1605 #[inline(always)]
1606 fn encode_is_copy() -> bool {
1607 false
1608 }
1609
1610 #[inline(always)]
1611 fn decode_is_copy() -> bool {
1612 false
1613 }
1614 }
1615
1616 impl fidl::encoding::ValueTypeMarker for WlanixError {
1617 type Borrowed<'a> = Self;
1618 #[inline(always)]
1619 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1620 *value
1621 }
1622 }
1623
1624 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for WlanixError {
1625 #[inline]
1626 unsafe fn encode(
1627 self,
1628 encoder: &mut fidl::encoding::Encoder<'_, D>,
1629 offset: usize,
1630 _depth: fidl::encoding::Depth,
1631 ) -> fidl::Result<()> {
1632 encoder.debug_check_bounds::<Self>(offset);
1633 encoder.write_num(self.into_primitive(), offset);
1634 Ok(())
1635 }
1636 }
1637
1638 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WlanixError {
1639 #[inline(always)]
1640 fn new_empty() -> Self {
1641 Self::unknown()
1642 }
1643
1644 #[inline]
1645 unsafe fn decode(
1646 &mut self,
1647 decoder: &mut fidl::encoding::Decoder<'_, D>,
1648 offset: usize,
1649 _depth: fidl::encoding::Depth,
1650 ) -> fidl::Result<()> {
1651 decoder.debug_check_bounds::<Self>(offset);
1652 let prim = decoder.read_num::<u32>(offset);
1653
1654 *self = Self::from_primitive_allow_unknown(prim);
1655 Ok(())
1656 }
1657 }
1658
1659 impl fidl::encoding::ValueTypeMarker for Ack {
1660 type Borrowed<'a> = &'a Self;
1661 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1662 value
1663 }
1664 }
1665
1666 unsafe impl fidl::encoding::TypeMarker for Ack {
1667 type Owned = Self;
1668
1669 #[inline(always)]
1670 fn inline_align(_context: fidl::encoding::Context) -> usize {
1671 1
1672 }
1673
1674 #[inline(always)]
1675 fn inline_size(_context: fidl::encoding::Context) -> usize {
1676 1
1677 }
1678 }
1679
1680 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Ack, D> for &Ack {
1681 #[inline]
1682 unsafe fn encode(
1683 self,
1684 encoder: &mut fidl::encoding::Encoder<'_, D>,
1685 offset: usize,
1686 _depth: fidl::encoding::Depth,
1687 ) -> fidl::Result<()> {
1688 encoder.debug_check_bounds::<Ack>(offset);
1689 encoder.write_num(0u8, offset);
1690 Ok(())
1691 }
1692 }
1693
1694 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Ack {
1695 #[inline(always)]
1696 fn new_empty() -> Self {
1697 Self
1698 }
1699
1700 #[inline]
1701 unsafe fn decode(
1702 &mut self,
1703 decoder: &mut fidl::encoding::Decoder<'_, D>,
1704 offset: usize,
1705 _depth: fidl::encoding::Depth,
1706 ) -> fidl::Result<()> {
1707 decoder.debug_check_bounds::<Self>(offset);
1708 match decoder.read_num::<u8>(offset) {
1709 0 => Ok(()),
1710 _ => Err(fidl::Error::Invalid),
1711 }
1712 }
1713 }
1714
1715 impl fidl::encoding::ValueTypeMarker for Done {
1716 type Borrowed<'a> = &'a Self;
1717 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1718 value
1719 }
1720 }
1721
1722 unsafe impl fidl::encoding::TypeMarker for Done {
1723 type Owned = Self;
1724
1725 #[inline(always)]
1726 fn inline_align(_context: fidl::encoding::Context) -> usize {
1727 1
1728 }
1729
1730 #[inline(always)]
1731 fn inline_size(_context: fidl::encoding::Context) -> usize {
1732 1
1733 }
1734 }
1735
1736 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Done, D> for &Done {
1737 #[inline]
1738 unsafe fn encode(
1739 self,
1740 encoder: &mut fidl::encoding::Encoder<'_, D>,
1741 offset: usize,
1742 _depth: fidl::encoding::Depth,
1743 ) -> fidl::Result<()> {
1744 encoder.debug_check_bounds::<Done>(offset);
1745 encoder.write_num(0u8, offset);
1746 Ok(())
1747 }
1748 }
1749
1750 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Done {
1751 #[inline(always)]
1752 fn new_empty() -> Self {
1753 Self
1754 }
1755
1756 #[inline]
1757 unsafe fn decode(
1758 &mut self,
1759 decoder: &mut fidl::encoding::Decoder<'_, D>,
1760 offset: usize,
1761 _depth: fidl::encoding::Depth,
1762 ) -> fidl::Result<()> {
1763 decoder.debug_check_bounds::<Self>(offset);
1764 match decoder.read_num::<u8>(offset) {
1765 0 => Ok(()),
1766 _ => Err(fidl::Error::Invalid),
1767 }
1768 }
1769 }
1770
1771 impl fidl::encoding::ValueTypeMarker for Error {
1772 type Borrowed<'a> = &'a Self;
1773 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1774 value
1775 }
1776 }
1777
1778 unsafe impl fidl::encoding::TypeMarker for Error {
1779 type Owned = Self;
1780
1781 #[inline(always)]
1782 fn inline_align(_context: fidl::encoding::Context) -> usize {
1783 4
1784 }
1785
1786 #[inline(always)]
1787 fn inline_size(_context: fidl::encoding::Context) -> usize {
1788 4
1789 }
1790 #[inline(always)]
1791 fn encode_is_copy() -> bool {
1792 true
1793 }
1794
1795 #[inline(always)]
1796 fn decode_is_copy() -> bool {
1797 true
1798 }
1799 }
1800
1801 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Error, D> for &Error {
1802 #[inline]
1803 unsafe fn encode(
1804 self,
1805 encoder: &mut fidl::encoding::Encoder<'_, D>,
1806 offset: usize,
1807 _depth: fidl::encoding::Depth,
1808 ) -> fidl::Result<()> {
1809 encoder.debug_check_bounds::<Error>(offset);
1810 unsafe {
1811 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1813 (buf_ptr as *mut Error).write_unaligned((self as *const Error).read());
1814 }
1817 Ok(())
1818 }
1819 }
1820 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
1821 fidl::encoding::Encode<Error, D> for (T0,)
1822 {
1823 #[inline]
1824 unsafe fn encode(
1825 self,
1826 encoder: &mut fidl::encoding::Encoder<'_, D>,
1827 offset: usize,
1828 depth: fidl::encoding::Depth,
1829 ) -> fidl::Result<()> {
1830 encoder.debug_check_bounds::<Error>(offset);
1831 self.0.encode(encoder, offset + 0, depth)?;
1835 Ok(())
1836 }
1837 }
1838
1839 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Error {
1840 #[inline(always)]
1841 fn new_empty() -> Self {
1842 Self { error_code: fidl::new_empty!(i32, D) }
1843 }
1844
1845 #[inline]
1846 unsafe fn decode(
1847 &mut self,
1848 decoder: &mut fidl::encoding::Decoder<'_, D>,
1849 offset: usize,
1850 _depth: fidl::encoding::Depth,
1851 ) -> fidl::Result<()> {
1852 decoder.debug_check_bounds::<Self>(offset);
1853 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1854 unsafe {
1857 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1858 }
1859 Ok(())
1860 }
1861 }
1862
1863 impl fidl::encoding::ValueTypeMarker for Message {
1864 type Borrowed<'a> = &'a Self;
1865 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1866 value
1867 }
1868 }
1869
1870 unsafe impl fidl::encoding::TypeMarker for Message {
1871 type Owned = Self;
1872
1873 #[inline(always)]
1874 fn inline_align(_context: fidl::encoding::Context) -> usize {
1875 8
1876 }
1877
1878 #[inline(always)]
1879 fn inline_size(_context: fidl::encoding::Context) -> usize {
1880 16
1881 }
1882 }
1883
1884 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Message, D> for &Message {
1885 #[inline]
1886 unsafe fn encode(
1887 self,
1888 encoder: &mut fidl::encoding::Encoder<'_, D>,
1889 offset: usize,
1890 _depth: fidl::encoding::Depth,
1891 ) -> fidl::Result<()> {
1892 encoder.debug_check_bounds::<Message>(offset);
1893 fidl::encoding::Encode::<Message, D>::encode(
1895 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
1896 &self.payload,
1897 ),),
1898 encoder,
1899 offset,
1900 _depth,
1901 )
1902 }
1903 }
1904 unsafe impl<
1905 D: fidl::encoding::ResourceDialect,
1906 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
1907 > fidl::encoding::Encode<Message, D> for (T0,)
1908 {
1909 #[inline]
1910 unsafe fn encode(
1911 self,
1912 encoder: &mut fidl::encoding::Encoder<'_, D>,
1913 offset: usize,
1914 depth: fidl::encoding::Depth,
1915 ) -> fidl::Result<()> {
1916 encoder.debug_check_bounds::<Message>(offset);
1917 self.0.encode(encoder, offset + 0, depth)?;
1921 Ok(())
1922 }
1923 }
1924
1925 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Message {
1926 #[inline(always)]
1927 fn new_empty() -> Self {
1928 Self { payload: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
1929 }
1930
1931 #[inline]
1932 unsafe fn decode(
1933 &mut self,
1934 decoder: &mut fidl::encoding::Decoder<'_, D>,
1935 offset: usize,
1936 _depth: fidl::encoding::Depth,
1937 ) -> fidl::Result<()> {
1938 decoder.debug_check_bounds::<Self>(offset);
1939 fidl::decode!(
1941 fidl::encoding::UnboundedVector<u8>,
1942 D,
1943 &mut self.payload,
1944 decoder,
1945 offset + 0,
1946 _depth
1947 )?;
1948 Ok(())
1949 }
1950 }
1951
1952 impl fidl::encoding::ValueTypeMarker for Nl80211MessageArray {
1953 type Borrowed<'a> = &'a Self;
1954 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1955 value
1956 }
1957 }
1958
1959 unsafe impl fidl::encoding::TypeMarker for Nl80211MessageArray {
1960 type Owned = Self;
1961
1962 #[inline(always)]
1963 fn inline_align(_context: fidl::encoding::Context) -> usize {
1964 8
1965 }
1966
1967 #[inline(always)]
1968 fn inline_size(_context: fidl::encoding::Context) -> usize {
1969 16
1970 }
1971 }
1972
1973 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Nl80211MessageArray, D>
1974 for &Nl80211MessageArray
1975 {
1976 #[inline]
1977 unsafe fn encode(
1978 self,
1979 encoder: &mut fidl::encoding::Encoder<'_, D>,
1980 offset: usize,
1981 _depth: fidl::encoding::Depth,
1982 ) -> fidl::Result<()> {
1983 encoder.debug_check_bounds::<Nl80211MessageArray>(offset);
1984 fidl::encoding::Encode::<Nl80211MessageArray, D>::encode(
1986 (
1987 <fidl::encoding::UnboundedVector<Nl80211Message> as fidl::encoding::ValueTypeMarker>::borrow(&self.messages),
1988 ),
1989 encoder, offset, _depth
1990 )
1991 }
1992 }
1993 unsafe impl<
1994 D: fidl::encoding::ResourceDialect,
1995 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<Nl80211Message>, D>,
1996 > fidl::encoding::Encode<Nl80211MessageArray, D> for (T0,)
1997 {
1998 #[inline]
1999 unsafe fn encode(
2000 self,
2001 encoder: &mut fidl::encoding::Encoder<'_, D>,
2002 offset: usize,
2003 depth: fidl::encoding::Depth,
2004 ) -> fidl::Result<()> {
2005 encoder.debug_check_bounds::<Nl80211MessageArray>(offset);
2006 self.0.encode(encoder, offset + 0, depth)?;
2010 Ok(())
2011 }
2012 }
2013
2014 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Nl80211MessageArray {
2015 #[inline(always)]
2016 fn new_empty() -> Self {
2017 Self { messages: fidl::new_empty!(fidl::encoding::UnboundedVector<Nl80211Message>, D) }
2018 }
2019
2020 #[inline]
2021 unsafe fn decode(
2022 &mut self,
2023 decoder: &mut fidl::encoding::Decoder<'_, D>,
2024 offset: usize,
2025 _depth: fidl::encoding::Depth,
2026 ) -> fidl::Result<()> {
2027 decoder.debug_check_bounds::<Self>(offset);
2028 fidl::decode!(
2030 fidl::encoding::UnboundedVector<Nl80211Message>,
2031 D,
2032 &mut self.messages,
2033 decoder,
2034 offset + 0,
2035 _depth
2036 )?;
2037 Ok(())
2038 }
2039 }
2040
2041 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceGetFactoryMacAddressResponse {
2042 type Borrowed<'a> = &'a Self;
2043 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2044 value
2045 }
2046 }
2047
2048 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceGetFactoryMacAddressResponse {
2049 type Owned = Self;
2050
2051 #[inline(always)]
2052 fn inline_align(_context: fidl::encoding::Context) -> usize {
2053 1
2054 }
2055
2056 #[inline(always)]
2057 fn inline_size(_context: fidl::encoding::Context) -> usize {
2058 6
2059 }
2060 #[inline(always)]
2061 fn encode_is_copy() -> bool {
2062 true
2063 }
2064
2065 #[inline(always)]
2066 fn decode_is_copy() -> bool {
2067 true
2068 }
2069 }
2070
2071 unsafe impl<D: fidl::encoding::ResourceDialect>
2072 fidl::encoding::Encode<SupplicantStaIfaceGetFactoryMacAddressResponse, D>
2073 for &SupplicantStaIfaceGetFactoryMacAddressResponse
2074 {
2075 #[inline]
2076 unsafe fn encode(
2077 self,
2078 encoder: &mut fidl::encoding::Encoder<'_, D>,
2079 offset: usize,
2080 _depth: fidl::encoding::Depth,
2081 ) -> fidl::Result<()> {
2082 encoder.debug_check_bounds::<SupplicantStaIfaceGetFactoryMacAddressResponse>(offset);
2083 unsafe {
2084 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2086 (buf_ptr as *mut SupplicantStaIfaceGetFactoryMacAddressResponse).write_unaligned(
2087 (self as *const SupplicantStaIfaceGetFactoryMacAddressResponse).read(),
2088 );
2089 }
2092 Ok(())
2093 }
2094 }
2095 unsafe impl<
2096 D: fidl::encoding::ResourceDialect,
2097 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2098 > fidl::encoding::Encode<SupplicantStaIfaceGetFactoryMacAddressResponse, D> for (T0,)
2099 {
2100 #[inline]
2101 unsafe fn encode(
2102 self,
2103 encoder: &mut fidl::encoding::Encoder<'_, D>,
2104 offset: usize,
2105 depth: fidl::encoding::Depth,
2106 ) -> fidl::Result<()> {
2107 encoder.debug_check_bounds::<SupplicantStaIfaceGetFactoryMacAddressResponse>(offset);
2108 self.0.encode(encoder, offset + 0, depth)?;
2112 Ok(())
2113 }
2114 }
2115
2116 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2117 for SupplicantStaIfaceGetFactoryMacAddressResponse
2118 {
2119 #[inline(always)]
2120 fn new_empty() -> Self {
2121 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
2122 }
2123
2124 #[inline]
2125 unsafe fn decode(
2126 &mut self,
2127 decoder: &mut fidl::encoding::Decoder<'_, D>,
2128 offset: usize,
2129 _depth: fidl::encoding::Depth,
2130 ) -> fidl::Result<()> {
2131 decoder.debug_check_bounds::<Self>(offset);
2132 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2133 unsafe {
2136 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
2137 }
2138 Ok(())
2139 }
2140 }
2141
2142 impl fidl::encoding::ValueTypeMarker for WifiChipSelectTxPowerScenarioRequest {
2143 type Borrowed<'a> = &'a Self;
2144 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2145 value
2146 }
2147 }
2148
2149 unsafe impl fidl::encoding::TypeMarker for WifiChipSelectTxPowerScenarioRequest {
2150 type Owned = Self;
2151
2152 #[inline(always)]
2153 fn inline_align(_context: fidl::encoding::Context) -> usize {
2154 4
2155 }
2156
2157 #[inline(always)]
2158 fn inline_size(_context: fidl::encoding::Context) -> usize {
2159 4
2160 }
2161 }
2162
2163 unsafe impl<D: fidl::encoding::ResourceDialect>
2164 fidl::encoding::Encode<WifiChipSelectTxPowerScenarioRequest, D>
2165 for &WifiChipSelectTxPowerScenarioRequest
2166 {
2167 #[inline]
2168 unsafe fn encode(
2169 self,
2170 encoder: &mut fidl::encoding::Encoder<'_, D>,
2171 offset: usize,
2172 _depth: fidl::encoding::Depth,
2173 ) -> fidl::Result<()> {
2174 encoder.debug_check_bounds::<WifiChipSelectTxPowerScenarioRequest>(offset);
2175 fidl::encoding::Encode::<WifiChipSelectTxPowerScenarioRequest, D>::encode(
2177 (<WifiChipTxPowerScenario as fidl::encoding::ValueTypeMarker>::borrow(
2178 &self.scenario,
2179 ),),
2180 encoder,
2181 offset,
2182 _depth,
2183 )
2184 }
2185 }
2186 unsafe impl<
2187 D: fidl::encoding::ResourceDialect,
2188 T0: fidl::encoding::Encode<WifiChipTxPowerScenario, D>,
2189 > fidl::encoding::Encode<WifiChipSelectTxPowerScenarioRequest, D> for (T0,)
2190 {
2191 #[inline]
2192 unsafe fn encode(
2193 self,
2194 encoder: &mut fidl::encoding::Encoder<'_, D>,
2195 offset: usize,
2196 depth: fidl::encoding::Depth,
2197 ) -> fidl::Result<()> {
2198 encoder.debug_check_bounds::<WifiChipSelectTxPowerScenarioRequest>(offset);
2199 self.0.encode(encoder, offset + 0, depth)?;
2203 Ok(())
2204 }
2205 }
2206
2207 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2208 for WifiChipSelectTxPowerScenarioRequest
2209 {
2210 #[inline(always)]
2211 fn new_empty() -> Self {
2212 Self { scenario: fidl::new_empty!(WifiChipTxPowerScenario, D) }
2213 }
2214
2215 #[inline]
2216 unsafe fn decode(
2217 &mut self,
2218 decoder: &mut fidl::encoding::Decoder<'_, D>,
2219 offset: usize,
2220 _depth: fidl::encoding::Depth,
2221 ) -> fidl::Result<()> {
2222 decoder.debug_check_bounds::<Self>(offset);
2223 fidl::decode!(
2225 WifiChipTxPowerScenario,
2226 D,
2227 &mut self.scenario,
2228 decoder,
2229 offset + 0,
2230 _depth
2231 )?;
2232 Ok(())
2233 }
2234 }
2235
2236 impl ChipConcurrencyCombination {
2237 #[inline(always)]
2238 fn max_ordinal_present(&self) -> u64 {
2239 if let Some(_) = self.limits {
2240 return 1;
2241 }
2242 0
2243 }
2244 }
2245
2246 impl fidl::encoding::ValueTypeMarker for ChipConcurrencyCombination {
2247 type Borrowed<'a> = &'a Self;
2248 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2249 value
2250 }
2251 }
2252
2253 unsafe impl fidl::encoding::TypeMarker for ChipConcurrencyCombination {
2254 type Owned = Self;
2255
2256 #[inline(always)]
2257 fn inline_align(_context: fidl::encoding::Context) -> usize {
2258 8
2259 }
2260
2261 #[inline(always)]
2262 fn inline_size(_context: fidl::encoding::Context) -> usize {
2263 16
2264 }
2265 }
2266
2267 unsafe impl<D: fidl::encoding::ResourceDialect>
2268 fidl::encoding::Encode<ChipConcurrencyCombination, D> for &ChipConcurrencyCombination
2269 {
2270 unsafe fn encode(
2271 self,
2272 encoder: &mut fidl::encoding::Encoder<'_, D>,
2273 offset: usize,
2274 mut depth: fidl::encoding::Depth,
2275 ) -> fidl::Result<()> {
2276 encoder.debug_check_bounds::<ChipConcurrencyCombination>(offset);
2277 let max_ordinal: u64 = self.max_ordinal_present();
2279 encoder.write_num(max_ordinal, offset);
2280 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2281 if max_ordinal == 0 {
2283 return Ok(());
2284 }
2285 depth.increment()?;
2286 let envelope_size = 8;
2287 let bytes_len = max_ordinal as usize * envelope_size;
2288 #[allow(unused_variables)]
2289 let offset = encoder.out_of_line_offset(bytes_len);
2290 let mut _prev_end_offset: usize = 0;
2291 if 1 > max_ordinal {
2292 return Ok(());
2293 }
2294
2295 let cur_offset: usize = (1 - 1) * envelope_size;
2298
2299 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2301
2302 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>, D>(
2307 self.limits.as_ref().map(<fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit> as fidl::encoding::ValueTypeMarker>::borrow),
2308 encoder, offset + cur_offset, depth
2309 )?;
2310
2311 _prev_end_offset = cur_offset + envelope_size;
2312
2313 Ok(())
2314 }
2315 }
2316
2317 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2318 for ChipConcurrencyCombination
2319 {
2320 #[inline(always)]
2321 fn new_empty() -> Self {
2322 Self::default()
2323 }
2324
2325 unsafe fn decode(
2326 &mut self,
2327 decoder: &mut fidl::encoding::Decoder<'_, D>,
2328 offset: usize,
2329 mut depth: fidl::encoding::Depth,
2330 ) -> fidl::Result<()> {
2331 decoder.debug_check_bounds::<Self>(offset);
2332 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2333 None => return Err(fidl::Error::NotNullable),
2334 Some(len) => len,
2335 };
2336 if len == 0 {
2338 return Ok(());
2339 };
2340 depth.increment()?;
2341 let envelope_size = 8;
2342 let bytes_len = len * envelope_size;
2343 let offset = decoder.out_of_line_offset(bytes_len)?;
2344 let mut _next_ordinal_to_read = 0;
2346 let mut next_offset = offset;
2347 let end_offset = offset + bytes_len;
2348 _next_ordinal_to_read += 1;
2349 if next_offset >= end_offset {
2350 return Ok(());
2351 }
2352
2353 while _next_ordinal_to_read < 1 {
2355 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2356 _next_ordinal_to_read += 1;
2357 next_offset += envelope_size;
2358 }
2359
2360 let next_out_of_line = decoder.next_out_of_line();
2361 let handles_before = decoder.remaining_handles();
2362 if let Some((inlined, num_bytes, num_handles)) =
2363 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2364 {
2365 let member_inline_size = <fidl::encoding::UnboundedVector<
2366 ChipConcurrencyCombinationLimit,
2367 > as fidl::encoding::TypeMarker>::inline_size(
2368 decoder.context
2369 );
2370 if inlined != (member_inline_size <= 4) {
2371 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2372 }
2373 let inner_offset;
2374 let mut inner_depth = depth.clone();
2375 if inlined {
2376 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2377 inner_offset = next_offset;
2378 } else {
2379 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2380 inner_depth.increment()?;
2381 }
2382 let val_ref = self.limits.get_or_insert_with(|| {
2383 fidl::new_empty!(
2384 fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>,
2385 D
2386 )
2387 });
2388 fidl::decode!(
2389 fidl::encoding::UnboundedVector<ChipConcurrencyCombinationLimit>,
2390 D,
2391 val_ref,
2392 decoder,
2393 inner_offset,
2394 inner_depth
2395 )?;
2396 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2397 {
2398 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2399 }
2400 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2401 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2402 }
2403 }
2404
2405 next_offset += envelope_size;
2406
2407 while next_offset < end_offset {
2409 _next_ordinal_to_read += 1;
2410 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2411 next_offset += envelope_size;
2412 }
2413
2414 Ok(())
2415 }
2416 }
2417
2418 impl ChipConcurrencyCombinationLimit {
2419 #[inline(always)]
2420 fn max_ordinal_present(&self) -> u64 {
2421 if let Some(_) = self.max_ifaces {
2422 return 2;
2423 }
2424 if let Some(_) = self.types {
2425 return 1;
2426 }
2427 0
2428 }
2429 }
2430
2431 impl fidl::encoding::ValueTypeMarker for ChipConcurrencyCombinationLimit {
2432 type Borrowed<'a> = &'a Self;
2433 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2434 value
2435 }
2436 }
2437
2438 unsafe impl fidl::encoding::TypeMarker for ChipConcurrencyCombinationLimit {
2439 type Owned = Self;
2440
2441 #[inline(always)]
2442 fn inline_align(_context: fidl::encoding::Context) -> usize {
2443 8
2444 }
2445
2446 #[inline(always)]
2447 fn inline_size(_context: fidl::encoding::Context) -> usize {
2448 16
2449 }
2450 }
2451
2452 unsafe impl<D: fidl::encoding::ResourceDialect>
2453 fidl::encoding::Encode<ChipConcurrencyCombinationLimit, D>
2454 for &ChipConcurrencyCombinationLimit
2455 {
2456 unsafe fn encode(
2457 self,
2458 encoder: &mut fidl::encoding::Encoder<'_, D>,
2459 offset: usize,
2460 mut depth: fidl::encoding::Depth,
2461 ) -> fidl::Result<()> {
2462 encoder.debug_check_bounds::<ChipConcurrencyCombinationLimit>(offset);
2463 let max_ordinal: u64 = self.max_ordinal_present();
2465 encoder.write_num(max_ordinal, offset);
2466 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2467 if max_ordinal == 0 {
2469 return Ok(());
2470 }
2471 depth.increment()?;
2472 let envelope_size = 8;
2473 let bytes_len = max_ordinal as usize * envelope_size;
2474 #[allow(unused_variables)]
2475 let offset = encoder.out_of_line_offset(bytes_len);
2476 let mut _prev_end_offset: usize = 0;
2477 if 1 > max_ordinal {
2478 return Ok(());
2479 }
2480
2481 let cur_offset: usize = (1 - 1) * envelope_size;
2484
2485 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2487
2488 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<IfaceConcurrencyType>, D>(
2493 self.types.as_ref().map(<fidl::encoding::UnboundedVector<IfaceConcurrencyType> as fidl::encoding::ValueTypeMarker>::borrow),
2494 encoder, offset + cur_offset, depth
2495 )?;
2496
2497 _prev_end_offset = cur_offset + envelope_size;
2498 if 2 > max_ordinal {
2499 return Ok(());
2500 }
2501
2502 let cur_offset: usize = (2 - 1) * envelope_size;
2505
2506 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2508
2509 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2514 self.max_ifaces.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2515 encoder,
2516 offset + cur_offset,
2517 depth,
2518 )?;
2519
2520 _prev_end_offset = cur_offset + envelope_size;
2521
2522 Ok(())
2523 }
2524 }
2525
2526 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2527 for ChipConcurrencyCombinationLimit
2528 {
2529 #[inline(always)]
2530 fn new_empty() -> Self {
2531 Self::default()
2532 }
2533
2534 unsafe fn decode(
2535 &mut self,
2536 decoder: &mut fidl::encoding::Decoder<'_, D>,
2537 offset: usize,
2538 mut depth: fidl::encoding::Depth,
2539 ) -> fidl::Result<()> {
2540 decoder.debug_check_bounds::<Self>(offset);
2541 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2542 None => return Err(fidl::Error::NotNullable),
2543 Some(len) => len,
2544 };
2545 if len == 0 {
2547 return Ok(());
2548 };
2549 depth.increment()?;
2550 let envelope_size = 8;
2551 let bytes_len = len * envelope_size;
2552 let offset = decoder.out_of_line_offset(bytes_len)?;
2553 let mut _next_ordinal_to_read = 0;
2555 let mut next_offset = offset;
2556 let end_offset = offset + bytes_len;
2557 _next_ordinal_to_read += 1;
2558 if next_offset >= end_offset {
2559 return Ok(());
2560 }
2561
2562 while _next_ordinal_to_read < 1 {
2564 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2565 _next_ordinal_to_read += 1;
2566 next_offset += envelope_size;
2567 }
2568
2569 let next_out_of_line = decoder.next_out_of_line();
2570 let handles_before = decoder.remaining_handles();
2571 if let Some((inlined, num_bytes, num_handles)) =
2572 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2573 {
2574 let member_inline_size = <fidl::encoding::UnboundedVector<IfaceConcurrencyType> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2575 if inlined != (member_inline_size <= 4) {
2576 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2577 }
2578 let inner_offset;
2579 let mut inner_depth = depth.clone();
2580 if inlined {
2581 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2582 inner_offset = next_offset;
2583 } else {
2584 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2585 inner_depth.increment()?;
2586 }
2587 let val_ref = self.types.get_or_insert_with(|| {
2588 fidl::new_empty!(fidl::encoding::UnboundedVector<IfaceConcurrencyType>, D)
2589 });
2590 fidl::decode!(
2591 fidl::encoding::UnboundedVector<IfaceConcurrencyType>,
2592 D,
2593 val_ref,
2594 decoder,
2595 inner_offset,
2596 inner_depth
2597 )?;
2598 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2599 {
2600 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2601 }
2602 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2603 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2604 }
2605 }
2606
2607 next_offset += envelope_size;
2608 _next_ordinal_to_read += 1;
2609 if next_offset >= end_offset {
2610 return Ok(());
2611 }
2612
2613 while _next_ordinal_to_read < 2 {
2615 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2616 _next_ordinal_to_read += 1;
2617 next_offset += envelope_size;
2618 }
2619
2620 let next_out_of_line = decoder.next_out_of_line();
2621 let handles_before = decoder.remaining_handles();
2622 if let Some((inlined, num_bytes, num_handles)) =
2623 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2624 {
2625 let member_inline_size =
2626 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2627 if inlined != (member_inline_size <= 4) {
2628 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2629 }
2630 let inner_offset;
2631 let mut inner_depth = depth.clone();
2632 if inlined {
2633 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2634 inner_offset = next_offset;
2635 } else {
2636 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2637 inner_depth.increment()?;
2638 }
2639 let val_ref = self.max_ifaces.get_or_insert_with(|| fidl::new_empty!(u32, D));
2640 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2641 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2642 {
2643 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2644 }
2645 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2646 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2647 }
2648 }
2649
2650 next_offset += envelope_size;
2651
2652 while next_offset < end_offset {
2654 _next_ordinal_to_read += 1;
2655 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2656 next_offset += envelope_size;
2657 }
2658
2659 Ok(())
2660 }
2661 }
2662
2663 impl ChipMode {
2664 #[inline(always)]
2665 fn max_ordinal_present(&self) -> u64 {
2666 if let Some(_) = self.available_combinations {
2667 return 2;
2668 }
2669 if let Some(_) = self.id {
2670 return 1;
2671 }
2672 0
2673 }
2674 }
2675
2676 impl fidl::encoding::ValueTypeMarker for ChipMode {
2677 type Borrowed<'a> = &'a Self;
2678 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2679 value
2680 }
2681 }
2682
2683 unsafe impl fidl::encoding::TypeMarker for ChipMode {
2684 type Owned = Self;
2685
2686 #[inline(always)]
2687 fn inline_align(_context: fidl::encoding::Context) -> usize {
2688 8
2689 }
2690
2691 #[inline(always)]
2692 fn inline_size(_context: fidl::encoding::Context) -> usize {
2693 16
2694 }
2695 }
2696
2697 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ChipMode, D> for &ChipMode {
2698 unsafe fn encode(
2699 self,
2700 encoder: &mut fidl::encoding::Encoder<'_, D>,
2701 offset: usize,
2702 mut depth: fidl::encoding::Depth,
2703 ) -> fidl::Result<()> {
2704 encoder.debug_check_bounds::<ChipMode>(offset);
2705 let max_ordinal: u64 = self.max_ordinal_present();
2707 encoder.write_num(max_ordinal, offset);
2708 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2709 if max_ordinal == 0 {
2711 return Ok(());
2712 }
2713 depth.increment()?;
2714 let envelope_size = 8;
2715 let bytes_len = max_ordinal as usize * envelope_size;
2716 #[allow(unused_variables)]
2717 let offset = encoder.out_of_line_offset(bytes_len);
2718 let mut _prev_end_offset: usize = 0;
2719 if 1 > max_ordinal {
2720 return Ok(());
2721 }
2722
2723 let cur_offset: usize = (1 - 1) * envelope_size;
2726
2727 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2729
2730 fidl::encoding::encode_in_envelope_optional::<u32, D>(
2735 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
2736 encoder,
2737 offset + cur_offset,
2738 depth,
2739 )?;
2740
2741 _prev_end_offset = cur_offset + envelope_size;
2742 if 2 > max_ordinal {
2743 return Ok(());
2744 }
2745
2746 let cur_offset: usize = (2 - 1) * envelope_size;
2749
2750 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2752
2753 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipConcurrencyCombination>, D>(
2758 self.available_combinations.as_ref().map(<fidl::encoding::UnboundedVector<ChipConcurrencyCombination> as fidl::encoding::ValueTypeMarker>::borrow),
2759 encoder, offset + cur_offset, depth
2760 )?;
2761
2762 _prev_end_offset = cur_offset + envelope_size;
2763
2764 Ok(())
2765 }
2766 }
2767
2768 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ChipMode {
2769 #[inline(always)]
2770 fn new_empty() -> Self {
2771 Self::default()
2772 }
2773
2774 unsafe fn decode(
2775 &mut self,
2776 decoder: &mut fidl::encoding::Decoder<'_, D>,
2777 offset: usize,
2778 mut depth: fidl::encoding::Depth,
2779 ) -> fidl::Result<()> {
2780 decoder.debug_check_bounds::<Self>(offset);
2781 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
2782 None => return Err(fidl::Error::NotNullable),
2783 Some(len) => len,
2784 };
2785 if len == 0 {
2787 return Ok(());
2788 };
2789 depth.increment()?;
2790 let envelope_size = 8;
2791 let bytes_len = len * envelope_size;
2792 let offset = decoder.out_of_line_offset(bytes_len)?;
2793 let mut _next_ordinal_to_read = 0;
2795 let mut next_offset = offset;
2796 let end_offset = offset + bytes_len;
2797 _next_ordinal_to_read += 1;
2798 if next_offset >= end_offset {
2799 return Ok(());
2800 }
2801
2802 while _next_ordinal_to_read < 1 {
2804 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2805 _next_ordinal_to_read += 1;
2806 next_offset += envelope_size;
2807 }
2808
2809 let next_out_of_line = decoder.next_out_of_line();
2810 let handles_before = decoder.remaining_handles();
2811 if let Some((inlined, num_bytes, num_handles)) =
2812 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2813 {
2814 let member_inline_size =
2815 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
2816 if inlined != (member_inline_size <= 4) {
2817 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2818 }
2819 let inner_offset;
2820 let mut inner_depth = depth.clone();
2821 if inlined {
2822 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2823 inner_offset = next_offset;
2824 } else {
2825 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2826 inner_depth.increment()?;
2827 }
2828 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
2829 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
2830 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2831 {
2832 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2833 }
2834 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2835 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2836 }
2837 }
2838
2839 next_offset += envelope_size;
2840 _next_ordinal_to_read += 1;
2841 if next_offset >= end_offset {
2842 return Ok(());
2843 }
2844
2845 while _next_ordinal_to_read < 2 {
2847 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2848 _next_ordinal_to_read += 1;
2849 next_offset += envelope_size;
2850 }
2851
2852 let next_out_of_line = decoder.next_out_of_line();
2853 let handles_before = decoder.remaining_handles();
2854 if let Some((inlined, num_bytes, num_handles)) =
2855 fidl::encoding::decode_envelope_header(decoder, next_offset)?
2856 {
2857 let member_inline_size = <fidl::encoding::UnboundedVector<
2858 ChipConcurrencyCombination,
2859 > as fidl::encoding::TypeMarker>::inline_size(
2860 decoder.context
2861 );
2862 if inlined != (member_inline_size <= 4) {
2863 return Err(fidl::Error::InvalidInlineBitInEnvelope);
2864 }
2865 let inner_offset;
2866 let mut inner_depth = depth.clone();
2867 if inlined {
2868 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
2869 inner_offset = next_offset;
2870 } else {
2871 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
2872 inner_depth.increment()?;
2873 }
2874 let val_ref = self.available_combinations.get_or_insert_with(|| {
2875 fidl::new_empty!(fidl::encoding::UnboundedVector<ChipConcurrencyCombination>, D)
2876 });
2877 fidl::decode!(
2878 fidl::encoding::UnboundedVector<ChipConcurrencyCombination>,
2879 D,
2880 val_ref,
2881 decoder,
2882 inner_offset,
2883 inner_depth
2884 )?;
2885 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
2886 {
2887 return Err(fidl::Error::InvalidNumBytesInEnvelope);
2888 }
2889 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
2890 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
2891 }
2892 }
2893
2894 next_offset += envelope_size;
2895
2896 while next_offset < end_offset {
2898 _next_ordinal_to_read += 1;
2899 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
2900 next_offset += envelope_size;
2901 }
2902
2903 Ok(())
2904 }
2905 }
2906
2907 impl SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2908 #[inline(always)]
2909 fn max_ordinal_present(&self) -> u64 {
2910 if let Some(_) = self.timed_out {
2911 return 4;
2912 }
2913 if let Some(_) = self.status_code {
2914 return 3;
2915 }
2916 if let Some(_) = self.bssid {
2917 return 2;
2918 }
2919 if let Some(_) = self.ssid {
2920 return 1;
2921 }
2922 0
2923 }
2924 }
2925
2926 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2927 type Borrowed<'a> = &'a Self;
2928 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2929 value
2930 }
2931 }
2932
2933 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnAssociationRejectedRequest {
2934 type Owned = Self;
2935
2936 #[inline(always)]
2937 fn inline_align(_context: fidl::encoding::Context) -> usize {
2938 8
2939 }
2940
2941 #[inline(always)]
2942 fn inline_size(_context: fidl::encoding::Context) -> usize {
2943 16
2944 }
2945 }
2946
2947 unsafe impl<D: fidl::encoding::ResourceDialect>
2948 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnAssociationRejectedRequest, D>
2949 for &SupplicantStaIfaceCallbackOnAssociationRejectedRequest
2950 {
2951 unsafe fn encode(
2952 self,
2953 encoder: &mut fidl::encoding::Encoder<'_, D>,
2954 offset: usize,
2955 mut depth: fidl::encoding::Depth,
2956 ) -> fidl::Result<()> {
2957 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnAssociationRejectedRequest>(
2958 offset,
2959 );
2960 let max_ordinal: u64 = self.max_ordinal_present();
2962 encoder.write_num(max_ordinal, offset);
2963 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
2964 if max_ordinal == 0 {
2966 return Ok(());
2967 }
2968 depth.increment()?;
2969 let envelope_size = 8;
2970 let bytes_len = max_ordinal as usize * envelope_size;
2971 #[allow(unused_variables)]
2972 let offset = encoder.out_of_line_offset(bytes_len);
2973 let mut _prev_end_offset: usize = 0;
2974 if 1 > max_ordinal {
2975 return Ok(());
2976 }
2977
2978 let cur_offset: usize = (1 - 1) * envelope_size;
2981
2982 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
2984
2985 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
2990 self.ssid.as_ref().map(
2991 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
2992 ),
2993 encoder,
2994 offset + cur_offset,
2995 depth,
2996 )?;
2997
2998 _prev_end_offset = cur_offset + envelope_size;
2999 if 2 > max_ordinal {
3000 return Ok(());
3001 }
3002
3003 let cur_offset: usize = (2 - 1) * envelope_size;
3006
3007 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3009
3010 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3015 self.bssid
3016 .as_ref()
3017 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3018 encoder,
3019 offset + cur_offset,
3020 depth,
3021 )?;
3022
3023 _prev_end_offset = cur_offset + envelope_size;
3024 if 3 > max_ordinal {
3025 return Ok(());
3026 }
3027
3028 let cur_offset: usize = (3 - 1) * envelope_size;
3031
3032 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3034
3035 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>(
3040 self.status_code.as_ref().map(<fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow),
3041 encoder, offset + cur_offset, depth
3042 )?;
3043
3044 _prev_end_offset = cur_offset + envelope_size;
3045 if 4 > max_ordinal {
3046 return Ok(());
3047 }
3048
3049 let cur_offset: usize = (4 - 1) * envelope_size;
3052
3053 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3055
3056 fidl::encoding::encode_in_envelope_optional::<bool, D>(
3061 self.timed_out.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
3062 encoder,
3063 offset + cur_offset,
3064 depth,
3065 )?;
3066
3067 _prev_end_offset = cur_offset + envelope_size;
3068
3069 Ok(())
3070 }
3071 }
3072
3073 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3074 for SupplicantStaIfaceCallbackOnAssociationRejectedRequest
3075 {
3076 #[inline(always)]
3077 fn new_empty() -> Self {
3078 Self::default()
3079 }
3080
3081 unsafe fn decode(
3082 &mut self,
3083 decoder: &mut fidl::encoding::Decoder<'_, D>,
3084 offset: usize,
3085 mut depth: fidl::encoding::Depth,
3086 ) -> fidl::Result<()> {
3087 decoder.debug_check_bounds::<Self>(offset);
3088 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3089 None => return Err(fidl::Error::NotNullable),
3090 Some(len) => len,
3091 };
3092 if len == 0 {
3094 return Ok(());
3095 };
3096 depth.increment()?;
3097 let envelope_size = 8;
3098 let bytes_len = len * envelope_size;
3099 let offset = decoder.out_of_line_offset(bytes_len)?;
3100 let mut _next_ordinal_to_read = 0;
3102 let mut next_offset = offset;
3103 let end_offset = offset + bytes_len;
3104 _next_ordinal_to_read += 1;
3105 if next_offset >= end_offset {
3106 return Ok(());
3107 }
3108
3109 while _next_ordinal_to_read < 1 {
3111 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3112 _next_ordinal_to_read += 1;
3113 next_offset += envelope_size;
3114 }
3115
3116 let next_out_of_line = decoder.next_out_of_line();
3117 let handles_before = decoder.remaining_handles();
3118 if let Some((inlined, num_bytes, num_handles)) =
3119 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3120 {
3121 let member_inline_size =
3122 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
3123 decoder.context,
3124 );
3125 if inlined != (member_inline_size <= 4) {
3126 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3127 }
3128 let inner_offset;
3129 let mut inner_depth = depth.clone();
3130 if inlined {
3131 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3132 inner_offset = next_offset;
3133 } else {
3134 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3135 inner_depth.increment()?;
3136 }
3137 let val_ref = self
3138 .ssid
3139 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
3140 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
3141 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3142 {
3143 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3144 }
3145 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3146 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3147 }
3148 }
3149
3150 next_offset += envelope_size;
3151 _next_ordinal_to_read += 1;
3152 if next_offset >= end_offset {
3153 return Ok(());
3154 }
3155
3156 while _next_ordinal_to_read < 2 {
3158 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3159 _next_ordinal_to_read += 1;
3160 next_offset += envelope_size;
3161 }
3162
3163 let next_out_of_line = decoder.next_out_of_line();
3164 let handles_before = decoder.remaining_handles();
3165 if let Some((inlined, num_bytes, num_handles)) =
3166 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3167 {
3168 let member_inline_size =
3169 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3170 decoder.context,
3171 );
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
3185 .bssid
3186 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3187 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
3188 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3189 {
3190 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3191 }
3192 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3193 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3194 }
3195 }
3196
3197 next_offset += envelope_size;
3198 _next_ordinal_to_read += 1;
3199 if next_offset >= end_offset {
3200 return Ok(());
3201 }
3202
3203 while _next_ordinal_to_read < 3 {
3205 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3206 _next_ordinal_to_read += 1;
3207 next_offset += envelope_size;
3208 }
3209
3210 let next_out_of_line = decoder.next_out_of_line();
3211 let handles_before = decoder.remaining_handles();
3212 if let Some((inlined, num_bytes, num_handles)) =
3213 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3214 {
3215 let member_inline_size = <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3216 if inlined != (member_inline_size <= 4) {
3217 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3218 }
3219 let inner_offset;
3220 let mut inner_depth = depth.clone();
3221 if inlined {
3222 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3223 inner_offset = next_offset;
3224 } else {
3225 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3226 inner_depth.increment()?;
3227 }
3228 let val_ref = self.status_code.get_or_insert_with(|| {
3229 fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D)
3230 });
3231 fidl::decode!(
3232 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
3233 D,
3234 val_ref,
3235 decoder,
3236 inner_offset,
3237 inner_depth
3238 )?;
3239 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3240 {
3241 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3242 }
3243 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3244 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3245 }
3246 }
3247
3248 next_offset += envelope_size;
3249 _next_ordinal_to_read += 1;
3250 if next_offset >= end_offset {
3251 return Ok(());
3252 }
3253
3254 while _next_ordinal_to_read < 4 {
3256 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3257 _next_ordinal_to_read += 1;
3258 next_offset += envelope_size;
3259 }
3260
3261 let next_out_of_line = decoder.next_out_of_line();
3262 let handles_before = decoder.remaining_handles();
3263 if let Some((inlined, num_bytes, num_handles)) =
3264 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3265 {
3266 let member_inline_size =
3267 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3268 if inlined != (member_inline_size <= 4) {
3269 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3270 }
3271 let inner_offset;
3272 let mut inner_depth = depth.clone();
3273 if inlined {
3274 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3275 inner_offset = next_offset;
3276 } else {
3277 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3278 inner_depth.increment()?;
3279 }
3280 let val_ref = self.timed_out.get_or_insert_with(|| fidl::new_empty!(bool, D));
3281 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3282 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3283 {
3284 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3285 }
3286 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3287 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3288 }
3289 }
3290
3291 next_offset += envelope_size;
3292
3293 while next_offset < end_offset {
3295 _next_ordinal_to_read += 1;
3296 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3297 next_offset += envelope_size;
3298 }
3299
3300 Ok(())
3301 }
3302 }
3303
3304 impl SupplicantStaIfaceCallbackOnDisconnectedRequest {
3305 #[inline(always)]
3306 fn max_ordinal_present(&self) -> u64 {
3307 if let Some(_) = self.reason_code {
3308 return 3;
3309 }
3310 if let Some(_) = self.locally_generated {
3311 return 2;
3312 }
3313 if let Some(_) = self.bssid {
3314 return 1;
3315 }
3316 0
3317 }
3318 }
3319
3320 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnDisconnectedRequest {
3321 type Borrowed<'a> = &'a Self;
3322 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3323 value
3324 }
3325 }
3326
3327 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnDisconnectedRequest {
3328 type Owned = Self;
3329
3330 #[inline(always)]
3331 fn inline_align(_context: fidl::encoding::Context) -> usize {
3332 8
3333 }
3334
3335 #[inline(always)]
3336 fn inline_size(_context: fidl::encoding::Context) -> usize {
3337 16
3338 }
3339 }
3340
3341 unsafe impl<D: fidl::encoding::ResourceDialect>
3342 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnDisconnectedRequest, D>
3343 for &SupplicantStaIfaceCallbackOnDisconnectedRequest
3344 {
3345 unsafe fn encode(
3346 self,
3347 encoder: &mut fidl::encoding::Encoder<'_, D>,
3348 offset: usize,
3349 mut depth: fidl::encoding::Depth,
3350 ) -> fidl::Result<()> {
3351 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnDisconnectedRequest>(offset);
3352 let max_ordinal: u64 = self.max_ordinal_present();
3354 encoder.write_num(max_ordinal, offset);
3355 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3356 if max_ordinal == 0 {
3358 return Ok(());
3359 }
3360 depth.increment()?;
3361 let envelope_size = 8;
3362 let bytes_len = max_ordinal as usize * envelope_size;
3363 #[allow(unused_variables)]
3364 let offset = encoder.out_of_line_offset(bytes_len);
3365 let mut _prev_end_offset: usize = 0;
3366 if 1 > max_ordinal {
3367 return Ok(());
3368 }
3369
3370 let cur_offset: usize = (1 - 1) * envelope_size;
3373
3374 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3376
3377 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3382 self.bssid
3383 .as_ref()
3384 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3385 encoder,
3386 offset + cur_offset,
3387 depth,
3388 )?;
3389
3390 _prev_end_offset = cur_offset + envelope_size;
3391 if 2 > max_ordinal {
3392 return Ok(());
3393 }
3394
3395 let cur_offset: usize = (2 - 1) * envelope_size;
3398
3399 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3401
3402 fidl::encoding::encode_in_envelope_optional::<bool, D>(
3407 self.locally_generated
3408 .as_ref()
3409 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
3410 encoder,
3411 offset + cur_offset,
3412 depth,
3413 )?;
3414
3415 _prev_end_offset = cur_offset + envelope_size;
3416 if 3 > max_ordinal {
3417 return Ok(());
3418 }
3419
3420 let cur_offset: usize = (3 - 1) * envelope_size;
3423
3424 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3426
3427 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>(
3432 self.reason_code.as_ref().map(<fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow),
3433 encoder, offset + cur_offset, depth
3434 )?;
3435
3436 _prev_end_offset = cur_offset + envelope_size;
3437
3438 Ok(())
3439 }
3440 }
3441
3442 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3443 for SupplicantStaIfaceCallbackOnDisconnectedRequest
3444 {
3445 #[inline(always)]
3446 fn new_empty() -> Self {
3447 Self::default()
3448 }
3449
3450 unsafe fn decode(
3451 &mut self,
3452 decoder: &mut fidl::encoding::Decoder<'_, D>,
3453 offset: usize,
3454 mut depth: fidl::encoding::Depth,
3455 ) -> fidl::Result<()> {
3456 decoder.debug_check_bounds::<Self>(offset);
3457 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3458 None => return Err(fidl::Error::NotNullable),
3459 Some(len) => len,
3460 };
3461 if len == 0 {
3463 return Ok(());
3464 };
3465 depth.increment()?;
3466 let envelope_size = 8;
3467 let bytes_len = len * envelope_size;
3468 let offset = decoder.out_of_line_offset(bytes_len)?;
3469 let mut _next_ordinal_to_read = 0;
3471 let mut next_offset = offset;
3472 let end_offset = offset + bytes_len;
3473 _next_ordinal_to_read += 1;
3474 if next_offset >= end_offset {
3475 return Ok(());
3476 }
3477
3478 while _next_ordinal_to_read < 1 {
3480 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3481 _next_ordinal_to_read += 1;
3482 next_offset += envelope_size;
3483 }
3484
3485 let next_out_of_line = decoder.next_out_of_line();
3486 let handles_before = decoder.remaining_handles();
3487 if let Some((inlined, num_bytes, num_handles)) =
3488 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3489 {
3490 let member_inline_size =
3491 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3492 decoder.context,
3493 );
3494 if inlined != (member_inline_size <= 4) {
3495 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3496 }
3497 let inner_offset;
3498 let mut inner_depth = depth.clone();
3499 if inlined {
3500 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3501 inner_offset = next_offset;
3502 } else {
3503 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3504 inner_depth.increment()?;
3505 }
3506 let val_ref = self
3507 .bssid
3508 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3509 fidl::decode!(fidl::encoding::Array<u8, 6>, 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 < 2 {
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 =
3538 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3539 if inlined != (member_inline_size <= 4) {
3540 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3541 }
3542 let inner_offset;
3543 let mut inner_depth = depth.clone();
3544 if inlined {
3545 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3546 inner_offset = next_offset;
3547 } else {
3548 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3549 inner_depth.increment()?;
3550 }
3551 let val_ref =
3552 self.locally_generated.get_or_insert_with(|| fidl::new_empty!(bool, D));
3553 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3554 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3555 {
3556 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3557 }
3558 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3559 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3560 }
3561 }
3562
3563 next_offset += envelope_size;
3564 _next_ordinal_to_read += 1;
3565 if next_offset >= end_offset {
3566 return Ok(());
3567 }
3568
3569 while _next_ordinal_to_read < 3 {
3571 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3572 _next_ordinal_to_read += 1;
3573 next_offset += envelope_size;
3574 }
3575
3576 let next_out_of_line = decoder.next_out_of_line();
3577 let handles_before = decoder.remaining_handles();
3578 if let Some((inlined, num_bytes, num_handles)) =
3579 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3580 {
3581 let member_inline_size = <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3582 if inlined != (member_inline_size <= 4) {
3583 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3584 }
3585 let inner_offset;
3586 let mut inner_depth = depth.clone();
3587 if inlined {
3588 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3589 inner_offset = next_offset;
3590 } else {
3591 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3592 inner_depth.increment()?;
3593 }
3594 let val_ref = self.reason_code.get_or_insert_with(|| {
3595 fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D)
3596 });
3597 fidl::decode!(
3598 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3599 D,
3600 val_ref,
3601 decoder,
3602 inner_offset,
3603 inner_depth
3604 )?;
3605 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3606 {
3607 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3608 }
3609 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3610 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3611 }
3612 }
3613
3614 next_offset += envelope_size;
3615
3616 while next_offset < end_offset {
3618 _next_ordinal_to_read += 1;
3619 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3620 next_offset += envelope_size;
3621 }
3622
3623 Ok(())
3624 }
3625 }
3626
3627 impl SupplicantStaIfaceCallbackOnStateChangedRequest {
3628 #[inline(always)]
3629 fn max_ordinal_present(&self) -> u64 {
3630 if let Some(_) = self.ssid {
3631 return 4;
3632 }
3633 if let Some(_) = self.id {
3634 return 3;
3635 }
3636 if let Some(_) = self.bssid {
3637 return 2;
3638 }
3639 if let Some(_) = self.new_state {
3640 return 1;
3641 }
3642 0
3643 }
3644 }
3645
3646 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceCallbackOnStateChangedRequest {
3647 type Borrowed<'a> = &'a Self;
3648 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3649 value
3650 }
3651 }
3652
3653 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceCallbackOnStateChangedRequest {
3654 type Owned = Self;
3655
3656 #[inline(always)]
3657 fn inline_align(_context: fidl::encoding::Context) -> usize {
3658 8
3659 }
3660
3661 #[inline(always)]
3662 fn inline_size(_context: fidl::encoding::Context) -> usize {
3663 16
3664 }
3665 }
3666
3667 unsafe impl<D: fidl::encoding::ResourceDialect>
3668 fidl::encoding::Encode<SupplicantStaIfaceCallbackOnStateChangedRequest, D>
3669 for &SupplicantStaIfaceCallbackOnStateChangedRequest
3670 {
3671 unsafe fn encode(
3672 self,
3673 encoder: &mut fidl::encoding::Encoder<'_, D>,
3674 offset: usize,
3675 mut depth: fidl::encoding::Depth,
3676 ) -> fidl::Result<()> {
3677 encoder.debug_check_bounds::<SupplicantStaIfaceCallbackOnStateChangedRequest>(offset);
3678 let max_ordinal: u64 = self.max_ordinal_present();
3680 encoder.write_num(max_ordinal, offset);
3681 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3682 if max_ordinal == 0 {
3684 return Ok(());
3685 }
3686 depth.increment()?;
3687 let envelope_size = 8;
3688 let bytes_len = max_ordinal as usize * envelope_size;
3689 #[allow(unused_variables)]
3690 let offset = encoder.out_of_line_offset(bytes_len);
3691 let mut _prev_end_offset: usize = 0;
3692 if 1 > max_ordinal {
3693 return Ok(());
3694 }
3695
3696 let cur_offset: usize = (1 - 1) * envelope_size;
3699
3700 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3702
3703 fidl::encoding::encode_in_envelope_optional::<StaIfaceCallbackState, D>(
3708 self.new_state
3709 .as_ref()
3710 .map(<StaIfaceCallbackState as fidl::encoding::ValueTypeMarker>::borrow),
3711 encoder,
3712 offset + cur_offset,
3713 depth,
3714 )?;
3715
3716 _prev_end_offset = cur_offset + envelope_size;
3717 if 2 > max_ordinal {
3718 return Ok(());
3719 }
3720
3721 let cur_offset: usize = (2 - 1) * envelope_size;
3724
3725 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3727
3728 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
3733 self.bssid
3734 .as_ref()
3735 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
3736 encoder,
3737 offset + cur_offset,
3738 depth,
3739 )?;
3740
3741 _prev_end_offset = cur_offset + envelope_size;
3742 if 3 > max_ordinal {
3743 return Ok(());
3744 }
3745
3746 let cur_offset: usize = (3 - 1) * envelope_size;
3749
3750 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3752
3753 fidl::encoding::encode_in_envelope_optional::<u32, D>(
3758 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
3759 encoder,
3760 offset + cur_offset,
3761 depth,
3762 )?;
3763
3764 _prev_end_offset = cur_offset + envelope_size;
3765 if 4 > max_ordinal {
3766 return Ok(());
3767 }
3768
3769 let cur_offset: usize = (4 - 1) * envelope_size;
3772
3773 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3775
3776 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
3781 self.ssid.as_ref().map(
3782 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
3783 ),
3784 encoder,
3785 offset + cur_offset,
3786 depth,
3787 )?;
3788
3789 _prev_end_offset = cur_offset + envelope_size;
3790
3791 Ok(())
3792 }
3793 }
3794
3795 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3796 for SupplicantStaIfaceCallbackOnStateChangedRequest
3797 {
3798 #[inline(always)]
3799 fn new_empty() -> Self {
3800 Self::default()
3801 }
3802
3803 unsafe fn decode(
3804 &mut self,
3805 decoder: &mut fidl::encoding::Decoder<'_, D>,
3806 offset: usize,
3807 mut depth: fidl::encoding::Depth,
3808 ) -> fidl::Result<()> {
3809 decoder.debug_check_bounds::<Self>(offset);
3810 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3811 None => return Err(fidl::Error::NotNullable),
3812 Some(len) => len,
3813 };
3814 if len == 0 {
3816 return Ok(());
3817 };
3818 depth.increment()?;
3819 let envelope_size = 8;
3820 let bytes_len = len * envelope_size;
3821 let offset = decoder.out_of_line_offset(bytes_len)?;
3822 let mut _next_ordinal_to_read = 0;
3824 let mut next_offset = offset;
3825 let end_offset = offset + bytes_len;
3826 _next_ordinal_to_read += 1;
3827 if next_offset >= end_offset {
3828 return Ok(());
3829 }
3830
3831 while _next_ordinal_to_read < 1 {
3833 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3834 _next_ordinal_to_read += 1;
3835 next_offset += envelope_size;
3836 }
3837
3838 let next_out_of_line = decoder.next_out_of_line();
3839 let handles_before = decoder.remaining_handles();
3840 if let Some((inlined, num_bytes, num_handles)) =
3841 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3842 {
3843 let member_inline_size =
3844 <StaIfaceCallbackState as fidl::encoding::TypeMarker>::inline_size(
3845 decoder.context,
3846 );
3847 if inlined != (member_inline_size <= 4) {
3848 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3849 }
3850 let inner_offset;
3851 let mut inner_depth = depth.clone();
3852 if inlined {
3853 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3854 inner_offset = next_offset;
3855 } else {
3856 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3857 inner_depth.increment()?;
3858 }
3859 let val_ref = self
3860 .new_state
3861 .get_or_insert_with(|| fidl::new_empty!(StaIfaceCallbackState, D));
3862 fidl::decode!(
3863 StaIfaceCallbackState,
3864 D,
3865 val_ref,
3866 decoder,
3867 inner_offset,
3868 inner_depth
3869 )?;
3870 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3871 {
3872 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3873 }
3874 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3875 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3876 }
3877 }
3878
3879 next_offset += envelope_size;
3880 _next_ordinal_to_read += 1;
3881 if next_offset >= end_offset {
3882 return Ok(());
3883 }
3884
3885 while _next_ordinal_to_read < 2 {
3887 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3888 _next_ordinal_to_read += 1;
3889 next_offset += envelope_size;
3890 }
3891
3892 let next_out_of_line = decoder.next_out_of_line();
3893 let handles_before = decoder.remaining_handles();
3894 if let Some((inlined, num_bytes, num_handles)) =
3895 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3896 {
3897 let member_inline_size =
3898 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
3899 decoder.context,
3900 );
3901 if inlined != (member_inline_size <= 4) {
3902 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3903 }
3904 let inner_offset;
3905 let mut inner_depth = depth.clone();
3906 if inlined {
3907 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3908 inner_offset = next_offset;
3909 } else {
3910 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3911 inner_depth.increment()?;
3912 }
3913 let val_ref = self
3914 .bssid
3915 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
3916 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
3917 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3918 {
3919 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3920 }
3921 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3922 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3923 }
3924 }
3925
3926 next_offset += envelope_size;
3927 _next_ordinal_to_read += 1;
3928 if next_offset >= end_offset {
3929 return Ok(());
3930 }
3931
3932 while _next_ordinal_to_read < 3 {
3934 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3935 _next_ordinal_to_read += 1;
3936 next_offset += envelope_size;
3937 }
3938
3939 let next_out_of_line = decoder.next_out_of_line();
3940 let handles_before = decoder.remaining_handles();
3941 if let Some((inlined, num_bytes, num_handles)) =
3942 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3943 {
3944 let member_inline_size =
3945 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3946 if inlined != (member_inline_size <= 4) {
3947 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3948 }
3949 let inner_offset;
3950 let mut inner_depth = depth.clone();
3951 if inlined {
3952 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3953 inner_offset = next_offset;
3954 } else {
3955 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3956 inner_depth.increment()?;
3957 }
3958 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
3959 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
3960 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3961 {
3962 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3963 }
3964 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3965 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3966 }
3967 }
3968
3969 next_offset += envelope_size;
3970 _next_ordinal_to_read += 1;
3971 if next_offset >= end_offset {
3972 return Ok(());
3973 }
3974
3975 while _next_ordinal_to_read < 4 {
3977 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3978 _next_ordinal_to_read += 1;
3979 next_offset += envelope_size;
3980 }
3981
3982 let next_out_of_line = decoder.next_out_of_line();
3983 let handles_before = decoder.remaining_handles();
3984 if let Some((inlined, num_bytes, num_handles)) =
3985 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3986 {
3987 let member_inline_size =
3988 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
3989 decoder.context,
3990 );
3991 if inlined != (member_inline_size <= 4) {
3992 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3993 }
3994 let inner_offset;
3995 let mut inner_depth = depth.clone();
3996 if inlined {
3997 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3998 inner_offset = next_offset;
3999 } else {
4000 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4001 inner_depth.increment()?;
4002 }
4003 let val_ref = self
4004 .ssid
4005 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
4006 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
4007 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4008 {
4009 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4010 }
4011 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4012 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4013 }
4014 }
4015
4016 next_offset += envelope_size;
4017
4018 while next_offset < end_offset {
4020 _next_ordinal_to_read += 1;
4021 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4022 next_offset += envelope_size;
4023 }
4024
4025 Ok(())
4026 }
4027 }
4028
4029 impl SupplicantStaIfaceSetBtCoexistenceModeRequest {
4030 #[inline(always)]
4031 fn max_ordinal_present(&self) -> u64 {
4032 if let Some(_) = self.mode {
4033 return 1;
4034 }
4035 0
4036 }
4037 }
4038
4039 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceSetBtCoexistenceModeRequest {
4040 type Borrowed<'a> = &'a Self;
4041 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4042 value
4043 }
4044 }
4045
4046 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceSetBtCoexistenceModeRequest {
4047 type Owned = Self;
4048
4049 #[inline(always)]
4050 fn inline_align(_context: fidl::encoding::Context) -> usize {
4051 8
4052 }
4053
4054 #[inline(always)]
4055 fn inline_size(_context: fidl::encoding::Context) -> usize {
4056 16
4057 }
4058 }
4059
4060 unsafe impl<D: fidl::encoding::ResourceDialect>
4061 fidl::encoding::Encode<SupplicantStaIfaceSetBtCoexistenceModeRequest, D>
4062 for &SupplicantStaIfaceSetBtCoexistenceModeRequest
4063 {
4064 unsafe fn encode(
4065 self,
4066 encoder: &mut fidl::encoding::Encoder<'_, D>,
4067 offset: usize,
4068 mut depth: fidl::encoding::Depth,
4069 ) -> fidl::Result<()> {
4070 encoder.debug_check_bounds::<SupplicantStaIfaceSetBtCoexistenceModeRequest>(offset);
4071 let max_ordinal: u64 = self.max_ordinal_present();
4073 encoder.write_num(max_ordinal, offset);
4074 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4075 if max_ordinal == 0 {
4077 return Ok(());
4078 }
4079 depth.increment()?;
4080 let envelope_size = 8;
4081 let bytes_len = max_ordinal as usize * envelope_size;
4082 #[allow(unused_variables)]
4083 let offset = encoder.out_of_line_offset(bytes_len);
4084 let mut _prev_end_offset: usize = 0;
4085 if 1 > max_ordinal {
4086 return Ok(());
4087 }
4088
4089 let cur_offset: usize = (1 - 1) * envelope_size;
4092
4093 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4095
4096 fidl::encoding::encode_in_envelope_optional::<BtCoexistenceMode, D>(
4101 self.mode
4102 .as_ref()
4103 .map(<BtCoexistenceMode as fidl::encoding::ValueTypeMarker>::borrow),
4104 encoder,
4105 offset + cur_offset,
4106 depth,
4107 )?;
4108
4109 _prev_end_offset = cur_offset + envelope_size;
4110
4111 Ok(())
4112 }
4113 }
4114
4115 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4116 for SupplicantStaIfaceSetBtCoexistenceModeRequest
4117 {
4118 #[inline(always)]
4119 fn new_empty() -> Self {
4120 Self::default()
4121 }
4122
4123 unsafe fn decode(
4124 &mut self,
4125 decoder: &mut fidl::encoding::Decoder<'_, D>,
4126 offset: usize,
4127 mut depth: fidl::encoding::Depth,
4128 ) -> fidl::Result<()> {
4129 decoder.debug_check_bounds::<Self>(offset);
4130 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4131 None => return Err(fidl::Error::NotNullable),
4132 Some(len) => len,
4133 };
4134 if len == 0 {
4136 return Ok(());
4137 };
4138 depth.increment()?;
4139 let envelope_size = 8;
4140 let bytes_len = len * envelope_size;
4141 let offset = decoder.out_of_line_offset(bytes_len)?;
4142 let mut _next_ordinal_to_read = 0;
4144 let mut next_offset = offset;
4145 let end_offset = offset + bytes_len;
4146 _next_ordinal_to_read += 1;
4147 if next_offset >= end_offset {
4148 return Ok(());
4149 }
4150
4151 while _next_ordinal_to_read < 1 {
4153 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4154 _next_ordinal_to_read += 1;
4155 next_offset += envelope_size;
4156 }
4157
4158 let next_out_of_line = decoder.next_out_of_line();
4159 let handles_before = decoder.remaining_handles();
4160 if let Some((inlined, num_bytes, num_handles)) =
4161 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4162 {
4163 let member_inline_size =
4164 <BtCoexistenceMode as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4165 if inlined != (member_inline_size <= 4) {
4166 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4167 }
4168 let inner_offset;
4169 let mut inner_depth = depth.clone();
4170 if inlined {
4171 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4172 inner_offset = next_offset;
4173 } else {
4174 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4175 inner_depth.increment()?;
4176 }
4177 let val_ref =
4178 self.mode.get_or_insert_with(|| fidl::new_empty!(BtCoexistenceMode, D));
4179 fidl::decode!(BtCoexistenceMode, D, val_ref, decoder, inner_offset, inner_depth)?;
4180 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4181 {
4182 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4183 }
4184 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4185 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4186 }
4187 }
4188
4189 next_offset += envelope_size;
4190
4191 while next_offset < end_offset {
4193 _next_ordinal_to_read += 1;
4194 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4195 next_offset += envelope_size;
4196 }
4197
4198 Ok(())
4199 }
4200 }
4201
4202 impl SupplicantStaIfaceGetMacAddressResponse {
4203 #[inline(always)]
4204 fn max_ordinal_present(&self) -> u64 {
4205 if let Some(_) = self.mac_addr {
4206 return 1;
4207 }
4208 0
4209 }
4210 }
4211
4212 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceGetMacAddressResponse {
4213 type Borrowed<'a> = &'a Self;
4214 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4215 value
4216 }
4217 }
4218
4219 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceGetMacAddressResponse {
4220 type Owned = Self;
4221
4222 #[inline(always)]
4223 fn inline_align(_context: fidl::encoding::Context) -> usize {
4224 8
4225 }
4226
4227 #[inline(always)]
4228 fn inline_size(_context: fidl::encoding::Context) -> usize {
4229 16
4230 }
4231 }
4232
4233 unsafe impl<D: fidl::encoding::ResourceDialect>
4234 fidl::encoding::Encode<SupplicantStaIfaceGetMacAddressResponse, D>
4235 for &SupplicantStaIfaceGetMacAddressResponse
4236 {
4237 unsafe fn encode(
4238 self,
4239 encoder: &mut fidl::encoding::Encoder<'_, D>,
4240 offset: usize,
4241 mut depth: fidl::encoding::Depth,
4242 ) -> fidl::Result<()> {
4243 encoder.debug_check_bounds::<SupplicantStaIfaceGetMacAddressResponse>(offset);
4244 let max_ordinal: u64 = self.max_ordinal_present();
4246 encoder.write_num(max_ordinal, offset);
4247 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4248 if max_ordinal == 0 {
4250 return Ok(());
4251 }
4252 depth.increment()?;
4253 let envelope_size = 8;
4254 let bytes_len = max_ordinal as usize * envelope_size;
4255 #[allow(unused_variables)]
4256 let offset = encoder.out_of_line_offset(bytes_len);
4257 let mut _prev_end_offset: usize = 0;
4258 if 1 > max_ordinal {
4259 return Ok(());
4260 }
4261
4262 let cur_offset: usize = (1 - 1) * envelope_size;
4265
4266 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4268
4269 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4274 self.mac_addr
4275 .as_ref()
4276 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4277 encoder,
4278 offset + cur_offset,
4279 depth,
4280 )?;
4281
4282 _prev_end_offset = cur_offset + envelope_size;
4283
4284 Ok(())
4285 }
4286 }
4287
4288 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4289 for SupplicantStaIfaceGetMacAddressResponse
4290 {
4291 #[inline(always)]
4292 fn new_empty() -> Self {
4293 Self::default()
4294 }
4295
4296 unsafe fn decode(
4297 &mut self,
4298 decoder: &mut fidl::encoding::Decoder<'_, D>,
4299 offset: usize,
4300 mut depth: fidl::encoding::Depth,
4301 ) -> fidl::Result<()> {
4302 decoder.debug_check_bounds::<Self>(offset);
4303 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4304 None => return Err(fidl::Error::NotNullable),
4305 Some(len) => len,
4306 };
4307 if len == 0 {
4309 return Ok(());
4310 };
4311 depth.increment()?;
4312 let envelope_size = 8;
4313 let bytes_len = len * envelope_size;
4314 let offset = decoder.out_of_line_offset(bytes_len)?;
4315 let mut _next_ordinal_to_read = 0;
4317 let mut next_offset = offset;
4318 let end_offset = offset + bytes_len;
4319 _next_ordinal_to_read += 1;
4320 if next_offset >= end_offset {
4321 return Ok(());
4322 }
4323
4324 while _next_ordinal_to_read < 1 {
4326 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4327 _next_ordinal_to_read += 1;
4328 next_offset += envelope_size;
4329 }
4330
4331 let next_out_of_line = decoder.next_out_of_line();
4332 let handles_before = decoder.remaining_handles();
4333 if let Some((inlined, num_bytes, num_handles)) =
4334 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4335 {
4336 let member_inline_size =
4337 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4338 decoder.context,
4339 );
4340 if inlined != (member_inline_size <= 4) {
4341 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4342 }
4343 let inner_offset;
4344 let mut inner_depth = depth.clone();
4345 if inlined {
4346 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4347 inner_offset = next_offset;
4348 } else {
4349 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4350 inner_depth.increment()?;
4351 }
4352 let val_ref = self
4353 .mac_addr
4354 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4355 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4356 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4357 {
4358 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4359 }
4360 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4361 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4362 }
4363 }
4364
4365 next_offset += envelope_size;
4366
4367 while next_offset < end_offset {
4369 _next_ordinal_to_read += 1;
4370 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4371 next_offset += envelope_size;
4372 }
4373
4374 Ok(())
4375 }
4376 }
4377
4378 impl SupplicantStaIfaceGetSignalPollResultsResponse {
4379 #[inline(always)]
4380 fn max_ordinal_present(&self) -> u64 {
4381 if let Some(_) = self.frequency_mhz {
4382 return 4;
4383 }
4384 if let Some(_) = self.rx_bitrate_mbps {
4385 return 3;
4386 }
4387 if let Some(_) = self.tx_bitrate_mbps {
4388 return 2;
4389 }
4390 if let Some(_) = self.current_rssi_dbm {
4391 return 1;
4392 }
4393 0
4394 }
4395 }
4396
4397 impl fidl::encoding::ValueTypeMarker for SupplicantStaIfaceGetSignalPollResultsResponse {
4398 type Borrowed<'a> = &'a Self;
4399 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4400 value
4401 }
4402 }
4403
4404 unsafe impl fidl::encoding::TypeMarker for SupplicantStaIfaceGetSignalPollResultsResponse {
4405 type Owned = Self;
4406
4407 #[inline(always)]
4408 fn inline_align(_context: fidl::encoding::Context) -> usize {
4409 8
4410 }
4411
4412 #[inline(always)]
4413 fn inline_size(_context: fidl::encoding::Context) -> usize {
4414 16
4415 }
4416 }
4417
4418 unsafe impl<D: fidl::encoding::ResourceDialect>
4419 fidl::encoding::Encode<SupplicantStaIfaceGetSignalPollResultsResponse, D>
4420 for &SupplicantStaIfaceGetSignalPollResultsResponse
4421 {
4422 unsafe fn encode(
4423 self,
4424 encoder: &mut fidl::encoding::Encoder<'_, D>,
4425 offset: usize,
4426 mut depth: fidl::encoding::Depth,
4427 ) -> fidl::Result<()> {
4428 encoder.debug_check_bounds::<SupplicantStaIfaceGetSignalPollResultsResponse>(offset);
4429 let max_ordinal: u64 = self.max_ordinal_present();
4431 encoder.write_num(max_ordinal, offset);
4432 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4433 if max_ordinal == 0 {
4435 return Ok(());
4436 }
4437 depth.increment()?;
4438 let envelope_size = 8;
4439 let bytes_len = max_ordinal as usize * envelope_size;
4440 #[allow(unused_variables)]
4441 let offset = encoder.out_of_line_offset(bytes_len);
4442 let mut _prev_end_offset: usize = 0;
4443 if 1 > max_ordinal {
4444 return Ok(());
4445 }
4446
4447 let cur_offset: usize = (1 - 1) * envelope_size;
4450
4451 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4453
4454 fidl::encoding::encode_in_envelope_optional::<i32, D>(
4459 self.current_rssi_dbm
4460 .as_ref()
4461 .map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
4462 encoder,
4463 offset + cur_offset,
4464 depth,
4465 )?;
4466
4467 _prev_end_offset = cur_offset + envelope_size;
4468 if 2 > max_ordinal {
4469 return Ok(());
4470 }
4471
4472 let cur_offset: usize = (2 - 1) * envelope_size;
4475
4476 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4478
4479 fidl::encoding::encode_in_envelope_optional::<u32, D>(
4484 self.tx_bitrate_mbps.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
4485 encoder,
4486 offset + cur_offset,
4487 depth,
4488 )?;
4489
4490 _prev_end_offset = cur_offset + envelope_size;
4491 if 3 > max_ordinal {
4492 return Ok(());
4493 }
4494
4495 let cur_offset: usize = (3 - 1) * envelope_size;
4498
4499 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4501
4502 fidl::encoding::encode_in_envelope_optional::<u32, D>(
4507 self.rx_bitrate_mbps.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
4508 encoder,
4509 offset + cur_offset,
4510 depth,
4511 )?;
4512
4513 _prev_end_offset = cur_offset + envelope_size;
4514 if 4 > max_ordinal {
4515 return Ok(());
4516 }
4517
4518 let cur_offset: usize = (4 - 1) * envelope_size;
4521
4522 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4524
4525 fidl::encoding::encode_in_envelope_optional::<u32, D>(
4530 self.frequency_mhz.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
4531 encoder,
4532 offset + cur_offset,
4533 depth,
4534 )?;
4535
4536 _prev_end_offset = cur_offset + envelope_size;
4537
4538 Ok(())
4539 }
4540 }
4541
4542 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4543 for SupplicantStaIfaceGetSignalPollResultsResponse
4544 {
4545 #[inline(always)]
4546 fn new_empty() -> Self {
4547 Self::default()
4548 }
4549
4550 unsafe fn decode(
4551 &mut self,
4552 decoder: &mut fidl::encoding::Decoder<'_, D>,
4553 offset: usize,
4554 mut depth: fidl::encoding::Depth,
4555 ) -> fidl::Result<()> {
4556 decoder.debug_check_bounds::<Self>(offset);
4557 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4558 None => return Err(fidl::Error::NotNullable),
4559 Some(len) => len,
4560 };
4561 if len == 0 {
4563 return Ok(());
4564 };
4565 depth.increment()?;
4566 let envelope_size = 8;
4567 let bytes_len = len * envelope_size;
4568 let offset = decoder.out_of_line_offset(bytes_len)?;
4569 let mut _next_ordinal_to_read = 0;
4571 let mut next_offset = offset;
4572 let end_offset = offset + bytes_len;
4573 _next_ordinal_to_read += 1;
4574 if next_offset >= end_offset {
4575 return Ok(());
4576 }
4577
4578 while _next_ordinal_to_read < 1 {
4580 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4581 _next_ordinal_to_read += 1;
4582 next_offset += envelope_size;
4583 }
4584
4585 let next_out_of_line = decoder.next_out_of_line();
4586 let handles_before = decoder.remaining_handles();
4587 if let Some((inlined, num_bytes, num_handles)) =
4588 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4589 {
4590 let member_inline_size =
4591 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4592 if inlined != (member_inline_size <= 4) {
4593 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4594 }
4595 let inner_offset;
4596 let mut inner_depth = depth.clone();
4597 if inlined {
4598 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4599 inner_offset = next_offset;
4600 } else {
4601 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4602 inner_depth.increment()?;
4603 }
4604 let val_ref = self.current_rssi_dbm.get_or_insert_with(|| fidl::new_empty!(i32, D));
4605 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
4606 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4607 {
4608 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4609 }
4610 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4611 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4612 }
4613 }
4614
4615 next_offset += envelope_size;
4616 _next_ordinal_to_read += 1;
4617 if next_offset >= end_offset {
4618 return Ok(());
4619 }
4620
4621 while _next_ordinal_to_read < 2 {
4623 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4624 _next_ordinal_to_read += 1;
4625 next_offset += envelope_size;
4626 }
4627
4628 let next_out_of_line = decoder.next_out_of_line();
4629 let handles_before = decoder.remaining_handles();
4630 if let Some((inlined, num_bytes, num_handles)) =
4631 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4632 {
4633 let member_inline_size =
4634 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4635 if inlined != (member_inline_size <= 4) {
4636 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4637 }
4638 let inner_offset;
4639 let mut inner_depth = depth.clone();
4640 if inlined {
4641 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4642 inner_offset = next_offset;
4643 } else {
4644 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4645 inner_depth.increment()?;
4646 }
4647 let val_ref = self.tx_bitrate_mbps.get_or_insert_with(|| fidl::new_empty!(u32, D));
4648 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4649 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4650 {
4651 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4652 }
4653 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4654 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4655 }
4656 }
4657
4658 next_offset += envelope_size;
4659 _next_ordinal_to_read += 1;
4660 if next_offset >= end_offset {
4661 return Ok(());
4662 }
4663
4664 while _next_ordinal_to_read < 3 {
4666 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4667 _next_ordinal_to_read += 1;
4668 next_offset += envelope_size;
4669 }
4670
4671 let next_out_of_line = decoder.next_out_of_line();
4672 let handles_before = decoder.remaining_handles();
4673 if let Some((inlined, num_bytes, num_handles)) =
4674 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4675 {
4676 let member_inline_size =
4677 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4678 if inlined != (member_inline_size <= 4) {
4679 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4680 }
4681 let inner_offset;
4682 let mut inner_depth = depth.clone();
4683 if inlined {
4684 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4685 inner_offset = next_offset;
4686 } else {
4687 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4688 inner_depth.increment()?;
4689 }
4690 let val_ref = self.rx_bitrate_mbps.get_or_insert_with(|| fidl::new_empty!(u32, D));
4691 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4692 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4693 {
4694 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4695 }
4696 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4697 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4698 }
4699 }
4700
4701 next_offset += envelope_size;
4702 _next_ordinal_to_read += 1;
4703 if next_offset >= end_offset {
4704 return Ok(());
4705 }
4706
4707 while _next_ordinal_to_read < 4 {
4709 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4710 _next_ordinal_to_read += 1;
4711 next_offset += envelope_size;
4712 }
4713
4714 let next_out_of_line = decoder.next_out_of_line();
4715 let handles_before = decoder.remaining_handles();
4716 if let Some((inlined, num_bytes, num_handles)) =
4717 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4718 {
4719 let member_inline_size =
4720 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4721 if inlined != (member_inline_size <= 4) {
4722 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4723 }
4724 let inner_offset;
4725 let mut inner_depth = depth.clone();
4726 if inlined {
4727 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4728 inner_offset = next_offset;
4729 } else {
4730 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4731 inner_depth.increment()?;
4732 }
4733 let val_ref = self.frequency_mhz.get_or_insert_with(|| fidl::new_empty!(u32, D));
4734 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
4735 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4736 {
4737 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4738 }
4739 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4740 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4741 }
4742 }
4743
4744 next_offset += envelope_size;
4745
4746 while next_offset < end_offset {
4748 _next_ordinal_to_read += 1;
4749 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4750 next_offset += envelope_size;
4751 }
4752
4753 Ok(())
4754 }
4755 }
4756
4757 impl SupplicantStaNetworkSetBssidRequest {
4758 #[inline(always)]
4759 fn max_ordinal_present(&self) -> u64 {
4760 if let Some(_) = self.bssid {
4761 return 1;
4762 }
4763 0
4764 }
4765 }
4766
4767 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetBssidRequest {
4768 type Borrowed<'a> = &'a Self;
4769 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4770 value
4771 }
4772 }
4773
4774 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetBssidRequest {
4775 type Owned = Self;
4776
4777 #[inline(always)]
4778 fn inline_align(_context: fidl::encoding::Context) -> usize {
4779 8
4780 }
4781
4782 #[inline(always)]
4783 fn inline_size(_context: fidl::encoding::Context) -> usize {
4784 16
4785 }
4786 }
4787
4788 unsafe impl<D: fidl::encoding::ResourceDialect>
4789 fidl::encoding::Encode<SupplicantStaNetworkSetBssidRequest, D>
4790 for &SupplicantStaNetworkSetBssidRequest
4791 {
4792 unsafe fn encode(
4793 self,
4794 encoder: &mut fidl::encoding::Encoder<'_, D>,
4795 offset: usize,
4796 mut depth: fidl::encoding::Depth,
4797 ) -> fidl::Result<()> {
4798 encoder.debug_check_bounds::<SupplicantStaNetworkSetBssidRequest>(offset);
4799 let max_ordinal: u64 = self.max_ordinal_present();
4801 encoder.write_num(max_ordinal, offset);
4802 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4803 if max_ordinal == 0 {
4805 return Ok(());
4806 }
4807 depth.increment()?;
4808 let envelope_size = 8;
4809 let bytes_len = max_ordinal as usize * envelope_size;
4810 #[allow(unused_variables)]
4811 let offset = encoder.out_of_line_offset(bytes_len);
4812 let mut _prev_end_offset: usize = 0;
4813 if 1 > max_ordinal {
4814 return Ok(());
4815 }
4816
4817 let cur_offset: usize = (1 - 1) * envelope_size;
4820
4821 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4823
4824 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4829 self.bssid
4830 .as_ref()
4831 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4832 encoder,
4833 offset + cur_offset,
4834 depth,
4835 )?;
4836
4837 _prev_end_offset = cur_offset + envelope_size;
4838
4839 Ok(())
4840 }
4841 }
4842
4843 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4844 for SupplicantStaNetworkSetBssidRequest
4845 {
4846 #[inline(always)]
4847 fn new_empty() -> Self {
4848 Self::default()
4849 }
4850
4851 unsafe fn decode(
4852 &mut self,
4853 decoder: &mut fidl::encoding::Decoder<'_, D>,
4854 offset: usize,
4855 mut depth: fidl::encoding::Depth,
4856 ) -> fidl::Result<()> {
4857 decoder.debug_check_bounds::<Self>(offset);
4858 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4859 None => return Err(fidl::Error::NotNullable),
4860 Some(len) => len,
4861 };
4862 if len == 0 {
4864 return Ok(());
4865 };
4866 depth.increment()?;
4867 let envelope_size = 8;
4868 let bytes_len = len * envelope_size;
4869 let offset = decoder.out_of_line_offset(bytes_len)?;
4870 let mut _next_ordinal_to_read = 0;
4872 let mut next_offset = offset;
4873 let end_offset = offset + bytes_len;
4874 _next_ordinal_to_read += 1;
4875 if next_offset >= end_offset {
4876 return Ok(());
4877 }
4878
4879 while _next_ordinal_to_read < 1 {
4881 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4882 _next_ordinal_to_read += 1;
4883 next_offset += envelope_size;
4884 }
4885
4886 let next_out_of_line = decoder.next_out_of_line();
4887 let handles_before = decoder.remaining_handles();
4888 if let Some((inlined, num_bytes, num_handles)) =
4889 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4890 {
4891 let member_inline_size =
4892 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4893 decoder.context,
4894 );
4895 if inlined != (member_inline_size <= 4) {
4896 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4897 }
4898 let inner_offset;
4899 let mut inner_depth = depth.clone();
4900 if inlined {
4901 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4902 inner_offset = next_offset;
4903 } else {
4904 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4905 inner_depth.increment()?;
4906 }
4907 let val_ref = self
4908 .bssid
4909 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4910 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4911 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4912 {
4913 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4914 }
4915 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4916 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4917 }
4918 }
4919
4920 next_offset += envelope_size;
4921
4922 while next_offset < end_offset {
4924 _next_ordinal_to_read += 1;
4925 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4926 next_offset += envelope_size;
4927 }
4928
4929 Ok(())
4930 }
4931 }
4932
4933 impl SupplicantStaNetworkSetKeyMgmtRequest {
4934 #[inline(always)]
4935 fn max_ordinal_present(&self) -> u64 {
4936 if let Some(_) = self.key_mgmt_mask {
4937 return 1;
4938 }
4939 0
4940 }
4941 }
4942
4943 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetKeyMgmtRequest {
4944 type Borrowed<'a> = &'a Self;
4945 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4946 value
4947 }
4948 }
4949
4950 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetKeyMgmtRequest {
4951 type Owned = Self;
4952
4953 #[inline(always)]
4954 fn inline_align(_context: fidl::encoding::Context) -> usize {
4955 8
4956 }
4957
4958 #[inline(always)]
4959 fn inline_size(_context: fidl::encoding::Context) -> usize {
4960 16
4961 }
4962 }
4963
4964 unsafe impl<D: fidl::encoding::ResourceDialect>
4965 fidl::encoding::Encode<SupplicantStaNetworkSetKeyMgmtRequest, D>
4966 for &SupplicantStaNetworkSetKeyMgmtRequest
4967 {
4968 unsafe fn encode(
4969 self,
4970 encoder: &mut fidl::encoding::Encoder<'_, D>,
4971 offset: usize,
4972 mut depth: fidl::encoding::Depth,
4973 ) -> fidl::Result<()> {
4974 encoder.debug_check_bounds::<SupplicantStaNetworkSetKeyMgmtRequest>(offset);
4975 let max_ordinal: u64 = self.max_ordinal_present();
4977 encoder.write_num(max_ordinal, offset);
4978 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4979 if max_ordinal == 0 {
4981 return Ok(());
4982 }
4983 depth.increment()?;
4984 let envelope_size = 8;
4985 let bytes_len = max_ordinal as usize * envelope_size;
4986 #[allow(unused_variables)]
4987 let offset = encoder.out_of_line_offset(bytes_len);
4988 let mut _prev_end_offset: usize = 0;
4989 if 1 > max_ordinal {
4990 return Ok(());
4991 }
4992
4993 let cur_offset: usize = (1 - 1) * envelope_size;
4996
4997 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4999
5000 fidl::encoding::encode_in_envelope_optional::<KeyMgmtMask, D>(
5005 self.key_mgmt_mask
5006 .as_ref()
5007 .map(<KeyMgmtMask as fidl::encoding::ValueTypeMarker>::borrow),
5008 encoder,
5009 offset + cur_offset,
5010 depth,
5011 )?;
5012
5013 _prev_end_offset = cur_offset + envelope_size;
5014
5015 Ok(())
5016 }
5017 }
5018
5019 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5020 for SupplicantStaNetworkSetKeyMgmtRequest
5021 {
5022 #[inline(always)]
5023 fn new_empty() -> Self {
5024 Self::default()
5025 }
5026
5027 unsafe fn decode(
5028 &mut self,
5029 decoder: &mut fidl::encoding::Decoder<'_, D>,
5030 offset: usize,
5031 mut depth: fidl::encoding::Depth,
5032 ) -> fidl::Result<()> {
5033 decoder.debug_check_bounds::<Self>(offset);
5034 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5035 None => return Err(fidl::Error::NotNullable),
5036 Some(len) => len,
5037 };
5038 if len == 0 {
5040 return Ok(());
5041 };
5042 depth.increment()?;
5043 let envelope_size = 8;
5044 let bytes_len = len * envelope_size;
5045 let offset = decoder.out_of_line_offset(bytes_len)?;
5046 let mut _next_ordinal_to_read = 0;
5048 let mut next_offset = offset;
5049 let end_offset = offset + bytes_len;
5050 _next_ordinal_to_read += 1;
5051 if next_offset >= end_offset {
5052 return Ok(());
5053 }
5054
5055 while _next_ordinal_to_read < 1 {
5057 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5058 _next_ordinal_to_read += 1;
5059 next_offset += envelope_size;
5060 }
5061
5062 let next_out_of_line = decoder.next_out_of_line();
5063 let handles_before = decoder.remaining_handles();
5064 if let Some((inlined, num_bytes, num_handles)) =
5065 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5066 {
5067 let member_inline_size =
5068 <KeyMgmtMask as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5069 if inlined != (member_inline_size <= 4) {
5070 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5071 }
5072 let inner_offset;
5073 let mut inner_depth = depth.clone();
5074 if inlined {
5075 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5076 inner_offset = next_offset;
5077 } else {
5078 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5079 inner_depth.increment()?;
5080 }
5081 let val_ref =
5082 self.key_mgmt_mask.get_or_insert_with(|| fidl::new_empty!(KeyMgmtMask, D));
5083 fidl::decode!(KeyMgmtMask, D, val_ref, decoder, inner_offset, inner_depth)?;
5084 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5085 {
5086 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5087 }
5088 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5089 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5090 }
5091 }
5092
5093 next_offset += envelope_size;
5094
5095 while next_offset < end_offset {
5097 _next_ordinal_to_read += 1;
5098 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5099 next_offset += envelope_size;
5100 }
5101
5102 Ok(())
5103 }
5104 }
5105
5106 impl SupplicantStaNetworkSetPskPassphraseRequest {
5107 #[inline(always)]
5108 fn max_ordinal_present(&self) -> u64 {
5109 if let Some(_) = self.passphrase {
5110 return 1;
5111 }
5112 0
5113 }
5114 }
5115
5116 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetPskPassphraseRequest {
5117 type Borrowed<'a> = &'a Self;
5118 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5119 value
5120 }
5121 }
5122
5123 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetPskPassphraseRequest {
5124 type Owned = Self;
5125
5126 #[inline(always)]
5127 fn inline_align(_context: fidl::encoding::Context) -> usize {
5128 8
5129 }
5130
5131 #[inline(always)]
5132 fn inline_size(_context: fidl::encoding::Context) -> usize {
5133 16
5134 }
5135 }
5136
5137 unsafe impl<D: fidl::encoding::ResourceDialect>
5138 fidl::encoding::Encode<SupplicantStaNetworkSetPskPassphraseRequest, D>
5139 for &SupplicantStaNetworkSetPskPassphraseRequest
5140 {
5141 unsafe fn encode(
5142 self,
5143 encoder: &mut fidl::encoding::Encoder<'_, D>,
5144 offset: usize,
5145 mut depth: fidl::encoding::Depth,
5146 ) -> fidl::Result<()> {
5147 encoder.debug_check_bounds::<SupplicantStaNetworkSetPskPassphraseRequest>(offset);
5148 let max_ordinal: u64 = self.max_ordinal_present();
5150 encoder.write_num(max_ordinal, offset);
5151 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5152 if max_ordinal == 0 {
5154 return Ok(());
5155 }
5156 depth.increment()?;
5157 let envelope_size = 8;
5158 let bytes_len = max_ordinal as usize * envelope_size;
5159 #[allow(unused_variables)]
5160 let offset = encoder.out_of_line_offset(bytes_len);
5161 let mut _prev_end_offset: usize = 0;
5162 if 1 > max_ordinal {
5163 return Ok(());
5164 }
5165
5166 let cur_offset: usize = (1 - 1) * envelope_size;
5169
5170 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5172
5173 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
5178 self.passphrase.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
5179 encoder, offset + cur_offset, depth
5180 )?;
5181
5182 _prev_end_offset = cur_offset + envelope_size;
5183
5184 Ok(())
5185 }
5186 }
5187
5188 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5189 for SupplicantStaNetworkSetPskPassphraseRequest
5190 {
5191 #[inline(always)]
5192 fn new_empty() -> Self {
5193 Self::default()
5194 }
5195
5196 unsafe fn decode(
5197 &mut self,
5198 decoder: &mut fidl::encoding::Decoder<'_, D>,
5199 offset: usize,
5200 mut depth: fidl::encoding::Depth,
5201 ) -> fidl::Result<()> {
5202 decoder.debug_check_bounds::<Self>(offset);
5203 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5204 None => return Err(fidl::Error::NotNullable),
5205 Some(len) => len,
5206 };
5207 if len == 0 {
5209 return Ok(());
5210 };
5211 depth.increment()?;
5212 let envelope_size = 8;
5213 let bytes_len = len * envelope_size;
5214 let offset = decoder.out_of_line_offset(bytes_len)?;
5215 let mut _next_ordinal_to_read = 0;
5217 let mut next_offset = offset;
5218 let end_offset = offset + bytes_len;
5219 _next_ordinal_to_read += 1;
5220 if next_offset >= end_offset {
5221 return Ok(());
5222 }
5223
5224 while _next_ordinal_to_read < 1 {
5226 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5227 _next_ordinal_to_read += 1;
5228 next_offset += envelope_size;
5229 }
5230
5231 let next_out_of_line = decoder.next_out_of_line();
5232 let handles_before = decoder.remaining_handles();
5233 if let Some((inlined, num_bytes, num_handles)) =
5234 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5235 {
5236 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5237 if inlined != (member_inline_size <= 4) {
5238 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5239 }
5240 let inner_offset;
5241 let mut inner_depth = depth.clone();
5242 if inlined {
5243 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5244 inner_offset = next_offset;
5245 } else {
5246 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5247 inner_depth.increment()?;
5248 }
5249 let val_ref = self.passphrase.get_or_insert_with(|| {
5250 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
5251 });
5252 fidl::decode!(
5253 fidl::encoding::UnboundedVector<u8>,
5254 D,
5255 val_ref,
5256 decoder,
5257 inner_offset,
5258 inner_depth
5259 )?;
5260 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5261 {
5262 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5263 }
5264 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5265 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5266 }
5267 }
5268
5269 next_offset += envelope_size;
5270
5271 while next_offset < end_offset {
5273 _next_ordinal_to_read += 1;
5274 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5275 next_offset += envelope_size;
5276 }
5277
5278 Ok(())
5279 }
5280 }
5281
5282 impl SupplicantStaNetworkSetSaePasswordRequest {
5283 #[inline(always)]
5284 fn max_ordinal_present(&self) -> u64 {
5285 if let Some(_) = self.password {
5286 return 1;
5287 }
5288 0
5289 }
5290 }
5291
5292 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetSaePasswordRequest {
5293 type Borrowed<'a> = &'a Self;
5294 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5295 value
5296 }
5297 }
5298
5299 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetSaePasswordRequest {
5300 type Owned = Self;
5301
5302 #[inline(always)]
5303 fn inline_align(_context: fidl::encoding::Context) -> usize {
5304 8
5305 }
5306
5307 #[inline(always)]
5308 fn inline_size(_context: fidl::encoding::Context) -> usize {
5309 16
5310 }
5311 }
5312
5313 unsafe impl<D: fidl::encoding::ResourceDialect>
5314 fidl::encoding::Encode<SupplicantStaNetworkSetSaePasswordRequest, D>
5315 for &SupplicantStaNetworkSetSaePasswordRequest
5316 {
5317 unsafe fn encode(
5318 self,
5319 encoder: &mut fidl::encoding::Encoder<'_, D>,
5320 offset: usize,
5321 mut depth: fidl::encoding::Depth,
5322 ) -> fidl::Result<()> {
5323 encoder.debug_check_bounds::<SupplicantStaNetworkSetSaePasswordRequest>(offset);
5324 let max_ordinal: u64 = self.max_ordinal_present();
5326 encoder.write_num(max_ordinal, offset);
5327 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5328 if max_ordinal == 0 {
5330 return Ok(());
5331 }
5332 depth.increment()?;
5333 let envelope_size = 8;
5334 let bytes_len = max_ordinal as usize * envelope_size;
5335 #[allow(unused_variables)]
5336 let offset = encoder.out_of_line_offset(bytes_len);
5337 let mut _prev_end_offset: usize = 0;
5338 if 1 > max_ordinal {
5339 return Ok(());
5340 }
5341
5342 let cur_offset: usize = (1 - 1) * envelope_size;
5345
5346 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5348
5349 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
5354 self.password.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
5355 encoder, offset + cur_offset, depth
5356 )?;
5357
5358 _prev_end_offset = cur_offset + envelope_size;
5359
5360 Ok(())
5361 }
5362 }
5363
5364 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5365 for SupplicantStaNetworkSetSaePasswordRequest
5366 {
5367 #[inline(always)]
5368 fn new_empty() -> Self {
5369 Self::default()
5370 }
5371
5372 unsafe fn decode(
5373 &mut self,
5374 decoder: &mut fidl::encoding::Decoder<'_, D>,
5375 offset: usize,
5376 mut depth: fidl::encoding::Depth,
5377 ) -> fidl::Result<()> {
5378 decoder.debug_check_bounds::<Self>(offset);
5379 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5380 None => return Err(fidl::Error::NotNullable),
5381 Some(len) => len,
5382 };
5383 if len == 0 {
5385 return Ok(());
5386 };
5387 depth.increment()?;
5388 let envelope_size = 8;
5389 let bytes_len = len * envelope_size;
5390 let offset = decoder.out_of_line_offset(bytes_len)?;
5391 let mut _next_ordinal_to_read = 0;
5393 let mut next_offset = offset;
5394 let end_offset = offset + bytes_len;
5395 _next_ordinal_to_read += 1;
5396 if next_offset >= end_offset {
5397 return Ok(());
5398 }
5399
5400 while _next_ordinal_to_read < 1 {
5402 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5403 _next_ordinal_to_read += 1;
5404 next_offset += envelope_size;
5405 }
5406
5407 let next_out_of_line = decoder.next_out_of_line();
5408 let handles_before = decoder.remaining_handles();
5409 if let Some((inlined, num_bytes, num_handles)) =
5410 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5411 {
5412 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5413 if inlined != (member_inline_size <= 4) {
5414 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5415 }
5416 let inner_offset;
5417 let mut inner_depth = depth.clone();
5418 if inlined {
5419 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5420 inner_offset = next_offset;
5421 } else {
5422 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5423 inner_depth.increment()?;
5424 }
5425 let val_ref = self.password.get_or_insert_with(|| {
5426 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
5427 });
5428 fidl::decode!(
5429 fidl::encoding::UnboundedVector<u8>,
5430 D,
5431 val_ref,
5432 decoder,
5433 inner_offset,
5434 inner_depth
5435 )?;
5436 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5437 {
5438 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5439 }
5440 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5441 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5442 }
5443 }
5444
5445 next_offset += envelope_size;
5446
5447 while next_offset < end_offset {
5449 _next_ordinal_to_read += 1;
5450 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5451 next_offset += envelope_size;
5452 }
5453
5454 Ok(())
5455 }
5456 }
5457
5458 impl SupplicantStaNetworkSetSsidRequest {
5459 #[inline(always)]
5460 fn max_ordinal_present(&self) -> u64 {
5461 if let Some(_) = self.ssid {
5462 return 1;
5463 }
5464 0
5465 }
5466 }
5467
5468 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetSsidRequest {
5469 type Borrowed<'a> = &'a Self;
5470 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5471 value
5472 }
5473 }
5474
5475 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetSsidRequest {
5476 type Owned = Self;
5477
5478 #[inline(always)]
5479 fn inline_align(_context: fidl::encoding::Context) -> usize {
5480 8
5481 }
5482
5483 #[inline(always)]
5484 fn inline_size(_context: fidl::encoding::Context) -> usize {
5485 16
5486 }
5487 }
5488
5489 unsafe impl<D: fidl::encoding::ResourceDialect>
5490 fidl::encoding::Encode<SupplicantStaNetworkSetSsidRequest, D>
5491 for &SupplicantStaNetworkSetSsidRequest
5492 {
5493 unsafe fn encode(
5494 self,
5495 encoder: &mut fidl::encoding::Encoder<'_, D>,
5496 offset: usize,
5497 mut depth: fidl::encoding::Depth,
5498 ) -> fidl::Result<()> {
5499 encoder.debug_check_bounds::<SupplicantStaNetworkSetSsidRequest>(offset);
5500 let max_ordinal: u64 = self.max_ordinal_present();
5502 encoder.write_num(max_ordinal, offset);
5503 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5504 if max_ordinal == 0 {
5506 return Ok(());
5507 }
5508 depth.increment()?;
5509 let envelope_size = 8;
5510 let bytes_len = max_ordinal as usize * envelope_size;
5511 #[allow(unused_variables)]
5512 let offset = encoder.out_of_line_offset(bytes_len);
5513 let mut _prev_end_offset: usize = 0;
5514 if 1 > max_ordinal {
5515 return Ok(());
5516 }
5517
5518 let cur_offset: usize = (1 - 1) * envelope_size;
5521
5522 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5524
5525 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<u8, 32>, D>(
5530 self.ssid.as_ref().map(
5531 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow,
5532 ),
5533 encoder,
5534 offset + cur_offset,
5535 depth,
5536 )?;
5537
5538 _prev_end_offset = cur_offset + envelope_size;
5539
5540 Ok(())
5541 }
5542 }
5543
5544 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5545 for SupplicantStaNetworkSetSsidRequest
5546 {
5547 #[inline(always)]
5548 fn new_empty() -> Self {
5549 Self::default()
5550 }
5551
5552 unsafe fn decode(
5553 &mut self,
5554 decoder: &mut fidl::encoding::Decoder<'_, D>,
5555 offset: usize,
5556 mut depth: fidl::encoding::Depth,
5557 ) -> fidl::Result<()> {
5558 decoder.debug_check_bounds::<Self>(offset);
5559 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5560 None => return Err(fidl::Error::NotNullable),
5561 Some(len) => len,
5562 };
5563 if len == 0 {
5565 return Ok(());
5566 };
5567 depth.increment()?;
5568 let envelope_size = 8;
5569 let bytes_len = len * envelope_size;
5570 let offset = decoder.out_of_line_offset(bytes_len)?;
5571 let mut _next_ordinal_to_read = 0;
5573 let mut next_offset = offset;
5574 let end_offset = offset + bytes_len;
5575 _next_ordinal_to_read += 1;
5576 if next_offset >= end_offset {
5577 return Ok(());
5578 }
5579
5580 while _next_ordinal_to_read < 1 {
5582 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5583 _next_ordinal_to_read += 1;
5584 next_offset += envelope_size;
5585 }
5586
5587 let next_out_of_line = decoder.next_out_of_line();
5588 let handles_before = decoder.remaining_handles();
5589 if let Some((inlined, num_bytes, num_handles)) =
5590 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5591 {
5592 let member_inline_size =
5593 <fidl::encoding::Vector<u8, 32> as fidl::encoding::TypeMarker>::inline_size(
5594 decoder.context,
5595 );
5596 if inlined != (member_inline_size <= 4) {
5597 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5598 }
5599 let inner_offset;
5600 let mut inner_depth = depth.clone();
5601 if inlined {
5602 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5603 inner_offset = next_offset;
5604 } else {
5605 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5606 inner_depth.increment()?;
5607 }
5608 let val_ref = self
5609 .ssid
5610 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D));
5611 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, val_ref, decoder, inner_offset, inner_depth)?;
5612 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5613 {
5614 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5615 }
5616 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5617 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5618 }
5619 }
5620
5621 next_offset += envelope_size;
5622
5623 while next_offset < end_offset {
5625 _next_ordinal_to_read += 1;
5626 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5627 next_offset += envelope_size;
5628 }
5629
5630 Ok(())
5631 }
5632 }
5633
5634 impl SupplicantStaNetworkSetWepKeyRequest {
5635 #[inline(always)]
5636 fn max_ordinal_present(&self) -> u64 {
5637 if let Some(_) = self.key_idx {
5638 return 2;
5639 }
5640 if let Some(_) = self.key {
5641 return 1;
5642 }
5643 0
5644 }
5645 }
5646
5647 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetWepKeyRequest {
5648 type Borrowed<'a> = &'a Self;
5649 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5650 value
5651 }
5652 }
5653
5654 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetWepKeyRequest {
5655 type Owned = Self;
5656
5657 #[inline(always)]
5658 fn inline_align(_context: fidl::encoding::Context) -> usize {
5659 8
5660 }
5661
5662 #[inline(always)]
5663 fn inline_size(_context: fidl::encoding::Context) -> usize {
5664 16
5665 }
5666 }
5667
5668 unsafe impl<D: fidl::encoding::ResourceDialect>
5669 fidl::encoding::Encode<SupplicantStaNetworkSetWepKeyRequest, D>
5670 for &SupplicantStaNetworkSetWepKeyRequest
5671 {
5672 unsafe fn encode(
5673 self,
5674 encoder: &mut fidl::encoding::Encoder<'_, D>,
5675 offset: usize,
5676 mut depth: fidl::encoding::Depth,
5677 ) -> fidl::Result<()> {
5678 encoder.debug_check_bounds::<SupplicantStaNetworkSetWepKeyRequest>(offset);
5679 let max_ordinal: u64 = self.max_ordinal_present();
5681 encoder.write_num(max_ordinal, offset);
5682 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5683 if max_ordinal == 0 {
5685 return Ok(());
5686 }
5687 depth.increment()?;
5688 let envelope_size = 8;
5689 let bytes_len = max_ordinal as usize * envelope_size;
5690 #[allow(unused_variables)]
5691 let offset = encoder.out_of_line_offset(bytes_len);
5692 let mut _prev_end_offset: usize = 0;
5693 if 1 > max_ordinal {
5694 return Ok(());
5695 }
5696
5697 let cur_offset: usize = (1 - 1) * envelope_size;
5700
5701 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5703
5704 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
5709 self.key.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
5710 encoder, offset + cur_offset, depth
5711 )?;
5712
5713 _prev_end_offset = cur_offset + envelope_size;
5714 if 2 > max_ordinal {
5715 return Ok(());
5716 }
5717
5718 let cur_offset: usize = (2 - 1) * envelope_size;
5721
5722 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5724
5725 fidl::encoding::encode_in_envelope_optional::<i32, D>(
5730 self.key_idx.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
5731 encoder,
5732 offset + cur_offset,
5733 depth,
5734 )?;
5735
5736 _prev_end_offset = cur_offset + envelope_size;
5737
5738 Ok(())
5739 }
5740 }
5741
5742 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5743 for SupplicantStaNetworkSetWepKeyRequest
5744 {
5745 #[inline(always)]
5746 fn new_empty() -> Self {
5747 Self::default()
5748 }
5749
5750 unsafe fn decode(
5751 &mut self,
5752 decoder: &mut fidl::encoding::Decoder<'_, D>,
5753 offset: usize,
5754 mut depth: fidl::encoding::Depth,
5755 ) -> fidl::Result<()> {
5756 decoder.debug_check_bounds::<Self>(offset);
5757 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5758 None => return Err(fidl::Error::NotNullable),
5759 Some(len) => len,
5760 };
5761 if len == 0 {
5763 return Ok(());
5764 };
5765 depth.increment()?;
5766 let envelope_size = 8;
5767 let bytes_len = len * envelope_size;
5768 let offset = decoder.out_of_line_offset(bytes_len)?;
5769 let mut _next_ordinal_to_read = 0;
5771 let mut next_offset = offset;
5772 let end_offset = offset + bytes_len;
5773 _next_ordinal_to_read += 1;
5774 if next_offset >= end_offset {
5775 return Ok(());
5776 }
5777
5778 while _next_ordinal_to_read < 1 {
5780 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5781 _next_ordinal_to_read += 1;
5782 next_offset += envelope_size;
5783 }
5784
5785 let next_out_of_line = decoder.next_out_of_line();
5786 let handles_before = decoder.remaining_handles();
5787 if let Some((inlined, num_bytes, num_handles)) =
5788 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5789 {
5790 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5791 if inlined != (member_inline_size <= 4) {
5792 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5793 }
5794 let inner_offset;
5795 let mut inner_depth = depth.clone();
5796 if inlined {
5797 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5798 inner_offset = next_offset;
5799 } else {
5800 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5801 inner_depth.increment()?;
5802 }
5803 let val_ref = self.key.get_or_insert_with(|| {
5804 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
5805 });
5806 fidl::decode!(
5807 fidl::encoding::UnboundedVector<u8>,
5808 D,
5809 val_ref,
5810 decoder,
5811 inner_offset,
5812 inner_depth
5813 )?;
5814 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5815 {
5816 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5817 }
5818 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5819 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5820 }
5821 }
5822
5823 next_offset += envelope_size;
5824 _next_ordinal_to_read += 1;
5825 if next_offset >= end_offset {
5826 return Ok(());
5827 }
5828
5829 while _next_ordinal_to_read < 2 {
5831 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5832 _next_ordinal_to_read += 1;
5833 next_offset += envelope_size;
5834 }
5835
5836 let next_out_of_line = decoder.next_out_of_line();
5837 let handles_before = decoder.remaining_handles();
5838 if let Some((inlined, num_bytes, num_handles)) =
5839 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5840 {
5841 let member_inline_size =
5842 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5843 if inlined != (member_inline_size <= 4) {
5844 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5845 }
5846 let inner_offset;
5847 let mut inner_depth = depth.clone();
5848 if inlined {
5849 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5850 inner_offset = next_offset;
5851 } else {
5852 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5853 inner_depth.increment()?;
5854 }
5855 let val_ref = self.key_idx.get_or_insert_with(|| fidl::new_empty!(i32, D));
5856 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
5857 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5858 {
5859 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5860 }
5861 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5862 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5863 }
5864 }
5865
5866 next_offset += envelope_size;
5867
5868 while next_offset < end_offset {
5870 _next_ordinal_to_read += 1;
5871 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5872 next_offset += envelope_size;
5873 }
5874
5875 Ok(())
5876 }
5877 }
5878
5879 impl SupplicantStaNetworkSetWepTxKeyIdxRequest {
5880 #[inline(always)]
5881 fn max_ordinal_present(&self) -> u64 {
5882 if let Some(_) = self.key_idx {
5883 return 1;
5884 }
5885 0
5886 }
5887 }
5888
5889 impl fidl::encoding::ValueTypeMarker for SupplicantStaNetworkSetWepTxKeyIdxRequest {
5890 type Borrowed<'a> = &'a Self;
5891 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5892 value
5893 }
5894 }
5895
5896 unsafe impl fidl::encoding::TypeMarker for SupplicantStaNetworkSetWepTxKeyIdxRequest {
5897 type Owned = Self;
5898
5899 #[inline(always)]
5900 fn inline_align(_context: fidl::encoding::Context) -> usize {
5901 8
5902 }
5903
5904 #[inline(always)]
5905 fn inline_size(_context: fidl::encoding::Context) -> usize {
5906 16
5907 }
5908 }
5909
5910 unsafe impl<D: fidl::encoding::ResourceDialect>
5911 fidl::encoding::Encode<SupplicantStaNetworkSetWepTxKeyIdxRequest, D>
5912 for &SupplicantStaNetworkSetWepTxKeyIdxRequest
5913 {
5914 unsafe fn encode(
5915 self,
5916 encoder: &mut fidl::encoding::Encoder<'_, D>,
5917 offset: usize,
5918 mut depth: fidl::encoding::Depth,
5919 ) -> fidl::Result<()> {
5920 encoder.debug_check_bounds::<SupplicantStaNetworkSetWepTxKeyIdxRequest>(offset);
5921 let max_ordinal: u64 = self.max_ordinal_present();
5923 encoder.write_num(max_ordinal, offset);
5924 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5925 if max_ordinal == 0 {
5927 return Ok(());
5928 }
5929 depth.increment()?;
5930 let envelope_size = 8;
5931 let bytes_len = max_ordinal as usize * envelope_size;
5932 #[allow(unused_variables)]
5933 let offset = encoder.out_of_line_offset(bytes_len);
5934 let mut _prev_end_offset: usize = 0;
5935 if 1 > max_ordinal {
5936 return Ok(());
5937 }
5938
5939 let cur_offset: usize = (1 - 1) * envelope_size;
5942
5943 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5945
5946 fidl::encoding::encode_in_envelope_optional::<i32, D>(
5951 self.key_idx.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
5952 encoder,
5953 offset + cur_offset,
5954 depth,
5955 )?;
5956
5957 _prev_end_offset = cur_offset + envelope_size;
5958
5959 Ok(())
5960 }
5961 }
5962
5963 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5964 for SupplicantStaNetworkSetWepTxKeyIdxRequest
5965 {
5966 #[inline(always)]
5967 fn new_empty() -> Self {
5968 Self::default()
5969 }
5970
5971 unsafe fn decode(
5972 &mut self,
5973 decoder: &mut fidl::encoding::Decoder<'_, D>,
5974 offset: usize,
5975 mut depth: fidl::encoding::Depth,
5976 ) -> fidl::Result<()> {
5977 decoder.debug_check_bounds::<Self>(offset);
5978 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5979 None => return Err(fidl::Error::NotNullable),
5980 Some(len) => len,
5981 };
5982 if len == 0 {
5984 return Ok(());
5985 };
5986 depth.increment()?;
5987 let envelope_size = 8;
5988 let bytes_len = len * envelope_size;
5989 let offset = decoder.out_of_line_offset(bytes_len)?;
5990 let mut _next_ordinal_to_read = 0;
5992 let mut next_offset = offset;
5993 let end_offset = offset + bytes_len;
5994 _next_ordinal_to_read += 1;
5995 if next_offset >= end_offset {
5996 return Ok(());
5997 }
5998
5999 while _next_ordinal_to_read < 1 {
6001 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6002 _next_ordinal_to_read += 1;
6003 next_offset += envelope_size;
6004 }
6005
6006 let next_out_of_line = decoder.next_out_of_line();
6007 let handles_before = decoder.remaining_handles();
6008 if let Some((inlined, num_bytes, num_handles)) =
6009 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6010 {
6011 let member_inline_size =
6012 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6013 if inlined != (member_inline_size <= 4) {
6014 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6015 }
6016 let inner_offset;
6017 let mut inner_depth = depth.clone();
6018 if inlined {
6019 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6020 inner_offset = next_offset;
6021 } else {
6022 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6023 inner_depth.increment()?;
6024 }
6025 let val_ref = self.key_idx.get_or_insert_with(|| fidl::new_empty!(i32, D));
6026 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
6027 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6028 {
6029 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6030 }
6031 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6032 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6033 }
6034 }
6035
6036 next_offset += envelope_size;
6037
6038 while next_offset < end_offset {
6040 _next_ordinal_to_read += 1;
6041 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6042 next_offset += envelope_size;
6043 }
6044
6045 Ok(())
6046 }
6047 }
6048
6049 impl WifiChipGetAvailableModesResponse {
6050 #[inline(always)]
6051 fn max_ordinal_present(&self) -> u64 {
6052 if let Some(_) = self.chip_modes {
6053 return 1;
6054 }
6055 0
6056 }
6057 }
6058
6059 impl fidl::encoding::ValueTypeMarker for WifiChipGetAvailableModesResponse {
6060 type Borrowed<'a> = &'a Self;
6061 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6062 value
6063 }
6064 }
6065
6066 unsafe impl fidl::encoding::TypeMarker for WifiChipGetAvailableModesResponse {
6067 type Owned = Self;
6068
6069 #[inline(always)]
6070 fn inline_align(_context: fidl::encoding::Context) -> usize {
6071 8
6072 }
6073
6074 #[inline(always)]
6075 fn inline_size(_context: fidl::encoding::Context) -> usize {
6076 16
6077 }
6078 }
6079
6080 unsafe impl<D: fidl::encoding::ResourceDialect>
6081 fidl::encoding::Encode<WifiChipGetAvailableModesResponse, D>
6082 for &WifiChipGetAvailableModesResponse
6083 {
6084 unsafe fn encode(
6085 self,
6086 encoder: &mut fidl::encoding::Encoder<'_, D>,
6087 offset: usize,
6088 mut depth: fidl::encoding::Depth,
6089 ) -> fidl::Result<()> {
6090 encoder.debug_check_bounds::<WifiChipGetAvailableModesResponse>(offset);
6091 let max_ordinal: u64 = self.max_ordinal_present();
6093 encoder.write_num(max_ordinal, offset);
6094 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6095 if max_ordinal == 0 {
6097 return Ok(());
6098 }
6099 depth.increment()?;
6100 let envelope_size = 8;
6101 let bytes_len = max_ordinal as usize * envelope_size;
6102 #[allow(unused_variables)]
6103 let offset = encoder.out_of_line_offset(bytes_len);
6104 let mut _prev_end_offset: usize = 0;
6105 if 1 > max_ordinal {
6106 return Ok(());
6107 }
6108
6109 let cur_offset: usize = (1 - 1) * envelope_size;
6112
6113 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6115
6116 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<ChipMode>, D>(
6121 self.chip_modes.as_ref().map(<fidl::encoding::UnboundedVector<ChipMode> as fidl::encoding::ValueTypeMarker>::borrow),
6122 encoder, offset + cur_offset, depth
6123 )?;
6124
6125 _prev_end_offset = cur_offset + envelope_size;
6126
6127 Ok(())
6128 }
6129 }
6130
6131 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6132 for WifiChipGetAvailableModesResponse
6133 {
6134 #[inline(always)]
6135 fn new_empty() -> Self {
6136 Self::default()
6137 }
6138
6139 unsafe fn decode(
6140 &mut self,
6141 decoder: &mut fidl::encoding::Decoder<'_, D>,
6142 offset: usize,
6143 mut depth: fidl::encoding::Depth,
6144 ) -> fidl::Result<()> {
6145 decoder.debug_check_bounds::<Self>(offset);
6146 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6147 None => return Err(fidl::Error::NotNullable),
6148 Some(len) => len,
6149 };
6150 if len == 0 {
6152 return Ok(());
6153 };
6154 depth.increment()?;
6155 let envelope_size = 8;
6156 let bytes_len = len * envelope_size;
6157 let offset = decoder.out_of_line_offset(bytes_len)?;
6158 let mut _next_ordinal_to_read = 0;
6160 let mut next_offset = offset;
6161 let end_offset = offset + bytes_len;
6162 _next_ordinal_to_read += 1;
6163 if next_offset >= end_offset {
6164 return Ok(());
6165 }
6166
6167 while _next_ordinal_to_read < 1 {
6169 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6170 _next_ordinal_to_read += 1;
6171 next_offset += envelope_size;
6172 }
6173
6174 let next_out_of_line = decoder.next_out_of_line();
6175 let handles_before = decoder.remaining_handles();
6176 if let Some((inlined, num_bytes, num_handles)) =
6177 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6178 {
6179 let member_inline_size = <fidl::encoding::UnboundedVector<ChipMode> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6180 if inlined != (member_inline_size <= 4) {
6181 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6182 }
6183 let inner_offset;
6184 let mut inner_depth = depth.clone();
6185 if inlined {
6186 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6187 inner_offset = next_offset;
6188 } else {
6189 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6190 inner_depth.increment()?;
6191 }
6192 let val_ref = self.chip_modes.get_or_insert_with(|| {
6193 fidl::new_empty!(fidl::encoding::UnboundedVector<ChipMode>, D)
6194 });
6195 fidl::decode!(
6196 fidl::encoding::UnboundedVector<ChipMode>,
6197 D,
6198 val_ref,
6199 decoder,
6200 inner_offset,
6201 inner_depth
6202 )?;
6203 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6204 {
6205 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6206 }
6207 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6208 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6209 }
6210 }
6211
6212 next_offset += envelope_size;
6213
6214 while next_offset < end_offset {
6216 _next_ordinal_to_read += 1;
6217 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6218 next_offset += envelope_size;
6219 }
6220
6221 Ok(())
6222 }
6223 }
6224
6225 impl WifiChipGetCapabilitiesResponse {
6226 #[inline(always)]
6227 fn max_ordinal_present(&self) -> u64 {
6228 if let Some(_) = self.capabilities_mask {
6229 return 1;
6230 }
6231 0
6232 }
6233 }
6234
6235 impl fidl::encoding::ValueTypeMarker for WifiChipGetCapabilitiesResponse {
6236 type Borrowed<'a> = &'a Self;
6237 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6238 value
6239 }
6240 }
6241
6242 unsafe impl fidl::encoding::TypeMarker for WifiChipGetCapabilitiesResponse {
6243 type Owned = Self;
6244
6245 #[inline(always)]
6246 fn inline_align(_context: fidl::encoding::Context) -> usize {
6247 8
6248 }
6249
6250 #[inline(always)]
6251 fn inline_size(_context: fidl::encoding::Context) -> usize {
6252 16
6253 }
6254 }
6255
6256 unsafe impl<D: fidl::encoding::ResourceDialect>
6257 fidl::encoding::Encode<WifiChipGetCapabilitiesResponse, D>
6258 for &WifiChipGetCapabilitiesResponse
6259 {
6260 unsafe fn encode(
6261 self,
6262 encoder: &mut fidl::encoding::Encoder<'_, D>,
6263 offset: usize,
6264 mut depth: fidl::encoding::Depth,
6265 ) -> fidl::Result<()> {
6266 encoder.debug_check_bounds::<WifiChipGetCapabilitiesResponse>(offset);
6267 let max_ordinal: u64 = self.max_ordinal_present();
6269 encoder.write_num(max_ordinal, offset);
6270 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6271 if max_ordinal == 0 {
6273 return Ok(());
6274 }
6275 depth.increment()?;
6276 let envelope_size = 8;
6277 let bytes_len = max_ordinal as usize * envelope_size;
6278 #[allow(unused_variables)]
6279 let offset = encoder.out_of_line_offset(bytes_len);
6280 let mut _prev_end_offset: usize = 0;
6281 if 1 > max_ordinal {
6282 return Ok(());
6283 }
6284
6285 let cur_offset: usize = (1 - 1) * envelope_size;
6288
6289 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6291
6292 fidl::encoding::encode_in_envelope_optional::<u32, D>(
6297 self.capabilities_mask
6298 .as_ref()
6299 .map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
6300 encoder,
6301 offset + cur_offset,
6302 depth,
6303 )?;
6304
6305 _prev_end_offset = cur_offset + envelope_size;
6306
6307 Ok(())
6308 }
6309 }
6310
6311 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6312 for WifiChipGetCapabilitiesResponse
6313 {
6314 #[inline(always)]
6315 fn new_empty() -> Self {
6316 Self::default()
6317 }
6318
6319 unsafe fn decode(
6320 &mut self,
6321 decoder: &mut fidl::encoding::Decoder<'_, D>,
6322 offset: usize,
6323 mut depth: fidl::encoding::Depth,
6324 ) -> fidl::Result<()> {
6325 decoder.debug_check_bounds::<Self>(offset);
6326 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6327 None => return Err(fidl::Error::NotNullable),
6328 Some(len) => len,
6329 };
6330 if len == 0 {
6332 return Ok(());
6333 };
6334 depth.increment()?;
6335 let envelope_size = 8;
6336 let bytes_len = len * envelope_size;
6337 let offset = decoder.out_of_line_offset(bytes_len)?;
6338 let mut _next_ordinal_to_read = 0;
6340 let mut next_offset = offset;
6341 let end_offset = offset + bytes_len;
6342 _next_ordinal_to_read += 1;
6343 if next_offset >= end_offset {
6344 return Ok(());
6345 }
6346
6347 while _next_ordinal_to_read < 1 {
6349 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6350 _next_ordinal_to_read += 1;
6351 next_offset += envelope_size;
6352 }
6353
6354 let next_out_of_line = decoder.next_out_of_line();
6355 let handles_before = decoder.remaining_handles();
6356 if let Some((inlined, num_bytes, num_handles)) =
6357 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6358 {
6359 let member_inline_size =
6360 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6361 if inlined != (member_inline_size <= 4) {
6362 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6363 }
6364 let inner_offset;
6365 let mut inner_depth = depth.clone();
6366 if inlined {
6367 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6368 inner_offset = next_offset;
6369 } else {
6370 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6371 inner_depth.increment()?;
6372 }
6373 let val_ref =
6374 self.capabilities_mask.get_or_insert_with(|| fidl::new_empty!(u32, D));
6375 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
6376 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6377 {
6378 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6379 }
6380 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6381 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6382 }
6383 }
6384
6385 next_offset += envelope_size;
6386
6387 while next_offset < end_offset {
6389 _next_ordinal_to_read += 1;
6390 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6391 next_offset += envelope_size;
6392 }
6393
6394 Ok(())
6395 }
6396 }
6397
6398 impl WifiChipGetIdResponse {
6399 #[inline(always)]
6400 fn max_ordinal_present(&self) -> u64 {
6401 if let Some(_) = self.id {
6402 return 1;
6403 }
6404 0
6405 }
6406 }
6407
6408 impl fidl::encoding::ValueTypeMarker for WifiChipGetIdResponse {
6409 type Borrowed<'a> = &'a Self;
6410 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6411 value
6412 }
6413 }
6414
6415 unsafe impl fidl::encoding::TypeMarker for WifiChipGetIdResponse {
6416 type Owned = Self;
6417
6418 #[inline(always)]
6419 fn inline_align(_context: fidl::encoding::Context) -> usize {
6420 8
6421 }
6422
6423 #[inline(always)]
6424 fn inline_size(_context: fidl::encoding::Context) -> usize {
6425 16
6426 }
6427 }
6428
6429 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WifiChipGetIdResponse, D>
6430 for &WifiChipGetIdResponse
6431 {
6432 unsafe fn encode(
6433 self,
6434 encoder: &mut fidl::encoding::Encoder<'_, D>,
6435 offset: usize,
6436 mut depth: fidl::encoding::Depth,
6437 ) -> fidl::Result<()> {
6438 encoder.debug_check_bounds::<WifiChipGetIdResponse>(offset);
6439 let max_ordinal: u64 = self.max_ordinal_present();
6441 encoder.write_num(max_ordinal, offset);
6442 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6443 if max_ordinal == 0 {
6445 return Ok(());
6446 }
6447 depth.increment()?;
6448 let envelope_size = 8;
6449 let bytes_len = max_ordinal as usize * envelope_size;
6450 #[allow(unused_variables)]
6451 let offset = encoder.out_of_line_offset(bytes_len);
6452 let mut _prev_end_offset: usize = 0;
6453 if 1 > max_ordinal {
6454 return Ok(());
6455 }
6456
6457 let cur_offset: usize = (1 - 1) * envelope_size;
6460
6461 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6463
6464 fidl::encoding::encode_in_envelope_optional::<u32, D>(
6469 self.id.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
6470 encoder,
6471 offset + cur_offset,
6472 depth,
6473 )?;
6474
6475 _prev_end_offset = cur_offset + envelope_size;
6476
6477 Ok(())
6478 }
6479 }
6480
6481 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiChipGetIdResponse {
6482 #[inline(always)]
6483 fn new_empty() -> Self {
6484 Self::default()
6485 }
6486
6487 unsafe fn decode(
6488 &mut self,
6489 decoder: &mut fidl::encoding::Decoder<'_, D>,
6490 offset: usize,
6491 mut depth: fidl::encoding::Depth,
6492 ) -> fidl::Result<()> {
6493 decoder.debug_check_bounds::<Self>(offset);
6494 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6495 None => return Err(fidl::Error::NotNullable),
6496 Some(len) => len,
6497 };
6498 if len == 0 {
6500 return Ok(());
6501 };
6502 depth.increment()?;
6503 let envelope_size = 8;
6504 let bytes_len = len * envelope_size;
6505 let offset = decoder.out_of_line_offset(bytes_len)?;
6506 let mut _next_ordinal_to_read = 0;
6508 let mut next_offset = offset;
6509 let end_offset = offset + bytes_len;
6510 _next_ordinal_to_read += 1;
6511 if next_offset >= end_offset {
6512 return Ok(());
6513 }
6514
6515 while _next_ordinal_to_read < 1 {
6517 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6518 _next_ordinal_to_read += 1;
6519 next_offset += envelope_size;
6520 }
6521
6522 let next_out_of_line = decoder.next_out_of_line();
6523 let handles_before = decoder.remaining_handles();
6524 if let Some((inlined, num_bytes, num_handles)) =
6525 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6526 {
6527 let member_inline_size =
6528 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6529 if inlined != (member_inline_size <= 4) {
6530 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6531 }
6532 let inner_offset;
6533 let mut inner_depth = depth.clone();
6534 if inlined {
6535 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6536 inner_offset = next_offset;
6537 } else {
6538 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6539 inner_depth.increment()?;
6540 }
6541 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u32, D));
6542 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
6543 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6544 {
6545 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6546 }
6547 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6548 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6549 }
6550 }
6551
6552 next_offset += envelope_size;
6553
6554 while next_offset < end_offset {
6556 _next_ordinal_to_read += 1;
6557 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6558 next_offset += envelope_size;
6559 }
6560
6561 Ok(())
6562 }
6563 }
6564
6565 impl WifiChipGetModeResponse {
6566 #[inline(always)]
6567 fn max_ordinal_present(&self) -> u64 {
6568 if let Some(_) = self.mode {
6569 return 1;
6570 }
6571 0
6572 }
6573 }
6574
6575 impl fidl::encoding::ValueTypeMarker for WifiChipGetModeResponse {
6576 type Borrowed<'a> = &'a Self;
6577 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6578 value
6579 }
6580 }
6581
6582 unsafe impl fidl::encoding::TypeMarker for WifiChipGetModeResponse {
6583 type Owned = Self;
6584
6585 #[inline(always)]
6586 fn inline_align(_context: fidl::encoding::Context) -> usize {
6587 8
6588 }
6589
6590 #[inline(always)]
6591 fn inline_size(_context: fidl::encoding::Context) -> usize {
6592 16
6593 }
6594 }
6595
6596 unsafe impl<D: fidl::encoding::ResourceDialect>
6597 fidl::encoding::Encode<WifiChipGetModeResponse, D> for &WifiChipGetModeResponse
6598 {
6599 unsafe fn encode(
6600 self,
6601 encoder: &mut fidl::encoding::Encoder<'_, D>,
6602 offset: usize,
6603 mut depth: fidl::encoding::Depth,
6604 ) -> fidl::Result<()> {
6605 encoder.debug_check_bounds::<WifiChipGetModeResponse>(offset);
6606 let max_ordinal: u64 = self.max_ordinal_present();
6608 encoder.write_num(max_ordinal, offset);
6609 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6610 if max_ordinal == 0 {
6612 return Ok(());
6613 }
6614 depth.increment()?;
6615 let envelope_size = 8;
6616 let bytes_len = max_ordinal as usize * envelope_size;
6617 #[allow(unused_variables)]
6618 let offset = encoder.out_of_line_offset(bytes_len);
6619 let mut _prev_end_offset: usize = 0;
6620 if 1 > max_ordinal {
6621 return Ok(());
6622 }
6623
6624 let cur_offset: usize = (1 - 1) * envelope_size;
6627
6628 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6630
6631 fidl::encoding::encode_in_envelope_optional::<u32, D>(
6636 self.mode.as_ref().map(<u32 as fidl::encoding::ValueTypeMarker>::borrow),
6637 encoder,
6638 offset + cur_offset,
6639 depth,
6640 )?;
6641
6642 _prev_end_offset = cur_offset + envelope_size;
6643
6644 Ok(())
6645 }
6646 }
6647
6648 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6649 for WifiChipGetModeResponse
6650 {
6651 #[inline(always)]
6652 fn new_empty() -> Self {
6653 Self::default()
6654 }
6655
6656 unsafe fn decode(
6657 &mut self,
6658 decoder: &mut fidl::encoding::Decoder<'_, D>,
6659 offset: usize,
6660 mut depth: fidl::encoding::Depth,
6661 ) -> fidl::Result<()> {
6662 decoder.debug_check_bounds::<Self>(offset);
6663 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6664 None => return Err(fidl::Error::NotNullable),
6665 Some(len) => len,
6666 };
6667 if len == 0 {
6669 return Ok(());
6670 };
6671 depth.increment()?;
6672 let envelope_size = 8;
6673 let bytes_len = len * envelope_size;
6674 let offset = decoder.out_of_line_offset(bytes_len)?;
6675 let mut _next_ordinal_to_read = 0;
6677 let mut next_offset = offset;
6678 let end_offset = offset + bytes_len;
6679 _next_ordinal_to_read += 1;
6680 if next_offset >= end_offset {
6681 return Ok(());
6682 }
6683
6684 while _next_ordinal_to_read < 1 {
6686 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6687 _next_ordinal_to_read += 1;
6688 next_offset += envelope_size;
6689 }
6690
6691 let next_out_of_line = decoder.next_out_of_line();
6692 let handles_before = decoder.remaining_handles();
6693 if let Some((inlined, num_bytes, num_handles)) =
6694 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6695 {
6696 let member_inline_size =
6697 <u32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6698 if inlined != (member_inline_size <= 4) {
6699 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6700 }
6701 let inner_offset;
6702 let mut inner_depth = depth.clone();
6703 if inlined {
6704 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6705 inner_offset = next_offset;
6706 } else {
6707 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6708 inner_depth.increment()?;
6709 }
6710 let val_ref = self.mode.get_or_insert_with(|| fidl::new_empty!(u32, D));
6711 fidl::decode!(u32, D, val_ref, decoder, inner_offset, inner_depth)?;
6712 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6713 {
6714 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6715 }
6716 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6717 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6718 }
6719 }
6720
6721 next_offset += envelope_size;
6722
6723 while next_offset < end_offset {
6725 _next_ordinal_to_read += 1;
6726 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6727 next_offset += envelope_size;
6728 }
6729
6730 Ok(())
6731 }
6732 }
6733
6734 impl WifiChipGetStaIfaceNamesResponse {
6735 #[inline(always)]
6736 fn max_ordinal_present(&self) -> u64 {
6737 if let Some(_) = self.iface_names {
6738 return 1;
6739 }
6740 0
6741 }
6742 }
6743
6744 impl fidl::encoding::ValueTypeMarker for WifiChipGetStaIfaceNamesResponse {
6745 type Borrowed<'a> = &'a Self;
6746 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6747 value
6748 }
6749 }
6750
6751 unsafe impl fidl::encoding::TypeMarker for WifiChipGetStaIfaceNamesResponse {
6752 type Owned = Self;
6753
6754 #[inline(always)]
6755 fn inline_align(_context: fidl::encoding::Context) -> usize {
6756 8
6757 }
6758
6759 #[inline(always)]
6760 fn inline_size(_context: fidl::encoding::Context) -> usize {
6761 16
6762 }
6763 }
6764
6765 unsafe impl<D: fidl::encoding::ResourceDialect>
6766 fidl::encoding::Encode<WifiChipGetStaIfaceNamesResponse, D>
6767 for &WifiChipGetStaIfaceNamesResponse
6768 {
6769 unsafe fn encode(
6770 self,
6771 encoder: &mut fidl::encoding::Encoder<'_, D>,
6772 offset: usize,
6773 mut depth: fidl::encoding::Depth,
6774 ) -> fidl::Result<()> {
6775 encoder.debug_check_bounds::<WifiChipGetStaIfaceNamesResponse>(offset);
6776 let max_ordinal: u64 = self.max_ordinal_present();
6778 encoder.write_num(max_ordinal, offset);
6779 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6780 if max_ordinal == 0 {
6782 return Ok(());
6783 }
6784 depth.increment()?;
6785 let envelope_size = 8;
6786 let bytes_len = max_ordinal as usize * envelope_size;
6787 #[allow(unused_variables)]
6788 let offset = encoder.out_of_line_offset(bytes_len);
6789 let mut _prev_end_offset: usize = 0;
6790 if 1 > max_ordinal {
6791 return Ok(());
6792 }
6793
6794 let cur_offset: usize = (1 - 1) * envelope_size;
6797
6798 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6800
6801 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>, D>(
6806 self.iface_names.as_ref().map(<fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>> as fidl::encoding::ValueTypeMarker>::borrow),
6807 encoder, offset + cur_offset, depth
6808 )?;
6809
6810 _prev_end_offset = cur_offset + envelope_size;
6811
6812 Ok(())
6813 }
6814 }
6815
6816 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6817 for WifiChipGetStaIfaceNamesResponse
6818 {
6819 #[inline(always)]
6820 fn new_empty() -> Self {
6821 Self::default()
6822 }
6823
6824 unsafe fn decode(
6825 &mut self,
6826 decoder: &mut fidl::encoding::Decoder<'_, D>,
6827 offset: usize,
6828 mut depth: fidl::encoding::Depth,
6829 ) -> fidl::Result<()> {
6830 decoder.debug_check_bounds::<Self>(offset);
6831 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6832 None => return Err(fidl::Error::NotNullable),
6833 Some(len) => len,
6834 };
6835 if len == 0 {
6837 return Ok(());
6838 };
6839 depth.increment()?;
6840 let envelope_size = 8;
6841 let bytes_len = len * envelope_size;
6842 let offset = decoder.out_of_line_offset(bytes_len)?;
6843 let mut _next_ordinal_to_read = 0;
6845 let mut next_offset = offset;
6846 let end_offset = offset + bytes_len;
6847 _next_ordinal_to_read += 1;
6848 if next_offset >= end_offset {
6849 return Ok(());
6850 }
6851
6852 while _next_ordinal_to_read < 1 {
6854 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6855 _next_ordinal_to_read += 1;
6856 next_offset += envelope_size;
6857 }
6858
6859 let next_out_of_line = decoder.next_out_of_line();
6860 let handles_before = decoder.remaining_handles();
6861 if let Some((inlined, num_bytes, num_handles)) =
6862 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6863 {
6864 let member_inline_size = <fidl::encoding::UnboundedVector<
6865 fidl::encoding::BoundedString<16>,
6866 > as fidl::encoding::TypeMarker>::inline_size(
6867 decoder.context
6868 );
6869 if inlined != (member_inline_size <= 4) {
6870 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6871 }
6872 let inner_offset;
6873 let mut inner_depth = depth.clone();
6874 if inlined {
6875 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6876 inner_offset = next_offset;
6877 } else {
6878 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6879 inner_depth.increment()?;
6880 }
6881 let val_ref = self.iface_names.get_or_insert_with(|| {
6882 fidl::new_empty!(
6883 fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>,
6884 D
6885 )
6886 });
6887 fidl::decode!(
6888 fidl::encoding::UnboundedVector<fidl::encoding::BoundedString<16>>,
6889 D,
6890 val_ref,
6891 decoder,
6892 inner_offset,
6893 inner_depth
6894 )?;
6895 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6896 {
6897 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6898 }
6899 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6900 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6901 }
6902 }
6903
6904 next_offset += envelope_size;
6905
6906 while next_offset < end_offset {
6908 _next_ordinal_to_read += 1;
6909 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6910 next_offset += envelope_size;
6911 }
6912
6913 Ok(())
6914 }
6915 }
6916
6917 impl WifiStaIfaceInstallApfPacketFilterRequest {
6918 #[inline(always)]
6919 fn max_ordinal_present(&self) -> u64 {
6920 if let Some(_) = self.program {
6921 return 1;
6922 }
6923 0
6924 }
6925 }
6926
6927 impl fidl::encoding::ValueTypeMarker for WifiStaIfaceInstallApfPacketFilterRequest {
6928 type Borrowed<'a> = &'a Self;
6929 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6930 value
6931 }
6932 }
6933
6934 unsafe impl fidl::encoding::TypeMarker for WifiStaIfaceInstallApfPacketFilterRequest {
6935 type Owned = Self;
6936
6937 #[inline(always)]
6938 fn inline_align(_context: fidl::encoding::Context) -> usize {
6939 8
6940 }
6941
6942 #[inline(always)]
6943 fn inline_size(_context: fidl::encoding::Context) -> usize {
6944 16
6945 }
6946 }
6947
6948 unsafe impl<D: fidl::encoding::ResourceDialect>
6949 fidl::encoding::Encode<WifiStaIfaceInstallApfPacketFilterRequest, D>
6950 for &WifiStaIfaceInstallApfPacketFilterRequest
6951 {
6952 unsafe fn encode(
6953 self,
6954 encoder: &mut fidl::encoding::Encoder<'_, D>,
6955 offset: usize,
6956 mut depth: fidl::encoding::Depth,
6957 ) -> fidl::Result<()> {
6958 encoder.debug_check_bounds::<WifiStaIfaceInstallApfPacketFilterRequest>(offset);
6959 let max_ordinal: u64 = self.max_ordinal_present();
6961 encoder.write_num(max_ordinal, offset);
6962 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6963 if max_ordinal == 0 {
6965 return Ok(());
6966 }
6967 depth.increment()?;
6968 let envelope_size = 8;
6969 let bytes_len = max_ordinal as usize * envelope_size;
6970 #[allow(unused_variables)]
6971 let offset = encoder.out_of_line_offset(bytes_len);
6972 let mut _prev_end_offset: usize = 0;
6973 if 1 > max_ordinal {
6974 return Ok(());
6975 }
6976
6977 let cur_offset: usize = (1 - 1) * envelope_size;
6980
6981 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6983
6984 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
6989 self.program.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
6990 encoder, offset + cur_offset, depth
6991 )?;
6992
6993 _prev_end_offset = cur_offset + envelope_size;
6994
6995 Ok(())
6996 }
6997 }
6998
6999 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7000 for WifiStaIfaceInstallApfPacketFilterRequest
7001 {
7002 #[inline(always)]
7003 fn new_empty() -> Self {
7004 Self::default()
7005 }
7006
7007 unsafe fn decode(
7008 &mut self,
7009 decoder: &mut fidl::encoding::Decoder<'_, D>,
7010 offset: usize,
7011 mut depth: fidl::encoding::Depth,
7012 ) -> fidl::Result<()> {
7013 decoder.debug_check_bounds::<Self>(offset);
7014 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7015 None => return Err(fidl::Error::NotNullable),
7016 Some(len) => len,
7017 };
7018 if len == 0 {
7020 return Ok(());
7021 };
7022 depth.increment()?;
7023 let envelope_size = 8;
7024 let bytes_len = len * envelope_size;
7025 let offset = decoder.out_of_line_offset(bytes_len)?;
7026 let mut _next_ordinal_to_read = 0;
7028 let mut next_offset = offset;
7029 let end_offset = offset + bytes_len;
7030 _next_ordinal_to_read += 1;
7031 if next_offset >= end_offset {
7032 return Ok(());
7033 }
7034
7035 while _next_ordinal_to_read < 1 {
7037 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7038 _next_ordinal_to_read += 1;
7039 next_offset += envelope_size;
7040 }
7041
7042 let next_out_of_line = decoder.next_out_of_line();
7043 let handles_before = decoder.remaining_handles();
7044 if let Some((inlined, num_bytes, num_handles)) =
7045 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7046 {
7047 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7048 if inlined != (member_inline_size <= 4) {
7049 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7050 }
7051 let inner_offset;
7052 let mut inner_depth = depth.clone();
7053 if inlined {
7054 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7055 inner_offset = next_offset;
7056 } else {
7057 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7058 inner_depth.increment()?;
7059 }
7060 let val_ref = self.program.get_or_insert_with(|| {
7061 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
7062 });
7063 fidl::decode!(
7064 fidl::encoding::UnboundedVector<u8>,
7065 D,
7066 val_ref,
7067 decoder,
7068 inner_offset,
7069 inner_depth
7070 )?;
7071 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7072 {
7073 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7074 }
7075 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7076 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7077 }
7078 }
7079
7080 next_offset += envelope_size;
7081
7082 while next_offset < end_offset {
7084 _next_ordinal_to_read += 1;
7085 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7086 next_offset += envelope_size;
7087 }
7088
7089 Ok(())
7090 }
7091 }
7092
7093 impl WifiStaIfaceGetApfPacketFilterSupportResponse {
7094 #[inline(always)]
7095 fn max_ordinal_present(&self) -> u64 {
7096 if let Some(_) = self.max_filter_length {
7097 return 2;
7098 }
7099 if let Some(_) = self.version {
7100 return 1;
7101 }
7102 0
7103 }
7104 }
7105
7106 impl fidl::encoding::ValueTypeMarker for WifiStaIfaceGetApfPacketFilterSupportResponse {
7107 type Borrowed<'a> = &'a Self;
7108 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7109 value
7110 }
7111 }
7112
7113 unsafe impl fidl::encoding::TypeMarker for WifiStaIfaceGetApfPacketFilterSupportResponse {
7114 type Owned = Self;
7115
7116 #[inline(always)]
7117 fn inline_align(_context: fidl::encoding::Context) -> usize {
7118 8
7119 }
7120
7121 #[inline(always)]
7122 fn inline_size(_context: fidl::encoding::Context) -> usize {
7123 16
7124 }
7125 }
7126
7127 unsafe impl<D: fidl::encoding::ResourceDialect>
7128 fidl::encoding::Encode<WifiStaIfaceGetApfPacketFilterSupportResponse, D>
7129 for &WifiStaIfaceGetApfPacketFilterSupportResponse
7130 {
7131 unsafe fn encode(
7132 self,
7133 encoder: &mut fidl::encoding::Encoder<'_, D>,
7134 offset: usize,
7135 mut depth: fidl::encoding::Depth,
7136 ) -> fidl::Result<()> {
7137 encoder.debug_check_bounds::<WifiStaIfaceGetApfPacketFilterSupportResponse>(offset);
7138 let max_ordinal: u64 = self.max_ordinal_present();
7140 encoder.write_num(max_ordinal, offset);
7141 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7142 if max_ordinal == 0 {
7144 return Ok(());
7145 }
7146 depth.increment()?;
7147 let envelope_size = 8;
7148 let bytes_len = max_ordinal as usize * envelope_size;
7149 #[allow(unused_variables)]
7150 let offset = encoder.out_of_line_offset(bytes_len);
7151 let mut _prev_end_offset: usize = 0;
7152 if 1 > max_ordinal {
7153 return Ok(());
7154 }
7155
7156 let cur_offset: usize = (1 - 1) * envelope_size;
7159
7160 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7162
7163 fidl::encoding::encode_in_envelope_optional::<i32, D>(
7168 self.version.as_ref().map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
7169 encoder,
7170 offset + cur_offset,
7171 depth,
7172 )?;
7173
7174 _prev_end_offset = cur_offset + envelope_size;
7175 if 2 > max_ordinal {
7176 return Ok(());
7177 }
7178
7179 let cur_offset: usize = (2 - 1) * envelope_size;
7182
7183 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7185
7186 fidl::encoding::encode_in_envelope_optional::<i32, D>(
7191 self.max_filter_length
7192 .as_ref()
7193 .map(<i32 as fidl::encoding::ValueTypeMarker>::borrow),
7194 encoder,
7195 offset + cur_offset,
7196 depth,
7197 )?;
7198
7199 _prev_end_offset = cur_offset + envelope_size;
7200
7201 Ok(())
7202 }
7203 }
7204
7205 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7206 for WifiStaIfaceGetApfPacketFilterSupportResponse
7207 {
7208 #[inline(always)]
7209 fn new_empty() -> Self {
7210 Self::default()
7211 }
7212
7213 unsafe fn decode(
7214 &mut self,
7215 decoder: &mut fidl::encoding::Decoder<'_, D>,
7216 offset: usize,
7217 mut depth: fidl::encoding::Depth,
7218 ) -> fidl::Result<()> {
7219 decoder.debug_check_bounds::<Self>(offset);
7220 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7221 None => return Err(fidl::Error::NotNullable),
7222 Some(len) => len,
7223 };
7224 if len == 0 {
7226 return Ok(());
7227 };
7228 depth.increment()?;
7229 let envelope_size = 8;
7230 let bytes_len = len * envelope_size;
7231 let offset = decoder.out_of_line_offset(bytes_len)?;
7232 let mut _next_ordinal_to_read = 0;
7234 let mut next_offset = offset;
7235 let end_offset = offset + bytes_len;
7236 _next_ordinal_to_read += 1;
7237 if next_offset >= end_offset {
7238 return Ok(());
7239 }
7240
7241 while _next_ordinal_to_read < 1 {
7243 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7244 _next_ordinal_to_read += 1;
7245 next_offset += envelope_size;
7246 }
7247
7248 let next_out_of_line = decoder.next_out_of_line();
7249 let handles_before = decoder.remaining_handles();
7250 if let Some((inlined, num_bytes, num_handles)) =
7251 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7252 {
7253 let member_inline_size =
7254 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7255 if inlined != (member_inline_size <= 4) {
7256 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7257 }
7258 let inner_offset;
7259 let mut inner_depth = depth.clone();
7260 if inlined {
7261 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7262 inner_offset = next_offset;
7263 } else {
7264 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7265 inner_depth.increment()?;
7266 }
7267 let val_ref = self.version.get_or_insert_with(|| fidl::new_empty!(i32, D));
7268 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
7269 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7270 {
7271 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7272 }
7273 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7274 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7275 }
7276 }
7277
7278 next_offset += envelope_size;
7279 _next_ordinal_to_read += 1;
7280 if next_offset >= end_offset {
7281 return Ok(());
7282 }
7283
7284 while _next_ordinal_to_read < 2 {
7286 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7287 _next_ordinal_to_read += 1;
7288 next_offset += envelope_size;
7289 }
7290
7291 let next_out_of_line = decoder.next_out_of_line();
7292 let handles_before = decoder.remaining_handles();
7293 if let Some((inlined, num_bytes, num_handles)) =
7294 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7295 {
7296 let member_inline_size =
7297 <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7298 if inlined != (member_inline_size <= 4) {
7299 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7300 }
7301 let inner_offset;
7302 let mut inner_depth = depth.clone();
7303 if inlined {
7304 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7305 inner_offset = next_offset;
7306 } else {
7307 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7308 inner_depth.increment()?;
7309 }
7310 let val_ref =
7311 self.max_filter_length.get_or_insert_with(|| fidl::new_empty!(i32, D));
7312 fidl::decode!(i32, D, val_ref, decoder, inner_offset, inner_depth)?;
7313 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7314 {
7315 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7316 }
7317 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7318 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7319 }
7320 }
7321
7322 next_offset += envelope_size;
7323
7324 while next_offset < end_offset {
7326 _next_ordinal_to_read += 1;
7327 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7328 next_offset += envelope_size;
7329 }
7330
7331 Ok(())
7332 }
7333 }
7334
7335 impl WifiStaIfaceGetNameResponse {
7336 #[inline(always)]
7337 fn max_ordinal_present(&self) -> u64 {
7338 if let Some(_) = self.iface_name {
7339 return 1;
7340 }
7341 0
7342 }
7343 }
7344
7345 impl fidl::encoding::ValueTypeMarker for WifiStaIfaceGetNameResponse {
7346 type Borrowed<'a> = &'a Self;
7347 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7348 value
7349 }
7350 }
7351
7352 unsafe impl fidl::encoding::TypeMarker for WifiStaIfaceGetNameResponse {
7353 type Owned = Self;
7354
7355 #[inline(always)]
7356 fn inline_align(_context: fidl::encoding::Context) -> usize {
7357 8
7358 }
7359
7360 #[inline(always)]
7361 fn inline_size(_context: fidl::encoding::Context) -> usize {
7362 16
7363 }
7364 }
7365
7366 unsafe impl<D: fidl::encoding::ResourceDialect>
7367 fidl::encoding::Encode<WifiStaIfaceGetNameResponse, D> for &WifiStaIfaceGetNameResponse
7368 {
7369 unsafe fn encode(
7370 self,
7371 encoder: &mut fidl::encoding::Encoder<'_, D>,
7372 offset: usize,
7373 mut depth: fidl::encoding::Depth,
7374 ) -> fidl::Result<()> {
7375 encoder.debug_check_bounds::<WifiStaIfaceGetNameResponse>(offset);
7376 let max_ordinal: u64 = self.max_ordinal_present();
7378 encoder.write_num(max_ordinal, offset);
7379 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7380 if max_ordinal == 0 {
7382 return Ok(());
7383 }
7384 depth.increment()?;
7385 let envelope_size = 8;
7386 let bytes_len = max_ordinal as usize * envelope_size;
7387 #[allow(unused_variables)]
7388 let offset = encoder.out_of_line_offset(bytes_len);
7389 let mut _prev_end_offset: usize = 0;
7390 if 1 > max_ordinal {
7391 return Ok(());
7392 }
7393
7394 let cur_offset: usize = (1 - 1) * envelope_size;
7397
7398 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7400
7401 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<16>, D>(
7406 self.iface_name.as_ref().map(
7407 <fidl::encoding::BoundedString<16> as fidl::encoding::ValueTypeMarker>::borrow,
7408 ),
7409 encoder,
7410 offset + cur_offset,
7411 depth,
7412 )?;
7413
7414 _prev_end_offset = cur_offset + envelope_size;
7415
7416 Ok(())
7417 }
7418 }
7419
7420 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7421 for WifiStaIfaceGetNameResponse
7422 {
7423 #[inline(always)]
7424 fn new_empty() -> Self {
7425 Self::default()
7426 }
7427
7428 unsafe fn decode(
7429 &mut self,
7430 decoder: &mut fidl::encoding::Decoder<'_, D>,
7431 offset: usize,
7432 mut depth: fidl::encoding::Depth,
7433 ) -> fidl::Result<()> {
7434 decoder.debug_check_bounds::<Self>(offset);
7435 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7436 None => return Err(fidl::Error::NotNullable),
7437 Some(len) => len,
7438 };
7439 if len == 0 {
7441 return Ok(());
7442 };
7443 depth.increment()?;
7444 let envelope_size = 8;
7445 let bytes_len = len * envelope_size;
7446 let offset = decoder.out_of_line_offset(bytes_len)?;
7447 let mut _next_ordinal_to_read = 0;
7449 let mut next_offset = offset;
7450 let end_offset = offset + bytes_len;
7451 _next_ordinal_to_read += 1;
7452 if next_offset >= end_offset {
7453 return Ok(());
7454 }
7455
7456 while _next_ordinal_to_read < 1 {
7458 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7459 _next_ordinal_to_read += 1;
7460 next_offset += envelope_size;
7461 }
7462
7463 let next_out_of_line = decoder.next_out_of_line();
7464 let handles_before = decoder.remaining_handles();
7465 if let Some((inlined, num_bytes, num_handles)) =
7466 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7467 {
7468 let member_inline_size =
7469 <fidl::encoding::BoundedString<16> as fidl::encoding::TypeMarker>::inline_size(
7470 decoder.context,
7471 );
7472 if inlined != (member_inline_size <= 4) {
7473 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7474 }
7475 let inner_offset;
7476 let mut inner_depth = depth.clone();
7477 if inlined {
7478 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7479 inner_offset = next_offset;
7480 } else {
7481 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7482 inner_depth.increment()?;
7483 }
7484 let val_ref = self
7485 .iface_name
7486 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<16>, D));
7487 fidl::decode!(
7488 fidl::encoding::BoundedString<16>,
7489 D,
7490 val_ref,
7491 decoder,
7492 inner_offset,
7493 inner_depth
7494 )?;
7495 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7496 {
7497 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7498 }
7499 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7500 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7501 }
7502 }
7503
7504 next_offset += envelope_size;
7505
7506 while next_offset < end_offset {
7508 _next_ordinal_to_read += 1;
7509 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7510 next_offset += envelope_size;
7511 }
7512
7513 Ok(())
7514 }
7515 }
7516
7517 impl WifiStaIfaceReadApfPacketFilterDataResponse {
7518 #[inline(always)]
7519 fn max_ordinal_present(&self) -> u64 {
7520 if let Some(_) = self.memory {
7521 return 1;
7522 }
7523 0
7524 }
7525 }
7526
7527 impl fidl::encoding::ValueTypeMarker for WifiStaIfaceReadApfPacketFilterDataResponse {
7528 type Borrowed<'a> = &'a Self;
7529 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7530 value
7531 }
7532 }
7533
7534 unsafe impl fidl::encoding::TypeMarker for WifiStaIfaceReadApfPacketFilterDataResponse {
7535 type Owned = Self;
7536
7537 #[inline(always)]
7538 fn inline_align(_context: fidl::encoding::Context) -> usize {
7539 8
7540 }
7541
7542 #[inline(always)]
7543 fn inline_size(_context: fidl::encoding::Context) -> usize {
7544 16
7545 }
7546 }
7547
7548 unsafe impl<D: fidl::encoding::ResourceDialect>
7549 fidl::encoding::Encode<WifiStaIfaceReadApfPacketFilterDataResponse, D>
7550 for &WifiStaIfaceReadApfPacketFilterDataResponse
7551 {
7552 unsafe fn encode(
7553 self,
7554 encoder: &mut fidl::encoding::Encoder<'_, D>,
7555 offset: usize,
7556 mut depth: fidl::encoding::Depth,
7557 ) -> fidl::Result<()> {
7558 encoder.debug_check_bounds::<WifiStaIfaceReadApfPacketFilterDataResponse>(offset);
7559 let max_ordinal: u64 = self.max_ordinal_present();
7561 encoder.write_num(max_ordinal, offset);
7562 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7563 if max_ordinal == 0 {
7565 return Ok(());
7566 }
7567 depth.increment()?;
7568 let envelope_size = 8;
7569 let bytes_len = max_ordinal as usize * envelope_size;
7570 #[allow(unused_variables)]
7571 let offset = encoder.out_of_line_offset(bytes_len);
7572 let mut _prev_end_offset: usize = 0;
7573 if 1 > max_ordinal {
7574 return Ok(());
7575 }
7576
7577 let cur_offset: usize = (1 - 1) * envelope_size;
7580
7581 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7583
7584 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
7589 self.memory.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
7590 encoder, offset + cur_offset, depth
7591 )?;
7592
7593 _prev_end_offset = cur_offset + envelope_size;
7594
7595 Ok(())
7596 }
7597 }
7598
7599 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7600 for WifiStaIfaceReadApfPacketFilterDataResponse
7601 {
7602 #[inline(always)]
7603 fn new_empty() -> Self {
7604 Self::default()
7605 }
7606
7607 unsafe fn decode(
7608 &mut self,
7609 decoder: &mut fidl::encoding::Decoder<'_, D>,
7610 offset: usize,
7611 mut depth: fidl::encoding::Depth,
7612 ) -> fidl::Result<()> {
7613 decoder.debug_check_bounds::<Self>(offset);
7614 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7615 None => return Err(fidl::Error::NotNullable),
7616 Some(len) => len,
7617 };
7618 if len == 0 {
7620 return Ok(());
7621 };
7622 depth.increment()?;
7623 let envelope_size = 8;
7624 let bytes_len = len * envelope_size;
7625 let offset = decoder.out_of_line_offset(bytes_len)?;
7626 let mut _next_ordinal_to_read = 0;
7628 let mut next_offset = offset;
7629 let end_offset = offset + bytes_len;
7630 _next_ordinal_to_read += 1;
7631 if next_offset >= end_offset {
7632 return Ok(());
7633 }
7634
7635 while _next_ordinal_to_read < 1 {
7637 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7638 _next_ordinal_to_read += 1;
7639 next_offset += envelope_size;
7640 }
7641
7642 let next_out_of_line = decoder.next_out_of_line();
7643 let handles_before = decoder.remaining_handles();
7644 if let Some((inlined, num_bytes, num_handles)) =
7645 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7646 {
7647 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7648 if inlined != (member_inline_size <= 4) {
7649 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7650 }
7651 let inner_offset;
7652 let mut inner_depth = depth.clone();
7653 if inlined {
7654 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7655 inner_offset = next_offset;
7656 } else {
7657 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7658 inner_depth.increment()?;
7659 }
7660 let val_ref = self.memory.get_or_insert_with(|| {
7661 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
7662 });
7663 fidl::decode!(
7664 fidl::encoding::UnboundedVector<u8>,
7665 D,
7666 val_ref,
7667 decoder,
7668 inner_offset,
7669 inner_depth
7670 )?;
7671 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7672 {
7673 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7674 }
7675 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7676 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7677 }
7678 }
7679
7680 next_offset += envelope_size;
7681
7682 while next_offset < end_offset {
7684 _next_ordinal_to_read += 1;
7685 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7686 next_offset += envelope_size;
7687 }
7688
7689 Ok(())
7690 }
7691 }
7692
7693 impl WifiGetChipIdsResponse {
7694 #[inline(always)]
7695 fn max_ordinal_present(&self) -> u64 {
7696 if let Some(_) = self.chip_ids {
7697 return 1;
7698 }
7699 0
7700 }
7701 }
7702
7703 impl fidl::encoding::ValueTypeMarker for WifiGetChipIdsResponse {
7704 type Borrowed<'a> = &'a Self;
7705 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7706 value
7707 }
7708 }
7709
7710 unsafe impl fidl::encoding::TypeMarker for WifiGetChipIdsResponse {
7711 type Owned = Self;
7712
7713 #[inline(always)]
7714 fn inline_align(_context: fidl::encoding::Context) -> usize {
7715 8
7716 }
7717
7718 #[inline(always)]
7719 fn inline_size(_context: fidl::encoding::Context) -> usize {
7720 16
7721 }
7722 }
7723
7724 unsafe impl<D: fidl::encoding::ResourceDialect>
7725 fidl::encoding::Encode<WifiGetChipIdsResponse, D> for &WifiGetChipIdsResponse
7726 {
7727 unsafe fn encode(
7728 self,
7729 encoder: &mut fidl::encoding::Encoder<'_, D>,
7730 offset: usize,
7731 mut depth: fidl::encoding::Depth,
7732 ) -> fidl::Result<()> {
7733 encoder.debug_check_bounds::<WifiGetChipIdsResponse>(offset);
7734 let max_ordinal: u64 = self.max_ordinal_present();
7736 encoder.write_num(max_ordinal, offset);
7737 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7738 if max_ordinal == 0 {
7740 return Ok(());
7741 }
7742 depth.increment()?;
7743 let envelope_size = 8;
7744 let bytes_len = max_ordinal as usize * envelope_size;
7745 #[allow(unused_variables)]
7746 let offset = encoder.out_of_line_offset(bytes_len);
7747 let mut _prev_end_offset: usize = 0;
7748 if 1 > max_ordinal {
7749 return Ok(());
7750 }
7751
7752 let cur_offset: usize = (1 - 1) * envelope_size;
7755
7756 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7758
7759 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u32>, D>(
7764 self.chip_ids.as_ref().map(<fidl::encoding::UnboundedVector<u32> as fidl::encoding::ValueTypeMarker>::borrow),
7765 encoder, offset + cur_offset, depth
7766 )?;
7767
7768 _prev_end_offset = cur_offset + envelope_size;
7769
7770 Ok(())
7771 }
7772 }
7773
7774 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7775 for WifiGetChipIdsResponse
7776 {
7777 #[inline(always)]
7778 fn new_empty() -> Self {
7779 Self::default()
7780 }
7781
7782 unsafe fn decode(
7783 &mut self,
7784 decoder: &mut fidl::encoding::Decoder<'_, D>,
7785 offset: usize,
7786 mut depth: fidl::encoding::Depth,
7787 ) -> fidl::Result<()> {
7788 decoder.debug_check_bounds::<Self>(offset);
7789 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7790 None => return Err(fidl::Error::NotNullable),
7791 Some(len) => len,
7792 };
7793 if len == 0 {
7795 return Ok(());
7796 };
7797 depth.increment()?;
7798 let envelope_size = 8;
7799 let bytes_len = len * envelope_size;
7800 let offset = decoder.out_of_line_offset(bytes_len)?;
7801 let mut _next_ordinal_to_read = 0;
7803 let mut next_offset = offset;
7804 let end_offset = offset + bytes_len;
7805 _next_ordinal_to_read += 1;
7806 if next_offset >= end_offset {
7807 return Ok(());
7808 }
7809
7810 while _next_ordinal_to_read < 1 {
7812 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7813 _next_ordinal_to_read += 1;
7814 next_offset += envelope_size;
7815 }
7816
7817 let next_out_of_line = decoder.next_out_of_line();
7818 let handles_before = decoder.remaining_handles();
7819 if let Some((inlined, num_bytes, num_handles)) =
7820 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7821 {
7822 let member_inline_size = <fidl::encoding::UnboundedVector<u32> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7823 if inlined != (member_inline_size <= 4) {
7824 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7825 }
7826 let inner_offset;
7827 let mut inner_depth = depth.clone();
7828 if inlined {
7829 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7830 inner_offset = next_offset;
7831 } else {
7832 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7833 inner_depth.increment()?;
7834 }
7835 let val_ref = self.chip_ids.get_or_insert_with(|| {
7836 fidl::new_empty!(fidl::encoding::UnboundedVector<u32>, D)
7837 });
7838 fidl::decode!(
7839 fidl::encoding::UnboundedVector<u32>,
7840 D,
7841 val_ref,
7842 decoder,
7843 inner_offset,
7844 inner_depth
7845 )?;
7846 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7847 {
7848 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7849 }
7850 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7851 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7852 }
7853 }
7854
7855 next_offset += envelope_size;
7856
7857 while next_offset < end_offset {
7859 _next_ordinal_to_read += 1;
7860 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7861 next_offset += envelope_size;
7862 }
7863
7864 Ok(())
7865 }
7866 }
7867
7868 impl WifiGetStateResponse {
7869 #[inline(always)]
7870 fn max_ordinal_present(&self) -> u64 {
7871 if let Some(_) = self.is_started {
7872 return 1;
7873 }
7874 0
7875 }
7876 }
7877
7878 impl fidl::encoding::ValueTypeMarker for WifiGetStateResponse {
7879 type Borrowed<'a> = &'a Self;
7880 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7881 value
7882 }
7883 }
7884
7885 unsafe impl fidl::encoding::TypeMarker for WifiGetStateResponse {
7886 type Owned = Self;
7887
7888 #[inline(always)]
7889 fn inline_align(_context: fidl::encoding::Context) -> usize {
7890 8
7891 }
7892
7893 #[inline(always)]
7894 fn inline_size(_context: fidl::encoding::Context) -> usize {
7895 16
7896 }
7897 }
7898
7899 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WifiGetStateResponse, D>
7900 for &WifiGetStateResponse
7901 {
7902 unsafe fn encode(
7903 self,
7904 encoder: &mut fidl::encoding::Encoder<'_, D>,
7905 offset: usize,
7906 mut depth: fidl::encoding::Depth,
7907 ) -> fidl::Result<()> {
7908 encoder.debug_check_bounds::<WifiGetStateResponse>(offset);
7909 let max_ordinal: u64 = self.max_ordinal_present();
7911 encoder.write_num(max_ordinal, offset);
7912 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7913 if max_ordinal == 0 {
7915 return Ok(());
7916 }
7917 depth.increment()?;
7918 let envelope_size = 8;
7919 let bytes_len = max_ordinal as usize * envelope_size;
7920 #[allow(unused_variables)]
7921 let offset = encoder.out_of_line_offset(bytes_len);
7922 let mut _prev_end_offset: usize = 0;
7923 if 1 > max_ordinal {
7924 return Ok(());
7925 }
7926
7927 let cur_offset: usize = (1 - 1) * envelope_size;
7930
7931 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7933
7934 fidl::encoding::encode_in_envelope_optional::<bool, D>(
7939 self.is_started.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
7940 encoder,
7941 offset + cur_offset,
7942 depth,
7943 )?;
7944
7945 _prev_end_offset = cur_offset + envelope_size;
7946
7947 Ok(())
7948 }
7949 }
7950
7951 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WifiGetStateResponse {
7952 #[inline(always)]
7953 fn new_empty() -> Self {
7954 Self::default()
7955 }
7956
7957 unsafe fn decode(
7958 &mut self,
7959 decoder: &mut fidl::encoding::Decoder<'_, D>,
7960 offset: usize,
7961 mut depth: fidl::encoding::Depth,
7962 ) -> fidl::Result<()> {
7963 decoder.debug_check_bounds::<Self>(offset);
7964 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7965 None => return Err(fidl::Error::NotNullable),
7966 Some(len) => len,
7967 };
7968 if len == 0 {
7970 return Ok(());
7971 };
7972 depth.increment()?;
7973 let envelope_size = 8;
7974 let bytes_len = len * envelope_size;
7975 let offset = decoder.out_of_line_offset(bytes_len)?;
7976 let mut _next_ordinal_to_read = 0;
7978 let mut next_offset = offset;
7979 let end_offset = offset + bytes_len;
7980 _next_ordinal_to_read += 1;
7981 if next_offset >= end_offset {
7982 return Ok(());
7983 }
7984
7985 while _next_ordinal_to_read < 1 {
7987 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7988 _next_ordinal_to_read += 1;
7989 next_offset += envelope_size;
7990 }
7991
7992 let next_out_of_line = decoder.next_out_of_line();
7993 let handles_before = decoder.remaining_handles();
7994 if let Some((inlined, num_bytes, num_handles)) =
7995 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7996 {
7997 let member_inline_size =
7998 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7999 if inlined != (member_inline_size <= 4) {
8000 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8001 }
8002 let inner_offset;
8003 let mut inner_depth = depth.clone();
8004 if inlined {
8005 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
8006 inner_offset = next_offset;
8007 } else {
8008 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8009 inner_depth.increment()?;
8010 }
8011 let val_ref = self.is_started.get_or_insert_with(|| fidl::new_empty!(bool, D));
8012 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
8013 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
8014 {
8015 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8016 }
8017 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8018 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8019 }
8020 }
8021
8022 next_offset += envelope_size;
8023
8024 while next_offset < end_offset {
8026 _next_ordinal_to_read += 1;
8027 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
8028 next_offset += envelope_size;
8029 }
8030
8031 Ok(())
8032 }
8033 }
8034
8035 impl fidl::encoding::ValueTypeMarker for Nl80211Message {
8036 type Borrowed<'a> = &'a Self;
8037 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8038 value
8039 }
8040 }
8041
8042 unsafe impl fidl::encoding::TypeMarker for Nl80211Message {
8043 type Owned = Self;
8044
8045 #[inline(always)]
8046 fn inline_align(_context: fidl::encoding::Context) -> usize {
8047 8
8048 }
8049
8050 #[inline(always)]
8051 fn inline_size(_context: fidl::encoding::Context) -> usize {
8052 16
8053 }
8054 }
8055
8056 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Nl80211Message, D>
8057 for &Nl80211Message
8058 {
8059 #[inline]
8060 unsafe fn encode(
8061 self,
8062 encoder: &mut fidl::encoding::Encoder<'_, D>,
8063 offset: usize,
8064 _depth: fidl::encoding::Depth,
8065 ) -> fidl::Result<()> {
8066 encoder.debug_check_bounds::<Nl80211Message>(offset);
8067 encoder.write_num::<u64>(self.ordinal(), offset);
8068 match self {
8069 Nl80211Message::Done(ref val) => fidl::encoding::encode_in_envelope::<Done, D>(
8070 <Done as fidl::encoding::ValueTypeMarker>::borrow(val),
8071 encoder,
8072 offset + 8,
8073 _depth,
8074 ),
8075 Nl80211Message::Error(ref val) => fidl::encoding::encode_in_envelope::<Error, D>(
8076 <Error as fidl::encoding::ValueTypeMarker>::borrow(val),
8077 encoder,
8078 offset + 8,
8079 _depth,
8080 ),
8081 Nl80211Message::Ack(ref val) => fidl::encoding::encode_in_envelope::<Ack, D>(
8082 <Ack as fidl::encoding::ValueTypeMarker>::borrow(val),
8083 encoder,
8084 offset + 8,
8085 _depth,
8086 ),
8087 Nl80211Message::Message(ref val) => {
8088 fidl::encoding::encode_in_envelope::<Message, D>(
8089 <Message as fidl::encoding::ValueTypeMarker>::borrow(val),
8090 encoder,
8091 offset + 8,
8092 _depth,
8093 )
8094 }
8095 Nl80211Message::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
8096 }
8097 }
8098 }
8099
8100 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Nl80211Message {
8101 #[inline(always)]
8102 fn new_empty() -> Self {
8103 Self::__SourceBreaking { unknown_ordinal: 0 }
8104 }
8105
8106 #[inline]
8107 unsafe fn decode(
8108 &mut self,
8109 decoder: &mut fidl::encoding::Decoder<'_, D>,
8110 offset: usize,
8111 mut depth: fidl::encoding::Depth,
8112 ) -> fidl::Result<()> {
8113 decoder.debug_check_bounds::<Self>(offset);
8114 #[allow(unused_variables)]
8115 let next_out_of_line = decoder.next_out_of_line();
8116 let handles_before = decoder.remaining_handles();
8117 let (ordinal, inlined, num_bytes, num_handles) =
8118 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
8119
8120 let member_inline_size = match ordinal {
8121 1 => <Done as fidl::encoding::TypeMarker>::inline_size(decoder.context),
8122 2 => <Error as fidl::encoding::TypeMarker>::inline_size(decoder.context),
8123 3 => <Ack as fidl::encoding::TypeMarker>::inline_size(decoder.context),
8124 4 => <Message as fidl::encoding::TypeMarker>::inline_size(decoder.context),
8125 0 => return Err(fidl::Error::UnknownUnionTag),
8126 _ => num_bytes as usize,
8127 };
8128
8129 if inlined != (member_inline_size <= 4) {
8130 return Err(fidl::Error::InvalidInlineBitInEnvelope);
8131 }
8132 let _inner_offset;
8133 if inlined {
8134 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
8135 _inner_offset = offset + 8;
8136 } else {
8137 depth.increment()?;
8138 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
8139 }
8140 match ordinal {
8141 1 => {
8142 #[allow(irrefutable_let_patterns)]
8143 if let Nl80211Message::Done(_) = self {
8144 } else {
8146 *self = Nl80211Message::Done(fidl::new_empty!(Done, D));
8148 }
8149 #[allow(irrefutable_let_patterns)]
8150 if let Nl80211Message::Done(ref mut val) = self {
8151 fidl::decode!(Done, D, val, decoder, _inner_offset, depth)?;
8152 } else {
8153 unreachable!()
8154 }
8155 }
8156 2 => {
8157 #[allow(irrefutable_let_patterns)]
8158 if let Nl80211Message::Error(_) = self {
8159 } else {
8161 *self = Nl80211Message::Error(fidl::new_empty!(Error, D));
8163 }
8164 #[allow(irrefutable_let_patterns)]
8165 if let Nl80211Message::Error(ref mut val) = self {
8166 fidl::decode!(Error, D, val, decoder, _inner_offset, depth)?;
8167 } else {
8168 unreachable!()
8169 }
8170 }
8171 3 => {
8172 #[allow(irrefutable_let_patterns)]
8173 if let Nl80211Message::Ack(_) = self {
8174 } else {
8176 *self = Nl80211Message::Ack(fidl::new_empty!(Ack, D));
8178 }
8179 #[allow(irrefutable_let_patterns)]
8180 if let Nl80211Message::Ack(ref mut val) = self {
8181 fidl::decode!(Ack, D, val, decoder, _inner_offset, depth)?;
8182 } else {
8183 unreachable!()
8184 }
8185 }
8186 4 => {
8187 #[allow(irrefutable_let_patterns)]
8188 if let Nl80211Message::Message(_) = self {
8189 } else {
8191 *self = Nl80211Message::Message(fidl::new_empty!(Message, D));
8193 }
8194 #[allow(irrefutable_let_patterns)]
8195 if let Nl80211Message::Message(ref mut val) = self {
8196 fidl::decode!(Message, D, val, decoder, _inner_offset, depth)?;
8197 } else {
8198 unreachable!()
8199 }
8200 }
8201 #[allow(deprecated)]
8202 ordinal => {
8203 for _ in 0..num_handles {
8204 decoder.drop_next_handle()?;
8205 }
8206 *self = Nl80211Message::__SourceBreaking { unknown_ordinal: ordinal };
8207 }
8208 }
8209 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
8210 return Err(fidl::Error::InvalidNumBytesInEnvelope);
8211 }
8212 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
8213 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
8214 }
8215 Ok(())
8216 }
8217 }
8218}