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
11pub type QosInfo = u8;
13
14pub const MAX_SSIDS_PER_SCAN_REQUEST: u32 = 32;
15
16pub const WMM_PARAM_LEN: u8 = 18;
20
21pub const COUNTRY_ENVIRON_ALL: u8 = 32;
22
23pub const COUNTRY_ENVIRON_INDOOR: u8 = 73;
24
25pub const COUNTRY_ENVIRON_NON_COUNTRY: u8 = 88;
26
27pub const COUNTRY_ENVIRON_OUTDOOR: u8 = 79;
28
29bitflags! {
30 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
36 pub struct MgmtFrameCaptureFlags: u32 {
37 const ASSOC_REQ = 1;
38 const ASSOC_RESP = 2;
39 const REASSOC_REQ = 4;
40 const REASSOC_RESP = 8;
41 const PROBE_REQ = 16;
42 const PROBE_RESP = 32;
43 const TIMING_AD = 64;
44 const BEACON = 256;
45 const ATIM = 512;
46 const DISASSOC = 1024;
47 const AUTH = 2048;
48 const DEAUTH = 4096;
49 const ACTION = 8192;
50 const ACTION_NO_ACK = 16384;
51 }
52}
53
54impl MgmtFrameCaptureFlags {}
55
56#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
57#[repr(u32)]
58pub enum AssociateResultCode {
59 Success = 0,
60 RefusedReasonUnspecified = 1,
61 RefusedNotAuthenticated = 2,
62 RefusedCapabilitiesMismatch = 3,
63 RefusedExternalReason = 4,
64 RefusedApOutOfMemory = 5,
65 RefusedBasicRatesMismatch = 6,
66 RejectedEmergencyServicesNotSupported = 7,
67 RefusedTemporarily = 8,
68}
69
70impl AssociateResultCode {
71 #[inline]
72 pub fn from_primitive(prim: u32) -> Option<Self> {
73 match prim {
74 0 => Some(Self::Success),
75 1 => Some(Self::RefusedReasonUnspecified),
76 2 => Some(Self::RefusedNotAuthenticated),
77 3 => Some(Self::RefusedCapabilitiesMismatch),
78 4 => Some(Self::RefusedExternalReason),
79 5 => Some(Self::RefusedApOutOfMemory),
80 6 => Some(Self::RefusedBasicRatesMismatch),
81 7 => Some(Self::RejectedEmergencyServicesNotSupported),
82 8 => Some(Self::RefusedTemporarily),
83 _ => None,
84 }
85 }
86
87 #[inline]
88 pub const fn into_primitive(self) -> u32 {
89 self as u32
90 }
91}
92
93#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
94#[repr(u32)]
95pub enum AuthenticateResultCode {
96 Success = 0,
97 Refused = 1,
98 AntiCloggingTokenRequired = 2,
99 FiniteCyclicGroupNotSupported = 3,
100 AuthenticationRejected = 4,
101 AuthFailureTimeout = 5,
102}
103
104impl AuthenticateResultCode {
105 #[inline]
106 pub fn from_primitive(prim: u32) -> Option<Self> {
107 match prim {
108 0 => Some(Self::Success),
109 1 => Some(Self::Refused),
110 2 => Some(Self::AntiCloggingTokenRequired),
111 3 => Some(Self::FiniteCyclicGroupNotSupported),
112 4 => Some(Self::AuthenticationRejected),
113 5 => Some(Self::AuthFailureTimeout),
114 _ => None,
115 }
116 }
117
118 #[inline]
119 pub const fn into_primitive(self) -> u32 {
120 self as u32
121 }
122}
123
124#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
125#[repr(u32)]
126pub enum AuthenticationTypes {
127 OpenSystem = 1,
128 SharedKey = 2,
129 FastBssTransition = 3,
130 Sae = 4,
131}
132
133impl AuthenticationTypes {
134 #[inline]
135 pub fn from_primitive(prim: u32) -> Option<Self> {
136 match prim {
137 1 => Some(Self::OpenSystem),
138 2 => Some(Self::SharedKey),
139 3 => Some(Self::FastBssTransition),
140 4 => Some(Self::Sae),
141 _ => None,
142 }
143 }
144
145 #[inline]
146 pub const fn into_primitive(self) -> u32 {
147 self as u32
148 }
149}
150
151#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
152#[repr(u32)]
153pub enum ControlledPortState {
154 Closed = 0,
155 Open = 1,
156}
157
158impl ControlledPortState {
159 #[inline]
160 pub fn from_primitive(prim: u32) -> Option<Self> {
161 match prim {
162 0 => Some(Self::Closed),
163 1 => Some(Self::Open),
164 _ => None,
165 }
166 }
167
168 #[inline]
169 pub const fn into_primitive(self) -> u32 {
170 self as u32
171 }
172}
173
174#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
175#[repr(u32)]
176pub enum EapolResultCode {
177 Success = 0,
178 TransmissionFailure = 1,
179}
180
181impl EapolResultCode {
182 #[inline]
183 pub fn from_primitive(prim: u32) -> Option<Self> {
184 match prim {
185 0 => Some(Self::Success),
186 1 => Some(Self::TransmissionFailure),
187 _ => None,
188 }
189 }
190
191 #[inline]
192 pub const fn into_primitive(self) -> u32 {
193 self as u32
194 }
195}
196
197#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
198#[repr(u32)]
199pub enum KeyType {
200 Group = 1,
201 Pairwise = 2,
202 PeerKey = 3,
203 Igtk = 4,
204}
205
206impl KeyType {
207 #[inline]
208 pub fn from_primitive(prim: u32) -> Option<Self> {
209 match prim {
210 1 => Some(Self::Group),
211 2 => Some(Self::Pairwise),
212 3 => Some(Self::PeerKey),
213 4 => Some(Self::Igtk),
214 _ => None,
215 }
216 }
217
218 #[inline]
219 pub const fn into_primitive(self) -> u32 {
220 self as u32
221 }
222}
223
224#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
225#[repr(u32)]
226pub enum ScanResultCode {
227 Success = 0,
228 NotSupported = 1,
229 InvalidArgs = 2,
230 InternalError = 3,
231 ShouldWait = 4,
232 CanceledByDriverOrFirmware = 5,
233}
234
235impl ScanResultCode {
236 #[inline]
237 pub fn from_primitive(prim: u32) -> Option<Self> {
238 match prim {
239 0 => Some(Self::Success),
240 1 => Some(Self::NotSupported),
241 2 => Some(Self::InvalidArgs),
242 3 => Some(Self::InternalError),
243 4 => Some(Self::ShouldWait),
244 5 => Some(Self::CanceledByDriverOrFirmware),
245 _ => None,
246 }
247 }
248
249 #[inline]
250 pub const fn into_primitive(self) -> u32 {
251 self as u32
252 }
253}
254
255#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
256#[repr(u32)]
257pub enum ScanTypes {
258 Active = 1,
259 Passive = 2,
260}
261
262impl ScanTypes {
263 #[inline]
264 pub fn from_primitive(prim: u32) -> Option<Self> {
265 match prim {
266 1 => Some(Self::Active),
267 2 => Some(Self::Passive),
268 _ => None,
269 }
270 }
271
272 #[inline]
273 pub const fn into_primitive(self) -> u32 {
274 self as u32
275 }
276}
277
278#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
279#[repr(u32)]
280pub enum StartResultCode {
281 Success = 0,
282 BssAlreadyStartedOrJoined = 1,
283 ResetRequiredBeforeStart = 2,
284 NotSupported = 3,
285 InternalError = 4,
286}
287
288impl StartResultCode {
289 #[inline]
290 pub fn from_primitive(prim: u32) -> Option<Self> {
291 match prim {
292 0 => Some(Self::Success),
293 1 => Some(Self::BssAlreadyStartedOrJoined),
294 2 => Some(Self::ResetRequiredBeforeStart),
295 3 => Some(Self::NotSupported),
296 4 => Some(Self::InternalError),
297 _ => None,
298 }
299 }
300
301 #[inline]
302 pub const fn into_primitive(self) -> u32 {
303 self as u32
304 }
305}
306
307#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
308#[repr(u32)]
309pub enum StopResultCode {
310 Success = 0,
311 BssAlreadyStopped = 1,
312 InternalError = 2,
313}
314
315impl StopResultCode {
316 #[inline]
317 pub fn from_primitive(prim: u32) -> Option<Self> {
318 match prim {
319 0 => Some(Self::Success),
320 1 => Some(Self::BssAlreadyStopped),
321 2 => Some(Self::InternalError),
322 _ => None,
323 }
324 }
325
326 #[inline]
327 pub const fn into_primitive(self) -> u32 {
328 self as u32
329 }
330}
331
332#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
333pub struct AssociateIndication {
334 pub peer_sta_address: [u8; 6],
335 pub capability_info: u16,
336 pub listen_interval: u16,
337 pub ssid: Option<Vec<u8>>,
338 pub rates: Vec<u8>,
339 pub rsne: Option<Vec<u8>>,
340}
341
342impl fidl::Persistable for AssociateIndication {}
343
344#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
345pub struct AssociateResponse {
346 pub peer_sta_address: [u8; 6],
347 pub result_code: AssociateResultCode,
348 pub association_id: u16,
349 pub capability_info: u16,
350 pub rates: Vec<u8>,
351}
352
353impl fidl::Persistable for AssociateResponse {}
354
355#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
356pub struct AuthenticateIndication {
357 pub peer_sta_address: [u8; 6],
358 pub auth_type: AuthenticationTypes,
359}
360
361impl fidl::Persistable for AuthenticateIndication {}
362
363#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
364pub struct AuthenticateResponse {
365 pub peer_sta_address: [u8; 6],
366 pub result_code: AuthenticateResultCode,
367}
368
369impl fidl::Persistable for AuthenticateResponse {}
370
371#[derive(Clone, Debug, PartialEq)]
372pub struct BandCapability {
373 pub band: fidl_fuchsia_wlan_ieee80211__common::WlanBand,
375 pub basic_rates: Vec<u8>,
380 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
381 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
382 pub operating_channels: Vec<u8>,
392}
393
394impl fidl::Persistable for BandCapability {}
395
396#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
397pub struct CapturedFrameResult {
398 pub frame: Vec<u8>,
399}
400
401impl fidl::Persistable for CapturedFrameResult {}
402
403#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
404pub struct ConnectConfirm {
405 pub peer_sta_address: [u8; 6],
406 pub result_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
407 pub association_id: u16,
408 pub association_ies: Vec<u8>,
409}
410
411impl fidl::Persistable for ConnectConfirm {}
412
413#[derive(Clone, Debug, PartialEq)]
414pub struct ConnectRequest {
415 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
416 pub connect_failure_timeout: u32,
417 pub auth_type: AuthenticationTypes,
419 pub sae_password: Vec<u8>,
420 pub wep_key: Option<Box<SetKeyDescriptor>>,
422 pub security_ie: Vec<u8>,
424}
425
426impl fidl::Persistable for ConnectRequest {}
427
428#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
429#[repr(C)]
430pub struct Country {
431 pub alpha2: [u8; 2],
432 pub suffix: u8,
433}
434
435impl fidl::Persistable for Country {}
436
437#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
438#[repr(C)]
439pub struct DeauthenticateConfirm {
440 pub peer_sta_address: [u8; 6],
441}
442
443impl fidl::Persistable for DeauthenticateConfirm {}
444
445#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
446pub struct DeauthenticateIndication {
447 pub peer_sta_address: [u8; 6],
448 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
449 pub locally_initiated: bool,
452}
453
454impl fidl::Persistable for DeauthenticateIndication {}
455
456#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
457pub struct DeauthenticateRequest {
458 pub peer_sta_address: [u8; 6],
459 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
460}
461
462impl fidl::Persistable for DeauthenticateRequest {}
463
464#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
465pub struct DeleteKeyDescriptor {
466 pub key_id: u16,
467 pub key_type: KeyType,
468 pub address: [u8; 6],
469}
470
471impl fidl::Persistable for DeleteKeyDescriptor {}
472
473#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
474pub struct DeleteKeysRequest {
475 pub keylist: Vec<DeleteKeyDescriptor>,
476}
477
478impl fidl::Persistable for DeleteKeysRequest {}
479
480#[derive(Clone, Debug, PartialEq)]
481pub struct DeviceInfo {
482 pub sta_addr: [u8; 6],
483 pub role: fidl_fuchsia_wlan_common__common::WlanMacRole,
484 pub bands: Vec<BandCapability>,
485 pub softmac_hardware_capability: u32,
486 pub qos_capable: bool,
487}
488
489impl fidl::Persistable for DeviceInfo {}
490
491#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
492#[repr(C)]
493pub struct DisassociateConfirm {
494 pub status: i32,
495}
496
497impl fidl::Persistable for DisassociateConfirm {}
498
499#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
500pub struct DisassociateIndication {
501 pub peer_sta_address: [u8; 6],
502 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
503 pub locally_initiated: bool,
506}
507
508impl fidl::Persistable for DisassociateIndication {}
509
510#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
511pub struct DisassociateRequest {
512 pub peer_sta_address: [u8; 6],
513 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
514}
515
516impl fidl::Persistable for DisassociateRequest {}
517
518#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
519pub struct EapolConfirm {
520 pub result_code: EapolResultCode,
521 pub dst_addr: [u8; 6],
525}
526
527impl fidl::Persistable for EapolConfirm {}
528
529#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
530pub struct EapolIndication {
531 pub src_addr: [u8; 6],
532 pub dst_addr: [u8; 6],
533 pub data: Vec<u8>,
534}
535
536impl fidl::Persistable for EapolIndication {}
537
538#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
539pub struct EapolRequest {
540 pub src_addr: [u8; 6],
541 pub dst_addr: [u8; 6],
542 pub data: Vec<u8>,
543}
544
545impl fidl::Persistable for EapolRequest {}
546
547#[derive(Clone, Debug, PartialEq)]
548pub struct MlmeQueryTelemetrySupportResponse {
549 pub resp: fidl_fuchsia_wlan_stats__common::TelemetrySupport,
550}
551
552impl fidl::Persistable for MlmeQueryTelemetrySupportResponse {}
553
554#[derive(Clone, Debug, PartialEq)]
555pub struct MinstrelListResponse {
556 pub peers: fidl_fuchsia_wlan_minstrel__common::Peers,
557}
558
559impl fidl::Persistable for MinstrelListResponse {}
560
561#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
562#[repr(C)]
563pub struct MinstrelStatsRequest {
564 pub peer_addr: [u8; 6],
565}
566
567impl fidl::Persistable for MinstrelStatsRequest {}
568
569#[derive(Clone, Debug, PartialEq)]
570pub struct MinstrelStatsResponse {
571 pub peer: Option<Box<fidl_fuchsia_wlan_minstrel__common::Peer>>,
572}
573
574impl fidl::Persistable for MinstrelStatsResponse {}
575
576#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
577pub struct MlmeAssociateIndRequest {
578 pub ind: AssociateIndication,
579}
580
581impl fidl::Persistable for MlmeAssociateIndRequest {}
582
583#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
584pub struct MlmeAssociateRespRequest {
585 pub resp: AssociateResponse,
586}
587
588impl fidl::Persistable for MlmeAssociateRespRequest {}
589
590#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
591pub struct MlmeAuthenticateIndRequest {
592 pub ind: AuthenticateIndication,
593}
594
595impl fidl::Persistable for MlmeAuthenticateIndRequest {}
596
597#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
598pub struct MlmeAuthenticateRespRequest {
599 pub resp: AuthenticateResponse,
600}
601
602impl fidl::Persistable for MlmeAuthenticateRespRequest {}
603
604#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
605pub struct MlmeConnectConfRequest {
606 pub resp: ConnectConfirm,
607}
608
609impl fidl::Persistable for MlmeConnectConfRequest {}
610
611#[derive(Clone, Debug, PartialEq)]
612pub struct MlmeConnectReqRequest {
613 pub req: ConnectRequest,
614}
615
616impl fidl::Persistable for MlmeConnectReqRequest {}
617
618#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
619#[repr(C)]
620pub struct MlmeDeauthenticateConfRequest {
621 pub resp: DeauthenticateConfirm,
622}
623
624impl fidl::Persistable for MlmeDeauthenticateConfRequest {}
625
626#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
627pub struct MlmeDeauthenticateIndRequest {
628 pub ind: DeauthenticateIndication,
629}
630
631impl fidl::Persistable for MlmeDeauthenticateIndRequest {}
632
633#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
634pub struct MlmeDeauthenticateReqRequest {
635 pub req: DeauthenticateRequest,
636}
637
638impl fidl::Persistable for MlmeDeauthenticateReqRequest {}
639
640#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
641pub struct MlmeDeleteKeysReqRequest {
642 pub req: DeleteKeysRequest,
643}
644
645impl fidl::Persistable for MlmeDeleteKeysReqRequest {}
646
647#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
648#[repr(C)]
649pub struct MlmeDisassociateConfRequest {
650 pub resp: DisassociateConfirm,
651}
652
653impl fidl::Persistable for MlmeDisassociateConfRequest {}
654
655#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
656pub struct MlmeDisassociateIndRequest {
657 pub ind: DisassociateIndication,
658}
659
660impl fidl::Persistable for MlmeDisassociateIndRequest {}
661
662#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
663pub struct MlmeDisassociateReqRequest {
664 pub req: DisassociateRequest,
665}
666
667impl fidl::Persistable for MlmeDisassociateReqRequest {}
668
669#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
670pub struct MlmeEapolConfRequest {
671 pub resp: EapolConfirm,
672}
673
674impl fidl::Persistable for MlmeEapolConfRequest {}
675
676#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
677pub struct MlmeEapolIndRequest {
678 pub ind: EapolIndication,
679}
680
681impl fidl::Persistable for MlmeEapolIndRequest {}
682
683#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
684pub struct MlmeEapolReqRequest {
685 pub req: EapolRequest,
686}
687
688impl fidl::Persistable for MlmeEapolReqRequest {}
689
690#[derive(Clone, Debug, PartialEq)]
691pub struct MlmeFinalizeAssociationReqRequest {
692 pub negotiated_capabilities: NegotiatedCapabilities,
693}
694
695impl fidl::Persistable for MlmeFinalizeAssociationReqRequest {}
696
697#[derive(Clone, Debug, PartialEq)]
698pub struct MlmeGetIfaceHistogramStatsResponse {
699 pub resp: GetIfaceHistogramStatsResponse,
700}
701
702impl fidl::Persistable for MlmeGetIfaceHistogramStatsResponse {}
703
704#[derive(Clone, Debug, PartialEq)]
705pub struct MlmeGetIfaceStatsResponse {
706 pub resp: GetIfaceStatsResponse,
707}
708
709impl fidl::Persistable for MlmeGetIfaceStatsResponse {}
710
711#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
712#[repr(C)]
713pub struct MlmeGetMinstrelStatsRequest {
714 pub req: MinstrelStatsRequest,
715}
716
717impl fidl::Persistable for MlmeGetMinstrelStatsRequest {}
718
719#[derive(Clone, Debug, PartialEq)]
720pub struct MlmeGetMinstrelStatsResponse {
721 pub resp: MinstrelStatsResponse,
722}
723
724impl fidl::Persistable for MlmeGetMinstrelStatsResponse {}
725
726#[derive(Clone, Debug, PartialEq)]
727pub struct MlmeListMinstrelPeersResponse {
728 pub resp: MinstrelListResponse,
729}
730
731impl fidl::Persistable for MlmeListMinstrelPeersResponse {}
732
733#[derive(Clone, Debug, PartialEq)]
734pub struct MlmeOnChannelSwitchedRequest {
735 pub info: fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
736}
737
738impl fidl::Persistable for MlmeOnChannelSwitchedRequest {}
739
740#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
741pub struct MlmeOnPmkAvailableRequest {
742 pub info: PmkInfo,
743}
744
745impl fidl::Persistable for MlmeOnPmkAvailableRequest {}
746
747#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
748pub struct MlmeOnSaeFrameRxRequest {
749 pub frame: SaeFrame,
750}
751
752impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
753
754#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
755#[repr(C)]
756pub struct MlmeOnSaeHandshakeIndRequest {
757 pub ind: SaeHandshakeIndication,
758}
759
760impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
761
762#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
763pub struct MlmeOnScanEndRequest {
764 pub end: ScanEnd,
765}
766
767impl fidl::Persistable for MlmeOnScanEndRequest {}
768
769#[derive(Clone, Debug, PartialEq)]
770pub struct MlmeOnScanResultRequest {
771 pub result: ScanResult,
772}
773
774impl fidl::Persistable for MlmeOnScanResultRequest {}
775
776#[derive(Clone, Debug, PartialEq)]
777pub struct MlmeOnWmmStatusRespRequest {
778 pub status: i32,
779 pub resp: fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
780}
781
782impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
783
784#[derive(Clone, Debug, PartialEq)]
785pub struct MlmeQueryDeviceInfoResponse {
786 pub info: DeviceInfo,
787}
788
789impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
790
791#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
792#[repr(C)]
793pub struct MlmeReconnectReqRequest {
794 pub req: ReconnectRequest,
795}
796
797impl fidl::Persistable for MlmeReconnectReqRequest {}
798
799#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
800pub struct MlmeRelayCapturedFrameRequest {
801 pub result: CapturedFrameResult,
802}
803
804impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
805
806#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
807pub struct MlmeResetReqRequest {
808 pub req: ResetRequest,
809}
810
811impl fidl::Persistable for MlmeResetReqRequest {}
812
813#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
814pub struct MlmeRoamConfRequest {
815 pub conf: RoamConfirm,
816}
817
818impl fidl::Persistable for MlmeRoamConfRequest {}
819
820#[derive(Clone, Debug, PartialEq)]
821pub struct MlmeRoamReqRequest {
822 pub req: RoamRequest,
823}
824
825impl fidl::Persistable for MlmeRoamReqRequest {}
826
827#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
828pub struct MlmeRoamResultIndRequest {
829 pub ind: RoamResultIndication,
830}
831
832impl fidl::Persistable for MlmeRoamResultIndRequest {}
833
834#[derive(Clone, Debug, PartialEq)]
835pub struct MlmeRoamStartIndRequest {
836 pub ind: RoamStartIndication,
837}
838
839impl fidl::Persistable for MlmeRoamStartIndRequest {}
840
841#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
842pub struct MlmeSaeFrameTxRequest {
843 pub frame: SaeFrame,
844}
845
846impl fidl::Persistable for MlmeSaeFrameTxRequest {}
847
848#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
849pub struct MlmeSaeHandshakeRespRequest {
850 pub resp: SaeHandshakeResponse,
851}
852
853impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
854
855#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
856pub struct MlmeSetControlledPortRequest {
857 pub req: SetControlledPortRequest,
858}
859
860impl fidl::Persistable for MlmeSetControlledPortRequest {}
861
862#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
863pub struct MlmeSetKeysConfRequest {
864 pub conf: SetKeysConfirm,
865}
866
867impl fidl::Persistable for MlmeSetKeysConfRequest {}
868
869#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
870pub struct MlmeSetKeysReqRequest {
871 pub req: SetKeysRequest,
872}
873
874impl fidl::Persistable for MlmeSetKeysReqRequest {}
875
876#[derive(Clone, Debug, PartialEq)]
877pub struct MlmeSignalReportRequest {
878 pub ind: fidl_fuchsia_wlan_internal__common::SignalReportIndication,
879}
880
881impl fidl::Persistable for MlmeSignalReportRequest {}
882
883#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
884pub struct MlmeStartCaptureFramesRequest {
885 pub req: StartCaptureFramesRequest,
886}
887
888impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
889
890#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
891pub struct MlmeStartCaptureFramesResponse {
892 pub resp: StartCaptureFramesResponse,
893}
894
895impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
896
897#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
898pub struct MlmeStartConfRequest {
899 pub resp: StartConfirm,
900}
901
902impl fidl::Persistable for MlmeStartConfRequest {}
903
904#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
905pub struct MlmeStartReqRequest {
906 pub req: StartRequest,
907}
908
909impl fidl::Persistable for MlmeStartReqRequest {}
910
911#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
912pub struct MlmeStartScanRequest {
913 pub req: ScanRequest,
914}
915
916impl fidl::Persistable for MlmeStartScanRequest {}
917
918#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
919pub struct MlmeStopConfRequest {
920 pub resp: StopConfirm,
921}
922
923impl fidl::Persistable for MlmeStopConfRequest {}
924
925#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
926pub struct MlmeStopReqRequest {
927 pub req: StopRequest,
928}
929
930impl fidl::Persistable for MlmeStopReqRequest {}
931
932#[derive(Clone, Debug, PartialEq)]
934pub struct NegotiatedCapabilities {
935 pub channel: fidl_fuchsia_wlan_common__common::WlanChannel,
936 pub capability_info: u16,
937 pub rates: Vec<u8>,
938 pub wmm_param: Option<Box<WmmParameter>>,
939 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
940 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
941}
942
943impl fidl::Persistable for NegotiatedCapabilities {}
944
945#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
946pub struct PmkInfo {
947 pub pmk: Vec<u8>,
948 pub pmkid: Vec<u8>,
949}
950
951impl fidl::Persistable for PmkInfo {}
952
953#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
954#[repr(C)]
955pub struct ReconnectRequest {
956 pub peer_sta_address: [u8; 6],
957}
958
959impl fidl::Persistable for ReconnectRequest {}
960
961#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
962pub struct ResetRequest {
963 pub sta_address: [u8; 6],
964 pub set_default_mib: bool,
965}
966
967impl fidl::Persistable for ResetRequest {}
968
969#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
971pub struct RoamConfirm {
972 pub selected_bssid: [u8; 6],
973 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
974 pub original_association_maintained: bool,
979 pub target_bss_authenticated: bool,
984 pub association_id: u16,
985 pub association_ies: Vec<u8>,
986}
987
988impl fidl::Persistable for RoamConfirm {}
989
990#[derive(Clone, Debug, PartialEq)]
991pub struct RoamRequest {
992 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
993}
994
995impl fidl::Persistable for RoamRequest {}
996
997#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
999pub struct RoamResultIndication {
1000 pub selected_bssid: [u8; 6],
1001 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1002 pub original_association_maintained: bool,
1007 pub target_bss_authenticated: bool,
1012 pub association_id: u16,
1013 pub association_ies: Vec<u8>,
1014}
1015
1016impl fidl::Persistable for RoamResultIndication {}
1017
1018#[derive(Clone, Debug, PartialEq)]
1020pub struct RoamStartIndication {
1021 pub selected_bssid: [u8; 6],
1022 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1023 pub original_association_maintained: bool,
1030}
1031
1032impl fidl::Persistable for RoamStartIndication {}
1033
1034#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1035pub struct SaeFrame {
1036 pub peer_sta_address: [u8; 6],
1037 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1038 pub seq_num: u16,
1039 pub sae_fields: Vec<u8>,
1040}
1041
1042impl fidl::Persistable for SaeFrame {}
1043
1044#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1045#[repr(C)]
1046pub struct SaeHandshakeIndication {
1047 pub peer_sta_address: [u8; 6],
1048}
1049
1050impl fidl::Persistable for SaeHandshakeIndication {}
1051
1052#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1053pub struct SaeHandshakeResponse {
1054 pub peer_sta_address: [u8; 6],
1055 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1056}
1057
1058impl fidl::Persistable for SaeHandshakeResponse {}
1059
1060#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1061pub struct ScanEnd {
1062 pub txn_id: u64,
1063 pub code: ScanResultCode,
1064}
1065
1066impl fidl::Persistable for ScanEnd {}
1067
1068#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1069pub struct ScanRequest {
1070 pub txn_id: u64,
1071 pub scan_type: ScanTypes,
1072 pub channel_list: Vec<u8>,
1079 pub ssid_list: Vec<Vec<u8>>,
1088 pub probe_delay: u32,
1089 pub min_channel_time: u32,
1090 pub max_channel_time: u32,
1091}
1092
1093impl fidl::Persistable for ScanRequest {}
1094
1095#[derive(Clone, Debug, PartialEq)]
1096pub struct ScanResult {
1097 pub txn_id: u64,
1098 pub timestamp_nanos: i64,
1099 pub bss: fidl_fuchsia_wlan_common__common::BssDescription,
1100}
1101
1102impl fidl::Persistable for ScanResult {}
1103
1104#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1105pub struct SetControlledPortRequest {
1106 pub peer_sta_address: [u8; 6],
1107 pub state: ControlledPortState,
1108}
1109
1110impl fidl::Persistable for SetControlledPortRequest {}
1111
1112#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1113pub struct SetKeyDescriptor {
1114 pub key: Vec<u8>,
1115 pub key_id: u16,
1116 pub key_type: KeyType,
1117 pub address: [u8; 6],
1118 pub rsc: u64,
1119 pub cipher_suite_oui: [u8; 3],
1120 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
1121}
1122
1123impl fidl::Persistable for SetKeyDescriptor {}
1124
1125#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1126#[repr(C)]
1127pub struct SetKeyResult {
1128 pub key_id: u16,
1129 pub status: i32,
1130}
1131
1132impl fidl::Persistable for SetKeyResult {}
1133
1134#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1135pub struct SetKeysConfirm {
1136 pub results: Vec<SetKeyResult>,
1137}
1138
1139impl fidl::Persistable for SetKeysConfirm {}
1140
1141#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1142pub struct SetKeysRequest {
1143 pub keylist: Vec<SetKeyDescriptor>,
1144}
1145
1146impl fidl::Persistable for SetKeysRequest {}
1147
1148#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1149pub struct StartCaptureFramesRequest {
1150 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1151}
1152
1153impl fidl::Persistable for StartCaptureFramesRequest {}
1154
1155#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1156pub struct StartCaptureFramesResponse {
1157 pub status: i32,
1158 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1159}
1160
1161impl fidl::Persistable for StartCaptureFramesResponse {}
1162
1163#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1164pub struct StartConfirm {
1165 pub result_code: StartResultCode,
1166}
1167
1168impl fidl::Persistable for StartConfirm {}
1169
1170#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1171pub struct StartRequest {
1172 pub ssid: Vec<u8>,
1173 pub bss_type: fidl_fuchsia_wlan_common__common::BssType,
1174 pub beacon_period: u16,
1175 pub dtim_period: u8,
1176 pub channel: u8,
1177 pub capability_info: u16,
1178 pub rates: Vec<u8>,
1179 pub country: Country,
1180 pub mesh_id: Vec<u8>,
1181 pub rsne: Option<Vec<u8>>,
1182 pub phy: fidl_fuchsia_wlan_common__common::WlanPhyType,
1183 pub channel_bandwidth: fidl_fuchsia_wlan_common__common::ChannelBandwidth,
1184}
1185
1186impl fidl::Persistable for StartRequest {}
1187
1188#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1189pub struct StopConfirm {
1190 pub result_code: StopResultCode,
1191}
1192
1193impl fidl::Persistable for StopConfirm {}
1194
1195#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1196pub struct StopRequest {
1197 pub ssid: Vec<u8>,
1198}
1199
1200impl fidl::Persistable for StopRequest {}
1201
1202#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1203#[repr(C)]
1204pub struct WmmParameter {
1205 pub bytes: [u8; 18],
1206}
1207
1208impl fidl::Persistable for WmmParameter {}
1209
1210#[derive(Clone, Debug, PartialEq)]
1211pub enum GetIfaceHistogramStatsResponse {
1212 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
1213 ErrorStatus(i32),
1214}
1215
1216impl GetIfaceHistogramStatsResponse {
1217 #[inline]
1218 pub fn ordinal(&self) -> u64 {
1219 match *self {
1220 Self::Stats(_) => 1,
1221 Self::ErrorStatus(_) => 2,
1222 }
1223 }
1224}
1225
1226impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1227
1228#[derive(Clone, Debug, PartialEq)]
1229pub enum GetIfaceStatsResponse {
1230 Stats(fidl_fuchsia_wlan_stats__common::IfaceStats),
1231 ErrorStatus(i32),
1232}
1233
1234impl GetIfaceStatsResponse {
1235 #[inline]
1236 pub fn ordinal(&self) -> u64 {
1237 match *self {
1238 Self::Stats(_) => 1,
1239 Self::ErrorStatus(_) => 2,
1240 }
1241 }
1242}
1243
1244impl fidl::Persistable for GetIfaceStatsResponse {}
1245
1246pub mod connector_ordinals {
1247 pub const CONNECT: u64 = 0x42131859717af962;
1248}
1249
1250pub mod mlme_ordinals {
1251 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1252 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1253 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1254 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1255 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1256 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1257 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1258 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1259 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1260 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1261 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1262 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1263 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1264 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1265 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1266 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1267 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1268 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1269 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1270 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1271 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1272 pub const START_REQ: u64 = 0x5d95885f8053654;
1273 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1274 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1275 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1276 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1277 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1278 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1279 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1280 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1281 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1282 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1283 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1284 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1285 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1286 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1287 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1288 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1289 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1290 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1291 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1292 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1293 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1294 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1295 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1296 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1297 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1298 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1299 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1300 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1301 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1302}
1303
1304mod internal {
1305 use super::*;
1306 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1307 type Owned = Self;
1308
1309 #[inline(always)]
1310 fn inline_align(_context: fidl::encoding::Context) -> usize {
1311 4
1312 }
1313
1314 #[inline(always)]
1315 fn inline_size(_context: fidl::encoding::Context) -> usize {
1316 4
1317 }
1318 }
1319
1320 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1321 type Borrowed<'a> = Self;
1322 #[inline(always)]
1323 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1324 *value
1325 }
1326 }
1327
1328 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1329 for MgmtFrameCaptureFlags
1330 {
1331 #[inline]
1332 unsafe fn encode(
1333 self,
1334 encoder: &mut fidl::encoding::Encoder<'_, D>,
1335 offset: usize,
1336 _depth: fidl::encoding::Depth,
1337 ) -> fidl::Result<()> {
1338 encoder.debug_check_bounds::<Self>(offset);
1339 if self.bits() & Self::all().bits() != self.bits() {
1340 return Err(fidl::Error::InvalidBitsValue);
1341 }
1342 encoder.write_num(self.bits(), offset);
1343 Ok(())
1344 }
1345 }
1346
1347 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1348 #[inline(always)]
1349 fn new_empty() -> Self {
1350 Self::empty()
1351 }
1352
1353 #[inline]
1354 unsafe fn decode(
1355 &mut self,
1356 decoder: &mut fidl::encoding::Decoder<'_, D>,
1357 offset: usize,
1358 _depth: fidl::encoding::Depth,
1359 ) -> fidl::Result<()> {
1360 decoder.debug_check_bounds::<Self>(offset);
1361 let prim = decoder.read_num::<u32>(offset);
1362 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1363 Ok(())
1364 }
1365 }
1366 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1367 type Owned = Self;
1368
1369 #[inline(always)]
1370 fn inline_align(_context: fidl::encoding::Context) -> usize {
1371 std::mem::align_of::<u32>()
1372 }
1373
1374 #[inline(always)]
1375 fn inline_size(_context: fidl::encoding::Context) -> usize {
1376 std::mem::size_of::<u32>()
1377 }
1378
1379 #[inline(always)]
1380 fn encode_is_copy() -> bool {
1381 true
1382 }
1383
1384 #[inline(always)]
1385 fn decode_is_copy() -> bool {
1386 false
1387 }
1388 }
1389
1390 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1391 type Borrowed<'a> = Self;
1392 #[inline(always)]
1393 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1394 *value
1395 }
1396 }
1397
1398 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1399 for AssociateResultCode
1400 {
1401 #[inline]
1402 unsafe fn encode(
1403 self,
1404 encoder: &mut fidl::encoding::Encoder<'_, D>,
1405 offset: usize,
1406 _depth: fidl::encoding::Depth,
1407 ) -> fidl::Result<()> {
1408 encoder.debug_check_bounds::<Self>(offset);
1409 encoder.write_num(self.into_primitive(), offset);
1410 Ok(())
1411 }
1412 }
1413
1414 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1415 #[inline(always)]
1416 fn new_empty() -> Self {
1417 Self::Success
1418 }
1419
1420 #[inline]
1421 unsafe fn decode(
1422 &mut self,
1423 decoder: &mut fidl::encoding::Decoder<'_, D>,
1424 offset: usize,
1425 _depth: fidl::encoding::Depth,
1426 ) -> fidl::Result<()> {
1427 decoder.debug_check_bounds::<Self>(offset);
1428 let prim = decoder.read_num::<u32>(offset);
1429
1430 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1431 Ok(())
1432 }
1433 }
1434 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1435 type Owned = Self;
1436
1437 #[inline(always)]
1438 fn inline_align(_context: fidl::encoding::Context) -> usize {
1439 std::mem::align_of::<u32>()
1440 }
1441
1442 #[inline(always)]
1443 fn inline_size(_context: fidl::encoding::Context) -> usize {
1444 std::mem::size_of::<u32>()
1445 }
1446
1447 #[inline(always)]
1448 fn encode_is_copy() -> bool {
1449 true
1450 }
1451
1452 #[inline(always)]
1453 fn decode_is_copy() -> bool {
1454 false
1455 }
1456 }
1457
1458 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1459 type Borrowed<'a> = Self;
1460 #[inline(always)]
1461 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1462 *value
1463 }
1464 }
1465
1466 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1467 for AuthenticateResultCode
1468 {
1469 #[inline]
1470 unsafe fn encode(
1471 self,
1472 encoder: &mut fidl::encoding::Encoder<'_, D>,
1473 offset: usize,
1474 _depth: fidl::encoding::Depth,
1475 ) -> fidl::Result<()> {
1476 encoder.debug_check_bounds::<Self>(offset);
1477 encoder.write_num(self.into_primitive(), offset);
1478 Ok(())
1479 }
1480 }
1481
1482 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1483 for AuthenticateResultCode
1484 {
1485 #[inline(always)]
1486 fn new_empty() -> Self {
1487 Self::Success
1488 }
1489
1490 #[inline]
1491 unsafe fn decode(
1492 &mut self,
1493 decoder: &mut fidl::encoding::Decoder<'_, D>,
1494 offset: usize,
1495 _depth: fidl::encoding::Depth,
1496 ) -> fidl::Result<()> {
1497 decoder.debug_check_bounds::<Self>(offset);
1498 let prim = decoder.read_num::<u32>(offset);
1499
1500 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1501 Ok(())
1502 }
1503 }
1504 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1505 type Owned = Self;
1506
1507 #[inline(always)]
1508 fn inline_align(_context: fidl::encoding::Context) -> usize {
1509 std::mem::align_of::<u32>()
1510 }
1511
1512 #[inline(always)]
1513 fn inline_size(_context: fidl::encoding::Context) -> usize {
1514 std::mem::size_of::<u32>()
1515 }
1516
1517 #[inline(always)]
1518 fn encode_is_copy() -> bool {
1519 true
1520 }
1521
1522 #[inline(always)]
1523 fn decode_is_copy() -> bool {
1524 false
1525 }
1526 }
1527
1528 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1529 type Borrowed<'a> = Self;
1530 #[inline(always)]
1531 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1532 *value
1533 }
1534 }
1535
1536 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1537 for AuthenticationTypes
1538 {
1539 #[inline]
1540 unsafe fn encode(
1541 self,
1542 encoder: &mut fidl::encoding::Encoder<'_, D>,
1543 offset: usize,
1544 _depth: fidl::encoding::Depth,
1545 ) -> fidl::Result<()> {
1546 encoder.debug_check_bounds::<Self>(offset);
1547 encoder.write_num(self.into_primitive(), offset);
1548 Ok(())
1549 }
1550 }
1551
1552 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1553 #[inline(always)]
1554 fn new_empty() -> Self {
1555 Self::OpenSystem
1556 }
1557
1558 #[inline]
1559 unsafe fn decode(
1560 &mut self,
1561 decoder: &mut fidl::encoding::Decoder<'_, D>,
1562 offset: usize,
1563 _depth: fidl::encoding::Depth,
1564 ) -> fidl::Result<()> {
1565 decoder.debug_check_bounds::<Self>(offset);
1566 let prim = decoder.read_num::<u32>(offset);
1567
1568 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1569 Ok(())
1570 }
1571 }
1572 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1573 type Owned = Self;
1574
1575 #[inline(always)]
1576 fn inline_align(_context: fidl::encoding::Context) -> usize {
1577 std::mem::align_of::<u32>()
1578 }
1579
1580 #[inline(always)]
1581 fn inline_size(_context: fidl::encoding::Context) -> usize {
1582 std::mem::size_of::<u32>()
1583 }
1584
1585 #[inline(always)]
1586 fn encode_is_copy() -> bool {
1587 true
1588 }
1589
1590 #[inline(always)]
1591 fn decode_is_copy() -> bool {
1592 false
1593 }
1594 }
1595
1596 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1597 type Borrowed<'a> = Self;
1598 #[inline(always)]
1599 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1600 *value
1601 }
1602 }
1603
1604 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1605 for ControlledPortState
1606 {
1607 #[inline]
1608 unsafe fn encode(
1609 self,
1610 encoder: &mut fidl::encoding::Encoder<'_, D>,
1611 offset: usize,
1612 _depth: fidl::encoding::Depth,
1613 ) -> fidl::Result<()> {
1614 encoder.debug_check_bounds::<Self>(offset);
1615 encoder.write_num(self.into_primitive(), offset);
1616 Ok(())
1617 }
1618 }
1619
1620 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1621 #[inline(always)]
1622 fn new_empty() -> Self {
1623 Self::Closed
1624 }
1625
1626 #[inline]
1627 unsafe fn decode(
1628 &mut self,
1629 decoder: &mut fidl::encoding::Decoder<'_, D>,
1630 offset: usize,
1631 _depth: fidl::encoding::Depth,
1632 ) -> fidl::Result<()> {
1633 decoder.debug_check_bounds::<Self>(offset);
1634 let prim = decoder.read_num::<u32>(offset);
1635
1636 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1637 Ok(())
1638 }
1639 }
1640 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1641 type Owned = Self;
1642
1643 #[inline(always)]
1644 fn inline_align(_context: fidl::encoding::Context) -> usize {
1645 std::mem::align_of::<u32>()
1646 }
1647
1648 #[inline(always)]
1649 fn inline_size(_context: fidl::encoding::Context) -> usize {
1650 std::mem::size_of::<u32>()
1651 }
1652
1653 #[inline(always)]
1654 fn encode_is_copy() -> bool {
1655 true
1656 }
1657
1658 #[inline(always)]
1659 fn decode_is_copy() -> bool {
1660 false
1661 }
1662 }
1663
1664 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1665 type Borrowed<'a> = Self;
1666 #[inline(always)]
1667 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1668 *value
1669 }
1670 }
1671
1672 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1673 for EapolResultCode
1674 {
1675 #[inline]
1676 unsafe fn encode(
1677 self,
1678 encoder: &mut fidl::encoding::Encoder<'_, D>,
1679 offset: usize,
1680 _depth: fidl::encoding::Depth,
1681 ) -> fidl::Result<()> {
1682 encoder.debug_check_bounds::<Self>(offset);
1683 encoder.write_num(self.into_primitive(), offset);
1684 Ok(())
1685 }
1686 }
1687
1688 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1689 #[inline(always)]
1690 fn new_empty() -> Self {
1691 Self::Success
1692 }
1693
1694 #[inline]
1695 unsafe fn decode(
1696 &mut self,
1697 decoder: &mut fidl::encoding::Decoder<'_, D>,
1698 offset: usize,
1699 _depth: fidl::encoding::Depth,
1700 ) -> fidl::Result<()> {
1701 decoder.debug_check_bounds::<Self>(offset);
1702 let prim = decoder.read_num::<u32>(offset);
1703
1704 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1705 Ok(())
1706 }
1707 }
1708 unsafe impl fidl::encoding::TypeMarker for KeyType {
1709 type Owned = Self;
1710
1711 #[inline(always)]
1712 fn inline_align(_context: fidl::encoding::Context) -> usize {
1713 std::mem::align_of::<u32>()
1714 }
1715
1716 #[inline(always)]
1717 fn inline_size(_context: fidl::encoding::Context) -> usize {
1718 std::mem::size_of::<u32>()
1719 }
1720
1721 #[inline(always)]
1722 fn encode_is_copy() -> bool {
1723 true
1724 }
1725
1726 #[inline(always)]
1727 fn decode_is_copy() -> bool {
1728 false
1729 }
1730 }
1731
1732 impl fidl::encoding::ValueTypeMarker for KeyType {
1733 type Borrowed<'a> = Self;
1734 #[inline(always)]
1735 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1736 *value
1737 }
1738 }
1739
1740 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1741 #[inline]
1742 unsafe fn encode(
1743 self,
1744 encoder: &mut fidl::encoding::Encoder<'_, D>,
1745 offset: usize,
1746 _depth: fidl::encoding::Depth,
1747 ) -> fidl::Result<()> {
1748 encoder.debug_check_bounds::<Self>(offset);
1749 encoder.write_num(self.into_primitive(), offset);
1750 Ok(())
1751 }
1752 }
1753
1754 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1755 #[inline(always)]
1756 fn new_empty() -> Self {
1757 Self::Group
1758 }
1759
1760 #[inline]
1761 unsafe fn decode(
1762 &mut self,
1763 decoder: &mut fidl::encoding::Decoder<'_, D>,
1764 offset: usize,
1765 _depth: fidl::encoding::Depth,
1766 ) -> fidl::Result<()> {
1767 decoder.debug_check_bounds::<Self>(offset);
1768 let prim = decoder.read_num::<u32>(offset);
1769
1770 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1771 Ok(())
1772 }
1773 }
1774 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1775 type Owned = Self;
1776
1777 #[inline(always)]
1778 fn inline_align(_context: fidl::encoding::Context) -> usize {
1779 std::mem::align_of::<u32>()
1780 }
1781
1782 #[inline(always)]
1783 fn inline_size(_context: fidl::encoding::Context) -> usize {
1784 std::mem::size_of::<u32>()
1785 }
1786
1787 #[inline(always)]
1788 fn encode_is_copy() -> bool {
1789 true
1790 }
1791
1792 #[inline(always)]
1793 fn decode_is_copy() -> bool {
1794 false
1795 }
1796 }
1797
1798 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1799 type Borrowed<'a> = Self;
1800 #[inline(always)]
1801 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1802 *value
1803 }
1804 }
1805
1806 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1807 #[inline]
1808 unsafe fn encode(
1809 self,
1810 encoder: &mut fidl::encoding::Encoder<'_, D>,
1811 offset: usize,
1812 _depth: fidl::encoding::Depth,
1813 ) -> fidl::Result<()> {
1814 encoder.debug_check_bounds::<Self>(offset);
1815 encoder.write_num(self.into_primitive(), offset);
1816 Ok(())
1817 }
1818 }
1819
1820 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1821 #[inline(always)]
1822 fn new_empty() -> Self {
1823 Self::Success
1824 }
1825
1826 #[inline]
1827 unsafe fn decode(
1828 &mut self,
1829 decoder: &mut fidl::encoding::Decoder<'_, D>,
1830 offset: usize,
1831 _depth: fidl::encoding::Depth,
1832 ) -> fidl::Result<()> {
1833 decoder.debug_check_bounds::<Self>(offset);
1834 let prim = decoder.read_num::<u32>(offset);
1835
1836 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1837 Ok(())
1838 }
1839 }
1840 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1841 type Owned = Self;
1842
1843 #[inline(always)]
1844 fn inline_align(_context: fidl::encoding::Context) -> usize {
1845 std::mem::align_of::<u32>()
1846 }
1847
1848 #[inline(always)]
1849 fn inline_size(_context: fidl::encoding::Context) -> usize {
1850 std::mem::size_of::<u32>()
1851 }
1852
1853 #[inline(always)]
1854 fn encode_is_copy() -> bool {
1855 true
1856 }
1857
1858 #[inline(always)]
1859 fn decode_is_copy() -> bool {
1860 false
1861 }
1862 }
1863
1864 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1865 type Borrowed<'a> = Self;
1866 #[inline(always)]
1867 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1868 *value
1869 }
1870 }
1871
1872 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1873 #[inline]
1874 unsafe fn encode(
1875 self,
1876 encoder: &mut fidl::encoding::Encoder<'_, D>,
1877 offset: usize,
1878 _depth: fidl::encoding::Depth,
1879 ) -> fidl::Result<()> {
1880 encoder.debug_check_bounds::<Self>(offset);
1881 encoder.write_num(self.into_primitive(), offset);
1882 Ok(())
1883 }
1884 }
1885
1886 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
1887 #[inline(always)]
1888 fn new_empty() -> Self {
1889 Self::Active
1890 }
1891
1892 #[inline]
1893 unsafe fn decode(
1894 &mut self,
1895 decoder: &mut fidl::encoding::Decoder<'_, D>,
1896 offset: usize,
1897 _depth: fidl::encoding::Depth,
1898 ) -> fidl::Result<()> {
1899 decoder.debug_check_bounds::<Self>(offset);
1900 let prim = decoder.read_num::<u32>(offset);
1901
1902 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1903 Ok(())
1904 }
1905 }
1906 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
1907 type Owned = Self;
1908
1909 #[inline(always)]
1910 fn inline_align(_context: fidl::encoding::Context) -> usize {
1911 std::mem::align_of::<u32>()
1912 }
1913
1914 #[inline(always)]
1915 fn inline_size(_context: fidl::encoding::Context) -> usize {
1916 std::mem::size_of::<u32>()
1917 }
1918
1919 #[inline(always)]
1920 fn encode_is_copy() -> bool {
1921 true
1922 }
1923
1924 #[inline(always)]
1925 fn decode_is_copy() -> bool {
1926 false
1927 }
1928 }
1929
1930 impl fidl::encoding::ValueTypeMarker for StartResultCode {
1931 type Borrowed<'a> = Self;
1932 #[inline(always)]
1933 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1934 *value
1935 }
1936 }
1937
1938 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1939 for StartResultCode
1940 {
1941 #[inline]
1942 unsafe fn encode(
1943 self,
1944 encoder: &mut fidl::encoding::Encoder<'_, D>,
1945 offset: usize,
1946 _depth: fidl::encoding::Depth,
1947 ) -> fidl::Result<()> {
1948 encoder.debug_check_bounds::<Self>(offset);
1949 encoder.write_num(self.into_primitive(), offset);
1950 Ok(())
1951 }
1952 }
1953
1954 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
1955 #[inline(always)]
1956 fn new_empty() -> Self {
1957 Self::Success
1958 }
1959
1960 #[inline]
1961 unsafe fn decode(
1962 &mut self,
1963 decoder: &mut fidl::encoding::Decoder<'_, D>,
1964 offset: usize,
1965 _depth: fidl::encoding::Depth,
1966 ) -> fidl::Result<()> {
1967 decoder.debug_check_bounds::<Self>(offset);
1968 let prim = decoder.read_num::<u32>(offset);
1969
1970 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1971 Ok(())
1972 }
1973 }
1974 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
1975 type Owned = Self;
1976
1977 #[inline(always)]
1978 fn inline_align(_context: fidl::encoding::Context) -> usize {
1979 std::mem::align_of::<u32>()
1980 }
1981
1982 #[inline(always)]
1983 fn inline_size(_context: fidl::encoding::Context) -> usize {
1984 std::mem::size_of::<u32>()
1985 }
1986
1987 #[inline(always)]
1988 fn encode_is_copy() -> bool {
1989 true
1990 }
1991
1992 #[inline(always)]
1993 fn decode_is_copy() -> bool {
1994 false
1995 }
1996 }
1997
1998 impl fidl::encoding::ValueTypeMarker for StopResultCode {
1999 type Borrowed<'a> = Self;
2000 #[inline(always)]
2001 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2002 *value
2003 }
2004 }
2005
2006 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2007 #[inline]
2008 unsafe fn encode(
2009 self,
2010 encoder: &mut fidl::encoding::Encoder<'_, D>,
2011 offset: usize,
2012 _depth: fidl::encoding::Depth,
2013 ) -> fidl::Result<()> {
2014 encoder.debug_check_bounds::<Self>(offset);
2015 encoder.write_num(self.into_primitive(), offset);
2016 Ok(())
2017 }
2018 }
2019
2020 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2021 #[inline(always)]
2022 fn new_empty() -> Self {
2023 Self::Success
2024 }
2025
2026 #[inline]
2027 unsafe fn decode(
2028 &mut self,
2029 decoder: &mut fidl::encoding::Decoder<'_, D>,
2030 offset: usize,
2031 _depth: fidl::encoding::Depth,
2032 ) -> fidl::Result<()> {
2033 decoder.debug_check_bounds::<Self>(offset);
2034 let prim = decoder.read_num::<u32>(offset);
2035
2036 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2037 Ok(())
2038 }
2039 }
2040
2041 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2042 type Borrowed<'a> = &'a Self;
2043 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2044 value
2045 }
2046 }
2047
2048 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2049 type Owned = Self;
2050
2051 #[inline(always)]
2052 fn inline_align(_context: fidl::encoding::Context) -> usize {
2053 8
2054 }
2055
2056 #[inline(always)]
2057 fn inline_size(_context: fidl::encoding::Context) -> usize {
2058 64
2059 }
2060 }
2061
2062 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2063 for &AssociateIndication
2064 {
2065 #[inline]
2066 unsafe fn encode(
2067 self,
2068 encoder: &mut fidl::encoding::Encoder<'_, D>,
2069 offset: usize,
2070 _depth: fidl::encoding::Depth,
2071 ) -> fidl::Result<()> {
2072 encoder.debug_check_bounds::<AssociateIndication>(offset);
2073 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2075 (
2076 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2077 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2078 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2079 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2080 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2081 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2082 ),
2083 encoder, offset, _depth
2084 )
2085 }
2086 }
2087 unsafe impl<
2088 D: fidl::encoding::ResourceDialect,
2089 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2090 T1: fidl::encoding::Encode<u16, D>,
2091 T2: fidl::encoding::Encode<u16, D>,
2092 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2093 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2094 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2095 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
2096 {
2097 #[inline]
2098 unsafe fn encode(
2099 self,
2100 encoder: &mut fidl::encoding::Encoder<'_, D>,
2101 offset: usize,
2102 depth: fidl::encoding::Depth,
2103 ) -> fidl::Result<()> {
2104 encoder.debug_check_bounds::<AssociateIndication>(offset);
2105 unsafe {
2108 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2109 (ptr as *mut u64).write_unaligned(0);
2110 }
2111 self.0.encode(encoder, offset + 0, depth)?;
2113 self.1.encode(encoder, offset + 6, depth)?;
2114 self.2.encode(encoder, offset + 8, depth)?;
2115 self.3.encode(encoder, offset + 16, depth)?;
2116 self.4.encode(encoder, offset + 32, depth)?;
2117 self.5.encode(encoder, offset + 48, depth)?;
2118 Ok(())
2119 }
2120 }
2121
2122 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2123 #[inline(always)]
2124 fn new_empty() -> Self {
2125 Self {
2126 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2127 capability_info: fidl::new_empty!(u16, D),
2128 listen_interval: fidl::new_empty!(u16, D),
2129 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2130 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2131 rsne: fidl::new_empty!(
2132 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2133 D
2134 ),
2135 }
2136 }
2137
2138 #[inline]
2139 unsafe fn decode(
2140 &mut self,
2141 decoder: &mut fidl::encoding::Decoder<'_, D>,
2142 offset: usize,
2143 _depth: fidl::encoding::Depth,
2144 ) -> fidl::Result<()> {
2145 decoder.debug_check_bounds::<Self>(offset);
2146 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2148 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2149 let mask = 0xffffffffffff0000u64;
2150 let maskedval = padval & mask;
2151 if maskedval != 0 {
2152 return Err(fidl::Error::NonZeroPadding {
2153 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2154 });
2155 }
2156 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2157 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2158 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2159 fidl::decode!(
2160 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2161 D,
2162 &mut self.ssid,
2163 decoder,
2164 offset + 16,
2165 _depth
2166 )?;
2167 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2168 fidl::decode!(
2169 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2170 D,
2171 &mut self.rsne,
2172 decoder,
2173 offset + 48,
2174 _depth
2175 )?;
2176 Ok(())
2177 }
2178 }
2179
2180 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2181 type Borrowed<'a> = &'a Self;
2182 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2183 value
2184 }
2185 }
2186
2187 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2188 type Owned = Self;
2189
2190 #[inline(always)]
2191 fn inline_align(_context: fidl::encoding::Context) -> usize {
2192 8
2193 }
2194
2195 #[inline(always)]
2196 fn inline_size(_context: fidl::encoding::Context) -> usize {
2197 32
2198 }
2199 }
2200
2201 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2202 for &AssociateResponse
2203 {
2204 #[inline]
2205 unsafe fn encode(
2206 self,
2207 encoder: &mut fidl::encoding::Encoder<'_, D>,
2208 offset: usize,
2209 _depth: fidl::encoding::Depth,
2210 ) -> fidl::Result<()> {
2211 encoder.debug_check_bounds::<AssociateResponse>(offset);
2212 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2214 (
2215 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2216 &self.peer_sta_address,
2217 ),
2218 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2219 &self.result_code,
2220 ),
2221 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2222 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2223 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2224 &self.rates,
2225 ),
2226 ),
2227 encoder,
2228 offset,
2229 _depth,
2230 )
2231 }
2232 }
2233 unsafe impl<
2234 D: fidl::encoding::ResourceDialect,
2235 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2236 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2237 T2: fidl::encoding::Encode<u16, D>,
2238 T3: fidl::encoding::Encode<u16, D>,
2239 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2240 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2241 {
2242 #[inline]
2243 unsafe fn encode(
2244 self,
2245 encoder: &mut fidl::encoding::Encoder<'_, D>,
2246 offset: usize,
2247 depth: fidl::encoding::Depth,
2248 ) -> fidl::Result<()> {
2249 encoder.debug_check_bounds::<AssociateResponse>(offset);
2250 unsafe {
2253 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2254 (ptr as *mut u64).write_unaligned(0);
2255 }
2256 self.0.encode(encoder, offset + 0, depth)?;
2258 self.1.encode(encoder, offset + 8, depth)?;
2259 self.2.encode(encoder, offset + 12, depth)?;
2260 self.3.encode(encoder, offset + 14, depth)?;
2261 self.4.encode(encoder, offset + 16, depth)?;
2262 Ok(())
2263 }
2264 }
2265
2266 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2267 #[inline(always)]
2268 fn new_empty() -> Self {
2269 Self {
2270 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2271 result_code: fidl::new_empty!(AssociateResultCode, D),
2272 association_id: fidl::new_empty!(u16, D),
2273 capability_info: fidl::new_empty!(u16, D),
2274 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2275 }
2276 }
2277
2278 #[inline]
2279 unsafe fn decode(
2280 &mut self,
2281 decoder: &mut fidl::encoding::Decoder<'_, D>,
2282 offset: usize,
2283 _depth: fidl::encoding::Depth,
2284 ) -> fidl::Result<()> {
2285 decoder.debug_check_bounds::<Self>(offset);
2286 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2288 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2289 let mask = 0xffff000000000000u64;
2290 let maskedval = padval & mask;
2291 if maskedval != 0 {
2292 return Err(fidl::Error::NonZeroPadding {
2293 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2294 });
2295 }
2296 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2297 fidl::decode!(
2298 AssociateResultCode,
2299 D,
2300 &mut self.result_code,
2301 decoder,
2302 offset + 8,
2303 _depth
2304 )?;
2305 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2306 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2307 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2308 Ok(())
2309 }
2310 }
2311
2312 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2313 type Borrowed<'a> = &'a Self;
2314 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2315 value
2316 }
2317 }
2318
2319 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2320 type Owned = Self;
2321
2322 #[inline(always)]
2323 fn inline_align(_context: fidl::encoding::Context) -> usize {
2324 4
2325 }
2326
2327 #[inline(always)]
2328 fn inline_size(_context: fidl::encoding::Context) -> usize {
2329 12
2330 }
2331 }
2332
2333 unsafe impl<D: fidl::encoding::ResourceDialect>
2334 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2335 {
2336 #[inline]
2337 unsafe fn encode(
2338 self,
2339 encoder: &mut fidl::encoding::Encoder<'_, D>,
2340 offset: usize,
2341 _depth: fidl::encoding::Depth,
2342 ) -> fidl::Result<()> {
2343 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2344 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2346 (
2347 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2348 &self.peer_sta_address,
2349 ),
2350 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2351 &self.auth_type,
2352 ),
2353 ),
2354 encoder,
2355 offset,
2356 _depth,
2357 )
2358 }
2359 }
2360 unsafe impl<
2361 D: fidl::encoding::ResourceDialect,
2362 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2363 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2364 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2365 {
2366 #[inline]
2367 unsafe fn encode(
2368 self,
2369 encoder: &mut fidl::encoding::Encoder<'_, D>,
2370 offset: usize,
2371 depth: fidl::encoding::Depth,
2372 ) -> fidl::Result<()> {
2373 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2374 unsafe {
2377 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2378 (ptr as *mut u32).write_unaligned(0);
2379 }
2380 self.0.encode(encoder, offset + 0, depth)?;
2382 self.1.encode(encoder, offset + 8, depth)?;
2383 Ok(())
2384 }
2385 }
2386
2387 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2388 for AuthenticateIndication
2389 {
2390 #[inline(always)]
2391 fn new_empty() -> Self {
2392 Self {
2393 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2394 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2395 }
2396 }
2397
2398 #[inline]
2399 unsafe fn decode(
2400 &mut self,
2401 decoder: &mut fidl::encoding::Decoder<'_, D>,
2402 offset: usize,
2403 _depth: fidl::encoding::Depth,
2404 ) -> fidl::Result<()> {
2405 decoder.debug_check_bounds::<Self>(offset);
2406 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2408 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2409 let mask = 0xffff0000u32;
2410 let maskedval = padval & mask;
2411 if maskedval != 0 {
2412 return Err(fidl::Error::NonZeroPadding {
2413 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2414 });
2415 }
2416 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2417 fidl::decode!(
2418 AuthenticationTypes,
2419 D,
2420 &mut self.auth_type,
2421 decoder,
2422 offset + 8,
2423 _depth
2424 )?;
2425 Ok(())
2426 }
2427 }
2428
2429 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2430 type Borrowed<'a> = &'a Self;
2431 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2432 value
2433 }
2434 }
2435
2436 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2437 type Owned = Self;
2438
2439 #[inline(always)]
2440 fn inline_align(_context: fidl::encoding::Context) -> usize {
2441 4
2442 }
2443
2444 #[inline(always)]
2445 fn inline_size(_context: fidl::encoding::Context) -> usize {
2446 12
2447 }
2448 }
2449
2450 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2451 for &AuthenticateResponse
2452 {
2453 #[inline]
2454 unsafe fn encode(
2455 self,
2456 encoder: &mut fidl::encoding::Encoder<'_, D>,
2457 offset: usize,
2458 _depth: fidl::encoding::Depth,
2459 ) -> fidl::Result<()> {
2460 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2461 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2463 (
2464 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2465 &self.peer_sta_address,
2466 ),
2467 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2468 &self.result_code,
2469 ),
2470 ),
2471 encoder,
2472 offset,
2473 _depth,
2474 )
2475 }
2476 }
2477 unsafe impl<
2478 D: fidl::encoding::ResourceDialect,
2479 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2480 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2481 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2482 {
2483 #[inline]
2484 unsafe fn encode(
2485 self,
2486 encoder: &mut fidl::encoding::Encoder<'_, D>,
2487 offset: usize,
2488 depth: fidl::encoding::Depth,
2489 ) -> fidl::Result<()> {
2490 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2491 unsafe {
2494 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2495 (ptr as *mut u32).write_unaligned(0);
2496 }
2497 self.0.encode(encoder, offset + 0, depth)?;
2499 self.1.encode(encoder, offset + 8, depth)?;
2500 Ok(())
2501 }
2502 }
2503
2504 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2505 #[inline(always)]
2506 fn new_empty() -> Self {
2507 Self {
2508 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2509 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2510 }
2511 }
2512
2513 #[inline]
2514 unsafe fn decode(
2515 &mut self,
2516 decoder: &mut fidl::encoding::Decoder<'_, D>,
2517 offset: usize,
2518 _depth: fidl::encoding::Depth,
2519 ) -> fidl::Result<()> {
2520 decoder.debug_check_bounds::<Self>(offset);
2521 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2523 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2524 let mask = 0xffff0000u32;
2525 let maskedval = padval & mask;
2526 if maskedval != 0 {
2527 return Err(fidl::Error::NonZeroPadding {
2528 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2529 });
2530 }
2531 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2532 fidl::decode!(
2533 AuthenticateResultCode,
2534 D,
2535 &mut self.result_code,
2536 decoder,
2537 offset + 8,
2538 _depth
2539 )?;
2540 Ok(())
2541 }
2542 }
2543
2544 impl fidl::encoding::ValueTypeMarker for BandCapability {
2545 type Borrowed<'a> = &'a Self;
2546 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2547 value
2548 }
2549 }
2550
2551 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2552 type Owned = Self;
2553
2554 #[inline(always)]
2555 fn inline_align(_context: fidl::encoding::Context) -> usize {
2556 8
2557 }
2558
2559 #[inline(always)]
2560 fn inline_size(_context: fidl::encoding::Context) -> usize {
2561 56
2562 }
2563 }
2564
2565 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2566 for &BandCapability
2567 {
2568 #[inline]
2569 unsafe fn encode(
2570 self,
2571 encoder: &mut fidl::encoding::Encoder<'_, D>,
2572 offset: usize,
2573 _depth: fidl::encoding::Depth,
2574 ) -> fidl::Result<()> {
2575 encoder.debug_check_bounds::<BandCapability>(offset);
2576 fidl::encoding::Encode::<BandCapability, D>::encode(
2578 (
2579 <fidl_fuchsia_wlan_ieee80211__common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2580 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2581 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2582 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2583 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.operating_channels),
2584 ),
2585 encoder, offset, _depth
2586 )
2587 }
2588 }
2589 unsafe impl<
2590 D: fidl::encoding::ResourceDialect,
2591 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanBand, D>,
2592 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2593 T2: fidl::encoding::Encode<
2594 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2595 D,
2596 >,
2597 T3: fidl::encoding::Encode<
2598 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2599 D,
2600 >,
2601 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
2602 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2603 {
2604 #[inline]
2605 unsafe fn encode(
2606 self,
2607 encoder: &mut fidl::encoding::Encoder<'_, D>,
2608 offset: usize,
2609 depth: fidl::encoding::Depth,
2610 ) -> fidl::Result<()> {
2611 encoder.debug_check_bounds::<BandCapability>(offset);
2612 unsafe {
2615 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2616 (ptr as *mut u64).write_unaligned(0);
2617 }
2618 self.0.encode(encoder, offset + 0, depth)?;
2620 self.1.encode(encoder, offset + 8, depth)?;
2621 self.2.encode(encoder, offset + 24, depth)?;
2622 self.3.encode(encoder, offset + 32, depth)?;
2623 self.4.encode(encoder, offset + 40, depth)?;
2624 Ok(())
2625 }
2626 }
2627
2628 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2629 #[inline(always)]
2630 fn new_empty() -> Self {
2631 Self {
2632 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanBand, D),
2633 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2634 ht_cap: fidl::new_empty!(
2635 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2636 D
2637 ),
2638 vht_cap: fidl::new_empty!(
2639 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2640 D
2641 ),
2642 operating_channels: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
2643 }
2644 }
2645
2646 #[inline]
2647 unsafe fn decode(
2648 &mut self,
2649 decoder: &mut fidl::encoding::Decoder<'_, D>,
2650 offset: usize,
2651 _depth: fidl::encoding::Depth,
2652 ) -> fidl::Result<()> {
2653 decoder.debug_check_bounds::<Self>(offset);
2654 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2656 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2657 let mask = 0xffffffffffffff00u64;
2658 let maskedval = padval & mask;
2659 if maskedval != 0 {
2660 return Err(fidl::Error::NonZeroPadding {
2661 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2662 });
2663 }
2664 fidl::decode!(
2665 fidl_fuchsia_wlan_ieee80211__common::WlanBand,
2666 D,
2667 &mut self.band,
2668 decoder,
2669 offset + 0,
2670 _depth
2671 )?;
2672 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2673 fidl::decode!(
2674 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2675 D,
2676 &mut self.ht_cap,
2677 decoder,
2678 offset + 24,
2679 _depth
2680 )?;
2681 fidl::decode!(
2682 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2683 D,
2684 &mut self.vht_cap,
2685 decoder,
2686 offset + 32,
2687 _depth
2688 )?;
2689 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.operating_channels, decoder, offset + 40, _depth)?;
2690 Ok(())
2691 }
2692 }
2693
2694 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2695 type Borrowed<'a> = &'a Self;
2696 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2697 value
2698 }
2699 }
2700
2701 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2702 type Owned = Self;
2703
2704 #[inline(always)]
2705 fn inline_align(_context: fidl::encoding::Context) -> usize {
2706 8
2707 }
2708
2709 #[inline(always)]
2710 fn inline_size(_context: fidl::encoding::Context) -> usize {
2711 16
2712 }
2713 }
2714
2715 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2716 for &CapturedFrameResult
2717 {
2718 #[inline]
2719 unsafe fn encode(
2720 self,
2721 encoder: &mut fidl::encoding::Encoder<'_, D>,
2722 offset: usize,
2723 _depth: fidl::encoding::Depth,
2724 ) -> fidl::Result<()> {
2725 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2726 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2728 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2729 &self.frame,
2730 ),),
2731 encoder,
2732 offset,
2733 _depth,
2734 )
2735 }
2736 }
2737 unsafe impl<
2738 D: fidl::encoding::ResourceDialect,
2739 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2740 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2741 {
2742 #[inline]
2743 unsafe fn encode(
2744 self,
2745 encoder: &mut fidl::encoding::Encoder<'_, D>,
2746 offset: usize,
2747 depth: fidl::encoding::Depth,
2748 ) -> fidl::Result<()> {
2749 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2750 self.0.encode(encoder, offset + 0, depth)?;
2754 Ok(())
2755 }
2756 }
2757
2758 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2759 #[inline(always)]
2760 fn new_empty() -> Self {
2761 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2762 }
2763
2764 #[inline]
2765 unsafe fn decode(
2766 &mut self,
2767 decoder: &mut fidl::encoding::Decoder<'_, D>,
2768 offset: usize,
2769 _depth: fidl::encoding::Depth,
2770 ) -> fidl::Result<()> {
2771 decoder.debug_check_bounds::<Self>(offset);
2772 fidl::decode!(
2774 fidl::encoding::UnboundedVector<u8>,
2775 D,
2776 &mut self.frame,
2777 decoder,
2778 offset + 0,
2779 _depth
2780 )?;
2781 Ok(())
2782 }
2783 }
2784
2785 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2786 type Borrowed<'a> = &'a Self;
2787 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2788 value
2789 }
2790 }
2791
2792 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2793 type Owned = Self;
2794
2795 #[inline(always)]
2796 fn inline_align(_context: fidl::encoding::Context) -> usize {
2797 8
2798 }
2799
2800 #[inline(always)]
2801 fn inline_size(_context: fidl::encoding::Context) -> usize {
2802 32
2803 }
2804 }
2805
2806 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2807 for &ConnectConfirm
2808 {
2809 #[inline]
2810 unsafe fn encode(
2811 self,
2812 encoder: &mut fidl::encoding::Encoder<'_, D>,
2813 offset: usize,
2814 _depth: fidl::encoding::Depth,
2815 ) -> fidl::Result<()> {
2816 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2817 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2819 (
2820 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2821 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2822 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2823 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2824 ),
2825 encoder, offset, _depth
2826 )
2827 }
2828 }
2829 unsafe impl<
2830 D: fidl::encoding::ResourceDialect,
2831 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2832 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
2833 T2: fidl::encoding::Encode<u16, D>,
2834 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2835 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2836 {
2837 #[inline]
2838 unsafe fn encode(
2839 self,
2840 encoder: &mut fidl::encoding::Encoder<'_, D>,
2841 offset: usize,
2842 depth: fidl::encoding::Depth,
2843 ) -> fidl::Result<()> {
2844 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2845 unsafe {
2848 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2849 (ptr as *mut u64).write_unaligned(0);
2850 }
2851 self.0.encode(encoder, offset + 0, depth)?;
2853 self.1.encode(encoder, offset + 6, depth)?;
2854 self.2.encode(encoder, offset + 8, depth)?;
2855 self.3.encode(encoder, offset + 16, depth)?;
2856 Ok(())
2857 }
2858 }
2859
2860 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2861 #[inline(always)]
2862 fn new_empty() -> Self {
2863 Self {
2864 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2865 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
2866 association_id: fidl::new_empty!(u16, D),
2867 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2868 }
2869 }
2870
2871 #[inline]
2872 unsafe fn decode(
2873 &mut self,
2874 decoder: &mut fidl::encoding::Decoder<'_, D>,
2875 offset: usize,
2876 _depth: fidl::encoding::Depth,
2877 ) -> fidl::Result<()> {
2878 decoder.debug_check_bounds::<Self>(offset);
2879 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2881 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2882 let mask = 0xffffffffffff0000u64;
2883 let maskedval = padval & mask;
2884 if maskedval != 0 {
2885 return Err(fidl::Error::NonZeroPadding {
2886 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2887 });
2888 }
2889 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2890 fidl::decode!(
2891 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
2892 D,
2893 &mut self.result_code,
2894 decoder,
2895 offset + 6,
2896 _depth
2897 )?;
2898 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2899 fidl::decode!(
2900 fidl::encoding::UnboundedVector<u8>,
2901 D,
2902 &mut self.association_ies,
2903 decoder,
2904 offset + 16,
2905 _depth
2906 )?;
2907 Ok(())
2908 }
2909 }
2910
2911 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
2912 type Borrowed<'a> = &'a Self;
2913 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2914 value
2915 }
2916 }
2917
2918 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
2919 type Owned = Self;
2920
2921 #[inline(always)]
2922 fn inline_align(_context: fidl::encoding::Context) -> usize {
2923 8
2924 }
2925
2926 #[inline(always)]
2927 fn inline_size(_context: fidl::encoding::Context) -> usize {
2928 96
2929 }
2930 }
2931
2932 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
2933 for &ConnectRequest
2934 {
2935 #[inline]
2936 unsafe fn encode(
2937 self,
2938 encoder: &mut fidl::encoding::Encoder<'_, D>,
2939 offset: usize,
2940 _depth: fidl::encoding::Depth,
2941 ) -> fidl::Result<()> {
2942 encoder.debug_check_bounds::<ConnectRequest>(offset);
2943 fidl::encoding::Encode::<ConnectRequest, D>::encode(
2945 (
2946 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
2947 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
2948 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
2949 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
2950 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
2951 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
2952 ),
2953 encoder, offset, _depth
2954 )
2955 }
2956 }
2957 unsafe impl<
2958 D: fidl::encoding::ResourceDialect,
2959 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
2960 T1: fidl::encoding::Encode<u32, D>,
2961 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
2962 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2963 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
2964 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
2965 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5)
2966 {
2967 #[inline]
2968 unsafe fn encode(
2969 self,
2970 encoder: &mut fidl::encoding::Encoder<'_, D>,
2971 offset: usize,
2972 depth: fidl::encoding::Depth,
2973 ) -> fidl::Result<()> {
2974 encoder.debug_check_bounds::<ConnectRequest>(offset);
2975 self.0.encode(encoder, offset + 0, depth)?;
2979 self.1.encode(encoder, offset + 48, depth)?;
2980 self.2.encode(encoder, offset + 52, depth)?;
2981 self.3.encode(encoder, offset + 56, depth)?;
2982 self.4.encode(encoder, offset + 72, depth)?;
2983 self.5.encode(encoder, offset + 80, depth)?;
2984 Ok(())
2985 }
2986 }
2987
2988 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
2989 #[inline(always)]
2990 fn new_empty() -> Self {
2991 Self {
2992 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
2993 connect_failure_timeout: fidl::new_empty!(u32, D),
2994 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2995 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2996 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
2997 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
2998 }
2999 }
3000
3001 #[inline]
3002 unsafe fn decode(
3003 &mut self,
3004 decoder: &mut fidl::encoding::Decoder<'_, D>,
3005 offset: usize,
3006 _depth: fidl::encoding::Depth,
3007 ) -> fidl::Result<()> {
3008 decoder.debug_check_bounds::<Self>(offset);
3009 fidl::decode!(
3011 fidl_fuchsia_wlan_common__common::BssDescription,
3012 D,
3013 &mut self.selected_bss,
3014 decoder,
3015 offset + 0,
3016 _depth
3017 )?;
3018 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3019 fidl::decode!(
3020 AuthenticationTypes,
3021 D,
3022 &mut self.auth_type,
3023 decoder,
3024 offset + 52,
3025 _depth
3026 )?;
3027 fidl::decode!(
3028 fidl::encoding::UnboundedVector<u8>,
3029 D,
3030 &mut self.sae_password,
3031 decoder,
3032 offset + 56,
3033 _depth
3034 )?;
3035 fidl::decode!(
3036 fidl::encoding::Boxed<SetKeyDescriptor>,
3037 D,
3038 &mut self.wep_key,
3039 decoder,
3040 offset + 72,
3041 _depth
3042 )?;
3043 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3044 Ok(())
3045 }
3046 }
3047
3048 impl fidl::encoding::ValueTypeMarker for Country {
3049 type Borrowed<'a> = &'a Self;
3050 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3051 value
3052 }
3053 }
3054
3055 unsafe impl fidl::encoding::TypeMarker for Country {
3056 type Owned = Self;
3057
3058 #[inline(always)]
3059 fn inline_align(_context: fidl::encoding::Context) -> usize {
3060 1
3061 }
3062
3063 #[inline(always)]
3064 fn inline_size(_context: fidl::encoding::Context) -> usize {
3065 3
3066 }
3067 #[inline(always)]
3068 fn encode_is_copy() -> bool {
3069 true
3070 }
3071
3072 #[inline(always)]
3073 fn decode_is_copy() -> bool {
3074 true
3075 }
3076 }
3077
3078 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3079 #[inline]
3080 unsafe fn encode(
3081 self,
3082 encoder: &mut fidl::encoding::Encoder<'_, D>,
3083 offset: usize,
3084 _depth: fidl::encoding::Depth,
3085 ) -> fidl::Result<()> {
3086 encoder.debug_check_bounds::<Country>(offset);
3087 unsafe {
3088 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3090 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3091 }
3094 Ok(())
3095 }
3096 }
3097 unsafe impl<
3098 D: fidl::encoding::ResourceDialect,
3099 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3100 T1: fidl::encoding::Encode<u8, D>,
3101 > fidl::encoding::Encode<Country, D> for (T0, T1)
3102 {
3103 #[inline]
3104 unsafe fn encode(
3105 self,
3106 encoder: &mut fidl::encoding::Encoder<'_, D>,
3107 offset: usize,
3108 depth: fidl::encoding::Depth,
3109 ) -> fidl::Result<()> {
3110 encoder.debug_check_bounds::<Country>(offset);
3111 self.0.encode(encoder, offset + 0, depth)?;
3115 self.1.encode(encoder, offset + 2, depth)?;
3116 Ok(())
3117 }
3118 }
3119
3120 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3121 #[inline(always)]
3122 fn new_empty() -> Self {
3123 Self {
3124 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3125 suffix: fidl::new_empty!(u8, D),
3126 }
3127 }
3128
3129 #[inline]
3130 unsafe fn decode(
3131 &mut self,
3132 decoder: &mut fidl::encoding::Decoder<'_, D>,
3133 offset: usize,
3134 _depth: fidl::encoding::Depth,
3135 ) -> fidl::Result<()> {
3136 decoder.debug_check_bounds::<Self>(offset);
3137 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3138 unsafe {
3141 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3142 }
3143 Ok(())
3144 }
3145 }
3146
3147 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3148 type Borrowed<'a> = &'a Self;
3149 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3150 value
3151 }
3152 }
3153
3154 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3155 type Owned = Self;
3156
3157 #[inline(always)]
3158 fn inline_align(_context: fidl::encoding::Context) -> usize {
3159 1
3160 }
3161
3162 #[inline(always)]
3163 fn inline_size(_context: fidl::encoding::Context) -> usize {
3164 6
3165 }
3166 #[inline(always)]
3167 fn encode_is_copy() -> bool {
3168 true
3169 }
3170
3171 #[inline(always)]
3172 fn decode_is_copy() -> bool {
3173 true
3174 }
3175 }
3176
3177 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3178 for &DeauthenticateConfirm
3179 {
3180 #[inline]
3181 unsafe fn encode(
3182 self,
3183 encoder: &mut fidl::encoding::Encoder<'_, D>,
3184 offset: usize,
3185 _depth: fidl::encoding::Depth,
3186 ) -> fidl::Result<()> {
3187 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3188 unsafe {
3189 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3191 (buf_ptr as *mut DeauthenticateConfirm)
3192 .write_unaligned((self as *const DeauthenticateConfirm).read());
3193 }
3196 Ok(())
3197 }
3198 }
3199 unsafe impl<
3200 D: fidl::encoding::ResourceDialect,
3201 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3202 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3203 {
3204 #[inline]
3205 unsafe fn encode(
3206 self,
3207 encoder: &mut fidl::encoding::Encoder<'_, D>,
3208 offset: usize,
3209 depth: fidl::encoding::Depth,
3210 ) -> fidl::Result<()> {
3211 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3212 self.0.encode(encoder, offset + 0, depth)?;
3216 Ok(())
3217 }
3218 }
3219
3220 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3221 #[inline(always)]
3222 fn new_empty() -> Self {
3223 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3224 }
3225
3226 #[inline]
3227 unsafe fn decode(
3228 &mut self,
3229 decoder: &mut fidl::encoding::Decoder<'_, D>,
3230 offset: usize,
3231 _depth: fidl::encoding::Depth,
3232 ) -> fidl::Result<()> {
3233 decoder.debug_check_bounds::<Self>(offset);
3234 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3235 unsafe {
3238 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3239 }
3240 Ok(())
3241 }
3242 }
3243
3244 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3245 type Borrowed<'a> = &'a Self;
3246 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3247 value
3248 }
3249 }
3250
3251 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3252 type Owned = Self;
3253
3254 #[inline(always)]
3255 fn inline_align(_context: fidl::encoding::Context) -> usize {
3256 2
3257 }
3258
3259 #[inline(always)]
3260 fn inline_size(_context: fidl::encoding::Context) -> usize {
3261 10
3262 }
3263 }
3264
3265 unsafe impl<D: fidl::encoding::ResourceDialect>
3266 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3267 {
3268 #[inline]
3269 unsafe fn encode(
3270 self,
3271 encoder: &mut fidl::encoding::Encoder<'_, D>,
3272 offset: usize,
3273 _depth: fidl::encoding::Depth,
3274 ) -> fidl::Result<()> {
3275 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3276 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3278 (
3279 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3280 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3281 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3282 ),
3283 encoder, offset, _depth
3284 )
3285 }
3286 }
3287 unsafe impl<
3288 D: fidl::encoding::ResourceDialect,
3289 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3290 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3291 T2: fidl::encoding::Encode<bool, D>,
3292 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3293 {
3294 #[inline]
3295 unsafe fn encode(
3296 self,
3297 encoder: &mut fidl::encoding::Encoder<'_, D>,
3298 offset: usize,
3299 depth: fidl::encoding::Depth,
3300 ) -> fidl::Result<()> {
3301 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3302 unsafe {
3305 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3306 (ptr as *mut u16).write_unaligned(0);
3307 }
3308 self.0.encode(encoder, offset + 0, depth)?;
3310 self.1.encode(encoder, offset + 6, depth)?;
3311 self.2.encode(encoder, offset + 8, depth)?;
3312 Ok(())
3313 }
3314 }
3315
3316 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3317 for DeauthenticateIndication
3318 {
3319 #[inline(always)]
3320 fn new_empty() -> Self {
3321 Self {
3322 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3323 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3324 locally_initiated: fidl::new_empty!(bool, D),
3325 }
3326 }
3327
3328 #[inline]
3329 unsafe fn decode(
3330 &mut self,
3331 decoder: &mut fidl::encoding::Decoder<'_, D>,
3332 offset: usize,
3333 _depth: fidl::encoding::Depth,
3334 ) -> fidl::Result<()> {
3335 decoder.debug_check_bounds::<Self>(offset);
3336 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3338 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3339 let mask = 0xff00u16;
3340 let maskedval = padval & mask;
3341 if maskedval != 0 {
3342 return Err(fidl::Error::NonZeroPadding {
3343 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3344 });
3345 }
3346 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3347 fidl::decode!(
3348 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3349 D,
3350 &mut self.reason_code,
3351 decoder,
3352 offset + 6,
3353 _depth
3354 )?;
3355 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3356 Ok(())
3357 }
3358 }
3359
3360 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3361 type Borrowed<'a> = &'a Self;
3362 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3363 value
3364 }
3365 }
3366
3367 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3368 type Owned = Self;
3369
3370 #[inline(always)]
3371 fn inline_align(_context: fidl::encoding::Context) -> usize {
3372 2
3373 }
3374
3375 #[inline(always)]
3376 fn inline_size(_context: fidl::encoding::Context) -> usize {
3377 8
3378 }
3379 }
3380
3381 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3382 for &DeauthenticateRequest
3383 {
3384 #[inline]
3385 unsafe fn encode(
3386 self,
3387 encoder: &mut fidl::encoding::Encoder<'_, D>,
3388 offset: usize,
3389 _depth: fidl::encoding::Depth,
3390 ) -> fidl::Result<()> {
3391 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3392 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3394 (
3395 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3396 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3397 ),
3398 encoder, offset, _depth
3399 )
3400 }
3401 }
3402 unsafe impl<
3403 D: fidl::encoding::ResourceDialect,
3404 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3405 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3406 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3407 {
3408 #[inline]
3409 unsafe fn encode(
3410 self,
3411 encoder: &mut fidl::encoding::Encoder<'_, D>,
3412 offset: usize,
3413 depth: fidl::encoding::Depth,
3414 ) -> fidl::Result<()> {
3415 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3416 self.0.encode(encoder, offset + 0, depth)?;
3420 self.1.encode(encoder, offset + 6, depth)?;
3421 Ok(())
3422 }
3423 }
3424
3425 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3426 #[inline(always)]
3427 fn new_empty() -> Self {
3428 Self {
3429 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3430 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3431 }
3432 }
3433
3434 #[inline]
3435 unsafe fn decode(
3436 &mut self,
3437 decoder: &mut fidl::encoding::Decoder<'_, D>,
3438 offset: usize,
3439 _depth: fidl::encoding::Depth,
3440 ) -> fidl::Result<()> {
3441 decoder.debug_check_bounds::<Self>(offset);
3442 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3444 fidl::decode!(
3445 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3446 D,
3447 &mut self.reason_code,
3448 decoder,
3449 offset + 6,
3450 _depth
3451 )?;
3452 Ok(())
3453 }
3454 }
3455
3456 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3457 type Borrowed<'a> = &'a Self;
3458 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3459 value
3460 }
3461 }
3462
3463 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3464 type Owned = Self;
3465
3466 #[inline(always)]
3467 fn inline_align(_context: fidl::encoding::Context) -> usize {
3468 4
3469 }
3470
3471 #[inline(always)]
3472 fn inline_size(_context: fidl::encoding::Context) -> usize {
3473 16
3474 }
3475 }
3476
3477 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3478 for &DeleteKeyDescriptor
3479 {
3480 #[inline]
3481 unsafe fn encode(
3482 self,
3483 encoder: &mut fidl::encoding::Encoder<'_, D>,
3484 offset: usize,
3485 _depth: fidl::encoding::Depth,
3486 ) -> fidl::Result<()> {
3487 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3488 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3490 (
3491 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3492 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3493 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3494 &self.address,
3495 ),
3496 ),
3497 encoder,
3498 offset,
3499 _depth,
3500 )
3501 }
3502 }
3503 unsafe impl<
3504 D: fidl::encoding::ResourceDialect,
3505 T0: fidl::encoding::Encode<u16, D>,
3506 T1: fidl::encoding::Encode<KeyType, D>,
3507 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3508 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3509 {
3510 #[inline]
3511 unsafe fn encode(
3512 self,
3513 encoder: &mut fidl::encoding::Encoder<'_, D>,
3514 offset: usize,
3515 depth: fidl::encoding::Depth,
3516 ) -> fidl::Result<()> {
3517 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3518 unsafe {
3521 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3522 (ptr as *mut u32).write_unaligned(0);
3523 }
3524 unsafe {
3525 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3526 (ptr as *mut u32).write_unaligned(0);
3527 }
3528 self.0.encode(encoder, offset + 0, depth)?;
3530 self.1.encode(encoder, offset + 4, depth)?;
3531 self.2.encode(encoder, offset + 8, depth)?;
3532 Ok(())
3533 }
3534 }
3535
3536 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3537 #[inline(always)]
3538 fn new_empty() -> Self {
3539 Self {
3540 key_id: fidl::new_empty!(u16, D),
3541 key_type: fidl::new_empty!(KeyType, D),
3542 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3543 }
3544 }
3545
3546 #[inline]
3547 unsafe fn decode(
3548 &mut self,
3549 decoder: &mut fidl::encoding::Decoder<'_, D>,
3550 offset: usize,
3551 _depth: fidl::encoding::Depth,
3552 ) -> fidl::Result<()> {
3553 decoder.debug_check_bounds::<Self>(offset);
3554 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3556 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3557 let mask = 0xffff0000u32;
3558 let maskedval = padval & mask;
3559 if maskedval != 0 {
3560 return Err(fidl::Error::NonZeroPadding {
3561 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3562 });
3563 }
3564 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3565 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3566 let mask = 0xffff0000u32;
3567 let maskedval = padval & mask;
3568 if maskedval != 0 {
3569 return Err(fidl::Error::NonZeroPadding {
3570 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3571 });
3572 }
3573 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3574 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3575 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3576 Ok(())
3577 }
3578 }
3579
3580 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3581 type Borrowed<'a> = &'a Self;
3582 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3583 value
3584 }
3585 }
3586
3587 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3588 type Owned = Self;
3589
3590 #[inline(always)]
3591 fn inline_align(_context: fidl::encoding::Context) -> usize {
3592 8
3593 }
3594
3595 #[inline(always)]
3596 fn inline_size(_context: fidl::encoding::Context) -> usize {
3597 16
3598 }
3599 }
3600
3601 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3602 for &DeleteKeysRequest
3603 {
3604 #[inline]
3605 unsafe fn encode(
3606 self,
3607 encoder: &mut fidl::encoding::Encoder<'_, D>,
3608 offset: usize,
3609 _depth: fidl::encoding::Depth,
3610 ) -> fidl::Result<()> {
3611 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3612 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3614 (
3615 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3616 ),
3617 encoder, offset, _depth
3618 )
3619 }
3620 }
3621 unsafe impl<
3622 D: fidl::encoding::ResourceDialect,
3623 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3624 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3625 {
3626 #[inline]
3627 unsafe fn encode(
3628 self,
3629 encoder: &mut fidl::encoding::Encoder<'_, D>,
3630 offset: usize,
3631 depth: fidl::encoding::Depth,
3632 ) -> fidl::Result<()> {
3633 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3634 self.0.encode(encoder, offset + 0, depth)?;
3638 Ok(())
3639 }
3640 }
3641
3642 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3643 #[inline(always)]
3644 fn new_empty() -> Self {
3645 Self {
3646 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3647 }
3648 }
3649
3650 #[inline]
3651 unsafe fn decode(
3652 &mut self,
3653 decoder: &mut fidl::encoding::Decoder<'_, D>,
3654 offset: usize,
3655 _depth: fidl::encoding::Depth,
3656 ) -> fidl::Result<()> {
3657 decoder.debug_check_bounds::<Self>(offset);
3658 fidl::decode!(
3660 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3661 D,
3662 &mut self.keylist,
3663 decoder,
3664 offset + 0,
3665 _depth
3666 )?;
3667 Ok(())
3668 }
3669 }
3670
3671 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3672 type Borrowed<'a> = &'a Self;
3673 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3674 value
3675 }
3676 }
3677
3678 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3679 type Owned = Self;
3680
3681 #[inline(always)]
3682 fn inline_align(_context: fidl::encoding::Context) -> usize {
3683 8
3684 }
3685
3686 #[inline(always)]
3687 fn inline_size(_context: fidl::encoding::Context) -> usize {
3688 40
3689 }
3690 }
3691
3692 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3693 for &DeviceInfo
3694 {
3695 #[inline]
3696 unsafe fn encode(
3697 self,
3698 encoder: &mut fidl::encoding::Encoder<'_, D>,
3699 offset: usize,
3700 _depth: fidl::encoding::Depth,
3701 ) -> fidl::Result<()> {
3702 encoder.debug_check_bounds::<DeviceInfo>(offset);
3703 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3705 (
3706 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3707 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3708 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3709 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3710 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3711 ),
3712 encoder, offset, _depth
3713 )
3714 }
3715 }
3716 unsafe impl<
3717 D: fidl::encoding::ResourceDialect,
3718 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3719 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
3720 T2: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3721 T3: fidl::encoding::Encode<u32, D>,
3722 T4: fidl::encoding::Encode<bool, D>,
3723 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4)
3724 {
3725 #[inline]
3726 unsafe fn encode(
3727 self,
3728 encoder: &mut fidl::encoding::Encoder<'_, D>,
3729 offset: usize,
3730 depth: fidl::encoding::Depth,
3731 ) -> fidl::Result<()> {
3732 encoder.debug_check_bounds::<DeviceInfo>(offset);
3733 unsafe {
3736 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3737 (ptr as *mut u64).write_unaligned(0);
3738 }
3739 unsafe {
3740 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3741 (ptr as *mut u64).write_unaligned(0);
3742 }
3743 unsafe {
3744 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3745 (ptr as *mut u64).write_unaligned(0);
3746 }
3747 self.0.encode(encoder, offset + 0, depth)?;
3749 self.1.encode(encoder, offset + 8, depth)?;
3750 self.2.encode(encoder, offset + 16, depth)?;
3751 self.3.encode(encoder, offset + 32, depth)?;
3752 self.4.encode(encoder, offset + 36, depth)?;
3753 Ok(())
3754 }
3755 }
3756
3757 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3758 #[inline(always)]
3759 fn new_empty() -> Self {
3760 Self {
3761 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3762 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
3763 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3764 softmac_hardware_capability: fidl::new_empty!(u32, D),
3765 qos_capable: fidl::new_empty!(bool, D),
3766 }
3767 }
3768
3769 #[inline]
3770 unsafe fn decode(
3771 &mut self,
3772 decoder: &mut fidl::encoding::Decoder<'_, D>,
3773 offset: usize,
3774 _depth: fidl::encoding::Depth,
3775 ) -> fidl::Result<()> {
3776 decoder.debug_check_bounds::<Self>(offset);
3777 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3779 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3780 let mask = 0xffff000000000000u64;
3781 let maskedval = padval & mask;
3782 if maskedval != 0 {
3783 return Err(fidl::Error::NonZeroPadding {
3784 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3785 });
3786 }
3787 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3788 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3789 let mask = 0xffffffff00000000u64;
3790 let maskedval = padval & mask;
3791 if maskedval != 0 {
3792 return Err(fidl::Error::NonZeroPadding {
3793 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3794 });
3795 }
3796 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3797 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3798 let mask = 0xffffff0000000000u64;
3799 let maskedval = padval & mask;
3800 if maskedval != 0 {
3801 return Err(fidl::Error::NonZeroPadding {
3802 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3803 });
3804 }
3805 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3806 fidl::decode!(
3807 fidl_fuchsia_wlan_common__common::WlanMacRole,
3808 D,
3809 &mut self.role,
3810 decoder,
3811 offset + 8,
3812 _depth
3813 )?;
3814 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3815 fidl::decode!(
3816 u32,
3817 D,
3818 &mut self.softmac_hardware_capability,
3819 decoder,
3820 offset + 32,
3821 _depth
3822 )?;
3823 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3824 Ok(())
3825 }
3826 }
3827
3828 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3829 type Borrowed<'a> = &'a Self;
3830 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3831 value
3832 }
3833 }
3834
3835 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3836 type Owned = Self;
3837
3838 #[inline(always)]
3839 fn inline_align(_context: fidl::encoding::Context) -> usize {
3840 4
3841 }
3842
3843 #[inline(always)]
3844 fn inline_size(_context: fidl::encoding::Context) -> usize {
3845 4
3846 }
3847 #[inline(always)]
3848 fn encode_is_copy() -> bool {
3849 true
3850 }
3851
3852 #[inline(always)]
3853 fn decode_is_copy() -> bool {
3854 true
3855 }
3856 }
3857
3858 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3859 for &DisassociateConfirm
3860 {
3861 #[inline]
3862 unsafe fn encode(
3863 self,
3864 encoder: &mut fidl::encoding::Encoder<'_, D>,
3865 offset: usize,
3866 _depth: fidl::encoding::Depth,
3867 ) -> fidl::Result<()> {
3868 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3869 unsafe {
3870 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3872 (buf_ptr as *mut DisassociateConfirm)
3873 .write_unaligned((self as *const DisassociateConfirm).read());
3874 }
3877 Ok(())
3878 }
3879 }
3880 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3881 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3882 {
3883 #[inline]
3884 unsafe fn encode(
3885 self,
3886 encoder: &mut fidl::encoding::Encoder<'_, D>,
3887 offset: usize,
3888 depth: fidl::encoding::Depth,
3889 ) -> fidl::Result<()> {
3890 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3891 self.0.encode(encoder, offset + 0, depth)?;
3895 Ok(())
3896 }
3897 }
3898
3899 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
3900 #[inline(always)]
3901 fn new_empty() -> Self {
3902 Self { status: fidl::new_empty!(i32, D) }
3903 }
3904
3905 #[inline]
3906 unsafe fn decode(
3907 &mut self,
3908 decoder: &mut fidl::encoding::Decoder<'_, D>,
3909 offset: usize,
3910 _depth: fidl::encoding::Depth,
3911 ) -> fidl::Result<()> {
3912 decoder.debug_check_bounds::<Self>(offset);
3913 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3914 unsafe {
3917 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
3918 }
3919 Ok(())
3920 }
3921 }
3922
3923 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
3924 type Borrowed<'a> = &'a Self;
3925 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3926 value
3927 }
3928 }
3929
3930 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
3931 type Owned = Self;
3932
3933 #[inline(always)]
3934 fn inline_align(_context: fidl::encoding::Context) -> usize {
3935 2
3936 }
3937
3938 #[inline(always)]
3939 fn inline_size(_context: fidl::encoding::Context) -> usize {
3940 10
3941 }
3942 }
3943
3944 unsafe impl<D: fidl::encoding::ResourceDialect>
3945 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
3946 {
3947 #[inline]
3948 unsafe fn encode(
3949 self,
3950 encoder: &mut fidl::encoding::Encoder<'_, D>,
3951 offset: usize,
3952 _depth: fidl::encoding::Depth,
3953 ) -> fidl::Result<()> {
3954 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3955 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
3957 (
3958 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3959 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3960 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3961 ),
3962 encoder, offset, _depth
3963 )
3964 }
3965 }
3966 unsafe impl<
3967 D: fidl::encoding::ResourceDialect,
3968 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3969 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3970 T2: fidl::encoding::Encode<bool, D>,
3971 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
3972 {
3973 #[inline]
3974 unsafe fn encode(
3975 self,
3976 encoder: &mut fidl::encoding::Encoder<'_, D>,
3977 offset: usize,
3978 depth: fidl::encoding::Depth,
3979 ) -> fidl::Result<()> {
3980 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3981 unsafe {
3984 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3985 (ptr as *mut u16).write_unaligned(0);
3986 }
3987 self.0.encode(encoder, offset + 0, depth)?;
3989 self.1.encode(encoder, offset + 6, depth)?;
3990 self.2.encode(encoder, offset + 8, depth)?;
3991 Ok(())
3992 }
3993 }
3994
3995 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3996 for DisassociateIndication
3997 {
3998 #[inline(always)]
3999 fn new_empty() -> Self {
4000 Self {
4001 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4002 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4003 locally_initiated: fidl::new_empty!(bool, D),
4004 }
4005 }
4006
4007 #[inline]
4008 unsafe fn decode(
4009 &mut self,
4010 decoder: &mut fidl::encoding::Decoder<'_, D>,
4011 offset: usize,
4012 _depth: fidl::encoding::Depth,
4013 ) -> fidl::Result<()> {
4014 decoder.debug_check_bounds::<Self>(offset);
4015 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4017 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4018 let mask = 0xff00u16;
4019 let maskedval = padval & mask;
4020 if maskedval != 0 {
4021 return Err(fidl::Error::NonZeroPadding {
4022 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4023 });
4024 }
4025 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4026 fidl::decode!(
4027 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4028 D,
4029 &mut self.reason_code,
4030 decoder,
4031 offset + 6,
4032 _depth
4033 )?;
4034 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4035 Ok(())
4036 }
4037 }
4038
4039 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4040 type Borrowed<'a> = &'a Self;
4041 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4042 value
4043 }
4044 }
4045
4046 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4047 type Owned = Self;
4048
4049 #[inline(always)]
4050 fn inline_align(_context: fidl::encoding::Context) -> usize {
4051 2
4052 }
4053
4054 #[inline(always)]
4055 fn inline_size(_context: fidl::encoding::Context) -> usize {
4056 8
4057 }
4058 }
4059
4060 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4061 for &DisassociateRequest
4062 {
4063 #[inline]
4064 unsafe fn encode(
4065 self,
4066 encoder: &mut fidl::encoding::Encoder<'_, D>,
4067 offset: usize,
4068 _depth: fidl::encoding::Depth,
4069 ) -> fidl::Result<()> {
4070 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4071 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4073 (
4074 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4075 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4076 ),
4077 encoder, offset, _depth
4078 )
4079 }
4080 }
4081 unsafe impl<
4082 D: fidl::encoding::ResourceDialect,
4083 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4084 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
4085 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4086 {
4087 #[inline]
4088 unsafe fn encode(
4089 self,
4090 encoder: &mut fidl::encoding::Encoder<'_, D>,
4091 offset: usize,
4092 depth: fidl::encoding::Depth,
4093 ) -> fidl::Result<()> {
4094 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4095 self.0.encode(encoder, offset + 0, depth)?;
4099 self.1.encode(encoder, offset + 6, depth)?;
4100 Ok(())
4101 }
4102 }
4103
4104 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4105 #[inline(always)]
4106 fn new_empty() -> Self {
4107 Self {
4108 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4109 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4110 }
4111 }
4112
4113 #[inline]
4114 unsafe fn decode(
4115 &mut self,
4116 decoder: &mut fidl::encoding::Decoder<'_, D>,
4117 offset: usize,
4118 _depth: fidl::encoding::Depth,
4119 ) -> fidl::Result<()> {
4120 decoder.debug_check_bounds::<Self>(offset);
4121 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4123 fidl::decode!(
4124 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4125 D,
4126 &mut self.reason_code,
4127 decoder,
4128 offset + 6,
4129 _depth
4130 )?;
4131 Ok(())
4132 }
4133 }
4134
4135 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4136 type Borrowed<'a> = &'a Self;
4137 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4138 value
4139 }
4140 }
4141
4142 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4143 type Owned = Self;
4144
4145 #[inline(always)]
4146 fn inline_align(_context: fidl::encoding::Context) -> usize {
4147 4
4148 }
4149
4150 #[inline(always)]
4151 fn inline_size(_context: fidl::encoding::Context) -> usize {
4152 12
4153 }
4154 }
4155
4156 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4157 for &EapolConfirm
4158 {
4159 #[inline]
4160 unsafe fn encode(
4161 self,
4162 encoder: &mut fidl::encoding::Encoder<'_, D>,
4163 offset: usize,
4164 _depth: fidl::encoding::Depth,
4165 ) -> fidl::Result<()> {
4166 encoder.debug_check_bounds::<EapolConfirm>(offset);
4167 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4169 (
4170 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4171 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4172 &self.dst_addr,
4173 ),
4174 ),
4175 encoder,
4176 offset,
4177 _depth,
4178 )
4179 }
4180 }
4181 unsafe impl<
4182 D: fidl::encoding::ResourceDialect,
4183 T0: fidl::encoding::Encode<EapolResultCode, D>,
4184 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4185 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4186 {
4187 #[inline]
4188 unsafe fn encode(
4189 self,
4190 encoder: &mut fidl::encoding::Encoder<'_, D>,
4191 offset: usize,
4192 depth: fidl::encoding::Depth,
4193 ) -> fidl::Result<()> {
4194 encoder.debug_check_bounds::<EapolConfirm>(offset);
4195 unsafe {
4198 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4199 (ptr as *mut u32).write_unaligned(0);
4200 }
4201 self.0.encode(encoder, offset + 0, depth)?;
4203 self.1.encode(encoder, offset + 4, depth)?;
4204 Ok(())
4205 }
4206 }
4207
4208 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4209 #[inline(always)]
4210 fn new_empty() -> Self {
4211 Self {
4212 result_code: fidl::new_empty!(EapolResultCode, D),
4213 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4214 }
4215 }
4216
4217 #[inline]
4218 unsafe fn decode(
4219 &mut self,
4220 decoder: &mut fidl::encoding::Decoder<'_, D>,
4221 offset: usize,
4222 _depth: fidl::encoding::Depth,
4223 ) -> fidl::Result<()> {
4224 decoder.debug_check_bounds::<Self>(offset);
4225 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4227 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4228 let mask = 0xffff0000u32;
4229 let maskedval = padval & mask;
4230 if maskedval != 0 {
4231 return Err(fidl::Error::NonZeroPadding {
4232 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4233 });
4234 }
4235 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4236 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4237 Ok(())
4238 }
4239 }
4240
4241 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4242 type Borrowed<'a> = &'a Self;
4243 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4244 value
4245 }
4246 }
4247
4248 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4249 type Owned = Self;
4250
4251 #[inline(always)]
4252 fn inline_align(_context: fidl::encoding::Context) -> usize {
4253 8
4254 }
4255
4256 #[inline(always)]
4257 fn inline_size(_context: fidl::encoding::Context) -> usize {
4258 32
4259 }
4260 }
4261
4262 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4263 for &EapolIndication
4264 {
4265 #[inline]
4266 unsafe fn encode(
4267 self,
4268 encoder: &mut fidl::encoding::Encoder<'_, D>,
4269 offset: usize,
4270 _depth: fidl::encoding::Depth,
4271 ) -> fidl::Result<()> {
4272 encoder.debug_check_bounds::<EapolIndication>(offset);
4273 fidl::encoding::Encode::<EapolIndication, D>::encode(
4275 (
4276 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4277 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4278 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4279 ),
4280 encoder, offset, _depth
4281 )
4282 }
4283 }
4284 unsafe impl<
4285 D: fidl::encoding::ResourceDialect,
4286 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4287 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4288 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4289 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4290 {
4291 #[inline]
4292 unsafe fn encode(
4293 self,
4294 encoder: &mut fidl::encoding::Encoder<'_, D>,
4295 offset: usize,
4296 depth: fidl::encoding::Depth,
4297 ) -> fidl::Result<()> {
4298 encoder.debug_check_bounds::<EapolIndication>(offset);
4299 unsafe {
4302 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4303 (ptr as *mut u64).write_unaligned(0);
4304 }
4305 self.0.encode(encoder, offset + 0, depth)?;
4307 self.1.encode(encoder, offset + 6, depth)?;
4308 self.2.encode(encoder, offset + 16, depth)?;
4309 Ok(())
4310 }
4311 }
4312
4313 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4314 #[inline(always)]
4315 fn new_empty() -> Self {
4316 Self {
4317 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4318 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4319 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4320 }
4321 }
4322
4323 #[inline]
4324 unsafe fn decode(
4325 &mut self,
4326 decoder: &mut fidl::encoding::Decoder<'_, D>,
4327 offset: usize,
4328 _depth: fidl::encoding::Depth,
4329 ) -> fidl::Result<()> {
4330 decoder.debug_check_bounds::<Self>(offset);
4331 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4333 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4334 let mask = 0xffffffff00000000u64;
4335 let maskedval = padval & mask;
4336 if maskedval != 0 {
4337 return Err(fidl::Error::NonZeroPadding {
4338 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4339 });
4340 }
4341 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4342 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4343 fidl::decode!(
4344 fidl::encoding::UnboundedVector<u8>,
4345 D,
4346 &mut self.data,
4347 decoder,
4348 offset + 16,
4349 _depth
4350 )?;
4351 Ok(())
4352 }
4353 }
4354
4355 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4356 type Borrowed<'a> = &'a Self;
4357 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4358 value
4359 }
4360 }
4361
4362 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4363 type Owned = Self;
4364
4365 #[inline(always)]
4366 fn inline_align(_context: fidl::encoding::Context) -> usize {
4367 8
4368 }
4369
4370 #[inline(always)]
4371 fn inline_size(_context: fidl::encoding::Context) -> usize {
4372 32
4373 }
4374 }
4375
4376 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4377 for &EapolRequest
4378 {
4379 #[inline]
4380 unsafe fn encode(
4381 self,
4382 encoder: &mut fidl::encoding::Encoder<'_, D>,
4383 offset: usize,
4384 _depth: fidl::encoding::Depth,
4385 ) -> fidl::Result<()> {
4386 encoder.debug_check_bounds::<EapolRequest>(offset);
4387 fidl::encoding::Encode::<EapolRequest, D>::encode(
4389 (
4390 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4391 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4392 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4393 ),
4394 encoder, offset, _depth
4395 )
4396 }
4397 }
4398 unsafe impl<
4399 D: fidl::encoding::ResourceDialect,
4400 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4401 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4402 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4403 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4404 {
4405 #[inline]
4406 unsafe fn encode(
4407 self,
4408 encoder: &mut fidl::encoding::Encoder<'_, D>,
4409 offset: usize,
4410 depth: fidl::encoding::Depth,
4411 ) -> fidl::Result<()> {
4412 encoder.debug_check_bounds::<EapolRequest>(offset);
4413 unsafe {
4416 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4417 (ptr as *mut u64).write_unaligned(0);
4418 }
4419 self.0.encode(encoder, offset + 0, depth)?;
4421 self.1.encode(encoder, offset + 6, depth)?;
4422 self.2.encode(encoder, offset + 16, depth)?;
4423 Ok(())
4424 }
4425 }
4426
4427 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4428 #[inline(always)]
4429 fn new_empty() -> Self {
4430 Self {
4431 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4432 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4433 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4434 }
4435 }
4436
4437 #[inline]
4438 unsafe fn decode(
4439 &mut self,
4440 decoder: &mut fidl::encoding::Decoder<'_, D>,
4441 offset: usize,
4442 _depth: fidl::encoding::Depth,
4443 ) -> fidl::Result<()> {
4444 decoder.debug_check_bounds::<Self>(offset);
4445 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4447 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4448 let mask = 0xffffffff00000000u64;
4449 let maskedval = padval & mask;
4450 if maskedval != 0 {
4451 return Err(fidl::Error::NonZeroPadding {
4452 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4453 });
4454 }
4455 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4456 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4457 fidl::decode!(
4458 fidl::encoding::UnboundedVector<u8>,
4459 D,
4460 &mut self.data,
4461 decoder,
4462 offset + 16,
4463 _depth
4464 )?;
4465 Ok(())
4466 }
4467 }
4468
4469 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4470 type Borrowed<'a> = &'a Self;
4471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4472 value
4473 }
4474 }
4475
4476 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4477 type Owned = Self;
4478
4479 #[inline(always)]
4480 fn inline_align(_context: fidl::encoding::Context) -> usize {
4481 8
4482 }
4483
4484 #[inline(always)]
4485 fn inline_size(_context: fidl::encoding::Context) -> usize {
4486 16
4487 }
4488 }
4489
4490 unsafe impl<D: fidl::encoding::ResourceDialect>
4491 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4492 for &MlmeQueryTelemetrySupportResponse
4493 {
4494 #[inline]
4495 unsafe fn encode(
4496 self,
4497 encoder: &mut fidl::encoding::Encoder<'_, D>,
4498 offset: usize,
4499 _depth: fidl::encoding::Depth,
4500 ) -> fidl::Result<()> {
4501 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4502 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4504 (
4505 <fidl_fuchsia_wlan_stats__common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4506 ),
4507 encoder, offset, _depth
4508 )
4509 }
4510 }
4511 unsafe impl<
4512 D: fidl::encoding::ResourceDialect,
4513 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::TelemetrySupport, D>,
4514 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4515 {
4516 #[inline]
4517 unsafe fn encode(
4518 self,
4519 encoder: &mut fidl::encoding::Encoder<'_, D>,
4520 offset: usize,
4521 depth: fidl::encoding::Depth,
4522 ) -> fidl::Result<()> {
4523 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4524 self.0.encode(encoder, offset + 0, depth)?;
4528 Ok(())
4529 }
4530 }
4531
4532 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4533 for MlmeQueryTelemetrySupportResponse
4534 {
4535 #[inline(always)]
4536 fn new_empty() -> Self {
4537 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::TelemetrySupport, D) }
4538 }
4539
4540 #[inline]
4541 unsafe fn decode(
4542 &mut self,
4543 decoder: &mut fidl::encoding::Decoder<'_, D>,
4544 offset: usize,
4545 _depth: fidl::encoding::Depth,
4546 ) -> fidl::Result<()> {
4547 decoder.debug_check_bounds::<Self>(offset);
4548 fidl::decode!(
4550 fidl_fuchsia_wlan_stats__common::TelemetrySupport,
4551 D,
4552 &mut self.resp,
4553 decoder,
4554 offset + 0,
4555 _depth
4556 )?;
4557 Ok(())
4558 }
4559 }
4560
4561 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
4562 type Borrowed<'a> = &'a Self;
4563 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4564 value
4565 }
4566 }
4567
4568 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
4569 type Owned = Self;
4570
4571 #[inline(always)]
4572 fn inline_align(_context: fidl::encoding::Context) -> usize {
4573 8
4574 }
4575
4576 #[inline(always)]
4577 fn inline_size(_context: fidl::encoding::Context) -> usize {
4578 16
4579 }
4580 }
4581
4582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
4583 for &MinstrelListResponse
4584 {
4585 #[inline]
4586 unsafe fn encode(
4587 self,
4588 encoder: &mut fidl::encoding::Encoder<'_, D>,
4589 offset: usize,
4590 _depth: fidl::encoding::Depth,
4591 ) -> fidl::Result<()> {
4592 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4593 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
4595 (
4596 <fidl_fuchsia_wlan_minstrel__common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
4597 ),
4598 encoder, offset, _depth
4599 )
4600 }
4601 }
4602 unsafe impl<
4603 D: fidl::encoding::ResourceDialect,
4604 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel__common::Peers, D>,
4605 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
4606 {
4607 #[inline]
4608 unsafe fn encode(
4609 self,
4610 encoder: &mut fidl::encoding::Encoder<'_, D>,
4611 offset: usize,
4612 depth: fidl::encoding::Depth,
4613 ) -> fidl::Result<()> {
4614 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4615 self.0.encode(encoder, offset + 0, depth)?;
4619 Ok(())
4620 }
4621 }
4622
4623 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
4624 #[inline(always)]
4625 fn new_empty() -> Self {
4626 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel__common::Peers, D) }
4627 }
4628
4629 #[inline]
4630 unsafe fn decode(
4631 &mut self,
4632 decoder: &mut fidl::encoding::Decoder<'_, D>,
4633 offset: usize,
4634 _depth: fidl::encoding::Depth,
4635 ) -> fidl::Result<()> {
4636 decoder.debug_check_bounds::<Self>(offset);
4637 fidl::decode!(
4639 fidl_fuchsia_wlan_minstrel__common::Peers,
4640 D,
4641 &mut self.peers,
4642 decoder,
4643 offset + 0,
4644 _depth
4645 )?;
4646 Ok(())
4647 }
4648 }
4649
4650 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
4651 type Borrowed<'a> = &'a Self;
4652 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4653 value
4654 }
4655 }
4656
4657 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
4658 type Owned = Self;
4659
4660 #[inline(always)]
4661 fn inline_align(_context: fidl::encoding::Context) -> usize {
4662 1
4663 }
4664
4665 #[inline(always)]
4666 fn inline_size(_context: fidl::encoding::Context) -> usize {
4667 6
4668 }
4669 #[inline(always)]
4670 fn encode_is_copy() -> bool {
4671 true
4672 }
4673
4674 #[inline(always)]
4675 fn decode_is_copy() -> bool {
4676 true
4677 }
4678 }
4679
4680 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
4681 for &MinstrelStatsRequest
4682 {
4683 #[inline]
4684 unsafe fn encode(
4685 self,
4686 encoder: &mut fidl::encoding::Encoder<'_, D>,
4687 offset: usize,
4688 _depth: fidl::encoding::Depth,
4689 ) -> fidl::Result<()> {
4690 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4691 unsafe {
4692 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
4694 (buf_ptr as *mut MinstrelStatsRequest)
4695 .write_unaligned((self as *const MinstrelStatsRequest).read());
4696 }
4699 Ok(())
4700 }
4701 }
4702 unsafe impl<
4703 D: fidl::encoding::ResourceDialect,
4704 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4705 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
4706 {
4707 #[inline]
4708 unsafe fn encode(
4709 self,
4710 encoder: &mut fidl::encoding::Encoder<'_, D>,
4711 offset: usize,
4712 depth: fidl::encoding::Depth,
4713 ) -> fidl::Result<()> {
4714 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4715 self.0.encode(encoder, offset + 0, depth)?;
4719 Ok(())
4720 }
4721 }
4722
4723 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
4724 #[inline(always)]
4725 fn new_empty() -> Self {
4726 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
4727 }
4728
4729 #[inline]
4730 unsafe fn decode(
4731 &mut self,
4732 decoder: &mut fidl::encoding::Decoder<'_, D>,
4733 offset: usize,
4734 _depth: fidl::encoding::Depth,
4735 ) -> fidl::Result<()> {
4736 decoder.debug_check_bounds::<Self>(offset);
4737 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4738 unsafe {
4741 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
4742 }
4743 Ok(())
4744 }
4745 }
4746
4747 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
4748 type Borrowed<'a> = &'a Self;
4749 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4750 value
4751 }
4752 }
4753
4754 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
4755 type Owned = Self;
4756
4757 #[inline(always)]
4758 fn inline_align(_context: fidl::encoding::Context) -> usize {
4759 8
4760 }
4761
4762 #[inline(always)]
4763 fn inline_size(_context: fidl::encoding::Context) -> usize {
4764 8
4765 }
4766 }
4767
4768 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
4769 for &MinstrelStatsResponse
4770 {
4771 #[inline]
4772 unsafe fn encode(
4773 self,
4774 encoder: &mut fidl::encoding::Encoder<'_, D>,
4775 offset: usize,
4776 _depth: fidl::encoding::Depth,
4777 ) -> fidl::Result<()> {
4778 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4779 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
4781 (
4782 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
4783 ),
4784 encoder, offset, _depth
4785 )
4786 }
4787 }
4788 unsafe impl<
4789 D: fidl::encoding::ResourceDialect,
4790 T0: fidl::encoding::Encode<
4791 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4792 D,
4793 >,
4794 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
4795 {
4796 #[inline]
4797 unsafe fn encode(
4798 self,
4799 encoder: &mut fidl::encoding::Encoder<'_, D>,
4800 offset: usize,
4801 depth: fidl::encoding::Depth,
4802 ) -> fidl::Result<()> {
4803 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4804 self.0.encode(encoder, offset + 0, depth)?;
4808 Ok(())
4809 }
4810 }
4811
4812 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
4813 #[inline(always)]
4814 fn new_empty() -> Self {
4815 Self {
4816 peer: fidl::new_empty!(
4817 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4818 D
4819 ),
4820 }
4821 }
4822
4823 #[inline]
4824 unsafe fn decode(
4825 &mut self,
4826 decoder: &mut fidl::encoding::Decoder<'_, D>,
4827 offset: usize,
4828 _depth: fidl::encoding::Depth,
4829 ) -> fidl::Result<()> {
4830 decoder.debug_check_bounds::<Self>(offset);
4831 fidl::decode!(
4833 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4834 D,
4835 &mut self.peer,
4836 decoder,
4837 offset + 0,
4838 _depth
4839 )?;
4840 Ok(())
4841 }
4842 }
4843
4844 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
4845 type Borrowed<'a> = &'a Self;
4846 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4847 value
4848 }
4849 }
4850
4851 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
4852 type Owned = Self;
4853
4854 #[inline(always)]
4855 fn inline_align(_context: fidl::encoding::Context) -> usize {
4856 8
4857 }
4858
4859 #[inline(always)]
4860 fn inline_size(_context: fidl::encoding::Context) -> usize {
4861 64
4862 }
4863 }
4864
4865 unsafe impl<D: fidl::encoding::ResourceDialect>
4866 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
4867 {
4868 #[inline]
4869 unsafe fn encode(
4870 self,
4871 encoder: &mut fidl::encoding::Encoder<'_, D>,
4872 offset: usize,
4873 _depth: fidl::encoding::Depth,
4874 ) -> fidl::Result<()> {
4875 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
4876 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
4878 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
4879 encoder,
4880 offset,
4881 _depth,
4882 )
4883 }
4884 }
4885 unsafe impl<
4886 D: fidl::encoding::ResourceDialect,
4887 T0: fidl::encoding::Encode<AssociateIndication, D>,
4888 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
4889 {
4890 #[inline]
4891 unsafe fn encode(
4892 self,
4893 encoder: &mut fidl::encoding::Encoder<'_, D>,
4894 offset: usize,
4895 depth: fidl::encoding::Depth,
4896 ) -> fidl::Result<()> {
4897 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
4898 self.0.encode(encoder, offset + 0, depth)?;
4902 Ok(())
4903 }
4904 }
4905
4906 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4907 for MlmeAssociateIndRequest
4908 {
4909 #[inline(always)]
4910 fn new_empty() -> Self {
4911 Self { ind: fidl::new_empty!(AssociateIndication, D) }
4912 }
4913
4914 #[inline]
4915 unsafe fn decode(
4916 &mut self,
4917 decoder: &mut fidl::encoding::Decoder<'_, D>,
4918 offset: usize,
4919 _depth: fidl::encoding::Depth,
4920 ) -> fidl::Result<()> {
4921 decoder.debug_check_bounds::<Self>(offset);
4922 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
4924 Ok(())
4925 }
4926 }
4927
4928 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
4929 type Borrowed<'a> = &'a Self;
4930 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4931 value
4932 }
4933 }
4934
4935 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
4936 type Owned = Self;
4937
4938 #[inline(always)]
4939 fn inline_align(_context: fidl::encoding::Context) -> usize {
4940 8
4941 }
4942
4943 #[inline(always)]
4944 fn inline_size(_context: fidl::encoding::Context) -> usize {
4945 32
4946 }
4947 }
4948
4949 unsafe impl<D: fidl::encoding::ResourceDialect>
4950 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
4951 {
4952 #[inline]
4953 unsafe fn encode(
4954 self,
4955 encoder: &mut fidl::encoding::Encoder<'_, D>,
4956 offset: usize,
4957 _depth: fidl::encoding::Depth,
4958 ) -> fidl::Result<()> {
4959 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
4960 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
4962 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
4963 encoder,
4964 offset,
4965 _depth,
4966 )
4967 }
4968 }
4969 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<AssociateResponse, D>>
4970 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
4971 {
4972 #[inline]
4973 unsafe fn encode(
4974 self,
4975 encoder: &mut fidl::encoding::Encoder<'_, D>,
4976 offset: usize,
4977 depth: fidl::encoding::Depth,
4978 ) -> fidl::Result<()> {
4979 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
4980 self.0.encode(encoder, offset + 0, depth)?;
4984 Ok(())
4985 }
4986 }
4987
4988 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4989 for MlmeAssociateRespRequest
4990 {
4991 #[inline(always)]
4992 fn new_empty() -> Self {
4993 Self { resp: fidl::new_empty!(AssociateResponse, D) }
4994 }
4995
4996 #[inline]
4997 unsafe fn decode(
4998 &mut self,
4999 decoder: &mut fidl::encoding::Decoder<'_, D>,
5000 offset: usize,
5001 _depth: fidl::encoding::Depth,
5002 ) -> fidl::Result<()> {
5003 decoder.debug_check_bounds::<Self>(offset);
5004 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5006 Ok(())
5007 }
5008 }
5009
5010 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5011 type Borrowed<'a> = &'a Self;
5012 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5013 value
5014 }
5015 }
5016
5017 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5018 type Owned = Self;
5019
5020 #[inline(always)]
5021 fn inline_align(_context: fidl::encoding::Context) -> usize {
5022 4
5023 }
5024
5025 #[inline(always)]
5026 fn inline_size(_context: fidl::encoding::Context) -> usize {
5027 12
5028 }
5029 }
5030
5031 unsafe impl<D: fidl::encoding::ResourceDialect>
5032 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5033 {
5034 #[inline]
5035 unsafe fn encode(
5036 self,
5037 encoder: &mut fidl::encoding::Encoder<'_, D>,
5038 offset: usize,
5039 _depth: fidl::encoding::Depth,
5040 ) -> fidl::Result<()> {
5041 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5042 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5044 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5045 encoder,
5046 offset,
5047 _depth,
5048 )
5049 }
5050 }
5051 unsafe impl<
5052 D: fidl::encoding::ResourceDialect,
5053 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5054 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5055 {
5056 #[inline]
5057 unsafe fn encode(
5058 self,
5059 encoder: &mut fidl::encoding::Encoder<'_, D>,
5060 offset: usize,
5061 depth: fidl::encoding::Depth,
5062 ) -> fidl::Result<()> {
5063 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5064 self.0.encode(encoder, offset + 0, depth)?;
5068 Ok(())
5069 }
5070 }
5071
5072 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5073 for MlmeAuthenticateIndRequest
5074 {
5075 #[inline(always)]
5076 fn new_empty() -> Self {
5077 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5078 }
5079
5080 #[inline]
5081 unsafe fn decode(
5082 &mut self,
5083 decoder: &mut fidl::encoding::Decoder<'_, D>,
5084 offset: usize,
5085 _depth: fidl::encoding::Depth,
5086 ) -> fidl::Result<()> {
5087 decoder.debug_check_bounds::<Self>(offset);
5088 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5090 Ok(())
5091 }
5092 }
5093
5094 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5095 type Borrowed<'a> = &'a Self;
5096 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5097 value
5098 }
5099 }
5100
5101 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5102 type Owned = Self;
5103
5104 #[inline(always)]
5105 fn inline_align(_context: fidl::encoding::Context) -> usize {
5106 4
5107 }
5108
5109 #[inline(always)]
5110 fn inline_size(_context: fidl::encoding::Context) -> usize {
5111 12
5112 }
5113 }
5114
5115 unsafe impl<D: fidl::encoding::ResourceDialect>
5116 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5117 {
5118 #[inline]
5119 unsafe fn encode(
5120 self,
5121 encoder: &mut fidl::encoding::Encoder<'_, D>,
5122 offset: usize,
5123 _depth: fidl::encoding::Depth,
5124 ) -> fidl::Result<()> {
5125 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5126 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5128 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5129 encoder,
5130 offset,
5131 _depth,
5132 )
5133 }
5134 }
5135 unsafe impl<
5136 D: fidl::encoding::ResourceDialect,
5137 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5138 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5139 {
5140 #[inline]
5141 unsafe fn encode(
5142 self,
5143 encoder: &mut fidl::encoding::Encoder<'_, D>,
5144 offset: usize,
5145 depth: fidl::encoding::Depth,
5146 ) -> fidl::Result<()> {
5147 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5148 self.0.encode(encoder, offset + 0, depth)?;
5152 Ok(())
5153 }
5154 }
5155
5156 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5157 for MlmeAuthenticateRespRequest
5158 {
5159 #[inline(always)]
5160 fn new_empty() -> Self {
5161 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5162 }
5163
5164 #[inline]
5165 unsafe fn decode(
5166 &mut self,
5167 decoder: &mut fidl::encoding::Decoder<'_, D>,
5168 offset: usize,
5169 _depth: fidl::encoding::Depth,
5170 ) -> fidl::Result<()> {
5171 decoder.debug_check_bounds::<Self>(offset);
5172 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5174 Ok(())
5175 }
5176 }
5177
5178 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5179 type Borrowed<'a> = &'a Self;
5180 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5181 value
5182 }
5183 }
5184
5185 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5186 type Owned = Self;
5187
5188 #[inline(always)]
5189 fn inline_align(_context: fidl::encoding::Context) -> usize {
5190 8
5191 }
5192
5193 #[inline(always)]
5194 fn inline_size(_context: fidl::encoding::Context) -> usize {
5195 32
5196 }
5197 }
5198
5199 unsafe impl<D: fidl::encoding::ResourceDialect>
5200 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5201 {
5202 #[inline]
5203 unsafe fn encode(
5204 self,
5205 encoder: &mut fidl::encoding::Encoder<'_, D>,
5206 offset: usize,
5207 _depth: fidl::encoding::Depth,
5208 ) -> fidl::Result<()> {
5209 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5210 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5212 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5213 encoder,
5214 offset,
5215 _depth,
5216 )
5217 }
5218 }
5219 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5220 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5221 {
5222 #[inline]
5223 unsafe fn encode(
5224 self,
5225 encoder: &mut fidl::encoding::Encoder<'_, D>,
5226 offset: usize,
5227 depth: fidl::encoding::Depth,
5228 ) -> fidl::Result<()> {
5229 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5230 self.0.encode(encoder, offset + 0, depth)?;
5234 Ok(())
5235 }
5236 }
5237
5238 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5239 for MlmeConnectConfRequest
5240 {
5241 #[inline(always)]
5242 fn new_empty() -> Self {
5243 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5244 }
5245
5246 #[inline]
5247 unsafe fn decode(
5248 &mut self,
5249 decoder: &mut fidl::encoding::Decoder<'_, D>,
5250 offset: usize,
5251 _depth: fidl::encoding::Depth,
5252 ) -> fidl::Result<()> {
5253 decoder.debug_check_bounds::<Self>(offset);
5254 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5256 Ok(())
5257 }
5258 }
5259
5260 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5261 type Borrowed<'a> = &'a Self;
5262 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5263 value
5264 }
5265 }
5266
5267 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5268 type Owned = Self;
5269
5270 #[inline(always)]
5271 fn inline_align(_context: fidl::encoding::Context) -> usize {
5272 8
5273 }
5274
5275 #[inline(always)]
5276 fn inline_size(_context: fidl::encoding::Context) -> usize {
5277 96
5278 }
5279 }
5280
5281 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5282 for &MlmeConnectReqRequest
5283 {
5284 #[inline]
5285 unsafe fn encode(
5286 self,
5287 encoder: &mut fidl::encoding::Encoder<'_, D>,
5288 offset: usize,
5289 _depth: fidl::encoding::Depth,
5290 ) -> fidl::Result<()> {
5291 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5292 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5294 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5295 encoder,
5296 offset,
5297 _depth,
5298 )
5299 }
5300 }
5301 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5302 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5303 {
5304 #[inline]
5305 unsafe fn encode(
5306 self,
5307 encoder: &mut fidl::encoding::Encoder<'_, D>,
5308 offset: usize,
5309 depth: fidl::encoding::Depth,
5310 ) -> fidl::Result<()> {
5311 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5312 self.0.encode(encoder, offset + 0, depth)?;
5316 Ok(())
5317 }
5318 }
5319
5320 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5321 #[inline(always)]
5322 fn new_empty() -> Self {
5323 Self { req: fidl::new_empty!(ConnectRequest, D) }
5324 }
5325
5326 #[inline]
5327 unsafe fn decode(
5328 &mut self,
5329 decoder: &mut fidl::encoding::Decoder<'_, D>,
5330 offset: usize,
5331 _depth: fidl::encoding::Depth,
5332 ) -> fidl::Result<()> {
5333 decoder.debug_check_bounds::<Self>(offset);
5334 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5336 Ok(())
5337 }
5338 }
5339
5340 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5341 type Borrowed<'a> = &'a Self;
5342 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5343 value
5344 }
5345 }
5346
5347 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5348 type Owned = Self;
5349
5350 #[inline(always)]
5351 fn inline_align(_context: fidl::encoding::Context) -> usize {
5352 1
5353 }
5354
5355 #[inline(always)]
5356 fn inline_size(_context: fidl::encoding::Context) -> usize {
5357 6
5358 }
5359 #[inline(always)]
5360 fn encode_is_copy() -> bool {
5361 true
5362 }
5363
5364 #[inline(always)]
5365 fn decode_is_copy() -> bool {
5366 true
5367 }
5368 }
5369
5370 unsafe impl<D: fidl::encoding::ResourceDialect>
5371 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5372 for &MlmeDeauthenticateConfRequest
5373 {
5374 #[inline]
5375 unsafe fn encode(
5376 self,
5377 encoder: &mut fidl::encoding::Encoder<'_, D>,
5378 offset: usize,
5379 _depth: fidl::encoding::Depth,
5380 ) -> fidl::Result<()> {
5381 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5382 unsafe {
5383 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5385 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5386 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5387 }
5390 Ok(())
5391 }
5392 }
5393 unsafe impl<
5394 D: fidl::encoding::ResourceDialect,
5395 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5396 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5397 {
5398 #[inline]
5399 unsafe fn encode(
5400 self,
5401 encoder: &mut fidl::encoding::Encoder<'_, D>,
5402 offset: usize,
5403 depth: fidl::encoding::Depth,
5404 ) -> fidl::Result<()> {
5405 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5406 self.0.encode(encoder, offset + 0, depth)?;
5410 Ok(())
5411 }
5412 }
5413
5414 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5415 for MlmeDeauthenticateConfRequest
5416 {
5417 #[inline(always)]
5418 fn new_empty() -> Self {
5419 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5420 }
5421
5422 #[inline]
5423 unsafe fn decode(
5424 &mut self,
5425 decoder: &mut fidl::encoding::Decoder<'_, D>,
5426 offset: usize,
5427 _depth: fidl::encoding::Depth,
5428 ) -> fidl::Result<()> {
5429 decoder.debug_check_bounds::<Self>(offset);
5430 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5431 unsafe {
5434 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5435 }
5436 Ok(())
5437 }
5438 }
5439
5440 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5441 type Borrowed<'a> = &'a Self;
5442 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5443 value
5444 }
5445 }
5446
5447 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5448 type Owned = Self;
5449
5450 #[inline(always)]
5451 fn inline_align(_context: fidl::encoding::Context) -> usize {
5452 2
5453 }
5454
5455 #[inline(always)]
5456 fn inline_size(_context: fidl::encoding::Context) -> usize {
5457 10
5458 }
5459 }
5460
5461 unsafe impl<D: fidl::encoding::ResourceDialect>
5462 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5463 {
5464 #[inline]
5465 unsafe fn encode(
5466 self,
5467 encoder: &mut fidl::encoding::Encoder<'_, D>,
5468 offset: usize,
5469 _depth: fidl::encoding::Depth,
5470 ) -> fidl::Result<()> {
5471 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5472 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5474 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5475 encoder,
5476 offset,
5477 _depth,
5478 )
5479 }
5480 }
5481 unsafe impl<
5482 D: fidl::encoding::ResourceDialect,
5483 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5484 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5485 {
5486 #[inline]
5487 unsafe fn encode(
5488 self,
5489 encoder: &mut fidl::encoding::Encoder<'_, D>,
5490 offset: usize,
5491 depth: fidl::encoding::Depth,
5492 ) -> fidl::Result<()> {
5493 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5494 self.0.encode(encoder, offset + 0, depth)?;
5498 Ok(())
5499 }
5500 }
5501
5502 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5503 for MlmeDeauthenticateIndRequest
5504 {
5505 #[inline(always)]
5506 fn new_empty() -> Self {
5507 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5508 }
5509
5510 #[inline]
5511 unsafe fn decode(
5512 &mut self,
5513 decoder: &mut fidl::encoding::Decoder<'_, D>,
5514 offset: usize,
5515 _depth: fidl::encoding::Depth,
5516 ) -> fidl::Result<()> {
5517 decoder.debug_check_bounds::<Self>(offset);
5518 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5520 Ok(())
5521 }
5522 }
5523
5524 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5525 type Borrowed<'a> = &'a Self;
5526 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5527 value
5528 }
5529 }
5530
5531 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5532 type Owned = Self;
5533
5534 #[inline(always)]
5535 fn inline_align(_context: fidl::encoding::Context) -> usize {
5536 2
5537 }
5538
5539 #[inline(always)]
5540 fn inline_size(_context: fidl::encoding::Context) -> usize {
5541 8
5542 }
5543 }
5544
5545 unsafe impl<D: fidl::encoding::ResourceDialect>
5546 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
5547 {
5548 #[inline]
5549 unsafe fn encode(
5550 self,
5551 encoder: &mut fidl::encoding::Encoder<'_, D>,
5552 offset: usize,
5553 _depth: fidl::encoding::Depth,
5554 ) -> fidl::Result<()> {
5555 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5556 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
5558 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5559 encoder,
5560 offset,
5561 _depth,
5562 )
5563 }
5564 }
5565 unsafe impl<
5566 D: fidl::encoding::ResourceDialect,
5567 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
5568 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
5569 {
5570 #[inline]
5571 unsafe fn encode(
5572 self,
5573 encoder: &mut fidl::encoding::Encoder<'_, D>,
5574 offset: usize,
5575 depth: fidl::encoding::Depth,
5576 ) -> fidl::Result<()> {
5577 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5578 self.0.encode(encoder, offset + 0, depth)?;
5582 Ok(())
5583 }
5584 }
5585
5586 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5587 for MlmeDeauthenticateReqRequest
5588 {
5589 #[inline(always)]
5590 fn new_empty() -> Self {
5591 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
5592 }
5593
5594 #[inline]
5595 unsafe fn decode(
5596 &mut self,
5597 decoder: &mut fidl::encoding::Decoder<'_, D>,
5598 offset: usize,
5599 _depth: fidl::encoding::Depth,
5600 ) -> fidl::Result<()> {
5601 decoder.debug_check_bounds::<Self>(offset);
5602 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5604 Ok(())
5605 }
5606 }
5607
5608 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
5609 type Borrowed<'a> = &'a Self;
5610 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5611 value
5612 }
5613 }
5614
5615 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
5616 type Owned = Self;
5617
5618 #[inline(always)]
5619 fn inline_align(_context: fidl::encoding::Context) -> usize {
5620 8
5621 }
5622
5623 #[inline(always)]
5624 fn inline_size(_context: fidl::encoding::Context) -> usize {
5625 16
5626 }
5627 }
5628
5629 unsafe impl<D: fidl::encoding::ResourceDialect>
5630 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
5631 {
5632 #[inline]
5633 unsafe fn encode(
5634 self,
5635 encoder: &mut fidl::encoding::Encoder<'_, D>,
5636 offset: usize,
5637 _depth: fidl::encoding::Depth,
5638 ) -> fidl::Result<()> {
5639 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5640 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
5642 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5643 encoder,
5644 offset,
5645 _depth,
5646 )
5647 }
5648 }
5649 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeleteKeysRequest, D>>
5650 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
5651 {
5652 #[inline]
5653 unsafe fn encode(
5654 self,
5655 encoder: &mut fidl::encoding::Encoder<'_, D>,
5656 offset: usize,
5657 depth: fidl::encoding::Depth,
5658 ) -> fidl::Result<()> {
5659 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5660 self.0.encode(encoder, offset + 0, depth)?;
5664 Ok(())
5665 }
5666 }
5667
5668 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5669 for MlmeDeleteKeysReqRequest
5670 {
5671 #[inline(always)]
5672 fn new_empty() -> Self {
5673 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
5674 }
5675
5676 #[inline]
5677 unsafe fn decode(
5678 &mut self,
5679 decoder: &mut fidl::encoding::Decoder<'_, D>,
5680 offset: usize,
5681 _depth: fidl::encoding::Depth,
5682 ) -> fidl::Result<()> {
5683 decoder.debug_check_bounds::<Self>(offset);
5684 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5686 Ok(())
5687 }
5688 }
5689
5690 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
5691 type Borrowed<'a> = &'a Self;
5692 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5693 value
5694 }
5695 }
5696
5697 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
5698 type Owned = Self;
5699
5700 #[inline(always)]
5701 fn inline_align(_context: fidl::encoding::Context) -> usize {
5702 4
5703 }
5704
5705 #[inline(always)]
5706 fn inline_size(_context: fidl::encoding::Context) -> usize {
5707 4
5708 }
5709 #[inline(always)]
5710 fn encode_is_copy() -> bool {
5711 true
5712 }
5713
5714 #[inline(always)]
5715 fn decode_is_copy() -> bool {
5716 true
5717 }
5718 }
5719
5720 unsafe impl<D: fidl::encoding::ResourceDialect>
5721 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
5722 {
5723 #[inline]
5724 unsafe fn encode(
5725 self,
5726 encoder: &mut fidl::encoding::Encoder<'_, D>,
5727 offset: usize,
5728 _depth: fidl::encoding::Depth,
5729 ) -> fidl::Result<()> {
5730 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5731 unsafe {
5732 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5734 (buf_ptr as *mut MlmeDisassociateConfRequest)
5735 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
5736 }
5739 Ok(())
5740 }
5741 }
5742 unsafe impl<
5743 D: fidl::encoding::ResourceDialect,
5744 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
5745 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
5746 {
5747 #[inline]
5748 unsafe fn encode(
5749 self,
5750 encoder: &mut fidl::encoding::Encoder<'_, D>,
5751 offset: usize,
5752 depth: fidl::encoding::Depth,
5753 ) -> fidl::Result<()> {
5754 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5755 self.0.encode(encoder, offset + 0, depth)?;
5759 Ok(())
5760 }
5761 }
5762
5763 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5764 for MlmeDisassociateConfRequest
5765 {
5766 #[inline(always)]
5767 fn new_empty() -> Self {
5768 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
5769 }
5770
5771 #[inline]
5772 unsafe fn decode(
5773 &mut self,
5774 decoder: &mut fidl::encoding::Decoder<'_, D>,
5775 offset: usize,
5776 _depth: fidl::encoding::Depth,
5777 ) -> fidl::Result<()> {
5778 decoder.debug_check_bounds::<Self>(offset);
5779 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5780 unsafe {
5783 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
5784 }
5785 Ok(())
5786 }
5787 }
5788
5789 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
5790 type Borrowed<'a> = &'a Self;
5791 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5792 value
5793 }
5794 }
5795
5796 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
5797 type Owned = Self;
5798
5799 #[inline(always)]
5800 fn inline_align(_context: fidl::encoding::Context) -> usize {
5801 2
5802 }
5803
5804 #[inline(always)]
5805 fn inline_size(_context: fidl::encoding::Context) -> usize {
5806 10
5807 }
5808 }
5809
5810 unsafe impl<D: fidl::encoding::ResourceDialect>
5811 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
5812 {
5813 #[inline]
5814 unsafe fn encode(
5815 self,
5816 encoder: &mut fidl::encoding::Encoder<'_, D>,
5817 offset: usize,
5818 _depth: fidl::encoding::Depth,
5819 ) -> fidl::Result<()> {
5820 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5821 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
5823 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5824 encoder,
5825 offset,
5826 _depth,
5827 )
5828 }
5829 }
5830 unsafe impl<
5831 D: fidl::encoding::ResourceDialect,
5832 T0: fidl::encoding::Encode<DisassociateIndication, D>,
5833 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
5834 {
5835 #[inline]
5836 unsafe fn encode(
5837 self,
5838 encoder: &mut fidl::encoding::Encoder<'_, D>,
5839 offset: usize,
5840 depth: fidl::encoding::Depth,
5841 ) -> fidl::Result<()> {
5842 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5843 self.0.encode(encoder, offset + 0, depth)?;
5847 Ok(())
5848 }
5849 }
5850
5851 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5852 for MlmeDisassociateIndRequest
5853 {
5854 #[inline(always)]
5855 fn new_empty() -> Self {
5856 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
5857 }
5858
5859 #[inline]
5860 unsafe fn decode(
5861 &mut self,
5862 decoder: &mut fidl::encoding::Decoder<'_, D>,
5863 offset: usize,
5864 _depth: fidl::encoding::Depth,
5865 ) -> fidl::Result<()> {
5866 decoder.debug_check_bounds::<Self>(offset);
5867 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5869 Ok(())
5870 }
5871 }
5872
5873 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
5874 type Borrowed<'a> = &'a Self;
5875 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5876 value
5877 }
5878 }
5879
5880 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
5881 type Owned = Self;
5882
5883 #[inline(always)]
5884 fn inline_align(_context: fidl::encoding::Context) -> usize {
5885 2
5886 }
5887
5888 #[inline(always)]
5889 fn inline_size(_context: fidl::encoding::Context) -> usize {
5890 8
5891 }
5892 }
5893
5894 unsafe impl<D: fidl::encoding::ResourceDialect>
5895 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
5896 {
5897 #[inline]
5898 unsafe fn encode(
5899 self,
5900 encoder: &mut fidl::encoding::Encoder<'_, D>,
5901 offset: usize,
5902 _depth: fidl::encoding::Depth,
5903 ) -> fidl::Result<()> {
5904 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
5905 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
5907 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5908 encoder,
5909 offset,
5910 _depth,
5911 )
5912 }
5913 }
5914 unsafe impl<
5915 D: fidl::encoding::ResourceDialect,
5916 T0: fidl::encoding::Encode<DisassociateRequest, D>,
5917 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
5918 {
5919 #[inline]
5920 unsafe fn encode(
5921 self,
5922 encoder: &mut fidl::encoding::Encoder<'_, D>,
5923 offset: usize,
5924 depth: fidl::encoding::Depth,
5925 ) -> fidl::Result<()> {
5926 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
5927 self.0.encode(encoder, offset + 0, depth)?;
5931 Ok(())
5932 }
5933 }
5934
5935 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5936 for MlmeDisassociateReqRequest
5937 {
5938 #[inline(always)]
5939 fn new_empty() -> Self {
5940 Self { req: fidl::new_empty!(DisassociateRequest, D) }
5941 }
5942
5943 #[inline]
5944 unsafe fn decode(
5945 &mut self,
5946 decoder: &mut fidl::encoding::Decoder<'_, D>,
5947 offset: usize,
5948 _depth: fidl::encoding::Depth,
5949 ) -> fidl::Result<()> {
5950 decoder.debug_check_bounds::<Self>(offset);
5951 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5953 Ok(())
5954 }
5955 }
5956
5957 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
5958 type Borrowed<'a> = &'a Self;
5959 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5960 value
5961 }
5962 }
5963
5964 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
5965 type Owned = Self;
5966
5967 #[inline(always)]
5968 fn inline_align(_context: fidl::encoding::Context) -> usize {
5969 4
5970 }
5971
5972 #[inline(always)]
5973 fn inline_size(_context: fidl::encoding::Context) -> usize {
5974 12
5975 }
5976 }
5977
5978 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
5979 for &MlmeEapolConfRequest
5980 {
5981 #[inline]
5982 unsafe fn encode(
5983 self,
5984 encoder: &mut fidl::encoding::Encoder<'_, D>,
5985 offset: usize,
5986 _depth: fidl::encoding::Depth,
5987 ) -> fidl::Result<()> {
5988 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
5989 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
5991 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5992 encoder,
5993 offset,
5994 _depth,
5995 )
5996 }
5997 }
5998 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
5999 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6000 {
6001 #[inline]
6002 unsafe fn encode(
6003 self,
6004 encoder: &mut fidl::encoding::Encoder<'_, D>,
6005 offset: usize,
6006 depth: fidl::encoding::Depth,
6007 ) -> fidl::Result<()> {
6008 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6009 self.0.encode(encoder, offset + 0, depth)?;
6013 Ok(())
6014 }
6015 }
6016
6017 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6018 #[inline(always)]
6019 fn new_empty() -> Self {
6020 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6021 }
6022
6023 #[inline]
6024 unsafe fn decode(
6025 &mut self,
6026 decoder: &mut fidl::encoding::Decoder<'_, D>,
6027 offset: usize,
6028 _depth: fidl::encoding::Depth,
6029 ) -> fidl::Result<()> {
6030 decoder.debug_check_bounds::<Self>(offset);
6031 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6033 Ok(())
6034 }
6035 }
6036
6037 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6038 type Borrowed<'a> = &'a Self;
6039 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6040 value
6041 }
6042 }
6043
6044 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6045 type Owned = Self;
6046
6047 #[inline(always)]
6048 fn inline_align(_context: fidl::encoding::Context) -> usize {
6049 8
6050 }
6051
6052 #[inline(always)]
6053 fn inline_size(_context: fidl::encoding::Context) -> usize {
6054 32
6055 }
6056 }
6057
6058 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6059 for &MlmeEapolIndRequest
6060 {
6061 #[inline]
6062 unsafe fn encode(
6063 self,
6064 encoder: &mut fidl::encoding::Encoder<'_, D>,
6065 offset: usize,
6066 _depth: fidl::encoding::Depth,
6067 ) -> fidl::Result<()> {
6068 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6069 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6071 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6072 encoder,
6073 offset,
6074 _depth,
6075 )
6076 }
6077 }
6078 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6079 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6080 {
6081 #[inline]
6082 unsafe fn encode(
6083 self,
6084 encoder: &mut fidl::encoding::Encoder<'_, D>,
6085 offset: usize,
6086 depth: fidl::encoding::Depth,
6087 ) -> fidl::Result<()> {
6088 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6089 self.0.encode(encoder, offset + 0, depth)?;
6093 Ok(())
6094 }
6095 }
6096
6097 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6098 #[inline(always)]
6099 fn new_empty() -> Self {
6100 Self { ind: fidl::new_empty!(EapolIndication, D) }
6101 }
6102
6103 #[inline]
6104 unsafe fn decode(
6105 &mut self,
6106 decoder: &mut fidl::encoding::Decoder<'_, D>,
6107 offset: usize,
6108 _depth: fidl::encoding::Depth,
6109 ) -> fidl::Result<()> {
6110 decoder.debug_check_bounds::<Self>(offset);
6111 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6113 Ok(())
6114 }
6115 }
6116
6117 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6118 type Borrowed<'a> = &'a Self;
6119 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6120 value
6121 }
6122 }
6123
6124 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6125 type Owned = Self;
6126
6127 #[inline(always)]
6128 fn inline_align(_context: fidl::encoding::Context) -> usize {
6129 8
6130 }
6131
6132 #[inline(always)]
6133 fn inline_size(_context: fidl::encoding::Context) -> usize {
6134 32
6135 }
6136 }
6137
6138 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6139 for &MlmeEapolReqRequest
6140 {
6141 #[inline]
6142 unsafe fn encode(
6143 self,
6144 encoder: &mut fidl::encoding::Encoder<'_, D>,
6145 offset: usize,
6146 _depth: fidl::encoding::Depth,
6147 ) -> fidl::Result<()> {
6148 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6149 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6151 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6152 encoder,
6153 offset,
6154 _depth,
6155 )
6156 }
6157 }
6158 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6159 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6160 {
6161 #[inline]
6162 unsafe fn encode(
6163 self,
6164 encoder: &mut fidl::encoding::Encoder<'_, D>,
6165 offset: usize,
6166 depth: fidl::encoding::Depth,
6167 ) -> fidl::Result<()> {
6168 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6169 self.0.encode(encoder, offset + 0, depth)?;
6173 Ok(())
6174 }
6175 }
6176
6177 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6178 #[inline(always)]
6179 fn new_empty() -> Self {
6180 Self { req: fidl::new_empty!(EapolRequest, D) }
6181 }
6182
6183 #[inline]
6184 unsafe fn decode(
6185 &mut self,
6186 decoder: &mut fidl::encoding::Decoder<'_, D>,
6187 offset: usize,
6188 _depth: fidl::encoding::Depth,
6189 ) -> fidl::Result<()> {
6190 decoder.debug_check_bounds::<Self>(offset);
6191 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6193 Ok(())
6194 }
6195 }
6196
6197 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6198 type Borrowed<'a> = &'a Self;
6199 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6200 value
6201 }
6202 }
6203
6204 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6205 type Owned = Self;
6206
6207 #[inline(always)]
6208 fn inline_align(_context: fidl::encoding::Context) -> usize {
6209 8
6210 }
6211
6212 #[inline(always)]
6213 fn inline_size(_context: fidl::encoding::Context) -> usize {
6214 56
6215 }
6216 }
6217
6218 unsafe impl<D: fidl::encoding::ResourceDialect>
6219 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6220 for &MlmeFinalizeAssociationReqRequest
6221 {
6222 #[inline]
6223 unsafe fn encode(
6224 self,
6225 encoder: &mut fidl::encoding::Encoder<'_, D>,
6226 offset: usize,
6227 _depth: fidl::encoding::Depth,
6228 ) -> fidl::Result<()> {
6229 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6230 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6232 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6233 &self.negotiated_capabilities,
6234 ),),
6235 encoder,
6236 offset,
6237 _depth,
6238 )
6239 }
6240 }
6241 unsafe impl<
6242 D: fidl::encoding::ResourceDialect,
6243 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6244 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6245 {
6246 #[inline]
6247 unsafe fn encode(
6248 self,
6249 encoder: &mut fidl::encoding::Encoder<'_, D>,
6250 offset: usize,
6251 depth: fidl::encoding::Depth,
6252 ) -> fidl::Result<()> {
6253 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6254 self.0.encode(encoder, offset + 0, depth)?;
6258 Ok(())
6259 }
6260 }
6261
6262 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6263 for MlmeFinalizeAssociationReqRequest
6264 {
6265 #[inline(always)]
6266 fn new_empty() -> Self {
6267 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6268 }
6269
6270 #[inline]
6271 unsafe fn decode(
6272 &mut self,
6273 decoder: &mut fidl::encoding::Decoder<'_, D>,
6274 offset: usize,
6275 _depth: fidl::encoding::Depth,
6276 ) -> fidl::Result<()> {
6277 decoder.debug_check_bounds::<Self>(offset);
6278 fidl::decode!(
6280 NegotiatedCapabilities,
6281 D,
6282 &mut self.negotiated_capabilities,
6283 decoder,
6284 offset + 0,
6285 _depth
6286 )?;
6287 Ok(())
6288 }
6289 }
6290
6291 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6292 type Borrowed<'a> = &'a Self;
6293 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6294 value
6295 }
6296 }
6297
6298 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6299 type Owned = Self;
6300
6301 #[inline(always)]
6302 fn inline_align(_context: fidl::encoding::Context) -> usize {
6303 8
6304 }
6305
6306 #[inline(always)]
6307 fn inline_size(_context: fidl::encoding::Context) -> usize {
6308 16
6309 }
6310 }
6311
6312 unsafe impl<D: fidl::encoding::ResourceDialect>
6313 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6314 for &MlmeGetIfaceHistogramStatsResponse
6315 {
6316 #[inline]
6317 unsafe fn encode(
6318 self,
6319 encoder: &mut fidl::encoding::Encoder<'_, D>,
6320 offset: usize,
6321 _depth: fidl::encoding::Depth,
6322 ) -> fidl::Result<()> {
6323 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6324 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6326 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6327 &self.resp,
6328 ),),
6329 encoder,
6330 offset,
6331 _depth,
6332 )
6333 }
6334 }
6335 unsafe impl<
6336 D: fidl::encoding::ResourceDialect,
6337 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6338 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6339 {
6340 #[inline]
6341 unsafe fn encode(
6342 self,
6343 encoder: &mut fidl::encoding::Encoder<'_, D>,
6344 offset: usize,
6345 depth: fidl::encoding::Depth,
6346 ) -> fidl::Result<()> {
6347 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6348 self.0.encode(encoder, offset + 0, depth)?;
6352 Ok(())
6353 }
6354 }
6355
6356 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6357 for MlmeGetIfaceHistogramStatsResponse
6358 {
6359 #[inline(always)]
6360 fn new_empty() -> Self {
6361 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6362 }
6363
6364 #[inline]
6365 unsafe fn decode(
6366 &mut self,
6367 decoder: &mut fidl::encoding::Decoder<'_, D>,
6368 offset: usize,
6369 _depth: fidl::encoding::Depth,
6370 ) -> fidl::Result<()> {
6371 decoder.debug_check_bounds::<Self>(offset);
6372 fidl::decode!(
6374 GetIfaceHistogramStatsResponse,
6375 D,
6376 &mut self.resp,
6377 decoder,
6378 offset + 0,
6379 _depth
6380 )?;
6381 Ok(())
6382 }
6383 }
6384
6385 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6386 type Borrowed<'a> = &'a Self;
6387 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6388 value
6389 }
6390 }
6391
6392 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6393 type Owned = Self;
6394
6395 #[inline(always)]
6396 fn inline_align(_context: fidl::encoding::Context) -> usize {
6397 8
6398 }
6399
6400 #[inline(always)]
6401 fn inline_size(_context: fidl::encoding::Context) -> usize {
6402 16
6403 }
6404 }
6405
6406 unsafe impl<D: fidl::encoding::ResourceDialect>
6407 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6408 {
6409 #[inline]
6410 unsafe fn encode(
6411 self,
6412 encoder: &mut fidl::encoding::Encoder<'_, D>,
6413 offset: usize,
6414 _depth: fidl::encoding::Depth,
6415 ) -> fidl::Result<()> {
6416 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6417 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6419 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6420 encoder,
6421 offset,
6422 _depth,
6423 )
6424 }
6425 }
6426 unsafe impl<
6427 D: fidl::encoding::ResourceDialect,
6428 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6429 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6430 {
6431 #[inline]
6432 unsafe fn encode(
6433 self,
6434 encoder: &mut fidl::encoding::Encoder<'_, D>,
6435 offset: usize,
6436 depth: fidl::encoding::Depth,
6437 ) -> fidl::Result<()> {
6438 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6439 self.0.encode(encoder, offset + 0, depth)?;
6443 Ok(())
6444 }
6445 }
6446
6447 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6448 for MlmeGetIfaceStatsResponse
6449 {
6450 #[inline(always)]
6451 fn new_empty() -> Self {
6452 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6453 }
6454
6455 #[inline]
6456 unsafe fn decode(
6457 &mut self,
6458 decoder: &mut fidl::encoding::Decoder<'_, D>,
6459 offset: usize,
6460 _depth: fidl::encoding::Depth,
6461 ) -> fidl::Result<()> {
6462 decoder.debug_check_bounds::<Self>(offset);
6463 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6465 Ok(())
6466 }
6467 }
6468
6469 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6470 type Borrowed<'a> = &'a Self;
6471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6472 value
6473 }
6474 }
6475
6476 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6477 type Owned = Self;
6478
6479 #[inline(always)]
6480 fn inline_align(_context: fidl::encoding::Context) -> usize {
6481 1
6482 }
6483
6484 #[inline(always)]
6485 fn inline_size(_context: fidl::encoding::Context) -> usize {
6486 6
6487 }
6488 #[inline(always)]
6489 fn encode_is_copy() -> bool {
6490 true
6491 }
6492
6493 #[inline(always)]
6494 fn decode_is_copy() -> bool {
6495 true
6496 }
6497 }
6498
6499 unsafe impl<D: fidl::encoding::ResourceDialect>
6500 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6501 {
6502 #[inline]
6503 unsafe fn encode(
6504 self,
6505 encoder: &mut fidl::encoding::Encoder<'_, D>,
6506 offset: usize,
6507 _depth: fidl::encoding::Depth,
6508 ) -> fidl::Result<()> {
6509 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6510 unsafe {
6511 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6513 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6514 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6515 }
6518 Ok(())
6519 }
6520 }
6521 unsafe impl<
6522 D: fidl::encoding::ResourceDialect,
6523 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6524 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
6525 {
6526 #[inline]
6527 unsafe fn encode(
6528 self,
6529 encoder: &mut fidl::encoding::Encoder<'_, D>,
6530 offset: usize,
6531 depth: fidl::encoding::Depth,
6532 ) -> fidl::Result<()> {
6533 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6534 self.0.encode(encoder, offset + 0, depth)?;
6538 Ok(())
6539 }
6540 }
6541
6542 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6543 for MlmeGetMinstrelStatsRequest
6544 {
6545 #[inline(always)]
6546 fn new_empty() -> Self {
6547 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
6548 }
6549
6550 #[inline]
6551 unsafe fn decode(
6552 &mut self,
6553 decoder: &mut fidl::encoding::Decoder<'_, D>,
6554 offset: usize,
6555 _depth: fidl::encoding::Depth,
6556 ) -> fidl::Result<()> {
6557 decoder.debug_check_bounds::<Self>(offset);
6558 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6559 unsafe {
6562 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
6563 }
6564 Ok(())
6565 }
6566 }
6567
6568 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
6569 type Borrowed<'a> = &'a Self;
6570 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6571 value
6572 }
6573 }
6574
6575 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
6576 type Owned = Self;
6577
6578 #[inline(always)]
6579 fn inline_align(_context: fidl::encoding::Context) -> usize {
6580 8
6581 }
6582
6583 #[inline(always)]
6584 fn inline_size(_context: fidl::encoding::Context) -> usize {
6585 8
6586 }
6587 }
6588
6589 unsafe impl<D: fidl::encoding::ResourceDialect>
6590 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
6591 {
6592 #[inline]
6593 unsafe fn encode(
6594 self,
6595 encoder: &mut fidl::encoding::Encoder<'_, D>,
6596 offset: usize,
6597 _depth: fidl::encoding::Depth,
6598 ) -> fidl::Result<()> {
6599 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6600 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
6602 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6603 encoder,
6604 offset,
6605 _depth,
6606 )
6607 }
6608 }
6609 unsafe impl<
6610 D: fidl::encoding::ResourceDialect,
6611 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
6612 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
6613 {
6614 #[inline]
6615 unsafe fn encode(
6616 self,
6617 encoder: &mut fidl::encoding::Encoder<'_, D>,
6618 offset: usize,
6619 depth: fidl::encoding::Depth,
6620 ) -> fidl::Result<()> {
6621 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6622 self.0.encode(encoder, offset + 0, depth)?;
6626 Ok(())
6627 }
6628 }
6629
6630 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6631 for MlmeGetMinstrelStatsResponse
6632 {
6633 #[inline(always)]
6634 fn new_empty() -> Self {
6635 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
6636 }
6637
6638 #[inline]
6639 unsafe fn decode(
6640 &mut self,
6641 decoder: &mut fidl::encoding::Decoder<'_, D>,
6642 offset: usize,
6643 _depth: fidl::encoding::Depth,
6644 ) -> fidl::Result<()> {
6645 decoder.debug_check_bounds::<Self>(offset);
6646 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6648 Ok(())
6649 }
6650 }
6651
6652 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
6653 type Borrowed<'a> = &'a Self;
6654 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6655 value
6656 }
6657 }
6658
6659 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
6660 type Owned = Self;
6661
6662 #[inline(always)]
6663 fn inline_align(_context: fidl::encoding::Context) -> usize {
6664 8
6665 }
6666
6667 #[inline(always)]
6668 fn inline_size(_context: fidl::encoding::Context) -> usize {
6669 16
6670 }
6671 }
6672
6673 unsafe impl<D: fidl::encoding::ResourceDialect>
6674 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
6675 for &MlmeListMinstrelPeersResponse
6676 {
6677 #[inline]
6678 unsafe fn encode(
6679 self,
6680 encoder: &mut fidl::encoding::Encoder<'_, D>,
6681 offset: usize,
6682 _depth: fidl::encoding::Depth,
6683 ) -> fidl::Result<()> {
6684 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6685 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
6687 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6688 encoder,
6689 offset,
6690 _depth,
6691 )
6692 }
6693 }
6694 unsafe impl<
6695 D: fidl::encoding::ResourceDialect,
6696 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
6697 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
6698 {
6699 #[inline]
6700 unsafe fn encode(
6701 self,
6702 encoder: &mut fidl::encoding::Encoder<'_, D>,
6703 offset: usize,
6704 depth: fidl::encoding::Depth,
6705 ) -> fidl::Result<()> {
6706 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6707 self.0.encode(encoder, offset + 0, depth)?;
6711 Ok(())
6712 }
6713 }
6714
6715 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6716 for MlmeListMinstrelPeersResponse
6717 {
6718 #[inline(always)]
6719 fn new_empty() -> Self {
6720 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
6721 }
6722
6723 #[inline]
6724 unsafe fn decode(
6725 &mut self,
6726 decoder: &mut fidl::encoding::Decoder<'_, D>,
6727 offset: usize,
6728 _depth: fidl::encoding::Depth,
6729 ) -> fidl::Result<()> {
6730 decoder.debug_check_bounds::<Self>(offset);
6731 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6733 Ok(())
6734 }
6735 }
6736
6737 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
6738 type Borrowed<'a> = &'a Self;
6739 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6740 value
6741 }
6742 }
6743
6744 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
6745 type Owned = Self;
6746
6747 #[inline(always)]
6748 fn inline_align(_context: fidl::encoding::Context) -> usize {
6749 1
6750 }
6751
6752 #[inline(always)]
6753 fn inline_size(_context: fidl::encoding::Context) -> usize {
6754 1
6755 }
6756 }
6757
6758 unsafe impl<D: fidl::encoding::ResourceDialect>
6759 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
6760 {
6761 #[inline]
6762 unsafe fn encode(
6763 self,
6764 encoder: &mut fidl::encoding::Encoder<'_, D>,
6765 offset: usize,
6766 _depth: fidl::encoding::Depth,
6767 ) -> fidl::Result<()> {
6768 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6769 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
6771 (
6772 <fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
6773 ),
6774 encoder, offset, _depth
6775 )
6776 }
6777 }
6778 unsafe impl<
6779 D: fidl::encoding::ResourceDialect,
6780 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D>,
6781 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
6782 {
6783 #[inline]
6784 unsafe fn encode(
6785 self,
6786 encoder: &mut fidl::encoding::Encoder<'_, D>,
6787 offset: usize,
6788 depth: fidl::encoding::Depth,
6789 ) -> fidl::Result<()> {
6790 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6791 self.0.encode(encoder, offset + 0, depth)?;
6795 Ok(())
6796 }
6797 }
6798
6799 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6800 for MlmeOnChannelSwitchedRequest
6801 {
6802 #[inline(always)]
6803 fn new_empty() -> Self {
6804 Self {
6805 info: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D),
6806 }
6807 }
6808
6809 #[inline]
6810 unsafe fn decode(
6811 &mut self,
6812 decoder: &mut fidl::encoding::Decoder<'_, D>,
6813 offset: usize,
6814 _depth: fidl::encoding::Depth,
6815 ) -> fidl::Result<()> {
6816 decoder.debug_check_bounds::<Self>(offset);
6817 fidl::decode!(
6819 fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
6820 D,
6821 &mut self.info,
6822 decoder,
6823 offset + 0,
6824 _depth
6825 )?;
6826 Ok(())
6827 }
6828 }
6829
6830 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
6831 type Borrowed<'a> = &'a Self;
6832 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6833 value
6834 }
6835 }
6836
6837 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
6838 type Owned = Self;
6839
6840 #[inline(always)]
6841 fn inline_align(_context: fidl::encoding::Context) -> usize {
6842 8
6843 }
6844
6845 #[inline(always)]
6846 fn inline_size(_context: fidl::encoding::Context) -> usize {
6847 32
6848 }
6849 }
6850
6851 unsafe impl<D: fidl::encoding::ResourceDialect>
6852 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
6853 {
6854 #[inline]
6855 unsafe fn encode(
6856 self,
6857 encoder: &mut fidl::encoding::Encoder<'_, D>,
6858 offset: usize,
6859 _depth: fidl::encoding::Depth,
6860 ) -> fidl::Result<()> {
6861 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6862 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
6864 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
6865 encoder,
6866 offset,
6867 _depth,
6868 )
6869 }
6870 }
6871 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
6872 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
6873 {
6874 #[inline]
6875 unsafe fn encode(
6876 self,
6877 encoder: &mut fidl::encoding::Encoder<'_, D>,
6878 offset: usize,
6879 depth: fidl::encoding::Depth,
6880 ) -> fidl::Result<()> {
6881 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6882 self.0.encode(encoder, offset + 0, depth)?;
6886 Ok(())
6887 }
6888 }
6889
6890 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6891 for MlmeOnPmkAvailableRequest
6892 {
6893 #[inline(always)]
6894 fn new_empty() -> Self {
6895 Self { info: fidl::new_empty!(PmkInfo, D) }
6896 }
6897
6898 #[inline]
6899 unsafe fn decode(
6900 &mut self,
6901 decoder: &mut fidl::encoding::Decoder<'_, D>,
6902 offset: usize,
6903 _depth: fidl::encoding::Depth,
6904 ) -> fidl::Result<()> {
6905 decoder.debug_check_bounds::<Self>(offset);
6906 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
6908 Ok(())
6909 }
6910 }
6911
6912 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
6913 type Borrowed<'a> = &'a Self;
6914 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6915 value
6916 }
6917 }
6918
6919 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
6920 type Owned = Self;
6921
6922 #[inline(always)]
6923 fn inline_align(_context: fidl::encoding::Context) -> usize {
6924 8
6925 }
6926
6927 #[inline(always)]
6928 fn inline_size(_context: fidl::encoding::Context) -> usize {
6929 32
6930 }
6931 }
6932
6933 unsafe impl<D: fidl::encoding::ResourceDialect>
6934 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
6935 {
6936 #[inline]
6937 unsafe fn encode(
6938 self,
6939 encoder: &mut fidl::encoding::Encoder<'_, D>,
6940 offset: usize,
6941 _depth: fidl::encoding::Depth,
6942 ) -> fidl::Result<()> {
6943 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
6944 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
6946 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
6947 encoder,
6948 offset,
6949 _depth,
6950 )
6951 }
6952 }
6953 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
6954 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
6955 {
6956 #[inline]
6957 unsafe fn encode(
6958 self,
6959 encoder: &mut fidl::encoding::Encoder<'_, D>,
6960 offset: usize,
6961 depth: fidl::encoding::Depth,
6962 ) -> fidl::Result<()> {
6963 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
6964 self.0.encode(encoder, offset + 0, depth)?;
6968 Ok(())
6969 }
6970 }
6971
6972 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6973 for MlmeOnSaeFrameRxRequest
6974 {
6975 #[inline(always)]
6976 fn new_empty() -> Self {
6977 Self { frame: fidl::new_empty!(SaeFrame, D) }
6978 }
6979
6980 #[inline]
6981 unsafe fn decode(
6982 &mut self,
6983 decoder: &mut fidl::encoding::Decoder<'_, D>,
6984 offset: usize,
6985 _depth: fidl::encoding::Depth,
6986 ) -> fidl::Result<()> {
6987 decoder.debug_check_bounds::<Self>(offset);
6988 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
6990 Ok(())
6991 }
6992 }
6993
6994 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
6995 type Borrowed<'a> = &'a Self;
6996 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6997 value
6998 }
6999 }
7000
7001 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7002 type Owned = Self;
7003
7004 #[inline(always)]
7005 fn inline_align(_context: fidl::encoding::Context) -> usize {
7006 1
7007 }
7008
7009 #[inline(always)]
7010 fn inline_size(_context: fidl::encoding::Context) -> usize {
7011 6
7012 }
7013 #[inline(always)]
7014 fn encode_is_copy() -> bool {
7015 true
7016 }
7017
7018 #[inline(always)]
7019 fn decode_is_copy() -> bool {
7020 true
7021 }
7022 }
7023
7024 unsafe impl<D: fidl::encoding::ResourceDialect>
7025 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7026 {
7027 #[inline]
7028 unsafe fn encode(
7029 self,
7030 encoder: &mut fidl::encoding::Encoder<'_, D>,
7031 offset: usize,
7032 _depth: fidl::encoding::Depth,
7033 ) -> fidl::Result<()> {
7034 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7035 unsafe {
7036 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7038 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7039 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7040 }
7043 Ok(())
7044 }
7045 }
7046 unsafe impl<
7047 D: fidl::encoding::ResourceDialect,
7048 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7049 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7050 {
7051 #[inline]
7052 unsafe fn encode(
7053 self,
7054 encoder: &mut fidl::encoding::Encoder<'_, D>,
7055 offset: usize,
7056 depth: fidl::encoding::Depth,
7057 ) -> fidl::Result<()> {
7058 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7059 self.0.encode(encoder, offset + 0, depth)?;
7063 Ok(())
7064 }
7065 }
7066
7067 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7068 for MlmeOnSaeHandshakeIndRequest
7069 {
7070 #[inline(always)]
7071 fn new_empty() -> Self {
7072 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7073 }
7074
7075 #[inline]
7076 unsafe fn decode(
7077 &mut self,
7078 decoder: &mut fidl::encoding::Decoder<'_, D>,
7079 offset: usize,
7080 _depth: fidl::encoding::Depth,
7081 ) -> fidl::Result<()> {
7082 decoder.debug_check_bounds::<Self>(offset);
7083 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7084 unsafe {
7087 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7088 }
7089 Ok(())
7090 }
7091 }
7092
7093 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7094 type Borrowed<'a> = &'a Self;
7095 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7096 value
7097 }
7098 }
7099
7100 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7101 type Owned = Self;
7102
7103 #[inline(always)]
7104 fn inline_align(_context: fidl::encoding::Context) -> usize {
7105 8
7106 }
7107
7108 #[inline(always)]
7109 fn inline_size(_context: fidl::encoding::Context) -> usize {
7110 16
7111 }
7112 }
7113
7114 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7115 for &MlmeOnScanEndRequest
7116 {
7117 #[inline]
7118 unsafe fn encode(
7119 self,
7120 encoder: &mut fidl::encoding::Encoder<'_, D>,
7121 offset: usize,
7122 _depth: fidl::encoding::Depth,
7123 ) -> fidl::Result<()> {
7124 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7125 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7127 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7128 encoder,
7129 offset,
7130 _depth,
7131 )
7132 }
7133 }
7134 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7135 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7136 {
7137 #[inline]
7138 unsafe fn encode(
7139 self,
7140 encoder: &mut fidl::encoding::Encoder<'_, D>,
7141 offset: usize,
7142 depth: fidl::encoding::Depth,
7143 ) -> fidl::Result<()> {
7144 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7145 self.0.encode(encoder, offset + 0, depth)?;
7149 Ok(())
7150 }
7151 }
7152
7153 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7154 #[inline(always)]
7155 fn new_empty() -> Self {
7156 Self { end: fidl::new_empty!(ScanEnd, D) }
7157 }
7158
7159 #[inline]
7160 unsafe fn decode(
7161 &mut self,
7162 decoder: &mut fidl::encoding::Decoder<'_, D>,
7163 offset: usize,
7164 _depth: fidl::encoding::Depth,
7165 ) -> fidl::Result<()> {
7166 decoder.debug_check_bounds::<Self>(offset);
7167 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7169 Ok(())
7170 }
7171 }
7172
7173 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7174 type Borrowed<'a> = &'a Self;
7175 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7176 value
7177 }
7178 }
7179
7180 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7181 type Owned = Self;
7182
7183 #[inline(always)]
7184 fn inline_align(_context: fidl::encoding::Context) -> usize {
7185 8
7186 }
7187
7188 #[inline(always)]
7189 fn inline_size(_context: fidl::encoding::Context) -> usize {
7190 64
7191 }
7192 }
7193
7194 unsafe impl<D: fidl::encoding::ResourceDialect>
7195 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7196 {
7197 #[inline]
7198 unsafe fn encode(
7199 self,
7200 encoder: &mut fidl::encoding::Encoder<'_, D>,
7201 offset: usize,
7202 _depth: fidl::encoding::Depth,
7203 ) -> fidl::Result<()> {
7204 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7205 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7207 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7208 encoder,
7209 offset,
7210 _depth,
7211 )
7212 }
7213 }
7214 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7215 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7216 {
7217 #[inline]
7218 unsafe fn encode(
7219 self,
7220 encoder: &mut fidl::encoding::Encoder<'_, D>,
7221 offset: usize,
7222 depth: fidl::encoding::Depth,
7223 ) -> fidl::Result<()> {
7224 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7225 self.0.encode(encoder, offset + 0, depth)?;
7229 Ok(())
7230 }
7231 }
7232
7233 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7234 for MlmeOnScanResultRequest
7235 {
7236 #[inline(always)]
7237 fn new_empty() -> Self {
7238 Self { result: fidl::new_empty!(ScanResult, D) }
7239 }
7240
7241 #[inline]
7242 unsafe fn decode(
7243 &mut self,
7244 decoder: &mut fidl::encoding::Decoder<'_, D>,
7245 offset: usize,
7246 _depth: fidl::encoding::Depth,
7247 ) -> fidl::Result<()> {
7248 decoder.debug_check_bounds::<Self>(offset);
7249 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7251 Ok(())
7252 }
7253 }
7254
7255 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
7256 type Borrowed<'a> = &'a Self;
7257 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7258 value
7259 }
7260 }
7261
7262 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
7263 type Owned = Self;
7264
7265 #[inline(always)]
7266 fn inline_align(_context: fidl::encoding::Context) -> usize {
7267 4
7268 }
7269
7270 #[inline(always)]
7271 fn inline_size(_context: fidl::encoding::Context) -> usize {
7272 40
7273 }
7274 }
7275
7276 unsafe impl<D: fidl::encoding::ResourceDialect>
7277 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
7278 {
7279 #[inline]
7280 unsafe fn encode(
7281 self,
7282 encoder: &mut fidl::encoding::Encoder<'_, D>,
7283 offset: usize,
7284 _depth: fidl::encoding::Depth,
7285 ) -> fidl::Result<()> {
7286 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7287 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
7289 (
7290 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
7291 <fidl_fuchsia_wlan_internal__common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
7292 ),
7293 encoder, offset, _depth
7294 )
7295 }
7296 }
7297 unsafe impl<
7298 D: fidl::encoding::ResourceDialect,
7299 T0: fidl::encoding::Encode<i32, D>,
7300 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D>,
7301 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
7302 {
7303 #[inline]
7304 unsafe fn encode(
7305 self,
7306 encoder: &mut fidl::encoding::Encoder<'_, D>,
7307 offset: usize,
7308 depth: fidl::encoding::Depth,
7309 ) -> fidl::Result<()> {
7310 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7311 unsafe {
7314 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
7315 (ptr as *mut u32).write_unaligned(0);
7316 }
7317 self.0.encode(encoder, offset + 0, depth)?;
7319 self.1.encode(encoder, offset + 4, depth)?;
7320 Ok(())
7321 }
7322 }
7323
7324 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7325 for MlmeOnWmmStatusRespRequest
7326 {
7327 #[inline(always)]
7328 fn new_empty() -> Self {
7329 Self {
7330 status: fidl::new_empty!(i32, D),
7331 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D),
7332 }
7333 }
7334
7335 #[inline]
7336 unsafe fn decode(
7337 &mut self,
7338 decoder: &mut fidl::encoding::Decoder<'_, D>,
7339 offset: usize,
7340 _depth: fidl::encoding::Depth,
7341 ) -> fidl::Result<()> {
7342 decoder.debug_check_bounds::<Self>(offset);
7343 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
7345 let padval = unsafe { (ptr as *const u32).read_unaligned() };
7346 let mask = 0xffff0000u32;
7347 let maskedval = padval & mask;
7348 if maskedval != 0 {
7349 return Err(fidl::Error::NonZeroPadding {
7350 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
7351 });
7352 }
7353 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
7354 fidl::decode!(
7355 fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
7356 D,
7357 &mut self.resp,
7358 decoder,
7359 offset + 4,
7360 _depth
7361 )?;
7362 Ok(())
7363 }
7364 }
7365
7366 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
7367 type Borrowed<'a> = &'a Self;
7368 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7369 value
7370 }
7371 }
7372
7373 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
7374 type Owned = Self;
7375
7376 #[inline(always)]
7377 fn inline_align(_context: fidl::encoding::Context) -> usize {
7378 8
7379 }
7380
7381 #[inline(always)]
7382 fn inline_size(_context: fidl::encoding::Context) -> usize {
7383 40
7384 }
7385 }
7386
7387 unsafe impl<D: fidl::encoding::ResourceDialect>
7388 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
7389 {
7390 #[inline]
7391 unsafe fn encode(
7392 self,
7393 encoder: &mut fidl::encoding::Encoder<'_, D>,
7394 offset: usize,
7395 _depth: fidl::encoding::Depth,
7396 ) -> fidl::Result<()> {
7397 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7398 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
7400 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7401 encoder,
7402 offset,
7403 _depth,
7404 )
7405 }
7406 }
7407 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
7408 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
7409 {
7410 #[inline]
7411 unsafe fn encode(
7412 self,
7413 encoder: &mut fidl::encoding::Encoder<'_, D>,
7414 offset: usize,
7415 depth: fidl::encoding::Depth,
7416 ) -> fidl::Result<()> {
7417 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7418 self.0.encode(encoder, offset + 0, depth)?;
7422 Ok(())
7423 }
7424 }
7425
7426 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7427 for MlmeQueryDeviceInfoResponse
7428 {
7429 #[inline(always)]
7430 fn new_empty() -> Self {
7431 Self { info: fidl::new_empty!(DeviceInfo, D) }
7432 }
7433
7434 #[inline]
7435 unsafe fn decode(
7436 &mut self,
7437 decoder: &mut fidl::encoding::Decoder<'_, D>,
7438 offset: usize,
7439 _depth: fidl::encoding::Depth,
7440 ) -> fidl::Result<()> {
7441 decoder.debug_check_bounds::<Self>(offset);
7442 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7444 Ok(())
7445 }
7446 }
7447
7448 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
7449 type Borrowed<'a> = &'a Self;
7450 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7451 value
7452 }
7453 }
7454
7455 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
7456 type Owned = Self;
7457
7458 #[inline(always)]
7459 fn inline_align(_context: fidl::encoding::Context) -> usize {
7460 1
7461 }
7462
7463 #[inline(always)]
7464 fn inline_size(_context: fidl::encoding::Context) -> usize {
7465 6
7466 }
7467 #[inline(always)]
7468 fn encode_is_copy() -> bool {
7469 true
7470 }
7471
7472 #[inline(always)]
7473 fn decode_is_copy() -> bool {
7474 true
7475 }
7476 }
7477
7478 unsafe impl<D: fidl::encoding::ResourceDialect>
7479 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
7480 {
7481 #[inline]
7482 unsafe fn encode(
7483 self,
7484 encoder: &mut fidl::encoding::Encoder<'_, D>,
7485 offset: usize,
7486 _depth: fidl::encoding::Depth,
7487 ) -> fidl::Result<()> {
7488 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7489 unsafe {
7490 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7492 (buf_ptr as *mut MlmeReconnectReqRequest)
7493 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
7494 }
7497 Ok(())
7498 }
7499 }
7500 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
7501 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
7502 {
7503 #[inline]
7504 unsafe fn encode(
7505 self,
7506 encoder: &mut fidl::encoding::Encoder<'_, D>,
7507 offset: usize,
7508 depth: fidl::encoding::Depth,
7509 ) -> fidl::Result<()> {
7510 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7511 self.0.encode(encoder, offset + 0, depth)?;
7515 Ok(())
7516 }
7517 }
7518
7519 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7520 for MlmeReconnectReqRequest
7521 {
7522 #[inline(always)]
7523 fn new_empty() -> Self {
7524 Self { req: fidl::new_empty!(ReconnectRequest, D) }
7525 }
7526
7527 #[inline]
7528 unsafe fn decode(
7529 &mut self,
7530 decoder: &mut fidl::encoding::Decoder<'_, D>,
7531 offset: usize,
7532 _depth: fidl::encoding::Depth,
7533 ) -> fidl::Result<()> {
7534 decoder.debug_check_bounds::<Self>(offset);
7535 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7536 unsafe {
7539 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7540 }
7541 Ok(())
7542 }
7543 }
7544
7545 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
7546 type Borrowed<'a> = &'a Self;
7547 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7548 value
7549 }
7550 }
7551
7552 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
7553 type Owned = Self;
7554
7555 #[inline(always)]
7556 fn inline_align(_context: fidl::encoding::Context) -> usize {
7557 8
7558 }
7559
7560 #[inline(always)]
7561 fn inline_size(_context: fidl::encoding::Context) -> usize {
7562 16
7563 }
7564 }
7565
7566 unsafe impl<D: fidl::encoding::ResourceDialect>
7567 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
7568 for &MlmeRelayCapturedFrameRequest
7569 {
7570 #[inline]
7571 unsafe fn encode(
7572 self,
7573 encoder: &mut fidl::encoding::Encoder<'_, D>,
7574 offset: usize,
7575 _depth: fidl::encoding::Depth,
7576 ) -> fidl::Result<()> {
7577 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7578 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
7580 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7581 encoder,
7582 offset,
7583 _depth,
7584 )
7585 }
7586 }
7587 unsafe impl<
7588 D: fidl::encoding::ResourceDialect,
7589 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
7590 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
7591 {
7592 #[inline]
7593 unsafe fn encode(
7594 self,
7595 encoder: &mut fidl::encoding::Encoder<'_, D>,
7596 offset: usize,
7597 depth: fidl::encoding::Depth,
7598 ) -> fidl::Result<()> {
7599 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7600 self.0.encode(encoder, offset + 0, depth)?;
7604 Ok(())
7605 }
7606 }
7607
7608 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7609 for MlmeRelayCapturedFrameRequest
7610 {
7611 #[inline(always)]
7612 fn new_empty() -> Self {
7613 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
7614 }
7615
7616 #[inline]
7617 unsafe fn decode(
7618 &mut self,
7619 decoder: &mut fidl::encoding::Decoder<'_, D>,
7620 offset: usize,
7621 _depth: fidl::encoding::Depth,
7622 ) -> fidl::Result<()> {
7623 decoder.debug_check_bounds::<Self>(offset);
7624 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7626 Ok(())
7627 }
7628 }
7629
7630 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
7631 type Borrowed<'a> = &'a Self;
7632 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7633 value
7634 }
7635 }
7636
7637 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
7638 type Owned = Self;
7639
7640 #[inline(always)]
7641 fn inline_align(_context: fidl::encoding::Context) -> usize {
7642 1
7643 }
7644
7645 #[inline(always)]
7646 fn inline_size(_context: fidl::encoding::Context) -> usize {
7647 7
7648 }
7649 }
7650
7651 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
7652 for &MlmeResetReqRequest
7653 {
7654 #[inline]
7655 unsafe fn encode(
7656 self,
7657 encoder: &mut fidl::encoding::Encoder<'_, D>,
7658 offset: usize,
7659 _depth: fidl::encoding::Depth,
7660 ) -> fidl::Result<()> {
7661 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7662 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
7664 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7665 encoder,
7666 offset,
7667 _depth,
7668 )
7669 }
7670 }
7671 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
7672 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
7673 {
7674 #[inline]
7675 unsafe fn encode(
7676 self,
7677 encoder: &mut fidl::encoding::Encoder<'_, D>,
7678 offset: usize,
7679 depth: fidl::encoding::Depth,
7680 ) -> fidl::Result<()> {
7681 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7682 self.0.encode(encoder, offset + 0, depth)?;
7686 Ok(())
7687 }
7688 }
7689
7690 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
7691 #[inline(always)]
7692 fn new_empty() -> Self {
7693 Self { req: fidl::new_empty!(ResetRequest, D) }
7694 }
7695
7696 #[inline]
7697 unsafe fn decode(
7698 &mut self,
7699 decoder: &mut fidl::encoding::Decoder<'_, D>,
7700 offset: usize,
7701 _depth: fidl::encoding::Depth,
7702 ) -> fidl::Result<()> {
7703 decoder.debug_check_bounds::<Self>(offset);
7704 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7706 Ok(())
7707 }
7708 }
7709
7710 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
7711 type Borrowed<'a> = &'a Self;
7712 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7713 value
7714 }
7715 }
7716
7717 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
7718 type Owned = Self;
7719
7720 #[inline(always)]
7721 fn inline_align(_context: fidl::encoding::Context) -> usize {
7722 8
7723 }
7724
7725 #[inline(always)]
7726 fn inline_size(_context: fidl::encoding::Context) -> usize {
7727 32
7728 }
7729 }
7730
7731 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
7732 for &MlmeRoamConfRequest
7733 {
7734 #[inline]
7735 unsafe fn encode(
7736 self,
7737 encoder: &mut fidl::encoding::Encoder<'_, D>,
7738 offset: usize,
7739 _depth: fidl::encoding::Depth,
7740 ) -> fidl::Result<()> {
7741 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7742 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
7744 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
7745 encoder,
7746 offset,
7747 _depth,
7748 )
7749 }
7750 }
7751 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
7752 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
7753 {
7754 #[inline]
7755 unsafe fn encode(
7756 self,
7757 encoder: &mut fidl::encoding::Encoder<'_, D>,
7758 offset: usize,
7759 depth: fidl::encoding::Depth,
7760 ) -> fidl::Result<()> {
7761 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7762 self.0.encode(encoder, offset + 0, depth)?;
7766 Ok(())
7767 }
7768 }
7769
7770 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
7771 #[inline(always)]
7772 fn new_empty() -> Self {
7773 Self { conf: fidl::new_empty!(RoamConfirm, D) }
7774 }
7775
7776 #[inline]
7777 unsafe fn decode(
7778 &mut self,
7779 decoder: &mut fidl::encoding::Decoder<'_, D>,
7780 offset: usize,
7781 _depth: fidl::encoding::Depth,
7782 ) -> fidl::Result<()> {
7783 decoder.debug_check_bounds::<Self>(offset);
7784 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
7786 Ok(())
7787 }
7788 }
7789
7790 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
7791 type Borrowed<'a> = &'a Self;
7792 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7793 value
7794 }
7795 }
7796
7797 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
7798 type Owned = Self;
7799
7800 #[inline(always)]
7801 fn inline_align(_context: fidl::encoding::Context) -> usize {
7802 8
7803 }
7804
7805 #[inline(always)]
7806 fn inline_size(_context: fidl::encoding::Context) -> usize {
7807 48
7808 }
7809 }
7810
7811 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
7812 for &MlmeRoamReqRequest
7813 {
7814 #[inline]
7815 unsafe fn encode(
7816 self,
7817 encoder: &mut fidl::encoding::Encoder<'_, D>,
7818 offset: usize,
7819 _depth: fidl::encoding::Depth,
7820 ) -> fidl::Result<()> {
7821 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7822 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
7824 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7825 encoder,
7826 offset,
7827 _depth,
7828 )
7829 }
7830 }
7831 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
7832 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
7833 {
7834 #[inline]
7835 unsafe fn encode(
7836 self,
7837 encoder: &mut fidl::encoding::Encoder<'_, D>,
7838 offset: usize,
7839 depth: fidl::encoding::Depth,
7840 ) -> fidl::Result<()> {
7841 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7842 self.0.encode(encoder, offset + 0, depth)?;
7846 Ok(())
7847 }
7848 }
7849
7850 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
7851 #[inline(always)]
7852 fn new_empty() -> Self {
7853 Self { req: fidl::new_empty!(RoamRequest, D) }
7854 }
7855
7856 #[inline]
7857 unsafe fn decode(
7858 &mut self,
7859 decoder: &mut fidl::encoding::Decoder<'_, D>,
7860 offset: usize,
7861 _depth: fidl::encoding::Depth,
7862 ) -> fidl::Result<()> {
7863 decoder.debug_check_bounds::<Self>(offset);
7864 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7866 Ok(())
7867 }
7868 }
7869
7870 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
7871 type Borrowed<'a> = &'a Self;
7872 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7873 value
7874 }
7875 }
7876
7877 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
7878 type Owned = Self;
7879
7880 #[inline(always)]
7881 fn inline_align(_context: fidl::encoding::Context) -> usize {
7882 8
7883 }
7884
7885 #[inline(always)]
7886 fn inline_size(_context: fidl::encoding::Context) -> usize {
7887 32
7888 }
7889 }
7890
7891 unsafe impl<D: fidl::encoding::ResourceDialect>
7892 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
7893 {
7894 #[inline]
7895 unsafe fn encode(
7896 self,
7897 encoder: &mut fidl::encoding::Encoder<'_, D>,
7898 offset: usize,
7899 _depth: fidl::encoding::Depth,
7900 ) -> fidl::Result<()> {
7901 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
7902 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
7904 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
7905 encoder,
7906 offset,
7907 _depth,
7908 )
7909 }
7910 }
7911 unsafe impl<
7912 D: fidl::encoding::ResourceDialect,
7913 T0: fidl::encoding::Encode<RoamResultIndication, D>,
7914 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
7915 {
7916 #[inline]
7917 unsafe fn encode(
7918 self,
7919 encoder: &mut fidl::encoding::Encoder<'_, D>,
7920 offset: usize,
7921 depth: fidl::encoding::Depth,
7922 ) -> fidl::Result<()> {
7923 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
7924 self.0.encode(encoder, offset + 0, depth)?;
7928 Ok(())
7929 }
7930 }
7931
7932 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7933 for MlmeRoamResultIndRequest
7934 {
7935 #[inline(always)]
7936 fn new_empty() -> Self {
7937 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
7938 }
7939
7940 #[inline]
7941 unsafe fn decode(
7942 &mut self,
7943 decoder: &mut fidl::encoding::Decoder<'_, D>,
7944 offset: usize,
7945 _depth: fidl::encoding::Depth,
7946 ) -> fidl::Result<()> {
7947 decoder.debug_check_bounds::<Self>(offset);
7948 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
7950 Ok(())
7951 }
7952 }
7953
7954 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
7955 type Borrowed<'a> = &'a Self;
7956 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7957 value
7958 }
7959 }
7960
7961 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
7962 type Owned = Self;
7963
7964 #[inline(always)]
7965 fn inline_align(_context: fidl::encoding::Context) -> usize {
7966 8
7967 }
7968
7969 #[inline(always)]
7970 fn inline_size(_context: fidl::encoding::Context) -> usize {
7971 64
7972 }
7973 }
7974
7975 unsafe impl<D: fidl::encoding::ResourceDialect>
7976 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
7977 {
7978 #[inline]
7979 unsafe fn encode(
7980 self,
7981 encoder: &mut fidl::encoding::Encoder<'_, D>,
7982 offset: usize,
7983 _depth: fidl::encoding::Depth,
7984 ) -> fidl::Result<()> {
7985 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
7986 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
7988 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
7989 encoder,
7990 offset,
7991 _depth,
7992 )
7993 }
7994 }
7995 unsafe impl<
7996 D: fidl::encoding::ResourceDialect,
7997 T0: fidl::encoding::Encode<RoamStartIndication, D>,
7998 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
7999 {
8000 #[inline]
8001 unsafe fn encode(
8002 self,
8003 encoder: &mut fidl::encoding::Encoder<'_, D>,
8004 offset: usize,
8005 depth: fidl::encoding::Depth,
8006 ) -> fidl::Result<()> {
8007 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8008 self.0.encode(encoder, offset + 0, depth)?;
8012 Ok(())
8013 }
8014 }
8015
8016 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8017 for MlmeRoamStartIndRequest
8018 {
8019 #[inline(always)]
8020 fn new_empty() -> Self {
8021 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8022 }
8023
8024 #[inline]
8025 unsafe fn decode(
8026 &mut self,
8027 decoder: &mut fidl::encoding::Decoder<'_, D>,
8028 offset: usize,
8029 _depth: fidl::encoding::Depth,
8030 ) -> fidl::Result<()> {
8031 decoder.debug_check_bounds::<Self>(offset);
8032 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8034 Ok(())
8035 }
8036 }
8037
8038 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8039 type Borrowed<'a> = &'a Self;
8040 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8041 value
8042 }
8043 }
8044
8045 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8046 type Owned = Self;
8047
8048 #[inline(always)]
8049 fn inline_align(_context: fidl::encoding::Context) -> usize {
8050 8
8051 }
8052
8053 #[inline(always)]
8054 fn inline_size(_context: fidl::encoding::Context) -> usize {
8055 32
8056 }
8057 }
8058
8059 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8060 for &MlmeSaeFrameTxRequest
8061 {
8062 #[inline]
8063 unsafe fn encode(
8064 self,
8065 encoder: &mut fidl::encoding::Encoder<'_, D>,
8066 offset: usize,
8067 _depth: fidl::encoding::Depth,
8068 ) -> fidl::Result<()> {
8069 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8070 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8072 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8073 encoder,
8074 offset,
8075 _depth,
8076 )
8077 }
8078 }
8079 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8080 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8081 {
8082 #[inline]
8083 unsafe fn encode(
8084 self,
8085 encoder: &mut fidl::encoding::Encoder<'_, D>,
8086 offset: usize,
8087 depth: fidl::encoding::Depth,
8088 ) -> fidl::Result<()> {
8089 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8090 self.0.encode(encoder, offset + 0, depth)?;
8094 Ok(())
8095 }
8096 }
8097
8098 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8099 #[inline(always)]
8100 fn new_empty() -> Self {
8101 Self { frame: fidl::new_empty!(SaeFrame, D) }
8102 }
8103
8104 #[inline]
8105 unsafe fn decode(
8106 &mut self,
8107 decoder: &mut fidl::encoding::Decoder<'_, D>,
8108 offset: usize,
8109 _depth: fidl::encoding::Depth,
8110 ) -> fidl::Result<()> {
8111 decoder.debug_check_bounds::<Self>(offset);
8112 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8114 Ok(())
8115 }
8116 }
8117
8118 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8119 type Borrowed<'a> = &'a Self;
8120 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8121 value
8122 }
8123 }
8124
8125 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8126 type Owned = Self;
8127
8128 #[inline(always)]
8129 fn inline_align(_context: fidl::encoding::Context) -> usize {
8130 2
8131 }
8132
8133 #[inline(always)]
8134 fn inline_size(_context: fidl::encoding::Context) -> usize {
8135 8
8136 }
8137 }
8138
8139 unsafe impl<D: fidl::encoding::ResourceDialect>
8140 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8141 {
8142 #[inline]
8143 unsafe fn encode(
8144 self,
8145 encoder: &mut fidl::encoding::Encoder<'_, D>,
8146 offset: usize,
8147 _depth: fidl::encoding::Depth,
8148 ) -> fidl::Result<()> {
8149 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8150 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8152 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8153 encoder,
8154 offset,
8155 _depth,
8156 )
8157 }
8158 }
8159 unsafe impl<
8160 D: fidl::encoding::ResourceDialect,
8161 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8162 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8163 {
8164 #[inline]
8165 unsafe fn encode(
8166 self,
8167 encoder: &mut fidl::encoding::Encoder<'_, D>,
8168 offset: usize,
8169 depth: fidl::encoding::Depth,
8170 ) -> fidl::Result<()> {
8171 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8172 self.0.encode(encoder, offset + 0, depth)?;
8176 Ok(())
8177 }
8178 }
8179
8180 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8181 for MlmeSaeHandshakeRespRequest
8182 {
8183 #[inline(always)]
8184 fn new_empty() -> Self {
8185 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8186 }
8187
8188 #[inline]
8189 unsafe fn decode(
8190 &mut self,
8191 decoder: &mut fidl::encoding::Decoder<'_, D>,
8192 offset: usize,
8193 _depth: fidl::encoding::Depth,
8194 ) -> fidl::Result<()> {
8195 decoder.debug_check_bounds::<Self>(offset);
8196 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8198 Ok(())
8199 }
8200 }
8201
8202 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
8203 type Borrowed<'a> = &'a Self;
8204 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8205 value
8206 }
8207 }
8208
8209 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
8210 type Owned = Self;
8211
8212 #[inline(always)]
8213 fn inline_align(_context: fidl::encoding::Context) -> usize {
8214 4
8215 }
8216
8217 #[inline(always)]
8218 fn inline_size(_context: fidl::encoding::Context) -> usize {
8219 12
8220 }
8221 }
8222
8223 unsafe impl<D: fidl::encoding::ResourceDialect>
8224 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
8225 {
8226 #[inline]
8227 unsafe fn encode(
8228 self,
8229 encoder: &mut fidl::encoding::Encoder<'_, D>,
8230 offset: usize,
8231 _depth: fidl::encoding::Depth,
8232 ) -> fidl::Result<()> {
8233 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8234 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
8236 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8237 encoder,
8238 offset,
8239 _depth,
8240 )
8241 }
8242 }
8243 unsafe impl<
8244 D: fidl::encoding::ResourceDialect,
8245 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
8246 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
8247 {
8248 #[inline]
8249 unsafe fn encode(
8250 self,
8251 encoder: &mut fidl::encoding::Encoder<'_, D>,
8252 offset: usize,
8253 depth: fidl::encoding::Depth,
8254 ) -> fidl::Result<()> {
8255 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8256 self.0.encode(encoder, offset + 0, depth)?;
8260 Ok(())
8261 }
8262 }
8263
8264 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8265 for MlmeSetControlledPortRequest
8266 {
8267 #[inline(always)]
8268 fn new_empty() -> Self {
8269 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
8270 }
8271
8272 #[inline]
8273 unsafe fn decode(
8274 &mut self,
8275 decoder: &mut fidl::encoding::Decoder<'_, D>,
8276 offset: usize,
8277 _depth: fidl::encoding::Depth,
8278 ) -> fidl::Result<()> {
8279 decoder.debug_check_bounds::<Self>(offset);
8280 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8282 Ok(())
8283 }
8284 }
8285
8286 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
8287 type Borrowed<'a> = &'a Self;
8288 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8289 value
8290 }
8291 }
8292
8293 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
8294 type Owned = Self;
8295
8296 #[inline(always)]
8297 fn inline_align(_context: fidl::encoding::Context) -> usize {
8298 8
8299 }
8300
8301 #[inline(always)]
8302 fn inline_size(_context: fidl::encoding::Context) -> usize {
8303 16
8304 }
8305 }
8306
8307 unsafe impl<D: fidl::encoding::ResourceDialect>
8308 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
8309 {
8310 #[inline]
8311 unsafe fn encode(
8312 self,
8313 encoder: &mut fidl::encoding::Encoder<'_, D>,
8314 offset: usize,
8315 _depth: fidl::encoding::Depth,
8316 ) -> fidl::Result<()> {
8317 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8318 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
8320 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8321 encoder,
8322 offset,
8323 _depth,
8324 )
8325 }
8326 }
8327 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
8328 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
8329 {
8330 #[inline]
8331 unsafe fn encode(
8332 self,
8333 encoder: &mut fidl::encoding::Encoder<'_, D>,
8334 offset: usize,
8335 depth: fidl::encoding::Depth,
8336 ) -> fidl::Result<()> {
8337 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8338 self.0.encode(encoder, offset + 0, depth)?;
8342 Ok(())
8343 }
8344 }
8345
8346 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8347 for MlmeSetKeysConfRequest
8348 {
8349 #[inline(always)]
8350 fn new_empty() -> Self {
8351 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
8352 }
8353
8354 #[inline]
8355 unsafe fn decode(
8356 &mut self,
8357 decoder: &mut fidl::encoding::Decoder<'_, D>,
8358 offset: usize,
8359 _depth: fidl::encoding::Depth,
8360 ) -> fidl::Result<()> {
8361 decoder.debug_check_bounds::<Self>(offset);
8362 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8364 Ok(())
8365 }
8366 }
8367
8368 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
8369 type Borrowed<'a> = &'a Self;
8370 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8371 value
8372 }
8373 }
8374
8375 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
8376 type Owned = Self;
8377
8378 #[inline(always)]
8379 fn inline_align(_context: fidl::encoding::Context) -> usize {
8380 8
8381 }
8382
8383 #[inline(always)]
8384 fn inline_size(_context: fidl::encoding::Context) -> usize {
8385 16
8386 }
8387 }
8388
8389 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
8390 for &MlmeSetKeysReqRequest
8391 {
8392 #[inline]
8393 unsafe fn encode(
8394 self,
8395 encoder: &mut fidl::encoding::Encoder<'_, D>,
8396 offset: usize,
8397 _depth: fidl::encoding::Depth,
8398 ) -> fidl::Result<()> {
8399 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8400 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
8402 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8403 encoder,
8404 offset,
8405 _depth,
8406 )
8407 }
8408 }
8409 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
8410 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
8411 {
8412 #[inline]
8413 unsafe fn encode(
8414 self,
8415 encoder: &mut fidl::encoding::Encoder<'_, D>,
8416 offset: usize,
8417 depth: fidl::encoding::Depth,
8418 ) -> fidl::Result<()> {
8419 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8420 self.0.encode(encoder, offset + 0, depth)?;
8424 Ok(())
8425 }
8426 }
8427
8428 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
8429 #[inline(always)]
8430 fn new_empty() -> Self {
8431 Self { req: fidl::new_empty!(SetKeysRequest, D) }
8432 }
8433
8434 #[inline]
8435 unsafe fn decode(
8436 &mut self,
8437 decoder: &mut fidl::encoding::Decoder<'_, D>,
8438 offset: usize,
8439 _depth: fidl::encoding::Depth,
8440 ) -> fidl::Result<()> {
8441 decoder.debug_check_bounds::<Self>(offset);
8442 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8444 Ok(())
8445 }
8446 }
8447
8448 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
8449 type Borrowed<'a> = &'a Self;
8450 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8451 value
8452 }
8453 }
8454
8455 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
8456 type Owned = Self;
8457
8458 #[inline(always)]
8459 fn inline_align(_context: fidl::encoding::Context) -> usize {
8460 1
8461 }
8462
8463 #[inline(always)]
8464 fn inline_size(_context: fidl::encoding::Context) -> usize {
8465 2
8466 }
8467 }
8468
8469 unsafe impl<D: fidl::encoding::ResourceDialect>
8470 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
8471 {
8472 #[inline]
8473 unsafe fn encode(
8474 self,
8475 encoder: &mut fidl::encoding::Encoder<'_, D>,
8476 offset: usize,
8477 _depth: fidl::encoding::Depth,
8478 ) -> fidl::Result<()> {
8479 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8480 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
8482 (
8483 <fidl_fuchsia_wlan_internal__common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
8484 ),
8485 encoder, offset, _depth
8486 )
8487 }
8488 }
8489 unsafe impl<
8490 D: fidl::encoding::ResourceDialect,
8491 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::SignalReportIndication, D>,
8492 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
8493 {
8494 #[inline]
8495 unsafe fn encode(
8496 self,
8497 encoder: &mut fidl::encoding::Encoder<'_, D>,
8498 offset: usize,
8499 depth: fidl::encoding::Depth,
8500 ) -> fidl::Result<()> {
8501 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8502 self.0.encode(encoder, offset + 0, depth)?;
8506 Ok(())
8507 }
8508 }
8509
8510 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8511 for MlmeSignalReportRequest
8512 {
8513 #[inline(always)]
8514 fn new_empty() -> Self {
8515 Self {
8516 ind: fidl::new_empty!(
8517 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8518 D
8519 ),
8520 }
8521 }
8522
8523 #[inline]
8524 unsafe fn decode(
8525 &mut self,
8526 decoder: &mut fidl::encoding::Decoder<'_, D>,
8527 offset: usize,
8528 _depth: fidl::encoding::Depth,
8529 ) -> fidl::Result<()> {
8530 decoder.debug_check_bounds::<Self>(offset);
8531 fidl::decode!(
8533 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8534 D,
8535 &mut self.ind,
8536 decoder,
8537 offset + 0,
8538 _depth
8539 )?;
8540 Ok(())
8541 }
8542 }
8543
8544 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
8545 type Borrowed<'a> = &'a Self;
8546 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8547 value
8548 }
8549 }
8550
8551 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
8552 type Owned = Self;
8553
8554 #[inline(always)]
8555 fn inline_align(_context: fidl::encoding::Context) -> usize {
8556 4
8557 }
8558
8559 #[inline(always)]
8560 fn inline_size(_context: fidl::encoding::Context) -> usize {
8561 4
8562 }
8563 }
8564
8565 unsafe impl<D: fidl::encoding::ResourceDialect>
8566 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
8567 for &MlmeStartCaptureFramesRequest
8568 {
8569 #[inline]
8570 unsafe fn encode(
8571 self,
8572 encoder: &mut fidl::encoding::Encoder<'_, D>,
8573 offset: usize,
8574 _depth: fidl::encoding::Depth,
8575 ) -> fidl::Result<()> {
8576 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8577 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
8579 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8580 encoder,
8581 offset,
8582 _depth,
8583 )
8584 }
8585 }
8586 unsafe impl<
8587 D: fidl::encoding::ResourceDialect,
8588 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
8589 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
8590 {
8591 #[inline]
8592 unsafe fn encode(
8593 self,
8594 encoder: &mut fidl::encoding::Encoder<'_, D>,
8595 offset: usize,
8596 depth: fidl::encoding::Depth,
8597 ) -> fidl::Result<()> {
8598 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8599 self.0.encode(encoder, offset + 0, depth)?;
8603 Ok(())
8604 }
8605 }
8606
8607 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8608 for MlmeStartCaptureFramesRequest
8609 {
8610 #[inline(always)]
8611 fn new_empty() -> Self {
8612 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
8613 }
8614
8615 #[inline]
8616 unsafe fn decode(
8617 &mut self,
8618 decoder: &mut fidl::encoding::Decoder<'_, D>,
8619 offset: usize,
8620 _depth: fidl::encoding::Depth,
8621 ) -> fidl::Result<()> {
8622 decoder.debug_check_bounds::<Self>(offset);
8623 fidl::decode!(
8625 StartCaptureFramesRequest,
8626 D,
8627 &mut self.req,
8628 decoder,
8629 offset + 0,
8630 _depth
8631 )?;
8632 Ok(())
8633 }
8634 }
8635
8636 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
8637 type Borrowed<'a> = &'a Self;
8638 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8639 value
8640 }
8641 }
8642
8643 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
8644 type Owned = Self;
8645
8646 #[inline(always)]
8647 fn inline_align(_context: fidl::encoding::Context) -> usize {
8648 4
8649 }
8650
8651 #[inline(always)]
8652 fn inline_size(_context: fidl::encoding::Context) -> usize {
8653 8
8654 }
8655 }
8656
8657 unsafe impl<D: fidl::encoding::ResourceDialect>
8658 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
8659 for &MlmeStartCaptureFramesResponse
8660 {
8661 #[inline]
8662 unsafe fn encode(
8663 self,
8664 encoder: &mut fidl::encoding::Encoder<'_, D>,
8665 offset: usize,
8666 _depth: fidl::encoding::Depth,
8667 ) -> fidl::Result<()> {
8668 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8669 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
8671 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
8672 &self.resp,
8673 ),),
8674 encoder,
8675 offset,
8676 _depth,
8677 )
8678 }
8679 }
8680 unsafe impl<
8681 D: fidl::encoding::ResourceDialect,
8682 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
8683 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
8684 {
8685 #[inline]
8686 unsafe fn encode(
8687 self,
8688 encoder: &mut fidl::encoding::Encoder<'_, D>,
8689 offset: usize,
8690 depth: fidl::encoding::Depth,
8691 ) -> fidl::Result<()> {
8692 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8693 self.0.encode(encoder, offset + 0, depth)?;
8697 Ok(())
8698 }
8699 }
8700
8701 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8702 for MlmeStartCaptureFramesResponse
8703 {
8704 #[inline(always)]
8705 fn new_empty() -> Self {
8706 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
8707 }
8708
8709 #[inline]
8710 unsafe fn decode(
8711 &mut self,
8712 decoder: &mut fidl::encoding::Decoder<'_, D>,
8713 offset: usize,
8714 _depth: fidl::encoding::Depth,
8715 ) -> fidl::Result<()> {
8716 decoder.debug_check_bounds::<Self>(offset);
8717 fidl::decode!(
8719 StartCaptureFramesResponse,
8720 D,
8721 &mut self.resp,
8722 decoder,
8723 offset + 0,
8724 _depth
8725 )?;
8726 Ok(())
8727 }
8728 }
8729
8730 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
8731 type Borrowed<'a> = &'a Self;
8732 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8733 value
8734 }
8735 }
8736
8737 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
8738 type Owned = Self;
8739
8740 #[inline(always)]
8741 fn inline_align(_context: fidl::encoding::Context) -> usize {
8742 4
8743 }
8744
8745 #[inline(always)]
8746 fn inline_size(_context: fidl::encoding::Context) -> usize {
8747 4
8748 }
8749 }
8750
8751 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
8752 for &MlmeStartConfRequest
8753 {
8754 #[inline]
8755 unsafe fn encode(
8756 self,
8757 encoder: &mut fidl::encoding::Encoder<'_, D>,
8758 offset: usize,
8759 _depth: fidl::encoding::Depth,
8760 ) -> fidl::Result<()> {
8761 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8762 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
8764 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8765 encoder,
8766 offset,
8767 _depth,
8768 )
8769 }
8770 }
8771 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
8772 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
8773 {
8774 #[inline]
8775 unsafe fn encode(
8776 self,
8777 encoder: &mut fidl::encoding::Encoder<'_, D>,
8778 offset: usize,
8779 depth: fidl::encoding::Depth,
8780 ) -> fidl::Result<()> {
8781 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8782 self.0.encode(encoder, offset + 0, depth)?;
8786 Ok(())
8787 }
8788 }
8789
8790 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
8791 #[inline(always)]
8792 fn new_empty() -> Self {
8793 Self { resp: fidl::new_empty!(StartConfirm, D) }
8794 }
8795
8796 #[inline]
8797 unsafe fn decode(
8798 &mut self,
8799 decoder: &mut fidl::encoding::Decoder<'_, D>,
8800 offset: usize,
8801 _depth: fidl::encoding::Depth,
8802 ) -> fidl::Result<()> {
8803 decoder.debug_check_bounds::<Self>(offset);
8804 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
8806 Ok(())
8807 }
8808 }
8809
8810 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
8811 type Borrowed<'a> = &'a Self;
8812 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8813 value
8814 }
8815 }
8816
8817 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
8818 type Owned = Self;
8819
8820 #[inline(always)]
8821 fn inline_align(_context: fidl::encoding::Context) -> usize {
8822 8
8823 }
8824
8825 #[inline(always)]
8826 fn inline_size(_context: fidl::encoding::Context) -> usize {
8827 96
8828 }
8829 }
8830
8831 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
8832 for &MlmeStartReqRequest
8833 {
8834 #[inline]
8835 unsafe fn encode(
8836 self,
8837 encoder: &mut fidl::encoding::Encoder<'_, D>,
8838 offset: usize,
8839 _depth: fidl::encoding::Depth,
8840 ) -> fidl::Result<()> {
8841 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
8842 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
8844 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8845 encoder,
8846 offset,
8847 _depth,
8848 )
8849 }
8850 }
8851 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
8852 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
8853 {
8854 #[inline]
8855 unsafe fn encode(
8856 self,
8857 encoder: &mut fidl::encoding::Encoder<'_, D>,
8858 offset: usize,
8859 depth: fidl::encoding::Depth,
8860 ) -> fidl::Result<()> {
8861 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
8862 self.0.encode(encoder, offset + 0, depth)?;
8866 Ok(())
8867 }
8868 }
8869
8870 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
8871 #[inline(always)]
8872 fn new_empty() -> Self {
8873 Self { req: fidl::new_empty!(StartRequest, D) }
8874 }
8875
8876 #[inline]
8877 unsafe fn decode(
8878 &mut self,
8879 decoder: &mut fidl::encoding::Decoder<'_, D>,
8880 offset: usize,
8881 _depth: fidl::encoding::Depth,
8882 ) -> fidl::Result<()> {
8883 decoder.debug_check_bounds::<Self>(offset);
8884 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8886 Ok(())
8887 }
8888 }
8889
8890 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
8891 type Borrowed<'a> = &'a Self;
8892 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8893 value
8894 }
8895 }
8896
8897 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
8898 type Owned = Self;
8899
8900 #[inline(always)]
8901 fn inline_align(_context: fidl::encoding::Context) -> usize {
8902 8
8903 }
8904
8905 #[inline(always)]
8906 fn inline_size(_context: fidl::encoding::Context) -> usize {
8907 64
8908 }
8909 }
8910
8911 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
8912 for &MlmeStartScanRequest
8913 {
8914 #[inline]
8915 unsafe fn encode(
8916 self,
8917 encoder: &mut fidl::encoding::Encoder<'_, D>,
8918 offset: usize,
8919 _depth: fidl::encoding::Depth,
8920 ) -> fidl::Result<()> {
8921 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
8922 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
8924 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8925 encoder,
8926 offset,
8927 _depth,
8928 )
8929 }
8930 }
8931 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
8932 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
8933 {
8934 #[inline]
8935 unsafe fn encode(
8936 self,
8937 encoder: &mut fidl::encoding::Encoder<'_, D>,
8938 offset: usize,
8939 depth: fidl::encoding::Depth,
8940 ) -> fidl::Result<()> {
8941 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
8942 self.0.encode(encoder, offset + 0, depth)?;
8946 Ok(())
8947 }
8948 }
8949
8950 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
8951 #[inline(always)]
8952 fn new_empty() -> Self {
8953 Self { req: fidl::new_empty!(ScanRequest, D) }
8954 }
8955
8956 #[inline]
8957 unsafe fn decode(
8958 &mut self,
8959 decoder: &mut fidl::encoding::Decoder<'_, D>,
8960 offset: usize,
8961 _depth: fidl::encoding::Depth,
8962 ) -> fidl::Result<()> {
8963 decoder.debug_check_bounds::<Self>(offset);
8964 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8966 Ok(())
8967 }
8968 }
8969
8970 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
8971 type Borrowed<'a> = &'a Self;
8972 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8973 value
8974 }
8975 }
8976
8977 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
8978 type Owned = Self;
8979
8980 #[inline(always)]
8981 fn inline_align(_context: fidl::encoding::Context) -> usize {
8982 4
8983 }
8984
8985 #[inline(always)]
8986 fn inline_size(_context: fidl::encoding::Context) -> usize {
8987 4
8988 }
8989 }
8990
8991 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
8992 for &MlmeStopConfRequest
8993 {
8994 #[inline]
8995 unsafe fn encode(
8996 self,
8997 encoder: &mut fidl::encoding::Encoder<'_, D>,
8998 offset: usize,
8999 _depth: fidl::encoding::Depth,
9000 ) -> fidl::Result<()> {
9001 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9002 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
9004 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9005 encoder,
9006 offset,
9007 _depth,
9008 )
9009 }
9010 }
9011 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
9012 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
9013 {
9014 #[inline]
9015 unsafe fn encode(
9016 self,
9017 encoder: &mut fidl::encoding::Encoder<'_, D>,
9018 offset: usize,
9019 depth: fidl::encoding::Depth,
9020 ) -> fidl::Result<()> {
9021 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9022 self.0.encode(encoder, offset + 0, depth)?;
9026 Ok(())
9027 }
9028 }
9029
9030 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
9031 #[inline(always)]
9032 fn new_empty() -> Self {
9033 Self { resp: fidl::new_empty!(StopConfirm, D) }
9034 }
9035
9036 #[inline]
9037 unsafe fn decode(
9038 &mut self,
9039 decoder: &mut fidl::encoding::Decoder<'_, D>,
9040 offset: usize,
9041 _depth: fidl::encoding::Depth,
9042 ) -> fidl::Result<()> {
9043 decoder.debug_check_bounds::<Self>(offset);
9044 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9046 Ok(())
9047 }
9048 }
9049
9050 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
9051 type Borrowed<'a> = &'a Self;
9052 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9053 value
9054 }
9055 }
9056
9057 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
9058 type Owned = Self;
9059
9060 #[inline(always)]
9061 fn inline_align(_context: fidl::encoding::Context) -> usize {
9062 8
9063 }
9064
9065 #[inline(always)]
9066 fn inline_size(_context: fidl::encoding::Context) -> usize {
9067 16
9068 }
9069 }
9070
9071 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
9072 for &MlmeStopReqRequest
9073 {
9074 #[inline]
9075 unsafe fn encode(
9076 self,
9077 encoder: &mut fidl::encoding::Encoder<'_, D>,
9078 offset: usize,
9079 _depth: fidl::encoding::Depth,
9080 ) -> fidl::Result<()> {
9081 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9082 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
9084 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9085 encoder,
9086 offset,
9087 _depth,
9088 )
9089 }
9090 }
9091 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
9092 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
9093 {
9094 #[inline]
9095 unsafe fn encode(
9096 self,
9097 encoder: &mut fidl::encoding::Encoder<'_, D>,
9098 offset: usize,
9099 depth: fidl::encoding::Depth,
9100 ) -> fidl::Result<()> {
9101 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9102 self.0.encode(encoder, offset + 0, depth)?;
9106 Ok(())
9107 }
9108 }
9109
9110 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
9111 #[inline(always)]
9112 fn new_empty() -> Self {
9113 Self { req: fidl::new_empty!(StopRequest, D) }
9114 }
9115
9116 #[inline]
9117 unsafe fn decode(
9118 &mut self,
9119 decoder: &mut fidl::encoding::Decoder<'_, D>,
9120 offset: usize,
9121 _depth: fidl::encoding::Depth,
9122 ) -> fidl::Result<()> {
9123 decoder.debug_check_bounds::<Self>(offset);
9124 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9126 Ok(())
9127 }
9128 }
9129
9130 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
9131 type Borrowed<'a> = &'a Self;
9132 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9133 value
9134 }
9135 }
9136
9137 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
9138 type Owned = Self;
9139
9140 #[inline(always)]
9141 fn inline_align(_context: fidl::encoding::Context) -> usize {
9142 8
9143 }
9144
9145 #[inline(always)]
9146 fn inline_size(_context: fidl::encoding::Context) -> usize {
9147 56
9148 }
9149 }
9150
9151 unsafe impl<D: fidl::encoding::ResourceDialect>
9152 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
9153 {
9154 #[inline]
9155 unsafe fn encode(
9156 self,
9157 encoder: &mut fidl::encoding::Encoder<'_, D>,
9158 offset: usize,
9159 _depth: fidl::encoding::Depth,
9160 ) -> fidl::Result<()> {
9161 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9162 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
9164 (
9165 <fidl_fuchsia_wlan_common__common::WlanChannel as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
9166 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
9167 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
9168 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
9169 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
9170 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
9171 ),
9172 encoder, offset, _depth
9173 )
9174 }
9175 }
9176 unsafe impl<
9177 D: fidl::encoding::ResourceDialect,
9178 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanChannel, D>,
9179 T1: fidl::encoding::Encode<u16, D>,
9180 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
9181 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
9182 T4: fidl::encoding::Encode<
9183 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9184 D,
9185 >,
9186 T5: fidl::encoding::Encode<
9187 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9188 D,
9189 >,
9190 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
9191 {
9192 #[inline]
9193 unsafe fn encode(
9194 self,
9195 encoder: &mut fidl::encoding::Encoder<'_, D>,
9196 offset: usize,
9197 depth: fidl::encoding::Depth,
9198 ) -> fidl::Result<()> {
9199 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9200 unsafe {
9203 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9204 (ptr as *mut u64).write_unaligned(0);
9205 }
9206 self.0.encode(encoder, offset + 0, depth)?;
9208 self.1.encode(encoder, offset + 12, depth)?;
9209 self.2.encode(encoder, offset + 16, depth)?;
9210 self.3.encode(encoder, offset + 32, depth)?;
9211 self.4.encode(encoder, offset + 40, depth)?;
9212 self.5.encode(encoder, offset + 48, depth)?;
9213 Ok(())
9214 }
9215 }
9216
9217 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9218 for NegotiatedCapabilities
9219 {
9220 #[inline(always)]
9221 fn new_empty() -> Self {
9222 Self {
9223 channel: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanChannel, D),
9224 capability_info: fidl::new_empty!(u16, D),
9225 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
9226 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
9227 ht_cap: fidl::new_empty!(
9228 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9229 D
9230 ),
9231 vht_cap: fidl::new_empty!(
9232 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9233 D
9234 ),
9235 }
9236 }
9237
9238 #[inline]
9239 unsafe fn decode(
9240 &mut self,
9241 decoder: &mut fidl::encoding::Decoder<'_, D>,
9242 offset: usize,
9243 _depth: fidl::encoding::Depth,
9244 ) -> fidl::Result<()> {
9245 decoder.debug_check_bounds::<Self>(offset);
9246 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9248 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9249 let mask = 0xffff000000000000u64;
9250 let maskedval = padval & mask;
9251 if maskedval != 0 {
9252 return Err(fidl::Error::NonZeroPadding {
9253 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9254 });
9255 }
9256 fidl::decode!(
9257 fidl_fuchsia_wlan_common__common::WlanChannel,
9258 D,
9259 &mut self.channel,
9260 decoder,
9261 offset + 0,
9262 _depth
9263 )?;
9264 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 12, _depth)?;
9265 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
9266 fidl::decode!(
9267 fidl::encoding::Boxed<WmmParameter>,
9268 D,
9269 &mut self.wmm_param,
9270 decoder,
9271 offset + 32,
9272 _depth
9273 )?;
9274 fidl::decode!(
9275 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9276 D,
9277 &mut self.ht_cap,
9278 decoder,
9279 offset + 40,
9280 _depth
9281 )?;
9282 fidl::decode!(
9283 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9284 D,
9285 &mut self.vht_cap,
9286 decoder,
9287 offset + 48,
9288 _depth
9289 )?;
9290 Ok(())
9291 }
9292 }
9293
9294 impl fidl::encoding::ValueTypeMarker for PmkInfo {
9295 type Borrowed<'a> = &'a Self;
9296 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9297 value
9298 }
9299 }
9300
9301 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
9302 type Owned = Self;
9303
9304 #[inline(always)]
9305 fn inline_align(_context: fidl::encoding::Context) -> usize {
9306 8
9307 }
9308
9309 #[inline(always)]
9310 fn inline_size(_context: fidl::encoding::Context) -> usize {
9311 32
9312 }
9313 }
9314
9315 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
9316 #[inline]
9317 unsafe fn encode(
9318 self,
9319 encoder: &mut fidl::encoding::Encoder<'_, D>,
9320 offset: usize,
9321 _depth: fidl::encoding::Depth,
9322 ) -> fidl::Result<()> {
9323 encoder.debug_check_bounds::<PmkInfo>(offset);
9324 fidl::encoding::Encode::<PmkInfo, D>::encode(
9326 (
9327 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
9328 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
9329 ),
9330 encoder, offset, _depth
9331 )
9332 }
9333 }
9334 unsafe impl<
9335 D: fidl::encoding::ResourceDialect,
9336 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9337 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9338 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
9339 {
9340 #[inline]
9341 unsafe fn encode(
9342 self,
9343 encoder: &mut fidl::encoding::Encoder<'_, D>,
9344 offset: usize,
9345 depth: fidl::encoding::Depth,
9346 ) -> fidl::Result<()> {
9347 encoder.debug_check_bounds::<PmkInfo>(offset);
9348 self.0.encode(encoder, offset + 0, depth)?;
9352 self.1.encode(encoder, offset + 16, depth)?;
9353 Ok(())
9354 }
9355 }
9356
9357 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
9358 #[inline(always)]
9359 fn new_empty() -> Self {
9360 Self {
9361 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9362 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9363 }
9364 }
9365
9366 #[inline]
9367 unsafe fn decode(
9368 &mut self,
9369 decoder: &mut fidl::encoding::Decoder<'_, D>,
9370 offset: usize,
9371 _depth: fidl::encoding::Depth,
9372 ) -> fidl::Result<()> {
9373 decoder.debug_check_bounds::<Self>(offset);
9374 fidl::decode!(
9376 fidl::encoding::UnboundedVector<u8>,
9377 D,
9378 &mut self.pmk,
9379 decoder,
9380 offset + 0,
9381 _depth
9382 )?;
9383 fidl::decode!(
9384 fidl::encoding::UnboundedVector<u8>,
9385 D,
9386 &mut self.pmkid,
9387 decoder,
9388 offset + 16,
9389 _depth
9390 )?;
9391 Ok(())
9392 }
9393 }
9394
9395 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
9396 type Borrowed<'a> = &'a Self;
9397 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9398 value
9399 }
9400 }
9401
9402 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
9403 type Owned = Self;
9404
9405 #[inline(always)]
9406 fn inline_align(_context: fidl::encoding::Context) -> usize {
9407 1
9408 }
9409
9410 #[inline(always)]
9411 fn inline_size(_context: fidl::encoding::Context) -> usize {
9412 6
9413 }
9414 #[inline(always)]
9415 fn encode_is_copy() -> bool {
9416 true
9417 }
9418
9419 #[inline(always)]
9420 fn decode_is_copy() -> bool {
9421 true
9422 }
9423 }
9424
9425 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
9426 for &ReconnectRequest
9427 {
9428 #[inline]
9429 unsafe fn encode(
9430 self,
9431 encoder: &mut fidl::encoding::Encoder<'_, D>,
9432 offset: usize,
9433 _depth: fidl::encoding::Depth,
9434 ) -> fidl::Result<()> {
9435 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9436 unsafe {
9437 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9439 (buf_ptr as *mut ReconnectRequest)
9440 .write_unaligned((self as *const ReconnectRequest).read());
9441 }
9444 Ok(())
9445 }
9446 }
9447 unsafe impl<
9448 D: fidl::encoding::ResourceDialect,
9449 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9450 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
9451 {
9452 #[inline]
9453 unsafe fn encode(
9454 self,
9455 encoder: &mut fidl::encoding::Encoder<'_, D>,
9456 offset: usize,
9457 depth: fidl::encoding::Depth,
9458 ) -> fidl::Result<()> {
9459 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9460 self.0.encode(encoder, offset + 0, depth)?;
9464 Ok(())
9465 }
9466 }
9467
9468 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
9469 #[inline(always)]
9470 fn new_empty() -> Self {
9471 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9472 }
9473
9474 #[inline]
9475 unsafe fn decode(
9476 &mut self,
9477 decoder: &mut fidl::encoding::Decoder<'_, D>,
9478 offset: usize,
9479 _depth: fidl::encoding::Depth,
9480 ) -> fidl::Result<()> {
9481 decoder.debug_check_bounds::<Self>(offset);
9482 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9483 unsafe {
9486 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9487 }
9488 Ok(())
9489 }
9490 }
9491
9492 impl fidl::encoding::ValueTypeMarker for ResetRequest {
9493 type Borrowed<'a> = &'a Self;
9494 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9495 value
9496 }
9497 }
9498
9499 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
9500 type Owned = Self;
9501
9502 #[inline(always)]
9503 fn inline_align(_context: fidl::encoding::Context) -> usize {
9504 1
9505 }
9506
9507 #[inline(always)]
9508 fn inline_size(_context: fidl::encoding::Context) -> usize {
9509 7
9510 }
9511 }
9512
9513 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
9514 for &ResetRequest
9515 {
9516 #[inline]
9517 unsafe fn encode(
9518 self,
9519 encoder: &mut fidl::encoding::Encoder<'_, D>,
9520 offset: usize,
9521 _depth: fidl::encoding::Depth,
9522 ) -> fidl::Result<()> {
9523 encoder.debug_check_bounds::<ResetRequest>(offset);
9524 fidl::encoding::Encode::<ResetRequest, D>::encode(
9526 (
9527 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
9528 &self.sta_address,
9529 ),
9530 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
9531 ),
9532 encoder,
9533 offset,
9534 _depth,
9535 )
9536 }
9537 }
9538 unsafe impl<
9539 D: fidl::encoding::ResourceDialect,
9540 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9541 T1: fidl::encoding::Encode<bool, D>,
9542 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
9543 {
9544 #[inline]
9545 unsafe fn encode(
9546 self,
9547 encoder: &mut fidl::encoding::Encoder<'_, D>,
9548 offset: usize,
9549 depth: fidl::encoding::Depth,
9550 ) -> fidl::Result<()> {
9551 encoder.debug_check_bounds::<ResetRequest>(offset);
9552 self.0.encode(encoder, offset + 0, depth)?;
9556 self.1.encode(encoder, offset + 6, depth)?;
9557 Ok(())
9558 }
9559 }
9560
9561 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
9562 #[inline(always)]
9563 fn new_empty() -> Self {
9564 Self {
9565 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9566 set_default_mib: fidl::new_empty!(bool, D),
9567 }
9568 }
9569
9570 #[inline]
9571 unsafe fn decode(
9572 &mut self,
9573 decoder: &mut fidl::encoding::Decoder<'_, D>,
9574 offset: usize,
9575 _depth: fidl::encoding::Depth,
9576 ) -> fidl::Result<()> {
9577 decoder.debug_check_bounds::<Self>(offset);
9578 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
9580 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
9581 Ok(())
9582 }
9583 }
9584
9585 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
9586 type Borrowed<'a> = &'a Self;
9587 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9588 value
9589 }
9590 }
9591
9592 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
9593 type Owned = Self;
9594
9595 #[inline(always)]
9596 fn inline_align(_context: fidl::encoding::Context) -> usize {
9597 8
9598 }
9599
9600 #[inline(always)]
9601 fn inline_size(_context: fidl::encoding::Context) -> usize {
9602 32
9603 }
9604 }
9605
9606 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
9607 for &RoamConfirm
9608 {
9609 #[inline]
9610 unsafe fn encode(
9611 self,
9612 encoder: &mut fidl::encoding::Encoder<'_, D>,
9613 offset: usize,
9614 _depth: fidl::encoding::Depth,
9615 ) -> fidl::Result<()> {
9616 encoder.debug_check_bounds::<RoamConfirm>(offset);
9617 fidl::encoding::Encode::<RoamConfirm, D>::encode(
9619 (
9620 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
9621 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
9622 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
9623 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
9624 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
9625 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
9626 ),
9627 encoder, offset, _depth
9628 )
9629 }
9630 }
9631 unsafe impl<
9632 D: fidl::encoding::ResourceDialect,
9633 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9634 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
9635 T2: fidl::encoding::Encode<bool, D>,
9636 T3: fidl::encoding::Encode<bool, D>,
9637 T4: fidl::encoding::Encode<u16, D>,
9638 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9639 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
9640 {
9641 #[inline]
9642 unsafe fn encode(
9643 self,
9644 encoder: &mut fidl::encoding::Encoder<'_, D>,
9645 offset: usize,
9646 depth: fidl::encoding::Depth,
9647 ) -> fidl::Result<()> {
9648 encoder.debug_check_bounds::<RoamConfirm>(offset);
9649 unsafe {
9652 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9653 (ptr as *mut u64).write_unaligned(0);
9654 }
9655 self.0.encode(encoder, offset + 0, depth)?;
9657 self.1.encode(encoder, offset + 6, depth)?;
9658 self.2.encode(encoder, offset + 8, depth)?;
9659 self.3.encode(encoder, offset + 9, depth)?;
9660 self.4.encode(encoder, offset + 10, depth)?;
9661 self.5.encode(encoder, offset + 16, depth)?;
9662 Ok(())
9663 }
9664 }
9665
9666 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
9667 #[inline(always)]
9668 fn new_empty() -> Self {
9669 Self {
9670 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9671 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
9672 original_association_maintained: fidl::new_empty!(bool, D),
9673 target_bss_authenticated: fidl::new_empty!(bool, D),
9674 association_id: fidl::new_empty!(u16, D),
9675 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9676 }
9677 }
9678
9679 #[inline]
9680 unsafe fn decode(
9681 &mut self,
9682 decoder: &mut fidl::encoding::Decoder<'_, D>,
9683 offset: usize,
9684 _depth: fidl::encoding::Depth,
9685 ) -> fidl::Result<()> {
9686 decoder.debug_check_bounds::<Self>(offset);
9687 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9689 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9690 let mask = 0xffffffff00000000u64;
9691 let maskedval = padval & mask;
9692 if maskedval != 0 {
9693 return Err(fidl::Error::NonZeroPadding {
9694 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9695 });
9696 }
9697 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
9698 fidl::decode!(
9699 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
9700 D,
9701 &mut self.status_code,
9702 decoder,
9703 offset + 6,
9704 _depth
9705 )?;
9706 fidl::decode!(
9707 bool,
9708 D,
9709 &mut self.original_association_maintained,
9710 decoder,
9711 offset + 8,
9712 _depth
9713 )?;
9714 fidl::decode!(
9715 bool,
9716 D,
9717 &mut self.target_bss_authenticated,
9718 decoder,
9719 offset + 9,
9720 _depth
9721 )?;
9722 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
9723 fidl::decode!(
9724 fidl::encoding::UnboundedVector<u8>,
9725 D,
9726 &mut self.association_ies,
9727 decoder,
9728 offset + 16,
9729 _depth
9730 )?;
9731 Ok(())
9732 }
9733 }
9734
9735 impl fidl::encoding::ValueTypeMarker for RoamRequest {
9736 type Borrowed<'a> = &'a Self;
9737 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9738 value
9739 }
9740 }
9741
9742 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
9743 type Owned = Self;
9744
9745 #[inline(always)]
9746 fn inline_align(_context: fidl::encoding::Context) -> usize {
9747 8
9748 }
9749
9750 #[inline(always)]
9751 fn inline_size(_context: fidl::encoding::Context) -> usize {
9752 48
9753 }
9754 }
9755
9756 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
9757 for &RoamRequest
9758 {
9759 #[inline]
9760 unsafe fn encode(
9761 self,
9762 encoder: &mut fidl::encoding::Encoder<'_, D>,
9763 offset: usize,
9764 _depth: fidl::encoding::Depth,
9765 ) -> fidl::Result<()> {
9766 encoder.debug_check_bounds::<RoamRequest>(offset);
9767 fidl::encoding::Encode::<RoamRequest, D>::encode(
9769 (
9770 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
9771 ),
9772 encoder, offset, _depth
9773 )
9774 }
9775 }
9776 unsafe impl<
9777 D: fidl::encoding::ResourceDialect,
9778 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
9779 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
9780 {
9781 #[inline]
9782 unsafe fn encode(
9783 self,
9784 encoder: &mut fidl::encoding::Encoder<'_, D>,
9785 offset: usize,
9786 depth: fidl::encoding::Depth,
9787 ) -> fidl::Result<()> {
9788 encoder.debug_check_bounds::<RoamRequest>(offset);
9789 self.0.encode(encoder, offset + 0, depth)?;
9793 Ok(())
9794 }
9795 }
9796
9797 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
9798 #[inline(always)]
9799 fn new_empty() -> Self {
9800 Self {
9801 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
9802 }
9803 }
9804
9805 #[inline]
9806 unsafe fn decode(
9807 &mut self,
9808 decoder: &mut fidl::encoding::Decoder<'_, D>,
9809 offset: usize,
9810 _depth: fidl::encoding::Depth,
9811 ) -> fidl::Result<()> {
9812 decoder.debug_check_bounds::<Self>(offset);
9813 fidl::decode!(
9815 fidl_fuchsia_wlan_common__common::BssDescription,
9816 D,
9817 &mut self.selected_bss,
9818 decoder,
9819 offset + 0,
9820 _depth
9821 )?;
9822 Ok(())
9823 }
9824 }
9825
9826 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
9827 type Borrowed<'a> = &'a Self;
9828 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9829 value
9830 }
9831 }
9832
9833 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
9834 type Owned = Self;
9835
9836 #[inline(always)]
9837 fn inline_align(_context: fidl::encoding::Context) -> usize {
9838 8
9839 }
9840
9841 #[inline(always)]
9842 fn inline_size(_context: fidl::encoding::Context) -> usize {
9843 32
9844 }
9845 }
9846
9847 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
9848 for &RoamResultIndication
9849 {
9850 #[inline]
9851 unsafe fn encode(
9852 self,
9853 encoder: &mut fidl::encoding::Encoder<'_, D>,
9854 offset: usize,
9855 _depth: fidl::encoding::Depth,
9856 ) -> fidl::Result<()> {
9857 encoder.debug_check_bounds::<RoamResultIndication>(offset);
9858 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
9860 (
9861 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
9862 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
9863 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
9864 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
9865 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
9866 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
9867 ),
9868 encoder, offset, _depth
9869 )
9870 }
9871 }
9872 unsafe impl<
9873 D: fidl::encoding::ResourceDialect,
9874 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9875 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
9876 T2: fidl::encoding::Encode<bool, D>,
9877 T3: fidl::encoding::Encode<bool, D>,
9878 T4: fidl::encoding::Encode<u16, D>,
9879 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9880 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
9881 {
9882 #[inline]
9883 unsafe fn encode(
9884 self,
9885 encoder: &mut fidl::encoding::Encoder<'_, D>,
9886 offset: usize,
9887 depth: fidl::encoding::Depth,
9888 ) -> fidl::Result<()> {
9889 encoder.debug_check_bounds::<RoamResultIndication>(offset);
9890 unsafe {
9893 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9894 (ptr as *mut u64).write_unaligned(0);
9895 }
9896 self.0.encode(encoder, offset + 0, depth)?;
9898 self.1.encode(encoder, offset + 6, depth)?;
9899 self.2.encode(encoder, offset + 8, depth)?;
9900 self.3.encode(encoder, offset + 9, depth)?;
9901 self.4.encode(encoder, offset + 10, depth)?;
9902 self.5.encode(encoder, offset + 16, depth)?;
9903 Ok(())
9904 }
9905 }
9906
9907 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
9908 #[inline(always)]
9909 fn new_empty() -> Self {
9910 Self {
9911 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9912 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
9913 original_association_maintained: fidl::new_empty!(bool, D),
9914 target_bss_authenticated: fidl::new_empty!(bool, D),
9915 association_id: fidl::new_empty!(u16, D),
9916 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9917 }
9918 }
9919
9920 #[inline]
9921 unsafe fn decode(
9922 &mut self,
9923 decoder: &mut fidl::encoding::Decoder<'_, D>,
9924 offset: usize,
9925 _depth: fidl::encoding::Depth,
9926 ) -> fidl::Result<()> {
9927 decoder.debug_check_bounds::<Self>(offset);
9928 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9930 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9931 let mask = 0xffffffff00000000u64;
9932 let maskedval = padval & mask;
9933 if maskedval != 0 {
9934 return Err(fidl::Error::NonZeroPadding {
9935 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9936 });
9937 }
9938 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
9939 fidl::decode!(
9940 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
9941 D,
9942 &mut self.status_code,
9943 decoder,
9944 offset + 6,
9945 _depth
9946 )?;
9947 fidl::decode!(
9948 bool,
9949 D,
9950 &mut self.original_association_maintained,
9951 decoder,
9952 offset + 8,
9953 _depth
9954 )?;
9955 fidl::decode!(
9956 bool,
9957 D,
9958 &mut self.target_bss_authenticated,
9959 decoder,
9960 offset + 9,
9961 _depth
9962 )?;
9963 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
9964 fidl::decode!(
9965 fidl::encoding::UnboundedVector<u8>,
9966 D,
9967 &mut self.association_ies,
9968 decoder,
9969 offset + 16,
9970 _depth
9971 )?;
9972 Ok(())
9973 }
9974 }
9975
9976 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
9977 type Borrowed<'a> = &'a Self;
9978 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9979 value
9980 }
9981 }
9982
9983 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
9984 type Owned = Self;
9985
9986 #[inline(always)]
9987 fn inline_align(_context: fidl::encoding::Context) -> usize {
9988 8
9989 }
9990
9991 #[inline(always)]
9992 fn inline_size(_context: fidl::encoding::Context) -> usize {
9993 64
9994 }
9995 }
9996
9997 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
9998 for &RoamStartIndication
9999 {
10000 #[inline]
10001 unsafe fn encode(
10002 self,
10003 encoder: &mut fidl::encoding::Encoder<'_, D>,
10004 offset: usize,
10005 _depth: fidl::encoding::Depth,
10006 ) -> fidl::Result<()> {
10007 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10008 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
10010 (
10011 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10012 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10013 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10014 ),
10015 encoder, offset, _depth
10016 )
10017 }
10018 }
10019 unsafe impl<
10020 D: fidl::encoding::ResourceDialect,
10021 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10022 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10023 T2: fidl::encoding::Encode<bool, D>,
10024 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
10025 {
10026 #[inline]
10027 unsafe fn encode(
10028 self,
10029 encoder: &mut fidl::encoding::Encoder<'_, D>,
10030 offset: usize,
10031 depth: fidl::encoding::Depth,
10032 ) -> fidl::Result<()> {
10033 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10034 unsafe {
10037 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10038 (ptr as *mut u64).write_unaligned(0);
10039 }
10040 unsafe {
10041 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10042 (ptr as *mut u64).write_unaligned(0);
10043 }
10044 self.0.encode(encoder, offset + 0, depth)?;
10046 self.1.encode(encoder, offset + 8, depth)?;
10047 self.2.encode(encoder, offset + 56, depth)?;
10048 Ok(())
10049 }
10050 }
10051
10052 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
10053 #[inline(always)]
10054 fn new_empty() -> Self {
10055 Self {
10056 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10057 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10058 original_association_maintained: fidl::new_empty!(bool, D),
10059 }
10060 }
10061
10062 #[inline]
10063 unsafe fn decode(
10064 &mut self,
10065 decoder: &mut fidl::encoding::Decoder<'_, D>,
10066 offset: usize,
10067 _depth: fidl::encoding::Depth,
10068 ) -> fidl::Result<()> {
10069 decoder.debug_check_bounds::<Self>(offset);
10070 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10072 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10073 let mask = 0xffff000000000000u64;
10074 let maskedval = padval & mask;
10075 if maskedval != 0 {
10076 return Err(fidl::Error::NonZeroPadding {
10077 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10078 });
10079 }
10080 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10081 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10082 let mask = 0xffffffffffffff00u64;
10083 let maskedval = padval & mask;
10084 if maskedval != 0 {
10085 return Err(fidl::Error::NonZeroPadding {
10086 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10087 });
10088 }
10089 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10090 fidl::decode!(
10091 fidl_fuchsia_wlan_common__common::BssDescription,
10092 D,
10093 &mut self.selected_bss,
10094 decoder,
10095 offset + 8,
10096 _depth
10097 )?;
10098 fidl::decode!(
10099 bool,
10100 D,
10101 &mut self.original_association_maintained,
10102 decoder,
10103 offset + 56,
10104 _depth
10105 )?;
10106 Ok(())
10107 }
10108 }
10109
10110 impl fidl::encoding::ValueTypeMarker for SaeFrame {
10111 type Borrowed<'a> = &'a Self;
10112 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10113 value
10114 }
10115 }
10116
10117 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
10118 type Owned = Self;
10119
10120 #[inline(always)]
10121 fn inline_align(_context: fidl::encoding::Context) -> usize {
10122 8
10123 }
10124
10125 #[inline(always)]
10126 fn inline_size(_context: fidl::encoding::Context) -> usize {
10127 32
10128 }
10129 }
10130
10131 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
10132 #[inline]
10133 unsafe fn encode(
10134 self,
10135 encoder: &mut fidl::encoding::Encoder<'_, D>,
10136 offset: usize,
10137 _depth: fidl::encoding::Depth,
10138 ) -> fidl::Result<()> {
10139 encoder.debug_check_bounds::<SaeFrame>(offset);
10140 fidl::encoding::Encode::<SaeFrame, D>::encode(
10142 (
10143 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10144 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10145 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
10146 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
10147 ),
10148 encoder, offset, _depth
10149 )
10150 }
10151 }
10152 unsafe impl<
10153 D: fidl::encoding::ResourceDialect,
10154 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10155 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10156 T2: fidl::encoding::Encode<u16, D>,
10157 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10158 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
10159 {
10160 #[inline]
10161 unsafe fn encode(
10162 self,
10163 encoder: &mut fidl::encoding::Encoder<'_, D>,
10164 offset: usize,
10165 depth: fidl::encoding::Depth,
10166 ) -> fidl::Result<()> {
10167 encoder.debug_check_bounds::<SaeFrame>(offset);
10168 unsafe {
10171 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10172 (ptr as *mut u64).write_unaligned(0);
10173 }
10174 self.0.encode(encoder, offset + 0, depth)?;
10176 self.1.encode(encoder, offset + 6, depth)?;
10177 self.2.encode(encoder, offset + 8, depth)?;
10178 self.3.encode(encoder, offset + 16, depth)?;
10179 Ok(())
10180 }
10181 }
10182
10183 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
10184 #[inline(always)]
10185 fn new_empty() -> Self {
10186 Self {
10187 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10188 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10189 seq_num: fidl::new_empty!(u16, D),
10190 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10191 }
10192 }
10193
10194 #[inline]
10195 unsafe fn decode(
10196 &mut self,
10197 decoder: &mut fidl::encoding::Decoder<'_, D>,
10198 offset: usize,
10199 _depth: fidl::encoding::Depth,
10200 ) -> fidl::Result<()> {
10201 decoder.debug_check_bounds::<Self>(offset);
10202 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10204 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10205 let mask = 0xffffffffffff0000u64;
10206 let maskedval = padval & mask;
10207 if maskedval != 0 {
10208 return Err(fidl::Error::NonZeroPadding {
10209 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10210 });
10211 }
10212 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10213 fidl::decode!(
10214 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10215 D,
10216 &mut self.status_code,
10217 decoder,
10218 offset + 6,
10219 _depth
10220 )?;
10221 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
10222 fidl::decode!(
10223 fidl::encoding::UnboundedVector<u8>,
10224 D,
10225 &mut self.sae_fields,
10226 decoder,
10227 offset + 16,
10228 _depth
10229 )?;
10230 Ok(())
10231 }
10232 }
10233
10234 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
10235 type Borrowed<'a> = &'a Self;
10236 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10237 value
10238 }
10239 }
10240
10241 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
10242 type Owned = Self;
10243
10244 #[inline(always)]
10245 fn inline_align(_context: fidl::encoding::Context) -> usize {
10246 1
10247 }
10248
10249 #[inline(always)]
10250 fn inline_size(_context: fidl::encoding::Context) -> usize {
10251 6
10252 }
10253 #[inline(always)]
10254 fn encode_is_copy() -> bool {
10255 true
10256 }
10257
10258 #[inline(always)]
10259 fn decode_is_copy() -> bool {
10260 true
10261 }
10262 }
10263
10264 unsafe impl<D: fidl::encoding::ResourceDialect>
10265 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
10266 {
10267 #[inline]
10268 unsafe fn encode(
10269 self,
10270 encoder: &mut fidl::encoding::Encoder<'_, D>,
10271 offset: usize,
10272 _depth: fidl::encoding::Depth,
10273 ) -> fidl::Result<()> {
10274 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10275 unsafe {
10276 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10278 (buf_ptr as *mut SaeHandshakeIndication)
10279 .write_unaligned((self as *const SaeHandshakeIndication).read());
10280 }
10283 Ok(())
10284 }
10285 }
10286 unsafe impl<
10287 D: fidl::encoding::ResourceDialect,
10288 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10289 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
10290 {
10291 #[inline]
10292 unsafe fn encode(
10293 self,
10294 encoder: &mut fidl::encoding::Encoder<'_, D>,
10295 offset: usize,
10296 depth: fidl::encoding::Depth,
10297 ) -> fidl::Result<()> {
10298 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10299 self.0.encode(encoder, offset + 0, depth)?;
10303 Ok(())
10304 }
10305 }
10306
10307 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10308 for SaeHandshakeIndication
10309 {
10310 #[inline(always)]
10311 fn new_empty() -> Self {
10312 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10313 }
10314
10315 #[inline]
10316 unsafe fn decode(
10317 &mut self,
10318 decoder: &mut fidl::encoding::Decoder<'_, D>,
10319 offset: usize,
10320 _depth: fidl::encoding::Depth,
10321 ) -> fidl::Result<()> {
10322 decoder.debug_check_bounds::<Self>(offset);
10323 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10324 unsafe {
10327 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10328 }
10329 Ok(())
10330 }
10331 }
10332
10333 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
10334 type Borrowed<'a> = &'a Self;
10335 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10336 value
10337 }
10338 }
10339
10340 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
10341 type Owned = Self;
10342
10343 #[inline(always)]
10344 fn inline_align(_context: fidl::encoding::Context) -> usize {
10345 2
10346 }
10347
10348 #[inline(always)]
10349 fn inline_size(_context: fidl::encoding::Context) -> usize {
10350 8
10351 }
10352 }
10353
10354 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
10355 for &SaeHandshakeResponse
10356 {
10357 #[inline]
10358 unsafe fn encode(
10359 self,
10360 encoder: &mut fidl::encoding::Encoder<'_, D>,
10361 offset: usize,
10362 _depth: fidl::encoding::Depth,
10363 ) -> fidl::Result<()> {
10364 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10365 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
10367 (
10368 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10369 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10370 ),
10371 encoder, offset, _depth
10372 )
10373 }
10374 }
10375 unsafe impl<
10376 D: fidl::encoding::ResourceDialect,
10377 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10378 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10379 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
10380 {
10381 #[inline]
10382 unsafe fn encode(
10383 self,
10384 encoder: &mut fidl::encoding::Encoder<'_, D>,
10385 offset: usize,
10386 depth: fidl::encoding::Depth,
10387 ) -> fidl::Result<()> {
10388 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10389 self.0.encode(encoder, offset + 0, depth)?;
10393 self.1.encode(encoder, offset + 6, depth)?;
10394 Ok(())
10395 }
10396 }
10397
10398 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
10399 #[inline(always)]
10400 fn new_empty() -> Self {
10401 Self {
10402 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10403 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10404 }
10405 }
10406
10407 #[inline]
10408 unsafe fn decode(
10409 &mut self,
10410 decoder: &mut fidl::encoding::Decoder<'_, D>,
10411 offset: usize,
10412 _depth: fidl::encoding::Depth,
10413 ) -> fidl::Result<()> {
10414 decoder.debug_check_bounds::<Self>(offset);
10415 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10417 fidl::decode!(
10418 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10419 D,
10420 &mut self.status_code,
10421 decoder,
10422 offset + 6,
10423 _depth
10424 )?;
10425 Ok(())
10426 }
10427 }
10428
10429 impl fidl::encoding::ValueTypeMarker for ScanEnd {
10430 type Borrowed<'a> = &'a Self;
10431 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10432 value
10433 }
10434 }
10435
10436 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
10437 type Owned = Self;
10438
10439 #[inline(always)]
10440 fn inline_align(_context: fidl::encoding::Context) -> usize {
10441 8
10442 }
10443
10444 #[inline(always)]
10445 fn inline_size(_context: fidl::encoding::Context) -> usize {
10446 16
10447 }
10448 }
10449
10450 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
10451 #[inline]
10452 unsafe fn encode(
10453 self,
10454 encoder: &mut fidl::encoding::Encoder<'_, D>,
10455 offset: usize,
10456 _depth: fidl::encoding::Depth,
10457 ) -> fidl::Result<()> {
10458 encoder.debug_check_bounds::<ScanEnd>(offset);
10459 fidl::encoding::Encode::<ScanEnd, D>::encode(
10461 (
10462 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10463 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
10464 ),
10465 encoder,
10466 offset,
10467 _depth,
10468 )
10469 }
10470 }
10471 unsafe impl<
10472 D: fidl::encoding::ResourceDialect,
10473 T0: fidl::encoding::Encode<u64, D>,
10474 T1: fidl::encoding::Encode<ScanResultCode, D>,
10475 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
10476 {
10477 #[inline]
10478 unsafe fn encode(
10479 self,
10480 encoder: &mut fidl::encoding::Encoder<'_, D>,
10481 offset: usize,
10482 depth: fidl::encoding::Depth,
10483 ) -> fidl::Result<()> {
10484 encoder.debug_check_bounds::<ScanEnd>(offset);
10485 unsafe {
10488 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10489 (ptr as *mut u64).write_unaligned(0);
10490 }
10491 self.0.encode(encoder, offset + 0, depth)?;
10493 self.1.encode(encoder, offset + 8, depth)?;
10494 Ok(())
10495 }
10496 }
10497
10498 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
10499 #[inline(always)]
10500 fn new_empty() -> Self {
10501 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
10502 }
10503
10504 #[inline]
10505 unsafe fn decode(
10506 &mut self,
10507 decoder: &mut fidl::encoding::Decoder<'_, D>,
10508 offset: usize,
10509 _depth: fidl::encoding::Depth,
10510 ) -> fidl::Result<()> {
10511 decoder.debug_check_bounds::<Self>(offset);
10512 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10514 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10515 let mask = 0xffffffff00000000u64;
10516 let maskedval = padval & mask;
10517 if maskedval != 0 {
10518 return Err(fidl::Error::NonZeroPadding {
10519 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10520 });
10521 }
10522 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10523 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
10524 Ok(())
10525 }
10526 }
10527
10528 impl fidl::encoding::ValueTypeMarker for ScanRequest {
10529 type Borrowed<'a> = &'a Self;
10530 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10531 value
10532 }
10533 }
10534
10535 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
10536 type Owned = Self;
10537
10538 #[inline(always)]
10539 fn inline_align(_context: fidl::encoding::Context) -> usize {
10540 8
10541 }
10542
10543 #[inline(always)]
10544 fn inline_size(_context: fidl::encoding::Context) -> usize {
10545 64
10546 }
10547 }
10548
10549 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
10550 for &ScanRequest
10551 {
10552 #[inline]
10553 unsafe fn encode(
10554 self,
10555 encoder: &mut fidl::encoding::Encoder<'_, D>,
10556 offset: usize,
10557 _depth: fidl::encoding::Depth,
10558 ) -> fidl::Result<()> {
10559 encoder.debug_check_bounds::<ScanRequest>(offset);
10560 fidl::encoding::Encode::<ScanRequest, D>::encode(
10562 (
10563 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10564 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
10565 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
10566 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
10567 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
10568 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
10569 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
10570 ),
10571 encoder, offset, _depth
10572 )
10573 }
10574 }
10575 unsafe impl<
10576 D: fidl::encoding::ResourceDialect,
10577 T0: fidl::encoding::Encode<u64, D>,
10578 T1: fidl::encoding::Encode<ScanTypes, D>,
10579 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
10580 T3: fidl::encoding::Encode<
10581 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10582 D,
10583 >,
10584 T4: fidl::encoding::Encode<u32, D>,
10585 T5: fidl::encoding::Encode<u32, D>,
10586 T6: fidl::encoding::Encode<u32, D>,
10587 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
10588 {
10589 #[inline]
10590 unsafe fn encode(
10591 self,
10592 encoder: &mut fidl::encoding::Encoder<'_, D>,
10593 offset: usize,
10594 depth: fidl::encoding::Depth,
10595 ) -> fidl::Result<()> {
10596 encoder.debug_check_bounds::<ScanRequest>(offset);
10597 unsafe {
10600 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10601 (ptr as *mut u64).write_unaligned(0);
10602 }
10603 unsafe {
10604 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10605 (ptr as *mut u64).write_unaligned(0);
10606 }
10607 self.0.encode(encoder, offset + 0, depth)?;
10609 self.1.encode(encoder, offset + 8, depth)?;
10610 self.2.encode(encoder, offset + 16, depth)?;
10611 self.3.encode(encoder, offset + 32, depth)?;
10612 self.4.encode(encoder, offset + 48, depth)?;
10613 self.5.encode(encoder, offset + 52, depth)?;
10614 self.6.encode(encoder, offset + 56, depth)?;
10615 Ok(())
10616 }
10617 }
10618
10619 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
10620 #[inline(always)]
10621 fn new_empty() -> Self {
10622 Self {
10623 txn_id: fidl::new_empty!(u64, D),
10624 scan_type: fidl::new_empty!(ScanTypes, D),
10625 channel_list: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
10626 ssid_list: fidl::new_empty!(
10627 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10628 D
10629 ),
10630 probe_delay: fidl::new_empty!(u32, D),
10631 min_channel_time: fidl::new_empty!(u32, D),
10632 max_channel_time: fidl::new_empty!(u32, D),
10633 }
10634 }
10635
10636 #[inline]
10637 unsafe fn decode(
10638 &mut self,
10639 decoder: &mut fidl::encoding::Decoder<'_, D>,
10640 offset: usize,
10641 _depth: fidl::encoding::Depth,
10642 ) -> fidl::Result<()> {
10643 decoder.debug_check_bounds::<Self>(offset);
10644 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10646 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10647 let mask = 0xffffffff00000000u64;
10648 let maskedval = padval & mask;
10649 if maskedval != 0 {
10650 return Err(fidl::Error::NonZeroPadding {
10651 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10652 });
10653 }
10654 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10655 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10656 let mask = 0xffffffff00000000u64;
10657 let maskedval = padval & mask;
10658 if maskedval != 0 {
10659 return Err(fidl::Error::NonZeroPadding {
10660 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10661 });
10662 }
10663 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10664 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
10665 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
10666 fidl::decode!(
10667 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10668 D,
10669 &mut self.ssid_list,
10670 decoder,
10671 offset + 32,
10672 _depth
10673 )?;
10674 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
10675 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
10676 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
10677 Ok(())
10678 }
10679 }
10680
10681 impl fidl::encoding::ValueTypeMarker for ScanResult {
10682 type Borrowed<'a> = &'a Self;
10683 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10684 value
10685 }
10686 }
10687
10688 unsafe impl fidl::encoding::TypeMarker for ScanResult {
10689 type Owned = Self;
10690
10691 #[inline(always)]
10692 fn inline_align(_context: fidl::encoding::Context) -> usize {
10693 8
10694 }
10695
10696 #[inline(always)]
10697 fn inline_size(_context: fidl::encoding::Context) -> usize {
10698 64
10699 }
10700 }
10701
10702 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
10703 for &ScanResult
10704 {
10705 #[inline]
10706 unsafe fn encode(
10707 self,
10708 encoder: &mut fidl::encoding::Encoder<'_, D>,
10709 offset: usize,
10710 _depth: fidl::encoding::Depth,
10711 ) -> fidl::Result<()> {
10712 encoder.debug_check_bounds::<ScanResult>(offset);
10713 fidl::encoding::Encode::<ScanResult, D>::encode(
10715 (
10716 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10717 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
10718 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
10719 ),
10720 encoder, offset, _depth
10721 )
10722 }
10723 }
10724 unsafe impl<
10725 D: fidl::encoding::ResourceDialect,
10726 T0: fidl::encoding::Encode<u64, D>,
10727 T1: fidl::encoding::Encode<i64, D>,
10728 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10729 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
10730 {
10731 #[inline]
10732 unsafe fn encode(
10733 self,
10734 encoder: &mut fidl::encoding::Encoder<'_, D>,
10735 offset: usize,
10736 depth: fidl::encoding::Depth,
10737 ) -> fidl::Result<()> {
10738 encoder.debug_check_bounds::<ScanResult>(offset);
10739 self.0.encode(encoder, offset + 0, depth)?;
10743 self.1.encode(encoder, offset + 8, depth)?;
10744 self.2.encode(encoder, offset + 16, depth)?;
10745 Ok(())
10746 }
10747 }
10748
10749 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
10750 #[inline(always)]
10751 fn new_empty() -> Self {
10752 Self {
10753 txn_id: fidl::new_empty!(u64, D),
10754 timestamp_nanos: fidl::new_empty!(i64, D),
10755 bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10756 }
10757 }
10758
10759 #[inline]
10760 unsafe fn decode(
10761 &mut self,
10762 decoder: &mut fidl::encoding::Decoder<'_, D>,
10763 offset: usize,
10764 _depth: fidl::encoding::Depth,
10765 ) -> fidl::Result<()> {
10766 decoder.debug_check_bounds::<Self>(offset);
10767 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10769 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
10770 fidl::decode!(
10771 fidl_fuchsia_wlan_common__common::BssDescription,
10772 D,
10773 &mut self.bss,
10774 decoder,
10775 offset + 16,
10776 _depth
10777 )?;
10778 Ok(())
10779 }
10780 }
10781
10782 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
10783 type Borrowed<'a> = &'a Self;
10784 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10785 value
10786 }
10787 }
10788
10789 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
10790 type Owned = Self;
10791
10792 #[inline(always)]
10793 fn inline_align(_context: fidl::encoding::Context) -> usize {
10794 4
10795 }
10796
10797 #[inline(always)]
10798 fn inline_size(_context: fidl::encoding::Context) -> usize {
10799 12
10800 }
10801 }
10802
10803 unsafe impl<D: fidl::encoding::ResourceDialect>
10804 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
10805 {
10806 #[inline]
10807 unsafe fn encode(
10808 self,
10809 encoder: &mut fidl::encoding::Encoder<'_, D>,
10810 offset: usize,
10811 _depth: fidl::encoding::Depth,
10812 ) -> fidl::Result<()> {
10813 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
10814 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
10816 (
10817 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10818 &self.peer_sta_address,
10819 ),
10820 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
10821 ),
10822 encoder,
10823 offset,
10824 _depth,
10825 )
10826 }
10827 }
10828 unsafe impl<
10829 D: fidl::encoding::ResourceDialect,
10830 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10831 T1: fidl::encoding::Encode<ControlledPortState, D>,
10832 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
10833 {
10834 #[inline]
10835 unsafe fn encode(
10836 self,
10837 encoder: &mut fidl::encoding::Encoder<'_, D>,
10838 offset: usize,
10839 depth: fidl::encoding::Depth,
10840 ) -> fidl::Result<()> {
10841 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
10842 unsafe {
10845 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
10846 (ptr as *mut u32).write_unaligned(0);
10847 }
10848 self.0.encode(encoder, offset + 0, depth)?;
10850 self.1.encode(encoder, offset + 8, depth)?;
10851 Ok(())
10852 }
10853 }
10854
10855 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10856 for SetControlledPortRequest
10857 {
10858 #[inline(always)]
10859 fn new_empty() -> Self {
10860 Self {
10861 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10862 state: fidl::new_empty!(ControlledPortState, D),
10863 }
10864 }
10865
10866 #[inline]
10867 unsafe fn decode(
10868 &mut self,
10869 decoder: &mut fidl::encoding::Decoder<'_, D>,
10870 offset: usize,
10871 _depth: fidl::encoding::Depth,
10872 ) -> fidl::Result<()> {
10873 decoder.debug_check_bounds::<Self>(offset);
10874 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
10876 let padval = unsafe { (ptr as *const u32).read_unaligned() };
10877 let mask = 0xffff0000u32;
10878 let maskedval = padval & mask;
10879 if maskedval != 0 {
10880 return Err(fidl::Error::NonZeroPadding {
10881 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
10882 });
10883 }
10884 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10885 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
10886 Ok(())
10887 }
10888 }
10889
10890 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
10891 type Borrowed<'a> = &'a Self;
10892 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10893 value
10894 }
10895 }
10896
10897 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
10898 type Owned = Self;
10899
10900 #[inline(always)]
10901 fn inline_align(_context: fidl::encoding::Context) -> usize {
10902 8
10903 }
10904
10905 #[inline(always)]
10906 fn inline_size(_context: fidl::encoding::Context) -> usize {
10907 48
10908 }
10909 }
10910
10911 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
10912 for &SetKeyDescriptor
10913 {
10914 #[inline]
10915 unsafe fn encode(
10916 self,
10917 encoder: &mut fidl::encoding::Encoder<'_, D>,
10918 offset: usize,
10919 _depth: fidl::encoding::Depth,
10920 ) -> fidl::Result<()> {
10921 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
10922 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
10924 (
10925 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
10926 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
10927 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
10928 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
10929 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
10930 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
10931 <fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
10932 ),
10933 encoder, offset, _depth
10934 )
10935 }
10936 }
10937 unsafe impl<
10938 D: fidl::encoding::ResourceDialect,
10939 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10940 T1: fidl::encoding::Encode<u16, D>,
10941 T2: fidl::encoding::Encode<KeyType, D>,
10942 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10943 T4: fidl::encoding::Encode<u64, D>,
10944 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
10945 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType, D>,
10946 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
10947 {
10948 #[inline]
10949 unsafe fn encode(
10950 self,
10951 encoder: &mut fidl::encoding::Encoder<'_, D>,
10952 offset: usize,
10953 depth: fidl::encoding::Depth,
10954 ) -> fidl::Result<()> {
10955 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
10956 unsafe {
10959 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
10960 (ptr as *mut u64).write_unaligned(0);
10961 }
10962 unsafe {
10963 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
10964 (ptr as *mut u64).write_unaligned(0);
10965 }
10966 unsafe {
10967 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
10968 (ptr as *mut u64).write_unaligned(0);
10969 }
10970 self.0.encode(encoder, offset + 0, depth)?;
10972 self.1.encode(encoder, offset + 16, depth)?;
10973 self.2.encode(encoder, offset + 20, depth)?;
10974 self.3.encode(encoder, offset + 24, depth)?;
10975 self.4.encode(encoder, offset + 32, depth)?;
10976 self.5.encode(encoder, offset + 40, depth)?;
10977 self.6.encode(encoder, offset + 44, depth)?;
10978 Ok(())
10979 }
10980 }
10981
10982 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
10983 #[inline(always)]
10984 fn new_empty() -> Self {
10985 Self {
10986 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10987 key_id: fidl::new_empty!(u16, D),
10988 key_type: fidl::new_empty!(KeyType, D),
10989 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10990 rsc: fidl::new_empty!(u64, D),
10991 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
10992 cipher_suite_type: fidl::new_empty!(
10993 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
10994 D
10995 ),
10996 }
10997 }
10998
10999 #[inline]
11000 unsafe fn decode(
11001 &mut self,
11002 decoder: &mut fidl::encoding::Decoder<'_, D>,
11003 offset: usize,
11004 _depth: fidl::encoding::Depth,
11005 ) -> fidl::Result<()> {
11006 decoder.debug_check_bounds::<Self>(offset);
11007 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
11009 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11010 let mask = 0xffff0000u64;
11011 let maskedval = padval & mask;
11012 if maskedval != 0 {
11013 return Err(fidl::Error::NonZeroPadding {
11014 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
11015 });
11016 }
11017 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11018 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11019 let mask = 0xffff000000000000u64;
11020 let maskedval = padval & mask;
11021 if maskedval != 0 {
11022 return Err(fidl::Error::NonZeroPadding {
11023 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11024 });
11025 }
11026 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
11027 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11028 let mask = 0xff000000u64;
11029 let maskedval = padval & mask;
11030 if maskedval != 0 {
11031 return Err(fidl::Error::NonZeroPadding {
11032 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
11033 });
11034 }
11035 fidl::decode!(
11036 fidl::encoding::UnboundedVector<u8>,
11037 D,
11038 &mut self.key,
11039 decoder,
11040 offset + 0,
11041 _depth
11042 )?;
11043 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
11044 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
11045 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
11046 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
11047 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
11048 fidl::decode!(
11049 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11050 D,
11051 &mut self.cipher_suite_type,
11052 decoder,
11053 offset + 44,
11054 _depth
11055 )?;
11056 Ok(())
11057 }
11058 }
11059
11060 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
11061 type Borrowed<'a> = &'a Self;
11062 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11063 value
11064 }
11065 }
11066
11067 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
11068 type Owned = Self;
11069
11070 #[inline(always)]
11071 fn inline_align(_context: fidl::encoding::Context) -> usize {
11072 4
11073 }
11074
11075 #[inline(always)]
11076 fn inline_size(_context: fidl::encoding::Context) -> usize {
11077 8
11078 }
11079 }
11080
11081 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
11082 for &SetKeyResult
11083 {
11084 #[inline]
11085 unsafe fn encode(
11086 self,
11087 encoder: &mut fidl::encoding::Encoder<'_, D>,
11088 offset: usize,
11089 _depth: fidl::encoding::Depth,
11090 ) -> fidl::Result<()> {
11091 encoder.debug_check_bounds::<SetKeyResult>(offset);
11092 unsafe {
11093 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11095 (buf_ptr as *mut SetKeyResult)
11096 .write_unaligned((self as *const SetKeyResult).read());
11097 let padding_ptr = buf_ptr.offset(0) as *mut u32;
11100 let padding_mask = 0xffff0000u32;
11101 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
11102 }
11103 Ok(())
11104 }
11105 }
11106 unsafe impl<
11107 D: fidl::encoding::ResourceDialect,
11108 T0: fidl::encoding::Encode<u16, D>,
11109 T1: fidl::encoding::Encode<i32, D>,
11110 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
11111 {
11112 #[inline]
11113 unsafe fn encode(
11114 self,
11115 encoder: &mut fidl::encoding::Encoder<'_, D>,
11116 offset: usize,
11117 depth: fidl::encoding::Depth,
11118 ) -> fidl::Result<()> {
11119 encoder.debug_check_bounds::<SetKeyResult>(offset);
11120 unsafe {
11123 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11124 (ptr as *mut u32).write_unaligned(0);
11125 }
11126 self.0.encode(encoder, offset + 0, depth)?;
11128 self.1.encode(encoder, offset + 4, depth)?;
11129 Ok(())
11130 }
11131 }
11132
11133 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
11134 #[inline(always)]
11135 fn new_empty() -> Self {
11136 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
11137 }
11138
11139 #[inline]
11140 unsafe fn decode(
11141 &mut self,
11142 decoder: &mut fidl::encoding::Decoder<'_, D>,
11143 offset: usize,
11144 _depth: fidl::encoding::Depth,
11145 ) -> fidl::Result<()> {
11146 decoder.debug_check_bounds::<Self>(offset);
11147 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11148 let ptr = unsafe { buf_ptr.offset(0) };
11150 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11151 let mask = 0xffff0000u32;
11152 let maskedval = padval & mask;
11153 if maskedval != 0 {
11154 return Err(fidl::Error::NonZeroPadding {
11155 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11156 });
11157 }
11158 unsafe {
11160 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
11161 }
11162 Ok(())
11163 }
11164 }
11165
11166 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
11167 type Borrowed<'a> = &'a Self;
11168 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11169 value
11170 }
11171 }
11172
11173 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
11174 type Owned = Self;
11175
11176 #[inline(always)]
11177 fn inline_align(_context: fidl::encoding::Context) -> usize {
11178 8
11179 }
11180
11181 #[inline(always)]
11182 fn inline_size(_context: fidl::encoding::Context) -> usize {
11183 16
11184 }
11185 }
11186
11187 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
11188 for &SetKeysConfirm
11189 {
11190 #[inline]
11191 unsafe fn encode(
11192 self,
11193 encoder: &mut fidl::encoding::Encoder<'_, D>,
11194 offset: usize,
11195 _depth: fidl::encoding::Depth,
11196 ) -> fidl::Result<()> {
11197 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11198 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
11200 (
11201 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
11202 ),
11203 encoder, offset, _depth
11204 )
11205 }
11206 }
11207 unsafe impl<
11208 D: fidl::encoding::ResourceDialect,
11209 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
11210 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
11211 {
11212 #[inline]
11213 unsafe fn encode(
11214 self,
11215 encoder: &mut fidl::encoding::Encoder<'_, D>,
11216 offset: usize,
11217 depth: fidl::encoding::Depth,
11218 ) -> fidl::Result<()> {
11219 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11220 self.0.encode(encoder, offset + 0, depth)?;
11224 Ok(())
11225 }
11226 }
11227
11228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
11229 #[inline(always)]
11230 fn new_empty() -> Self {
11231 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
11232 }
11233
11234 #[inline]
11235 unsafe fn decode(
11236 &mut self,
11237 decoder: &mut fidl::encoding::Decoder<'_, D>,
11238 offset: usize,
11239 _depth: fidl::encoding::Depth,
11240 ) -> fidl::Result<()> {
11241 decoder.debug_check_bounds::<Self>(offset);
11242 fidl::decode!(
11244 fidl::encoding::UnboundedVector<SetKeyResult>,
11245 D,
11246 &mut self.results,
11247 decoder,
11248 offset + 0,
11249 _depth
11250 )?;
11251 Ok(())
11252 }
11253 }
11254
11255 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
11256 type Borrowed<'a> = &'a Self;
11257 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11258 value
11259 }
11260 }
11261
11262 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
11263 type Owned = Self;
11264
11265 #[inline(always)]
11266 fn inline_align(_context: fidl::encoding::Context) -> usize {
11267 8
11268 }
11269
11270 #[inline(always)]
11271 fn inline_size(_context: fidl::encoding::Context) -> usize {
11272 16
11273 }
11274 }
11275
11276 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
11277 for &SetKeysRequest
11278 {
11279 #[inline]
11280 unsafe fn encode(
11281 self,
11282 encoder: &mut fidl::encoding::Encoder<'_, D>,
11283 offset: usize,
11284 _depth: fidl::encoding::Depth,
11285 ) -> fidl::Result<()> {
11286 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11287 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
11289 (
11290 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
11291 ),
11292 encoder, offset, _depth
11293 )
11294 }
11295 }
11296 unsafe impl<
11297 D: fidl::encoding::ResourceDialect,
11298 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
11299 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
11300 {
11301 #[inline]
11302 unsafe fn encode(
11303 self,
11304 encoder: &mut fidl::encoding::Encoder<'_, D>,
11305 offset: usize,
11306 depth: fidl::encoding::Depth,
11307 ) -> fidl::Result<()> {
11308 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11309 self.0.encode(encoder, offset + 0, depth)?;
11313 Ok(())
11314 }
11315 }
11316
11317 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
11318 #[inline(always)]
11319 fn new_empty() -> Self {
11320 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
11321 }
11322
11323 #[inline]
11324 unsafe fn decode(
11325 &mut self,
11326 decoder: &mut fidl::encoding::Decoder<'_, D>,
11327 offset: usize,
11328 _depth: fidl::encoding::Depth,
11329 ) -> fidl::Result<()> {
11330 decoder.debug_check_bounds::<Self>(offset);
11331 fidl::decode!(
11333 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
11334 D,
11335 &mut self.keylist,
11336 decoder,
11337 offset + 0,
11338 _depth
11339 )?;
11340 Ok(())
11341 }
11342 }
11343
11344 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
11345 type Borrowed<'a> = &'a Self;
11346 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11347 value
11348 }
11349 }
11350
11351 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
11352 type Owned = Self;
11353
11354 #[inline(always)]
11355 fn inline_align(_context: fidl::encoding::Context) -> usize {
11356 4
11357 }
11358
11359 #[inline(always)]
11360 fn inline_size(_context: fidl::encoding::Context) -> usize {
11361 4
11362 }
11363 }
11364
11365 unsafe impl<D: fidl::encoding::ResourceDialect>
11366 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
11367 {
11368 #[inline]
11369 unsafe fn encode(
11370 self,
11371 encoder: &mut fidl::encoding::Encoder<'_, D>,
11372 offset: usize,
11373 _depth: fidl::encoding::Depth,
11374 ) -> fidl::Result<()> {
11375 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11376 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
11378 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11379 &self.mgmt_frame_flags,
11380 ),),
11381 encoder,
11382 offset,
11383 _depth,
11384 )
11385 }
11386 }
11387 unsafe impl<
11388 D: fidl::encoding::ResourceDialect,
11389 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11390 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
11391 {
11392 #[inline]
11393 unsafe fn encode(
11394 self,
11395 encoder: &mut fidl::encoding::Encoder<'_, D>,
11396 offset: usize,
11397 depth: fidl::encoding::Depth,
11398 ) -> fidl::Result<()> {
11399 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11400 self.0.encode(encoder, offset + 0, depth)?;
11404 Ok(())
11405 }
11406 }
11407
11408 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11409 for StartCaptureFramesRequest
11410 {
11411 #[inline(always)]
11412 fn new_empty() -> Self {
11413 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
11414 }
11415
11416 #[inline]
11417 unsafe fn decode(
11418 &mut self,
11419 decoder: &mut fidl::encoding::Decoder<'_, D>,
11420 offset: usize,
11421 _depth: fidl::encoding::Depth,
11422 ) -> fidl::Result<()> {
11423 decoder.debug_check_bounds::<Self>(offset);
11424 fidl::decode!(
11426 MgmtFrameCaptureFlags,
11427 D,
11428 &mut self.mgmt_frame_flags,
11429 decoder,
11430 offset + 0,
11431 _depth
11432 )?;
11433 Ok(())
11434 }
11435 }
11436
11437 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
11438 type Borrowed<'a> = &'a Self;
11439 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11440 value
11441 }
11442 }
11443
11444 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
11445 type Owned = Self;
11446
11447 #[inline(always)]
11448 fn inline_align(_context: fidl::encoding::Context) -> usize {
11449 4
11450 }
11451
11452 #[inline(always)]
11453 fn inline_size(_context: fidl::encoding::Context) -> usize {
11454 8
11455 }
11456 }
11457
11458 unsafe impl<D: fidl::encoding::ResourceDialect>
11459 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
11460 {
11461 #[inline]
11462 unsafe fn encode(
11463 self,
11464 encoder: &mut fidl::encoding::Encoder<'_, D>,
11465 offset: usize,
11466 _depth: fidl::encoding::Depth,
11467 ) -> fidl::Result<()> {
11468 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11469 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
11471 (
11472 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
11473 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11474 &self.supported_mgmt_frames,
11475 ),
11476 ),
11477 encoder,
11478 offset,
11479 _depth,
11480 )
11481 }
11482 }
11483 unsafe impl<
11484 D: fidl::encoding::ResourceDialect,
11485 T0: fidl::encoding::Encode<i32, D>,
11486 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11487 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
11488 {
11489 #[inline]
11490 unsafe fn encode(
11491 self,
11492 encoder: &mut fidl::encoding::Encoder<'_, D>,
11493 offset: usize,
11494 depth: fidl::encoding::Depth,
11495 ) -> fidl::Result<()> {
11496 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11497 self.0.encode(encoder, offset + 0, depth)?;
11501 self.1.encode(encoder, offset + 4, depth)?;
11502 Ok(())
11503 }
11504 }
11505
11506 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11507 for StartCaptureFramesResponse
11508 {
11509 #[inline(always)]
11510 fn new_empty() -> Self {
11511 Self {
11512 status: fidl::new_empty!(i32, D),
11513 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
11514 }
11515 }
11516
11517 #[inline]
11518 unsafe fn decode(
11519 &mut self,
11520 decoder: &mut fidl::encoding::Decoder<'_, D>,
11521 offset: usize,
11522 _depth: fidl::encoding::Depth,
11523 ) -> fidl::Result<()> {
11524 decoder.debug_check_bounds::<Self>(offset);
11525 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
11527 fidl::decode!(
11528 MgmtFrameCaptureFlags,
11529 D,
11530 &mut self.supported_mgmt_frames,
11531 decoder,
11532 offset + 4,
11533 _depth
11534 )?;
11535 Ok(())
11536 }
11537 }
11538
11539 impl fidl::encoding::ValueTypeMarker for StartConfirm {
11540 type Borrowed<'a> = &'a Self;
11541 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11542 value
11543 }
11544 }
11545
11546 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
11547 type Owned = Self;
11548
11549 #[inline(always)]
11550 fn inline_align(_context: fidl::encoding::Context) -> usize {
11551 4
11552 }
11553
11554 #[inline(always)]
11555 fn inline_size(_context: fidl::encoding::Context) -> usize {
11556 4
11557 }
11558 }
11559
11560 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
11561 for &StartConfirm
11562 {
11563 #[inline]
11564 unsafe fn encode(
11565 self,
11566 encoder: &mut fidl::encoding::Encoder<'_, D>,
11567 offset: usize,
11568 _depth: fidl::encoding::Depth,
11569 ) -> fidl::Result<()> {
11570 encoder.debug_check_bounds::<StartConfirm>(offset);
11571 fidl::encoding::Encode::<StartConfirm, D>::encode(
11573 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
11574 encoder,
11575 offset,
11576 _depth,
11577 )
11578 }
11579 }
11580 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
11581 fidl::encoding::Encode<StartConfirm, D> for (T0,)
11582 {
11583 #[inline]
11584 unsafe fn encode(
11585 self,
11586 encoder: &mut fidl::encoding::Encoder<'_, D>,
11587 offset: usize,
11588 depth: fidl::encoding::Depth,
11589 ) -> fidl::Result<()> {
11590 encoder.debug_check_bounds::<StartConfirm>(offset);
11591 self.0.encode(encoder, offset + 0, depth)?;
11595 Ok(())
11596 }
11597 }
11598
11599 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
11600 #[inline(always)]
11601 fn new_empty() -> Self {
11602 Self { result_code: fidl::new_empty!(StartResultCode, D) }
11603 }
11604
11605 #[inline]
11606 unsafe fn decode(
11607 &mut self,
11608 decoder: &mut fidl::encoding::Decoder<'_, D>,
11609 offset: usize,
11610 _depth: fidl::encoding::Depth,
11611 ) -> fidl::Result<()> {
11612 decoder.debug_check_bounds::<Self>(offset);
11613 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
11615 Ok(())
11616 }
11617 }
11618
11619 impl fidl::encoding::ValueTypeMarker for StartRequest {
11620 type Borrowed<'a> = &'a Self;
11621 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11622 value
11623 }
11624 }
11625
11626 unsafe impl fidl::encoding::TypeMarker for StartRequest {
11627 type Owned = Self;
11628
11629 #[inline(always)]
11630 fn inline_align(_context: fidl::encoding::Context) -> usize {
11631 8
11632 }
11633
11634 #[inline(always)]
11635 fn inline_size(_context: fidl::encoding::Context) -> usize {
11636 96
11637 }
11638 }
11639
11640 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
11641 for &StartRequest
11642 {
11643 #[inline]
11644 unsafe fn encode(
11645 self,
11646 encoder: &mut fidl::encoding::Encoder<'_, D>,
11647 offset: usize,
11648 _depth: fidl::encoding::Depth,
11649 ) -> fidl::Result<()> {
11650 encoder.debug_check_bounds::<StartRequest>(offset);
11651 fidl::encoding::Encode::<StartRequest, D>::encode(
11653 (
11654 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
11655 <fidl_fuchsia_wlan_common__common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
11656 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
11657 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
11658 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
11659 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
11660 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
11661 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
11662 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
11663 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
11664 <fidl_fuchsia_wlan_common__common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
11665 <fidl_fuchsia_wlan_common__common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_bandwidth),
11666 ),
11667 encoder, offset, _depth
11668 )
11669 }
11670 }
11671 unsafe impl<
11672 D: fidl::encoding::ResourceDialect,
11673 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11674 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssType, D>,
11675 T2: fidl::encoding::Encode<u16, D>,
11676 T3: fidl::encoding::Encode<u8, D>,
11677 T4: fidl::encoding::Encode<u8, D>,
11678 T5: fidl::encoding::Encode<u16, D>,
11679 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
11680 T7: fidl::encoding::Encode<Country, D>,
11681 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11682 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
11683 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanPhyType, D>,
11684 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::ChannelBandwidth, D>,
11685 > fidl::encoding::Encode<StartRequest, D>
11686 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
11687 {
11688 #[inline]
11689 unsafe fn encode(
11690 self,
11691 encoder: &mut fidl::encoding::Encoder<'_, D>,
11692 offset: usize,
11693 depth: fidl::encoding::Depth,
11694 ) -> fidl::Result<()> {
11695 encoder.debug_check_bounds::<StartRequest>(offset);
11696 unsafe {
11699 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11700 (ptr as *mut u64).write_unaligned(0);
11701 }
11702 unsafe {
11703 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
11704 (ptr as *mut u64).write_unaligned(0);
11705 }
11706 self.0.encode(encoder, offset + 0, depth)?;
11708 self.1.encode(encoder, offset + 16, depth)?;
11709 self.2.encode(encoder, offset + 20, depth)?;
11710 self.3.encode(encoder, offset + 22, depth)?;
11711 self.4.encode(encoder, offset + 23, depth)?;
11712 self.5.encode(encoder, offset + 24, depth)?;
11713 self.6.encode(encoder, offset + 32, depth)?;
11714 self.7.encode(encoder, offset + 48, depth)?;
11715 self.8.encode(encoder, offset + 56, depth)?;
11716 self.9.encode(encoder, offset + 72, depth)?;
11717 self.10.encode(encoder, offset + 88, depth)?;
11718 self.11.encode(encoder, offset + 92, depth)?;
11719 Ok(())
11720 }
11721 }
11722
11723 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
11724 #[inline(always)]
11725 fn new_empty() -> Self {
11726 Self {
11727 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11728 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssType, D),
11729 beacon_period: fidl::new_empty!(u16, D),
11730 dtim_period: fidl::new_empty!(u8, D),
11731 channel: fidl::new_empty!(u8, D),
11732 capability_info: fidl::new_empty!(u16, D),
11733 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
11734 country: fidl::new_empty!(Country, D),
11735 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11736 rsne: fidl::new_empty!(
11737 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11738 D
11739 ),
11740 phy: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanPhyType, D),
11741 channel_bandwidth: fidl::new_empty!(
11742 fidl_fuchsia_wlan_common__common::ChannelBandwidth,
11743 D
11744 ),
11745 }
11746 }
11747
11748 #[inline]
11749 unsafe fn decode(
11750 &mut self,
11751 decoder: &mut fidl::encoding::Decoder<'_, D>,
11752 offset: usize,
11753 _depth: fidl::encoding::Depth,
11754 ) -> fidl::Result<()> {
11755 decoder.debug_check_bounds::<Self>(offset);
11756 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11758 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11759 let mask = 0xffffffffffff0000u64;
11760 let maskedval = padval & mask;
11761 if maskedval != 0 {
11762 return Err(fidl::Error::NonZeroPadding {
11763 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11764 });
11765 }
11766 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
11767 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11768 let mask = 0xffffffffff000000u64;
11769 let maskedval = padval & mask;
11770 if maskedval != 0 {
11771 return Err(fidl::Error::NonZeroPadding {
11772 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
11773 });
11774 }
11775 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
11776 fidl::decode!(
11777 fidl_fuchsia_wlan_common__common::BssType,
11778 D,
11779 &mut self.bss_type,
11780 decoder,
11781 offset + 16,
11782 _depth
11783 )?;
11784 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
11785 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
11786 fidl::decode!(u8, D, &mut self.channel, decoder, offset + 23, _depth)?;
11787 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 24, _depth)?;
11788 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
11789 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
11790 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
11791 fidl::decode!(
11792 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11793 D,
11794 &mut self.rsne,
11795 decoder,
11796 offset + 72,
11797 _depth
11798 )?;
11799 fidl::decode!(
11800 fidl_fuchsia_wlan_common__common::WlanPhyType,
11801 D,
11802 &mut self.phy,
11803 decoder,
11804 offset + 88,
11805 _depth
11806 )?;
11807 fidl::decode!(
11808 fidl_fuchsia_wlan_common__common::ChannelBandwidth,
11809 D,
11810 &mut self.channel_bandwidth,
11811 decoder,
11812 offset + 92,
11813 _depth
11814 )?;
11815 Ok(())
11816 }
11817 }
11818
11819 impl fidl::encoding::ValueTypeMarker for StopConfirm {
11820 type Borrowed<'a> = &'a Self;
11821 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11822 value
11823 }
11824 }
11825
11826 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
11827 type Owned = Self;
11828
11829 #[inline(always)]
11830 fn inline_align(_context: fidl::encoding::Context) -> usize {
11831 4
11832 }
11833
11834 #[inline(always)]
11835 fn inline_size(_context: fidl::encoding::Context) -> usize {
11836 4
11837 }
11838 }
11839
11840 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
11841 for &StopConfirm
11842 {
11843 #[inline]
11844 unsafe fn encode(
11845 self,
11846 encoder: &mut fidl::encoding::Encoder<'_, D>,
11847 offset: usize,
11848 _depth: fidl::encoding::Depth,
11849 ) -> fidl::Result<()> {
11850 encoder.debug_check_bounds::<StopConfirm>(offset);
11851 fidl::encoding::Encode::<StopConfirm, D>::encode(
11853 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
11854 encoder,
11855 offset,
11856 _depth,
11857 )
11858 }
11859 }
11860 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
11861 fidl::encoding::Encode<StopConfirm, D> for (T0,)
11862 {
11863 #[inline]
11864 unsafe fn encode(
11865 self,
11866 encoder: &mut fidl::encoding::Encoder<'_, D>,
11867 offset: usize,
11868 depth: fidl::encoding::Depth,
11869 ) -> fidl::Result<()> {
11870 encoder.debug_check_bounds::<StopConfirm>(offset);
11871 self.0.encode(encoder, offset + 0, depth)?;
11875 Ok(())
11876 }
11877 }
11878
11879 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
11880 #[inline(always)]
11881 fn new_empty() -> Self {
11882 Self { result_code: fidl::new_empty!(StopResultCode, D) }
11883 }
11884
11885 #[inline]
11886 unsafe fn decode(
11887 &mut self,
11888 decoder: &mut fidl::encoding::Decoder<'_, D>,
11889 offset: usize,
11890 _depth: fidl::encoding::Depth,
11891 ) -> fidl::Result<()> {
11892 decoder.debug_check_bounds::<Self>(offset);
11893 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
11895 Ok(())
11896 }
11897 }
11898
11899 impl fidl::encoding::ValueTypeMarker for StopRequest {
11900 type Borrowed<'a> = &'a Self;
11901 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11902 value
11903 }
11904 }
11905
11906 unsafe impl fidl::encoding::TypeMarker for StopRequest {
11907 type Owned = Self;
11908
11909 #[inline(always)]
11910 fn inline_align(_context: fidl::encoding::Context) -> usize {
11911 8
11912 }
11913
11914 #[inline(always)]
11915 fn inline_size(_context: fidl::encoding::Context) -> usize {
11916 16
11917 }
11918 }
11919
11920 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
11921 for &StopRequest
11922 {
11923 #[inline]
11924 unsafe fn encode(
11925 self,
11926 encoder: &mut fidl::encoding::Encoder<'_, D>,
11927 offset: usize,
11928 _depth: fidl::encoding::Depth,
11929 ) -> fidl::Result<()> {
11930 encoder.debug_check_bounds::<StopRequest>(offset);
11931 fidl::encoding::Encode::<StopRequest, D>::encode(
11933 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
11934 &self.ssid,
11935 ),),
11936 encoder,
11937 offset,
11938 _depth,
11939 )
11940 }
11941 }
11942 unsafe impl<
11943 D: fidl::encoding::ResourceDialect,
11944 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11945 > fidl::encoding::Encode<StopRequest, D> for (T0,)
11946 {
11947 #[inline]
11948 unsafe fn encode(
11949 self,
11950 encoder: &mut fidl::encoding::Encoder<'_, D>,
11951 offset: usize,
11952 depth: fidl::encoding::Depth,
11953 ) -> fidl::Result<()> {
11954 encoder.debug_check_bounds::<StopRequest>(offset);
11955 self.0.encode(encoder, offset + 0, depth)?;
11959 Ok(())
11960 }
11961 }
11962
11963 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
11964 #[inline(always)]
11965 fn new_empty() -> Self {
11966 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
11967 }
11968
11969 #[inline]
11970 unsafe fn decode(
11971 &mut self,
11972 decoder: &mut fidl::encoding::Decoder<'_, D>,
11973 offset: usize,
11974 _depth: fidl::encoding::Depth,
11975 ) -> fidl::Result<()> {
11976 decoder.debug_check_bounds::<Self>(offset);
11977 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
11979 Ok(())
11980 }
11981 }
11982
11983 impl fidl::encoding::ValueTypeMarker for WmmParameter {
11984 type Borrowed<'a> = &'a Self;
11985 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11986 value
11987 }
11988 }
11989
11990 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
11991 type Owned = Self;
11992
11993 #[inline(always)]
11994 fn inline_align(_context: fidl::encoding::Context) -> usize {
11995 1
11996 }
11997
11998 #[inline(always)]
11999 fn inline_size(_context: fidl::encoding::Context) -> usize {
12000 18
12001 }
12002 #[inline(always)]
12003 fn encode_is_copy() -> bool {
12004 true
12005 }
12006
12007 #[inline(always)]
12008 fn decode_is_copy() -> bool {
12009 true
12010 }
12011 }
12012
12013 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
12014 for &WmmParameter
12015 {
12016 #[inline]
12017 unsafe fn encode(
12018 self,
12019 encoder: &mut fidl::encoding::Encoder<'_, D>,
12020 offset: usize,
12021 _depth: fidl::encoding::Depth,
12022 ) -> fidl::Result<()> {
12023 encoder.debug_check_bounds::<WmmParameter>(offset);
12024 unsafe {
12025 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12027 (buf_ptr as *mut WmmParameter)
12028 .write_unaligned((self as *const WmmParameter).read());
12029 }
12032 Ok(())
12033 }
12034 }
12035 unsafe impl<
12036 D: fidl::encoding::ResourceDialect,
12037 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
12038 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
12039 {
12040 #[inline]
12041 unsafe fn encode(
12042 self,
12043 encoder: &mut fidl::encoding::Encoder<'_, D>,
12044 offset: usize,
12045 depth: fidl::encoding::Depth,
12046 ) -> fidl::Result<()> {
12047 encoder.debug_check_bounds::<WmmParameter>(offset);
12048 self.0.encode(encoder, offset + 0, depth)?;
12052 Ok(())
12053 }
12054 }
12055
12056 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
12057 #[inline(always)]
12058 fn new_empty() -> Self {
12059 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
12060 }
12061
12062 #[inline]
12063 unsafe fn decode(
12064 &mut self,
12065 decoder: &mut fidl::encoding::Decoder<'_, D>,
12066 offset: usize,
12067 _depth: fidl::encoding::Depth,
12068 ) -> fidl::Result<()> {
12069 decoder.debug_check_bounds::<Self>(offset);
12070 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12071 unsafe {
12074 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
12075 }
12076 Ok(())
12077 }
12078 }
12079
12080 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
12081 type Borrowed<'a> = &'a Self;
12082 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12083 value
12084 }
12085 }
12086
12087 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
12088 type Owned = Self;
12089
12090 #[inline(always)]
12091 fn inline_align(_context: fidl::encoding::Context) -> usize {
12092 8
12093 }
12094
12095 #[inline(always)]
12096 fn inline_size(_context: fidl::encoding::Context) -> usize {
12097 16
12098 }
12099 }
12100
12101 unsafe impl<D: fidl::encoding::ResourceDialect>
12102 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
12103 for &GetIfaceHistogramStatsResponse
12104 {
12105 #[inline]
12106 unsafe fn encode(
12107 self,
12108 encoder: &mut fidl::encoding::Encoder<'_, D>,
12109 offset: usize,
12110 _depth: fidl::encoding::Depth,
12111 ) -> fidl::Result<()> {
12112 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
12113 encoder.write_num::<u64>(self.ordinal(), offset);
12114 match self {
12115 GetIfaceHistogramStatsResponse::Stats(ref val) => {
12116 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
12117 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12118 encoder, offset + 8, _depth
12119 )
12120 }
12121 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
12122 fidl::encoding::encode_in_envelope::<i32, D>(
12123 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12124 encoder, offset + 8, _depth
12125 )
12126 }
12127 }
12128 }
12129 }
12130
12131 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12132 for GetIfaceHistogramStatsResponse
12133 {
12134 #[inline(always)]
12135 fn new_empty() -> Self {
12136 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
12137 }
12138
12139 #[inline]
12140 unsafe fn decode(
12141 &mut self,
12142 decoder: &mut fidl::encoding::Decoder<'_, D>,
12143 offset: usize,
12144 mut depth: fidl::encoding::Depth,
12145 ) -> fidl::Result<()> {
12146 decoder.debug_check_bounds::<Self>(offset);
12147 #[allow(unused_variables)]
12148 let next_out_of_line = decoder.next_out_of_line();
12149 let handles_before = decoder.remaining_handles();
12150 let (ordinal, inlined, num_bytes, num_handles) =
12151 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12152
12153 let member_inline_size = match ordinal {
12154 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12155 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12156 _ => return Err(fidl::Error::UnknownUnionTag),
12157 };
12158
12159 if inlined != (member_inline_size <= 4) {
12160 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12161 }
12162 let _inner_offset;
12163 if inlined {
12164 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12165 _inner_offset = offset + 8;
12166 } else {
12167 depth.increment()?;
12168 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12169 }
12170 match ordinal {
12171 1 => {
12172 #[allow(irrefutable_let_patterns)]
12173 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
12174 } else {
12176 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
12178 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12179 D
12180 ));
12181 }
12182 #[allow(irrefutable_let_patterns)]
12183 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
12184 fidl::decode!(
12185 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12186 D,
12187 val,
12188 decoder,
12189 _inner_offset,
12190 depth
12191 )?;
12192 } else {
12193 unreachable!()
12194 }
12195 }
12196 2 => {
12197 #[allow(irrefutable_let_patterns)]
12198 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
12199 } else {
12201 *self =
12203 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12204 }
12205 #[allow(irrefutable_let_patterns)]
12206 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
12207 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12208 } else {
12209 unreachable!()
12210 }
12211 }
12212 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12213 }
12214 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12215 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12216 }
12217 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12218 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12219 }
12220 Ok(())
12221 }
12222 }
12223
12224 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
12225 type Borrowed<'a> = &'a Self;
12226 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12227 value
12228 }
12229 }
12230
12231 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
12232 type Owned = Self;
12233
12234 #[inline(always)]
12235 fn inline_align(_context: fidl::encoding::Context) -> usize {
12236 8
12237 }
12238
12239 #[inline(always)]
12240 fn inline_size(_context: fidl::encoding::Context) -> usize {
12241 16
12242 }
12243 }
12244
12245 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
12246 for &GetIfaceStatsResponse
12247 {
12248 #[inline]
12249 unsafe fn encode(
12250 self,
12251 encoder: &mut fidl::encoding::Encoder<'_, D>,
12252 offset: usize,
12253 _depth: fidl::encoding::Depth,
12254 ) -> fidl::Result<()> {
12255 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
12256 encoder.write_num::<u64>(self.ordinal(), offset);
12257 match self {
12258 GetIfaceStatsResponse::Stats(ref val) => {
12259 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceStats, D>(
12260 <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12261 encoder, offset + 8, _depth
12262 )
12263 }
12264 GetIfaceStatsResponse::ErrorStatus(ref val) => {
12265 fidl::encoding::encode_in_envelope::<i32, D>(
12266 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12267 encoder, offset + 8, _depth
12268 )
12269 }
12270 }
12271 }
12272 }
12273
12274 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
12275 #[inline(always)]
12276 fn new_empty() -> Self {
12277 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceStats, D))
12278 }
12279
12280 #[inline]
12281 unsafe fn decode(
12282 &mut self,
12283 decoder: &mut fidl::encoding::Decoder<'_, D>,
12284 offset: usize,
12285 mut depth: fidl::encoding::Depth,
12286 ) -> fidl::Result<()> {
12287 decoder.debug_check_bounds::<Self>(offset);
12288 #[allow(unused_variables)]
12289 let next_out_of_line = decoder.next_out_of_line();
12290 let handles_before = decoder.remaining_handles();
12291 let (ordinal, inlined, num_bytes, num_handles) =
12292 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12293
12294 let member_inline_size = match ordinal {
12295 1 => <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12296 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12297 _ => return Err(fidl::Error::UnknownUnionTag),
12298 };
12299
12300 if inlined != (member_inline_size <= 4) {
12301 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12302 }
12303 let _inner_offset;
12304 if inlined {
12305 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12306 _inner_offset = offset + 8;
12307 } else {
12308 depth.increment()?;
12309 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12310 }
12311 match ordinal {
12312 1 => {
12313 #[allow(irrefutable_let_patterns)]
12314 if let GetIfaceStatsResponse::Stats(_) = self {
12315 } else {
12317 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
12319 fidl_fuchsia_wlan_stats__common::IfaceStats,
12320 D
12321 ));
12322 }
12323 #[allow(irrefutable_let_patterns)]
12324 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
12325 fidl::decode!(
12326 fidl_fuchsia_wlan_stats__common::IfaceStats,
12327 D,
12328 val,
12329 decoder,
12330 _inner_offset,
12331 depth
12332 )?;
12333 } else {
12334 unreachable!()
12335 }
12336 }
12337 2 => {
12338 #[allow(irrefutable_let_patterns)]
12339 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
12340 } else {
12342 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12344 }
12345 #[allow(irrefutable_let_patterns)]
12346 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
12347 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12348 } else {
12349 unreachable!()
12350 }
12351 }
12352 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12353 }
12354 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12355 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12356 }
12357 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12358 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12359 }
12360 Ok(())
12361 }
12362 }
12363}