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