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 pub owe_public_key: Option<Box<fidl_fuchsia_wlan_internal__common::OwePublicKey>>,
427}
428
429impl fidl::Persistable for ConnectRequest {}
430
431#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
432#[repr(C)]
433pub struct Country {
434 pub alpha2: [u8; 2],
435 pub suffix: u8,
436}
437
438impl fidl::Persistable for Country {}
439
440#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
441#[repr(C)]
442pub struct DeauthenticateConfirm {
443 pub peer_sta_address: [u8; 6],
444}
445
446impl fidl::Persistable for DeauthenticateConfirm {}
447
448#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
449pub struct DeauthenticateIndication {
450 pub peer_sta_address: [u8; 6],
451 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
452 pub locally_initiated: bool,
455}
456
457impl fidl::Persistable for DeauthenticateIndication {}
458
459#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
460pub struct DeauthenticateRequest {
461 pub peer_sta_address: [u8; 6],
462 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
463}
464
465impl fidl::Persistable for DeauthenticateRequest {}
466
467#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
468pub struct DeleteKeyDescriptor {
469 pub key_id: u16,
470 pub key_type: KeyType,
471 pub address: [u8; 6],
472}
473
474impl fidl::Persistable for DeleteKeyDescriptor {}
475
476#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
477pub struct DeleteKeysRequest {
478 pub keylist: Vec<DeleteKeyDescriptor>,
479}
480
481impl fidl::Persistable for DeleteKeysRequest {}
482
483#[derive(Clone, Debug, PartialEq)]
484pub struct DeviceInfo {
485 pub sta_addr: [u8; 6],
486 pub factory_addr: [u8; 6],
487 pub role: fidl_fuchsia_wlan_common__common::WlanMacRole,
488 pub bands: Vec<BandCapability>,
489 pub softmac_hardware_capability: u32,
490 pub qos_capable: bool,
491}
492
493impl fidl::Persistable for DeviceInfo {}
494
495#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
496#[repr(C)]
497pub struct DisassociateConfirm {
498 pub status: i32,
499}
500
501impl fidl::Persistable for DisassociateConfirm {}
502
503#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
504pub struct DisassociateIndication {
505 pub peer_sta_address: [u8; 6],
506 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
507 pub locally_initiated: bool,
510}
511
512impl fidl::Persistable for DisassociateIndication {}
513
514#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
515pub struct DisassociateRequest {
516 pub peer_sta_address: [u8; 6],
517 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
518}
519
520impl fidl::Persistable for DisassociateRequest {}
521
522#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
523pub struct EapolConfirm {
524 pub result_code: EapolResultCode,
525 pub dst_addr: [u8; 6],
529}
530
531impl fidl::Persistable for EapolConfirm {}
532
533#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
534pub struct EapolIndication {
535 pub src_addr: [u8; 6],
536 pub dst_addr: [u8; 6],
537 pub data: Vec<u8>,
538}
539
540impl fidl::Persistable for EapolIndication {}
541
542#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
543pub struct EapolRequest {
544 pub src_addr: [u8; 6],
545 pub dst_addr: [u8; 6],
546 pub data: Vec<u8>,
547}
548
549impl fidl::Persistable for EapolRequest {}
550
551#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
552pub struct MlmeGetApfPacketFilterEnabledResponse {
553 pub enabled: bool,
554}
555
556impl fidl::Persistable for MlmeGetApfPacketFilterEnabledResponse {}
557
558#[derive(Clone, Debug, PartialEq)]
559pub struct MlmeGetSignalReportResponse {
560 pub resp: fidl_fuchsia_wlan_stats__common::SignalReport,
561}
562
563impl fidl::Persistable for MlmeGetSignalReportResponse {}
564
565#[derive(Clone, Debug, PartialEq)]
566pub struct MlmeQueryTelemetrySupportResponse {
567 pub resp: fidl_fuchsia_wlan_stats__common::TelemetrySupport,
568}
569
570impl fidl::Persistable for MlmeQueryTelemetrySupportResponse {}
571
572#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
573pub struct MlmeReadApfPacketFilterDataResponse {
574 pub memory: Vec<u8>,
575}
576
577impl fidl::Persistable for MlmeReadApfPacketFilterDataResponse {}
578
579#[derive(Clone, Debug, PartialEq)]
580pub struct MinstrelListResponse {
581 pub peers: fidl_fuchsia_wlan_minstrel__common::Peers,
582}
583
584impl fidl::Persistable for MinstrelListResponse {}
585
586#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
587#[repr(C)]
588pub struct MinstrelStatsRequest {
589 pub peer_addr: [u8; 6],
590}
591
592impl fidl::Persistable for MinstrelStatsRequest {}
593
594#[derive(Clone, Debug, PartialEq)]
595pub struct MinstrelStatsResponse {
596 pub peer: Option<Box<fidl_fuchsia_wlan_minstrel__common::Peer>>,
597}
598
599impl fidl::Persistable for MinstrelStatsResponse {}
600
601#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
602pub struct MlmeAssociateIndRequest {
603 pub ind: AssociateIndication,
604}
605
606impl fidl::Persistable for MlmeAssociateIndRequest {}
607
608#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
609pub struct MlmeAssociateRespRequest {
610 pub resp: AssociateResponse,
611}
612
613impl fidl::Persistable for MlmeAssociateRespRequest {}
614
615#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
616pub struct MlmeAuthenticateIndRequest {
617 pub ind: AuthenticateIndication,
618}
619
620impl fidl::Persistable for MlmeAuthenticateIndRequest {}
621
622#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
623pub struct MlmeAuthenticateRespRequest {
624 pub resp: AuthenticateResponse,
625}
626
627impl fidl::Persistable for MlmeAuthenticateRespRequest {}
628
629#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
630pub struct MlmeConnectConfRequest {
631 pub resp: ConnectConfirm,
632}
633
634impl fidl::Persistable for MlmeConnectConfRequest {}
635
636#[derive(Clone, Debug, PartialEq)]
637pub struct MlmeConnectReqRequest {
638 pub req: ConnectRequest,
639}
640
641impl fidl::Persistable for MlmeConnectReqRequest {}
642
643#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
644#[repr(C)]
645pub struct MlmeDeauthenticateConfRequest {
646 pub resp: DeauthenticateConfirm,
647}
648
649impl fidl::Persistable for MlmeDeauthenticateConfRequest {}
650
651#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
652pub struct MlmeDeauthenticateIndRequest {
653 pub ind: DeauthenticateIndication,
654}
655
656impl fidl::Persistable for MlmeDeauthenticateIndRequest {}
657
658#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
659pub struct MlmeDeauthenticateReqRequest {
660 pub req: DeauthenticateRequest,
661}
662
663impl fidl::Persistable for MlmeDeauthenticateReqRequest {}
664
665#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
666pub struct MlmeDeleteKeysReqRequest {
667 pub req: DeleteKeysRequest,
668}
669
670impl fidl::Persistable for MlmeDeleteKeysReqRequest {}
671
672#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
673#[repr(C)]
674pub struct MlmeDisassociateConfRequest {
675 pub resp: DisassociateConfirm,
676}
677
678impl fidl::Persistable for MlmeDisassociateConfRequest {}
679
680#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
681pub struct MlmeDisassociateIndRequest {
682 pub ind: DisassociateIndication,
683}
684
685impl fidl::Persistable for MlmeDisassociateIndRequest {}
686
687#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
688pub struct MlmeDisassociateReqRequest {
689 pub req: DisassociateRequest,
690}
691
692impl fidl::Persistable for MlmeDisassociateReqRequest {}
693
694#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
695pub struct MlmeEapolConfRequest {
696 pub resp: EapolConfirm,
697}
698
699impl fidl::Persistable for MlmeEapolConfRequest {}
700
701#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
702pub struct MlmeEapolIndRequest {
703 pub ind: EapolIndication,
704}
705
706impl fidl::Persistable for MlmeEapolIndRequest {}
707
708#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
709pub struct MlmeEapolReqRequest {
710 pub req: EapolRequest,
711}
712
713impl fidl::Persistable for MlmeEapolReqRequest {}
714
715#[derive(Clone, Debug, PartialEq)]
716pub struct MlmeFinalizeAssociationReqRequest {
717 pub negotiated_capabilities: NegotiatedCapabilities,
718}
719
720impl fidl::Persistable for MlmeFinalizeAssociationReqRequest {}
721
722#[derive(Clone, Debug, PartialEq)]
723pub struct MlmeGetIfaceHistogramStatsResponse {
724 pub resp: GetIfaceHistogramStatsResponse,
725}
726
727impl fidl::Persistable for MlmeGetIfaceHistogramStatsResponse {}
728
729#[derive(Clone, Debug, PartialEq)]
730pub struct MlmeGetIfaceStatsResponse {
731 pub resp: GetIfaceStatsResponse,
732}
733
734impl fidl::Persistable for MlmeGetIfaceStatsResponse {}
735
736#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
737#[repr(C)]
738pub struct MlmeGetMinstrelStatsRequest {
739 pub req: MinstrelStatsRequest,
740}
741
742impl fidl::Persistable for MlmeGetMinstrelStatsRequest {}
743
744#[derive(Clone, Debug, PartialEq)]
745pub struct MlmeGetMinstrelStatsResponse {
746 pub resp: MinstrelStatsResponse,
747}
748
749impl fidl::Persistable for MlmeGetMinstrelStatsResponse {}
750
751#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
752pub struct MlmeInstallApfPacketFilterRequest {
753 pub program: Vec<u8>,
754}
755
756impl fidl::Persistable for MlmeInstallApfPacketFilterRequest {}
757
758#[derive(Clone, Debug, PartialEq)]
759pub struct MlmeListMinstrelPeersResponse {
760 pub resp: MinstrelListResponse,
761}
762
763impl fidl::Persistable for MlmeListMinstrelPeersResponse {}
764
765#[derive(Clone, Debug, PartialEq)]
766pub struct MlmeOnChannelSwitchedRequest {
767 pub info: fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
768}
769
770impl fidl::Persistable for MlmeOnChannelSwitchedRequest {}
771
772#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
773pub struct MlmeOnPmkAvailableRequest {
774 pub info: PmkInfo,
775}
776
777impl fidl::Persistable for MlmeOnPmkAvailableRequest {}
778
779#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
780pub struct MlmeOnSaeFrameRxRequest {
781 pub frame: SaeFrame,
782}
783
784impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
785
786#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
787#[repr(C)]
788pub struct MlmeOnSaeHandshakeIndRequest {
789 pub ind: SaeHandshakeIndication,
790}
791
792impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
793
794#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
795pub struct MlmeOnScanEndRequest {
796 pub end: ScanEnd,
797}
798
799impl fidl::Persistable for MlmeOnScanEndRequest {}
800
801#[derive(Clone, Debug, PartialEq)]
802pub struct MlmeOnScanResultRequest {
803 pub result: ScanResult,
804}
805
806impl fidl::Persistable for MlmeOnScanResultRequest {}
807
808#[derive(Clone, Debug, PartialEq)]
809pub struct MlmeOnWmmStatusRespRequest {
810 pub status: i32,
811 pub resp: fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
812}
813
814impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
815
816#[derive(Clone, Debug, PartialEq)]
817pub struct MlmeQueryDeviceInfoResponse {
818 pub info: DeviceInfo,
819}
820
821impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
822
823#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
824#[repr(C)]
825pub struct MlmeReconnectReqRequest {
826 pub req: ReconnectRequest,
827}
828
829impl fidl::Persistable for MlmeReconnectReqRequest {}
830
831#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
832pub struct MlmeRelayCapturedFrameRequest {
833 pub result: CapturedFrameResult,
834}
835
836impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
837
838#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
839pub struct MlmeResetReqRequest {
840 pub req: ResetRequest,
841}
842
843impl fidl::Persistable for MlmeResetReqRequest {}
844
845#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
846pub struct MlmeRoamConfRequest {
847 pub conf: RoamConfirm,
848}
849
850impl fidl::Persistable for MlmeRoamConfRequest {}
851
852#[derive(Clone, Debug, PartialEq)]
853pub struct MlmeRoamReqRequest {
854 pub req: RoamRequest,
855}
856
857impl fidl::Persistable for MlmeRoamReqRequest {}
858
859#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
860pub struct MlmeRoamResultIndRequest {
861 pub ind: RoamResultIndication,
862}
863
864impl fidl::Persistable for MlmeRoamResultIndRequest {}
865
866#[derive(Clone, Debug, PartialEq)]
867pub struct MlmeRoamStartIndRequest {
868 pub ind: RoamStartIndication,
869}
870
871impl fidl::Persistable for MlmeRoamStartIndRequest {}
872
873#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
874pub struct MlmeSaeFrameTxRequest {
875 pub frame: SaeFrame,
876}
877
878impl fidl::Persistable for MlmeSaeFrameTxRequest {}
879
880#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
881pub struct MlmeSaeHandshakeRespRequest {
882 pub resp: SaeHandshakeResponse,
883}
884
885impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
886
887#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
888pub struct MlmeSetApfPacketFilterEnabledRequest {
889 pub enabled: bool,
890}
891
892impl fidl::Persistable for MlmeSetApfPacketFilterEnabledRequest {}
893
894#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
895pub struct MlmeSetControlledPortRequest {
896 pub req: SetControlledPortRequest,
897}
898
899impl fidl::Persistable for MlmeSetControlledPortRequest {}
900
901#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
902pub struct MlmeSetKeysConfRequest {
903 pub conf: SetKeysConfirm,
904}
905
906impl fidl::Persistable for MlmeSetKeysConfRequest {}
907
908#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
909pub struct MlmeSetKeysReqRequest {
910 pub req: SetKeysRequest,
911}
912
913impl fidl::Persistable for MlmeSetKeysReqRequest {}
914
915#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
916#[repr(C)]
917pub struct MlmeSetMacAddressRequest {
918 pub mac_addr: [u8; 6],
919}
920
921impl fidl::Persistable for MlmeSetMacAddressRequest {}
922
923#[derive(Clone, Debug, PartialEq)]
924pub struct MlmeSignalReportRequest {
925 pub ind: fidl_fuchsia_wlan_internal__common::SignalReportIndication,
926}
927
928impl fidl::Persistable for MlmeSignalReportRequest {}
929
930#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
931pub struct MlmeStartCaptureFramesRequest {
932 pub req: StartCaptureFramesRequest,
933}
934
935impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
936
937#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
938pub struct MlmeStartCaptureFramesResponse {
939 pub resp: StartCaptureFramesResponse,
940}
941
942impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
943
944#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
945pub struct MlmeStartConfRequest {
946 pub resp: StartConfirm,
947}
948
949impl fidl::Persistable for MlmeStartConfRequest {}
950
951#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
952pub struct MlmeStartReqRequest {
953 pub req: StartRequest,
954}
955
956impl fidl::Persistable for MlmeStartReqRequest {}
957
958#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
959pub struct MlmeStartScanRequest {
960 pub req: ScanRequest,
961}
962
963impl fidl::Persistable for MlmeStartScanRequest {}
964
965#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
966pub struct MlmeStopConfRequest {
967 pub resp: StopConfirm,
968}
969
970impl fidl::Persistable for MlmeStopConfRequest {}
971
972#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
973pub struct MlmeStopReqRequest {
974 pub req: StopRequest,
975}
976
977impl fidl::Persistable for MlmeStopReqRequest {}
978
979#[derive(Clone, Debug, PartialEq)]
981pub struct NegotiatedCapabilities {
982 pub channel: fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
983 pub capability_info: u16,
984 pub rates: Vec<u8>,
985 pub wmm_param: Option<Box<WmmParameter>>,
986 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
987 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
988}
989
990impl fidl::Persistable for NegotiatedCapabilities {}
991
992#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
993pub struct PmkInfo {
994 pub pmk: Vec<u8>,
995 pub pmkid: Vec<u8>,
996}
997
998impl fidl::Persistable for PmkInfo {}
999
1000#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1001#[repr(C)]
1002pub struct ReconnectRequest {
1003 pub peer_sta_address: [u8; 6],
1004}
1005
1006impl fidl::Persistable for ReconnectRequest {}
1007
1008#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1009pub struct ResetRequest {
1010 pub sta_address: [u8; 6],
1011 pub set_default_mib: bool,
1012}
1013
1014impl fidl::Persistable for ResetRequest {}
1015
1016#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1018pub struct RoamConfirm {
1019 pub selected_bssid: [u8; 6],
1020 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1021 pub original_association_maintained: bool,
1026 pub target_bss_authenticated: bool,
1031 pub association_id: u16,
1032 pub association_ies: Vec<u8>,
1033}
1034
1035impl fidl::Persistable for RoamConfirm {}
1036
1037#[derive(Clone, Debug, PartialEq)]
1038pub struct RoamRequest {
1039 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1040}
1041
1042impl fidl::Persistable for RoamRequest {}
1043
1044#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1046pub struct RoamResultIndication {
1047 pub selected_bssid: [u8; 6],
1048 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1049 pub original_association_maintained: bool,
1054 pub target_bss_authenticated: bool,
1059 pub association_id: u16,
1060 pub association_ies: Vec<u8>,
1061}
1062
1063impl fidl::Persistable for RoamResultIndication {}
1064
1065#[derive(Clone, Debug, PartialEq)]
1067pub struct RoamStartIndication {
1068 pub selected_bssid: [u8; 6],
1069 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1070 pub original_association_maintained: bool,
1077}
1078
1079impl fidl::Persistable for RoamStartIndication {}
1080
1081#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1082pub struct SaeFrame {
1083 pub peer_sta_address: [u8; 6],
1084 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1085 pub seq_num: u16,
1086 pub sae_fields: Vec<u8>,
1087}
1088
1089impl fidl::Persistable for SaeFrame {}
1090
1091#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1092#[repr(C)]
1093pub struct SaeHandshakeIndication {
1094 pub peer_sta_address: [u8; 6],
1095}
1096
1097impl fidl::Persistable for SaeHandshakeIndication {}
1098
1099#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1100pub struct SaeHandshakeResponse {
1101 pub peer_sta_address: [u8; 6],
1102 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1103}
1104
1105impl fidl::Persistable for SaeHandshakeResponse {}
1106
1107#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1108pub struct ScanEnd {
1109 pub txn_id: u64,
1110 pub code: ScanResultCode,
1111}
1112
1113impl fidl::Persistable for ScanEnd {}
1114
1115#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1116pub struct ScanRequest {
1117 pub txn_id: u64,
1118 pub scan_type: ScanTypes,
1119 pub channel_list: Vec<u8>,
1126 pub ssid_list: Vec<Vec<u8>>,
1135 pub probe_delay: u32,
1136 pub min_channel_time: u32,
1137 pub max_channel_time: u32,
1138}
1139
1140impl fidl::Persistable for ScanRequest {}
1141
1142#[derive(Clone, Debug, PartialEq)]
1143pub struct ScanResult {
1144 pub txn_id: u64,
1145 pub timestamp_nanos: i64,
1146 pub bss: fidl_fuchsia_wlan_common__common::BssDescription,
1147}
1148
1149impl fidl::Persistable for ScanResult {}
1150
1151#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1152pub struct SetControlledPortRequest {
1153 pub peer_sta_address: [u8; 6],
1154 pub state: ControlledPortState,
1155}
1156
1157impl fidl::Persistable for SetControlledPortRequest {}
1158
1159#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1160pub struct SetKeyDescriptor {
1161 pub key: Vec<u8>,
1162 pub key_id: u16,
1163 pub key_type: KeyType,
1164 pub address: [u8; 6],
1165 pub rsc: u64,
1166 pub cipher_suite_oui: [u8; 3],
1167 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
1168}
1169
1170impl fidl::Persistable for SetKeyDescriptor {}
1171
1172#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1173#[repr(C)]
1174pub struct SetKeyResult {
1175 pub key_id: u16,
1176 pub status: i32,
1177}
1178
1179impl fidl::Persistable for SetKeyResult {}
1180
1181#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1182pub struct SetKeysConfirm {
1183 pub results: Vec<SetKeyResult>,
1184}
1185
1186impl fidl::Persistable for SetKeysConfirm {}
1187
1188#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1189pub struct SetKeysRequest {
1190 pub keylist: Vec<SetKeyDescriptor>,
1191}
1192
1193impl fidl::Persistable for SetKeysRequest {}
1194
1195#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1196pub struct StartCaptureFramesRequest {
1197 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1198}
1199
1200impl fidl::Persistable for StartCaptureFramesRequest {}
1201
1202#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1203pub struct StartCaptureFramesResponse {
1204 pub status: i32,
1205 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1206}
1207
1208impl fidl::Persistable for StartCaptureFramesResponse {}
1209
1210#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1211pub struct StartConfirm {
1212 pub result_code: StartResultCode,
1213}
1214
1215impl fidl::Persistable for StartConfirm {}
1216
1217#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1218pub struct StartRequest {
1219 pub ssid: Vec<u8>,
1220 pub bss_type: fidl_fuchsia_wlan_common__common::BssType,
1221 pub beacon_period: u16,
1222 pub dtim_period: u8,
1223 pub channel: u8,
1224 pub capability_info: u16,
1225 pub rates: Vec<u8>,
1226 pub country: Country,
1227 pub mesh_id: Vec<u8>,
1228 pub rsne: Option<Vec<u8>>,
1229 pub phy: fidl_fuchsia_wlan_common__common::WlanPhyType,
1230 pub channel_bandwidth: fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
1231}
1232
1233impl fidl::Persistable for StartRequest {}
1234
1235#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1236pub struct StopConfirm {
1237 pub result_code: StopResultCode,
1238}
1239
1240impl fidl::Persistable for StopConfirm {}
1241
1242#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1243pub struct StopRequest {
1244 pub ssid: Vec<u8>,
1245}
1246
1247impl fidl::Persistable for StopRequest {}
1248
1249#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1250#[repr(C)]
1251pub struct WmmParameter {
1252 pub bytes: [u8; 18],
1253}
1254
1255impl fidl::Persistable for WmmParameter {}
1256
1257#[derive(Clone, Debug, PartialEq)]
1258pub enum GetIfaceHistogramStatsResponse {
1259 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
1260 ErrorStatus(i32),
1261}
1262
1263impl GetIfaceHistogramStatsResponse {
1264 #[inline]
1265 pub fn ordinal(&self) -> u64 {
1266 match *self {
1267 Self::Stats(_) => 1,
1268 Self::ErrorStatus(_) => 2,
1269 }
1270 }
1271}
1272
1273impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1274
1275#[derive(Clone, Debug, PartialEq)]
1276pub enum GetIfaceStatsResponse {
1277 Stats(fidl_fuchsia_wlan_stats__common::IfaceStats),
1278 ErrorStatus(i32),
1279}
1280
1281impl GetIfaceStatsResponse {
1282 #[inline]
1283 pub fn ordinal(&self) -> u64 {
1284 match *self {
1285 Self::Stats(_) => 1,
1286 Self::ErrorStatus(_) => 2,
1287 }
1288 }
1289}
1290
1291impl fidl::Persistable for GetIfaceStatsResponse {}
1292
1293pub mod connector_ordinals {
1294 pub const CONNECT: u64 = 0x42131859717af962;
1295}
1296
1297pub mod mlme_ordinals {
1298 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1299 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1300 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1301 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1302 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1303 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1304 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1305 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1306 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1307 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1308 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1309 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1310 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1311 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1312 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1313 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1314 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1315 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1316 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1317 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1318 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1319 pub const START_REQ: u64 = 0x5d95885f8053654;
1320 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1321 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1322 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1323 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1324 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1325 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1326 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1327 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1328 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1329 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1330 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1331 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1332 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1333 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1334 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1335 pub const GET_SIGNAL_REPORT: u64 = 0x7e47e7ebe92acec9;
1336 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1337 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1338 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1339 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1340 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1341 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1342 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1343 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1344 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1345 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1346 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1347 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1348 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1349 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1350 pub const SET_MAC_ADDRESS: u64 = 0x476999f9bb27afe1;
1351 pub const INSTALL_APF_PACKET_FILTER: u64 = 0x267565b4916c825b;
1352 pub const READ_APF_PACKET_FILTER_DATA: u64 = 0x6040d744f1b2cb61;
1353 pub const SET_APF_PACKET_FILTER_ENABLED: u64 = 0x6d99bdca77076aea;
1354 pub const GET_APF_PACKET_FILTER_ENABLED: u64 = 0x1df408bc154be1e4;
1355}
1356
1357mod internal {
1358 use super::*;
1359 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1360 type Owned = Self;
1361
1362 #[inline(always)]
1363 fn inline_align(_context: fidl::encoding::Context) -> usize {
1364 4
1365 }
1366
1367 #[inline(always)]
1368 fn inline_size(_context: fidl::encoding::Context) -> usize {
1369 4
1370 }
1371 }
1372
1373 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1374 type Borrowed<'a> = Self;
1375 #[inline(always)]
1376 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1377 *value
1378 }
1379 }
1380
1381 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1382 for MgmtFrameCaptureFlags
1383 {
1384 #[inline]
1385 unsafe fn encode(
1386 self,
1387 encoder: &mut fidl::encoding::Encoder<'_, D>,
1388 offset: usize,
1389 _depth: fidl::encoding::Depth,
1390 ) -> fidl::Result<()> {
1391 encoder.debug_check_bounds::<Self>(offset);
1392 if self.bits() & Self::all().bits() != self.bits() {
1393 return Err(fidl::Error::InvalidBitsValue);
1394 }
1395 encoder.write_num(self.bits(), offset);
1396 Ok(())
1397 }
1398 }
1399
1400 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1401 #[inline(always)]
1402 fn new_empty() -> Self {
1403 Self::empty()
1404 }
1405
1406 #[inline]
1407 unsafe fn decode(
1408 &mut self,
1409 decoder: &mut fidl::encoding::Decoder<'_, D>,
1410 offset: usize,
1411 _depth: fidl::encoding::Depth,
1412 ) -> fidl::Result<()> {
1413 decoder.debug_check_bounds::<Self>(offset);
1414 let prim = decoder.read_num::<u32>(offset);
1415 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1416 Ok(())
1417 }
1418 }
1419 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1420 type Owned = Self;
1421
1422 #[inline(always)]
1423 fn inline_align(_context: fidl::encoding::Context) -> usize {
1424 std::mem::align_of::<u32>()
1425 }
1426
1427 #[inline(always)]
1428 fn inline_size(_context: fidl::encoding::Context) -> usize {
1429 std::mem::size_of::<u32>()
1430 }
1431
1432 #[inline(always)]
1433 fn encode_is_copy() -> bool {
1434 true
1435 }
1436
1437 #[inline(always)]
1438 fn decode_is_copy() -> bool {
1439 false
1440 }
1441 }
1442
1443 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1444 type Borrowed<'a> = Self;
1445 #[inline(always)]
1446 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1447 *value
1448 }
1449 }
1450
1451 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1452 for AssociateResultCode
1453 {
1454 #[inline]
1455 unsafe fn encode(
1456 self,
1457 encoder: &mut fidl::encoding::Encoder<'_, D>,
1458 offset: usize,
1459 _depth: fidl::encoding::Depth,
1460 ) -> fidl::Result<()> {
1461 encoder.debug_check_bounds::<Self>(offset);
1462 encoder.write_num(self.into_primitive(), offset);
1463 Ok(())
1464 }
1465 }
1466
1467 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1468 #[inline(always)]
1469 fn new_empty() -> Self {
1470 Self::Success
1471 }
1472
1473 #[inline]
1474 unsafe fn decode(
1475 &mut self,
1476 decoder: &mut fidl::encoding::Decoder<'_, D>,
1477 offset: usize,
1478 _depth: fidl::encoding::Depth,
1479 ) -> fidl::Result<()> {
1480 decoder.debug_check_bounds::<Self>(offset);
1481 let prim = decoder.read_num::<u32>(offset);
1482
1483 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1484 Ok(())
1485 }
1486 }
1487 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1488 type Owned = Self;
1489
1490 #[inline(always)]
1491 fn inline_align(_context: fidl::encoding::Context) -> usize {
1492 std::mem::align_of::<u32>()
1493 }
1494
1495 #[inline(always)]
1496 fn inline_size(_context: fidl::encoding::Context) -> usize {
1497 std::mem::size_of::<u32>()
1498 }
1499
1500 #[inline(always)]
1501 fn encode_is_copy() -> bool {
1502 true
1503 }
1504
1505 #[inline(always)]
1506 fn decode_is_copy() -> bool {
1507 false
1508 }
1509 }
1510
1511 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1512 type Borrowed<'a> = Self;
1513 #[inline(always)]
1514 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1515 *value
1516 }
1517 }
1518
1519 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1520 for AuthenticateResultCode
1521 {
1522 #[inline]
1523 unsafe fn encode(
1524 self,
1525 encoder: &mut fidl::encoding::Encoder<'_, D>,
1526 offset: usize,
1527 _depth: fidl::encoding::Depth,
1528 ) -> fidl::Result<()> {
1529 encoder.debug_check_bounds::<Self>(offset);
1530 encoder.write_num(self.into_primitive(), offset);
1531 Ok(())
1532 }
1533 }
1534
1535 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1536 for AuthenticateResultCode
1537 {
1538 #[inline(always)]
1539 fn new_empty() -> Self {
1540 Self::Success
1541 }
1542
1543 #[inline]
1544 unsafe fn decode(
1545 &mut self,
1546 decoder: &mut fidl::encoding::Decoder<'_, D>,
1547 offset: usize,
1548 _depth: fidl::encoding::Depth,
1549 ) -> fidl::Result<()> {
1550 decoder.debug_check_bounds::<Self>(offset);
1551 let prim = decoder.read_num::<u32>(offset);
1552
1553 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1554 Ok(())
1555 }
1556 }
1557 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1558 type Owned = Self;
1559
1560 #[inline(always)]
1561 fn inline_align(_context: fidl::encoding::Context) -> usize {
1562 std::mem::align_of::<u32>()
1563 }
1564
1565 #[inline(always)]
1566 fn inline_size(_context: fidl::encoding::Context) -> usize {
1567 std::mem::size_of::<u32>()
1568 }
1569
1570 #[inline(always)]
1571 fn encode_is_copy() -> bool {
1572 true
1573 }
1574
1575 #[inline(always)]
1576 fn decode_is_copy() -> bool {
1577 false
1578 }
1579 }
1580
1581 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1582 type Borrowed<'a> = Self;
1583 #[inline(always)]
1584 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1585 *value
1586 }
1587 }
1588
1589 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1590 for AuthenticationTypes
1591 {
1592 #[inline]
1593 unsafe fn encode(
1594 self,
1595 encoder: &mut fidl::encoding::Encoder<'_, D>,
1596 offset: usize,
1597 _depth: fidl::encoding::Depth,
1598 ) -> fidl::Result<()> {
1599 encoder.debug_check_bounds::<Self>(offset);
1600 encoder.write_num(self.into_primitive(), offset);
1601 Ok(())
1602 }
1603 }
1604
1605 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1606 #[inline(always)]
1607 fn new_empty() -> Self {
1608 Self::OpenSystem
1609 }
1610
1611 #[inline]
1612 unsafe fn decode(
1613 &mut self,
1614 decoder: &mut fidl::encoding::Decoder<'_, D>,
1615 offset: usize,
1616 _depth: fidl::encoding::Depth,
1617 ) -> fidl::Result<()> {
1618 decoder.debug_check_bounds::<Self>(offset);
1619 let prim = decoder.read_num::<u32>(offset);
1620
1621 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1622 Ok(())
1623 }
1624 }
1625 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1626 type Owned = Self;
1627
1628 #[inline(always)]
1629 fn inline_align(_context: fidl::encoding::Context) -> usize {
1630 std::mem::align_of::<u32>()
1631 }
1632
1633 #[inline(always)]
1634 fn inline_size(_context: fidl::encoding::Context) -> usize {
1635 std::mem::size_of::<u32>()
1636 }
1637
1638 #[inline(always)]
1639 fn encode_is_copy() -> bool {
1640 true
1641 }
1642
1643 #[inline(always)]
1644 fn decode_is_copy() -> bool {
1645 false
1646 }
1647 }
1648
1649 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1650 type Borrowed<'a> = Self;
1651 #[inline(always)]
1652 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1653 *value
1654 }
1655 }
1656
1657 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1658 for ControlledPortState
1659 {
1660 #[inline]
1661 unsafe fn encode(
1662 self,
1663 encoder: &mut fidl::encoding::Encoder<'_, D>,
1664 offset: usize,
1665 _depth: fidl::encoding::Depth,
1666 ) -> fidl::Result<()> {
1667 encoder.debug_check_bounds::<Self>(offset);
1668 encoder.write_num(self.into_primitive(), offset);
1669 Ok(())
1670 }
1671 }
1672
1673 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1674 #[inline(always)]
1675 fn new_empty() -> Self {
1676 Self::Closed
1677 }
1678
1679 #[inline]
1680 unsafe fn decode(
1681 &mut self,
1682 decoder: &mut fidl::encoding::Decoder<'_, D>,
1683 offset: usize,
1684 _depth: fidl::encoding::Depth,
1685 ) -> fidl::Result<()> {
1686 decoder.debug_check_bounds::<Self>(offset);
1687 let prim = decoder.read_num::<u32>(offset);
1688
1689 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1690 Ok(())
1691 }
1692 }
1693 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1694 type Owned = Self;
1695
1696 #[inline(always)]
1697 fn inline_align(_context: fidl::encoding::Context) -> usize {
1698 std::mem::align_of::<u32>()
1699 }
1700
1701 #[inline(always)]
1702 fn inline_size(_context: fidl::encoding::Context) -> usize {
1703 std::mem::size_of::<u32>()
1704 }
1705
1706 #[inline(always)]
1707 fn encode_is_copy() -> bool {
1708 true
1709 }
1710
1711 #[inline(always)]
1712 fn decode_is_copy() -> bool {
1713 false
1714 }
1715 }
1716
1717 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1718 type Borrowed<'a> = Self;
1719 #[inline(always)]
1720 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1721 *value
1722 }
1723 }
1724
1725 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1726 for EapolResultCode
1727 {
1728 #[inline]
1729 unsafe fn encode(
1730 self,
1731 encoder: &mut fidl::encoding::Encoder<'_, D>,
1732 offset: usize,
1733 _depth: fidl::encoding::Depth,
1734 ) -> fidl::Result<()> {
1735 encoder.debug_check_bounds::<Self>(offset);
1736 encoder.write_num(self.into_primitive(), offset);
1737 Ok(())
1738 }
1739 }
1740
1741 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1742 #[inline(always)]
1743 fn new_empty() -> Self {
1744 Self::Success
1745 }
1746
1747 #[inline]
1748 unsafe fn decode(
1749 &mut self,
1750 decoder: &mut fidl::encoding::Decoder<'_, D>,
1751 offset: usize,
1752 _depth: fidl::encoding::Depth,
1753 ) -> fidl::Result<()> {
1754 decoder.debug_check_bounds::<Self>(offset);
1755 let prim = decoder.read_num::<u32>(offset);
1756
1757 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1758 Ok(())
1759 }
1760 }
1761 unsafe impl fidl::encoding::TypeMarker for KeyType {
1762 type Owned = Self;
1763
1764 #[inline(always)]
1765 fn inline_align(_context: fidl::encoding::Context) -> usize {
1766 std::mem::align_of::<u32>()
1767 }
1768
1769 #[inline(always)]
1770 fn inline_size(_context: fidl::encoding::Context) -> usize {
1771 std::mem::size_of::<u32>()
1772 }
1773
1774 #[inline(always)]
1775 fn encode_is_copy() -> bool {
1776 true
1777 }
1778
1779 #[inline(always)]
1780 fn decode_is_copy() -> bool {
1781 false
1782 }
1783 }
1784
1785 impl fidl::encoding::ValueTypeMarker for KeyType {
1786 type Borrowed<'a> = Self;
1787 #[inline(always)]
1788 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1789 *value
1790 }
1791 }
1792
1793 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1794 #[inline]
1795 unsafe fn encode(
1796 self,
1797 encoder: &mut fidl::encoding::Encoder<'_, D>,
1798 offset: usize,
1799 _depth: fidl::encoding::Depth,
1800 ) -> fidl::Result<()> {
1801 encoder.debug_check_bounds::<Self>(offset);
1802 encoder.write_num(self.into_primitive(), offset);
1803 Ok(())
1804 }
1805 }
1806
1807 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1808 #[inline(always)]
1809 fn new_empty() -> Self {
1810 Self::Group
1811 }
1812
1813 #[inline]
1814 unsafe fn decode(
1815 &mut self,
1816 decoder: &mut fidl::encoding::Decoder<'_, D>,
1817 offset: usize,
1818 _depth: fidl::encoding::Depth,
1819 ) -> fidl::Result<()> {
1820 decoder.debug_check_bounds::<Self>(offset);
1821 let prim = decoder.read_num::<u32>(offset);
1822
1823 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1824 Ok(())
1825 }
1826 }
1827 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1828 type Owned = Self;
1829
1830 #[inline(always)]
1831 fn inline_align(_context: fidl::encoding::Context) -> usize {
1832 std::mem::align_of::<u32>()
1833 }
1834
1835 #[inline(always)]
1836 fn inline_size(_context: fidl::encoding::Context) -> usize {
1837 std::mem::size_of::<u32>()
1838 }
1839
1840 #[inline(always)]
1841 fn encode_is_copy() -> bool {
1842 true
1843 }
1844
1845 #[inline(always)]
1846 fn decode_is_copy() -> bool {
1847 false
1848 }
1849 }
1850
1851 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1852 type Borrowed<'a> = Self;
1853 #[inline(always)]
1854 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1855 *value
1856 }
1857 }
1858
1859 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1860 #[inline]
1861 unsafe fn encode(
1862 self,
1863 encoder: &mut fidl::encoding::Encoder<'_, D>,
1864 offset: usize,
1865 _depth: fidl::encoding::Depth,
1866 ) -> fidl::Result<()> {
1867 encoder.debug_check_bounds::<Self>(offset);
1868 encoder.write_num(self.into_primitive(), offset);
1869 Ok(())
1870 }
1871 }
1872
1873 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1874 #[inline(always)]
1875 fn new_empty() -> Self {
1876 Self::Success
1877 }
1878
1879 #[inline]
1880 unsafe fn decode(
1881 &mut self,
1882 decoder: &mut fidl::encoding::Decoder<'_, D>,
1883 offset: usize,
1884 _depth: fidl::encoding::Depth,
1885 ) -> fidl::Result<()> {
1886 decoder.debug_check_bounds::<Self>(offset);
1887 let prim = decoder.read_num::<u32>(offset);
1888
1889 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1890 Ok(())
1891 }
1892 }
1893 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1894 type Owned = Self;
1895
1896 #[inline(always)]
1897 fn inline_align(_context: fidl::encoding::Context) -> usize {
1898 std::mem::align_of::<u32>()
1899 }
1900
1901 #[inline(always)]
1902 fn inline_size(_context: fidl::encoding::Context) -> usize {
1903 std::mem::size_of::<u32>()
1904 }
1905
1906 #[inline(always)]
1907 fn encode_is_copy() -> bool {
1908 true
1909 }
1910
1911 #[inline(always)]
1912 fn decode_is_copy() -> bool {
1913 false
1914 }
1915 }
1916
1917 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1918 type Borrowed<'a> = Self;
1919 #[inline(always)]
1920 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1921 *value
1922 }
1923 }
1924
1925 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1926 #[inline]
1927 unsafe fn encode(
1928 self,
1929 encoder: &mut fidl::encoding::Encoder<'_, D>,
1930 offset: usize,
1931 _depth: fidl::encoding::Depth,
1932 ) -> fidl::Result<()> {
1933 encoder.debug_check_bounds::<Self>(offset);
1934 encoder.write_num(self.into_primitive(), offset);
1935 Ok(())
1936 }
1937 }
1938
1939 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
1940 #[inline(always)]
1941 fn new_empty() -> Self {
1942 Self::Active
1943 }
1944
1945 #[inline]
1946 unsafe fn decode(
1947 &mut self,
1948 decoder: &mut fidl::encoding::Decoder<'_, D>,
1949 offset: usize,
1950 _depth: fidl::encoding::Depth,
1951 ) -> fidl::Result<()> {
1952 decoder.debug_check_bounds::<Self>(offset);
1953 let prim = decoder.read_num::<u32>(offset);
1954
1955 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1956 Ok(())
1957 }
1958 }
1959 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
1960 type Owned = Self;
1961
1962 #[inline(always)]
1963 fn inline_align(_context: fidl::encoding::Context) -> usize {
1964 std::mem::align_of::<u32>()
1965 }
1966
1967 #[inline(always)]
1968 fn inline_size(_context: fidl::encoding::Context) -> usize {
1969 std::mem::size_of::<u32>()
1970 }
1971
1972 #[inline(always)]
1973 fn encode_is_copy() -> bool {
1974 true
1975 }
1976
1977 #[inline(always)]
1978 fn decode_is_copy() -> bool {
1979 false
1980 }
1981 }
1982
1983 impl fidl::encoding::ValueTypeMarker for StartResultCode {
1984 type Borrowed<'a> = Self;
1985 #[inline(always)]
1986 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1987 *value
1988 }
1989 }
1990
1991 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1992 for StartResultCode
1993 {
1994 #[inline]
1995 unsafe fn encode(
1996 self,
1997 encoder: &mut fidl::encoding::Encoder<'_, D>,
1998 offset: usize,
1999 _depth: fidl::encoding::Depth,
2000 ) -> fidl::Result<()> {
2001 encoder.debug_check_bounds::<Self>(offset);
2002 encoder.write_num(self.into_primitive(), offset);
2003 Ok(())
2004 }
2005 }
2006
2007 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
2008 #[inline(always)]
2009 fn new_empty() -> Self {
2010 Self::Success
2011 }
2012
2013 #[inline]
2014 unsafe fn decode(
2015 &mut self,
2016 decoder: &mut fidl::encoding::Decoder<'_, D>,
2017 offset: usize,
2018 _depth: fidl::encoding::Depth,
2019 ) -> fidl::Result<()> {
2020 decoder.debug_check_bounds::<Self>(offset);
2021 let prim = decoder.read_num::<u32>(offset);
2022
2023 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2024 Ok(())
2025 }
2026 }
2027 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
2028 type Owned = Self;
2029
2030 #[inline(always)]
2031 fn inline_align(_context: fidl::encoding::Context) -> usize {
2032 std::mem::align_of::<u32>()
2033 }
2034
2035 #[inline(always)]
2036 fn inline_size(_context: fidl::encoding::Context) -> usize {
2037 std::mem::size_of::<u32>()
2038 }
2039
2040 #[inline(always)]
2041 fn encode_is_copy() -> bool {
2042 true
2043 }
2044
2045 #[inline(always)]
2046 fn decode_is_copy() -> bool {
2047 false
2048 }
2049 }
2050
2051 impl fidl::encoding::ValueTypeMarker for StopResultCode {
2052 type Borrowed<'a> = Self;
2053 #[inline(always)]
2054 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2055 *value
2056 }
2057 }
2058
2059 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2060 #[inline]
2061 unsafe fn encode(
2062 self,
2063 encoder: &mut fidl::encoding::Encoder<'_, D>,
2064 offset: usize,
2065 _depth: fidl::encoding::Depth,
2066 ) -> fidl::Result<()> {
2067 encoder.debug_check_bounds::<Self>(offset);
2068 encoder.write_num(self.into_primitive(), offset);
2069 Ok(())
2070 }
2071 }
2072
2073 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2074 #[inline(always)]
2075 fn new_empty() -> Self {
2076 Self::Success
2077 }
2078
2079 #[inline]
2080 unsafe fn decode(
2081 &mut self,
2082 decoder: &mut fidl::encoding::Decoder<'_, D>,
2083 offset: usize,
2084 _depth: fidl::encoding::Depth,
2085 ) -> fidl::Result<()> {
2086 decoder.debug_check_bounds::<Self>(offset);
2087 let prim = decoder.read_num::<u32>(offset);
2088
2089 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2090 Ok(())
2091 }
2092 }
2093
2094 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2095 type Borrowed<'a> = &'a Self;
2096 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2097 value
2098 }
2099 }
2100
2101 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2102 type Owned = Self;
2103
2104 #[inline(always)]
2105 fn inline_align(_context: fidl::encoding::Context) -> usize {
2106 8
2107 }
2108
2109 #[inline(always)]
2110 fn inline_size(_context: fidl::encoding::Context) -> usize {
2111 64
2112 }
2113 }
2114
2115 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2116 for &AssociateIndication
2117 {
2118 #[inline]
2119 unsafe fn encode(
2120 self,
2121 encoder: &mut fidl::encoding::Encoder<'_, D>,
2122 offset: usize,
2123 _depth: fidl::encoding::Depth,
2124 ) -> fidl::Result<()> {
2125 encoder.debug_check_bounds::<AssociateIndication>(offset);
2126 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2128 (
2129 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2130 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2131 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2132 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2133 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2134 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2135 ),
2136 encoder, offset, _depth
2137 )
2138 }
2139 }
2140 unsafe impl<
2141 D: fidl::encoding::ResourceDialect,
2142 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2143 T1: fidl::encoding::Encode<u16, D>,
2144 T2: fidl::encoding::Encode<u16, D>,
2145 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2146 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2147 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2148 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
2149 {
2150 #[inline]
2151 unsafe fn encode(
2152 self,
2153 encoder: &mut fidl::encoding::Encoder<'_, D>,
2154 offset: usize,
2155 depth: fidl::encoding::Depth,
2156 ) -> fidl::Result<()> {
2157 encoder.debug_check_bounds::<AssociateIndication>(offset);
2158 unsafe {
2161 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2162 (ptr as *mut u64).write_unaligned(0);
2163 }
2164 self.0.encode(encoder, offset + 0, depth)?;
2166 self.1.encode(encoder, offset + 6, depth)?;
2167 self.2.encode(encoder, offset + 8, depth)?;
2168 self.3.encode(encoder, offset + 16, depth)?;
2169 self.4.encode(encoder, offset + 32, depth)?;
2170 self.5.encode(encoder, offset + 48, depth)?;
2171 Ok(())
2172 }
2173 }
2174
2175 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2176 #[inline(always)]
2177 fn new_empty() -> Self {
2178 Self {
2179 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2180 capability_info: fidl::new_empty!(u16, D),
2181 listen_interval: fidl::new_empty!(u16, D),
2182 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2183 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2184 rsne: fidl::new_empty!(
2185 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2186 D
2187 ),
2188 }
2189 }
2190
2191 #[inline]
2192 unsafe fn decode(
2193 &mut self,
2194 decoder: &mut fidl::encoding::Decoder<'_, D>,
2195 offset: usize,
2196 _depth: fidl::encoding::Depth,
2197 ) -> fidl::Result<()> {
2198 decoder.debug_check_bounds::<Self>(offset);
2199 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2201 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2202 let mask = 0xffffffffffff0000u64;
2203 let maskedval = padval & mask;
2204 if maskedval != 0 {
2205 return Err(fidl::Error::NonZeroPadding {
2206 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2207 });
2208 }
2209 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2210 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2211 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2212 fidl::decode!(
2213 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2214 D,
2215 &mut self.ssid,
2216 decoder,
2217 offset + 16,
2218 _depth
2219 )?;
2220 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2221 fidl::decode!(
2222 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2223 D,
2224 &mut self.rsne,
2225 decoder,
2226 offset + 48,
2227 _depth
2228 )?;
2229 Ok(())
2230 }
2231 }
2232
2233 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2234 type Borrowed<'a> = &'a Self;
2235 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2236 value
2237 }
2238 }
2239
2240 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2241 type Owned = Self;
2242
2243 #[inline(always)]
2244 fn inline_align(_context: fidl::encoding::Context) -> usize {
2245 8
2246 }
2247
2248 #[inline(always)]
2249 fn inline_size(_context: fidl::encoding::Context) -> usize {
2250 32
2251 }
2252 }
2253
2254 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2255 for &AssociateResponse
2256 {
2257 #[inline]
2258 unsafe fn encode(
2259 self,
2260 encoder: &mut fidl::encoding::Encoder<'_, D>,
2261 offset: usize,
2262 _depth: fidl::encoding::Depth,
2263 ) -> fidl::Result<()> {
2264 encoder.debug_check_bounds::<AssociateResponse>(offset);
2265 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2267 (
2268 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2269 &self.peer_sta_address,
2270 ),
2271 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2272 &self.result_code,
2273 ),
2274 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2275 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2276 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2277 &self.rates,
2278 ),
2279 ),
2280 encoder,
2281 offset,
2282 _depth,
2283 )
2284 }
2285 }
2286 unsafe impl<
2287 D: fidl::encoding::ResourceDialect,
2288 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2289 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2290 T2: fidl::encoding::Encode<u16, D>,
2291 T3: fidl::encoding::Encode<u16, D>,
2292 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2293 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2294 {
2295 #[inline]
2296 unsafe fn encode(
2297 self,
2298 encoder: &mut fidl::encoding::Encoder<'_, D>,
2299 offset: usize,
2300 depth: fidl::encoding::Depth,
2301 ) -> fidl::Result<()> {
2302 encoder.debug_check_bounds::<AssociateResponse>(offset);
2303 unsafe {
2306 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2307 (ptr as *mut u64).write_unaligned(0);
2308 }
2309 self.0.encode(encoder, offset + 0, depth)?;
2311 self.1.encode(encoder, offset + 8, depth)?;
2312 self.2.encode(encoder, offset + 12, depth)?;
2313 self.3.encode(encoder, offset + 14, depth)?;
2314 self.4.encode(encoder, offset + 16, depth)?;
2315 Ok(())
2316 }
2317 }
2318
2319 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2320 #[inline(always)]
2321 fn new_empty() -> Self {
2322 Self {
2323 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2324 result_code: fidl::new_empty!(AssociateResultCode, D),
2325 association_id: fidl::new_empty!(u16, D),
2326 capability_info: fidl::new_empty!(u16, D),
2327 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2328 }
2329 }
2330
2331 #[inline]
2332 unsafe fn decode(
2333 &mut self,
2334 decoder: &mut fidl::encoding::Decoder<'_, D>,
2335 offset: usize,
2336 _depth: fidl::encoding::Depth,
2337 ) -> fidl::Result<()> {
2338 decoder.debug_check_bounds::<Self>(offset);
2339 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2341 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2342 let mask = 0xffff000000000000u64;
2343 let maskedval = padval & mask;
2344 if maskedval != 0 {
2345 return Err(fidl::Error::NonZeroPadding {
2346 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2347 });
2348 }
2349 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2350 fidl::decode!(
2351 AssociateResultCode,
2352 D,
2353 &mut self.result_code,
2354 decoder,
2355 offset + 8,
2356 _depth
2357 )?;
2358 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2359 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2360 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2361 Ok(())
2362 }
2363 }
2364
2365 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2366 type Borrowed<'a> = &'a Self;
2367 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2368 value
2369 }
2370 }
2371
2372 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2373 type Owned = Self;
2374
2375 #[inline(always)]
2376 fn inline_align(_context: fidl::encoding::Context) -> usize {
2377 4
2378 }
2379
2380 #[inline(always)]
2381 fn inline_size(_context: fidl::encoding::Context) -> usize {
2382 12
2383 }
2384 }
2385
2386 unsafe impl<D: fidl::encoding::ResourceDialect>
2387 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2388 {
2389 #[inline]
2390 unsafe fn encode(
2391 self,
2392 encoder: &mut fidl::encoding::Encoder<'_, D>,
2393 offset: usize,
2394 _depth: fidl::encoding::Depth,
2395 ) -> fidl::Result<()> {
2396 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2397 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2399 (
2400 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2401 &self.peer_sta_address,
2402 ),
2403 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2404 &self.auth_type,
2405 ),
2406 ),
2407 encoder,
2408 offset,
2409 _depth,
2410 )
2411 }
2412 }
2413 unsafe impl<
2414 D: fidl::encoding::ResourceDialect,
2415 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2416 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2417 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2418 {
2419 #[inline]
2420 unsafe fn encode(
2421 self,
2422 encoder: &mut fidl::encoding::Encoder<'_, D>,
2423 offset: usize,
2424 depth: fidl::encoding::Depth,
2425 ) -> fidl::Result<()> {
2426 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2427 unsafe {
2430 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2431 (ptr as *mut u32).write_unaligned(0);
2432 }
2433 self.0.encode(encoder, offset + 0, depth)?;
2435 self.1.encode(encoder, offset + 8, depth)?;
2436 Ok(())
2437 }
2438 }
2439
2440 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2441 for AuthenticateIndication
2442 {
2443 #[inline(always)]
2444 fn new_empty() -> Self {
2445 Self {
2446 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2447 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2448 }
2449 }
2450
2451 #[inline]
2452 unsafe fn decode(
2453 &mut self,
2454 decoder: &mut fidl::encoding::Decoder<'_, D>,
2455 offset: usize,
2456 _depth: fidl::encoding::Depth,
2457 ) -> fidl::Result<()> {
2458 decoder.debug_check_bounds::<Self>(offset);
2459 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2461 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2462 let mask = 0xffff0000u32;
2463 let maskedval = padval & mask;
2464 if maskedval != 0 {
2465 return Err(fidl::Error::NonZeroPadding {
2466 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2467 });
2468 }
2469 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2470 fidl::decode!(
2471 AuthenticationTypes,
2472 D,
2473 &mut self.auth_type,
2474 decoder,
2475 offset + 8,
2476 _depth
2477 )?;
2478 Ok(())
2479 }
2480 }
2481
2482 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2483 type Borrowed<'a> = &'a Self;
2484 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2485 value
2486 }
2487 }
2488
2489 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2490 type Owned = Self;
2491
2492 #[inline(always)]
2493 fn inline_align(_context: fidl::encoding::Context) -> usize {
2494 4
2495 }
2496
2497 #[inline(always)]
2498 fn inline_size(_context: fidl::encoding::Context) -> usize {
2499 12
2500 }
2501 }
2502
2503 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2504 for &AuthenticateResponse
2505 {
2506 #[inline]
2507 unsafe fn encode(
2508 self,
2509 encoder: &mut fidl::encoding::Encoder<'_, D>,
2510 offset: usize,
2511 _depth: fidl::encoding::Depth,
2512 ) -> fidl::Result<()> {
2513 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2514 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2516 (
2517 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2518 &self.peer_sta_address,
2519 ),
2520 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2521 &self.result_code,
2522 ),
2523 ),
2524 encoder,
2525 offset,
2526 _depth,
2527 )
2528 }
2529 }
2530 unsafe impl<
2531 D: fidl::encoding::ResourceDialect,
2532 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2533 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2534 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2535 {
2536 #[inline]
2537 unsafe fn encode(
2538 self,
2539 encoder: &mut fidl::encoding::Encoder<'_, D>,
2540 offset: usize,
2541 depth: fidl::encoding::Depth,
2542 ) -> fidl::Result<()> {
2543 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2544 unsafe {
2547 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2548 (ptr as *mut u32).write_unaligned(0);
2549 }
2550 self.0.encode(encoder, offset + 0, depth)?;
2552 self.1.encode(encoder, offset + 8, depth)?;
2553 Ok(())
2554 }
2555 }
2556
2557 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2558 #[inline(always)]
2559 fn new_empty() -> Self {
2560 Self {
2561 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2562 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2563 }
2564 }
2565
2566 #[inline]
2567 unsafe fn decode(
2568 &mut self,
2569 decoder: &mut fidl::encoding::Decoder<'_, D>,
2570 offset: usize,
2571 _depth: fidl::encoding::Depth,
2572 ) -> fidl::Result<()> {
2573 decoder.debug_check_bounds::<Self>(offset);
2574 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2576 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2577 let mask = 0xffff0000u32;
2578 let maskedval = padval & mask;
2579 if maskedval != 0 {
2580 return Err(fidl::Error::NonZeroPadding {
2581 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2582 });
2583 }
2584 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2585 fidl::decode!(
2586 AuthenticateResultCode,
2587 D,
2588 &mut self.result_code,
2589 decoder,
2590 offset + 8,
2591 _depth
2592 )?;
2593 Ok(())
2594 }
2595 }
2596
2597 impl fidl::encoding::ValueTypeMarker for BandCapability {
2598 type Borrowed<'a> = &'a Self;
2599 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2600 value
2601 }
2602 }
2603
2604 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2605 type Owned = Self;
2606
2607 #[inline(always)]
2608 fn inline_align(_context: fidl::encoding::Context) -> usize {
2609 8
2610 }
2611
2612 #[inline(always)]
2613 fn inline_size(_context: fidl::encoding::Context) -> usize {
2614 56
2615 }
2616 }
2617
2618 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2619 for &BandCapability
2620 {
2621 #[inline]
2622 unsafe fn encode(
2623 self,
2624 encoder: &mut fidl::encoding::Encoder<'_, D>,
2625 offset: usize,
2626 _depth: fidl::encoding::Depth,
2627 ) -> fidl::Result<()> {
2628 encoder.debug_check_bounds::<BandCapability>(offset);
2629 fidl::encoding::Encode::<BandCapability, D>::encode(
2631 (
2632 <fidl_fuchsia_wlan_ieee80211__common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2633 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2634 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2635 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2636 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.operating_channels),
2637 ),
2638 encoder, offset, _depth
2639 )
2640 }
2641 }
2642 unsafe impl<
2643 D: fidl::encoding::ResourceDialect,
2644 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanBand, D>,
2645 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2646 T2: fidl::encoding::Encode<
2647 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2648 D,
2649 >,
2650 T3: fidl::encoding::Encode<
2651 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2652 D,
2653 >,
2654 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
2655 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2656 {
2657 #[inline]
2658 unsafe fn encode(
2659 self,
2660 encoder: &mut fidl::encoding::Encoder<'_, D>,
2661 offset: usize,
2662 depth: fidl::encoding::Depth,
2663 ) -> fidl::Result<()> {
2664 encoder.debug_check_bounds::<BandCapability>(offset);
2665 unsafe {
2668 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2669 (ptr as *mut u64).write_unaligned(0);
2670 }
2671 self.0.encode(encoder, offset + 0, depth)?;
2673 self.1.encode(encoder, offset + 8, depth)?;
2674 self.2.encode(encoder, offset + 24, depth)?;
2675 self.3.encode(encoder, offset + 32, depth)?;
2676 self.4.encode(encoder, offset + 40, depth)?;
2677 Ok(())
2678 }
2679 }
2680
2681 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2682 #[inline(always)]
2683 fn new_empty() -> Self {
2684 Self {
2685 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanBand, D),
2686 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2687 ht_cap: fidl::new_empty!(
2688 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2689 D
2690 ),
2691 vht_cap: fidl::new_empty!(
2692 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2693 D
2694 ),
2695 operating_channels: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
2696 }
2697 }
2698
2699 #[inline]
2700 unsafe fn decode(
2701 &mut self,
2702 decoder: &mut fidl::encoding::Decoder<'_, D>,
2703 offset: usize,
2704 _depth: fidl::encoding::Depth,
2705 ) -> fidl::Result<()> {
2706 decoder.debug_check_bounds::<Self>(offset);
2707 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2709 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2710 let mask = 0xffffffffffffff00u64;
2711 let maskedval = padval & mask;
2712 if maskedval != 0 {
2713 return Err(fidl::Error::NonZeroPadding {
2714 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2715 });
2716 }
2717 fidl::decode!(
2718 fidl_fuchsia_wlan_ieee80211__common::WlanBand,
2719 D,
2720 &mut self.band,
2721 decoder,
2722 offset + 0,
2723 _depth
2724 )?;
2725 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2726 fidl::decode!(
2727 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2728 D,
2729 &mut self.ht_cap,
2730 decoder,
2731 offset + 24,
2732 _depth
2733 )?;
2734 fidl::decode!(
2735 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2736 D,
2737 &mut self.vht_cap,
2738 decoder,
2739 offset + 32,
2740 _depth
2741 )?;
2742 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.operating_channels, decoder, offset + 40, _depth)?;
2743 Ok(())
2744 }
2745 }
2746
2747 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2748 type Borrowed<'a> = &'a Self;
2749 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2750 value
2751 }
2752 }
2753
2754 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2755 type Owned = Self;
2756
2757 #[inline(always)]
2758 fn inline_align(_context: fidl::encoding::Context) -> usize {
2759 8
2760 }
2761
2762 #[inline(always)]
2763 fn inline_size(_context: fidl::encoding::Context) -> usize {
2764 16
2765 }
2766 }
2767
2768 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2769 for &CapturedFrameResult
2770 {
2771 #[inline]
2772 unsafe fn encode(
2773 self,
2774 encoder: &mut fidl::encoding::Encoder<'_, D>,
2775 offset: usize,
2776 _depth: fidl::encoding::Depth,
2777 ) -> fidl::Result<()> {
2778 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2779 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2781 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2782 &self.frame,
2783 ),),
2784 encoder,
2785 offset,
2786 _depth,
2787 )
2788 }
2789 }
2790 unsafe impl<
2791 D: fidl::encoding::ResourceDialect,
2792 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2793 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2794 {
2795 #[inline]
2796 unsafe fn encode(
2797 self,
2798 encoder: &mut fidl::encoding::Encoder<'_, D>,
2799 offset: usize,
2800 depth: fidl::encoding::Depth,
2801 ) -> fidl::Result<()> {
2802 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2803 self.0.encode(encoder, offset + 0, depth)?;
2807 Ok(())
2808 }
2809 }
2810
2811 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2812 #[inline(always)]
2813 fn new_empty() -> Self {
2814 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2815 }
2816
2817 #[inline]
2818 unsafe fn decode(
2819 &mut self,
2820 decoder: &mut fidl::encoding::Decoder<'_, D>,
2821 offset: usize,
2822 _depth: fidl::encoding::Depth,
2823 ) -> fidl::Result<()> {
2824 decoder.debug_check_bounds::<Self>(offset);
2825 fidl::decode!(
2827 fidl::encoding::UnboundedVector<u8>,
2828 D,
2829 &mut self.frame,
2830 decoder,
2831 offset + 0,
2832 _depth
2833 )?;
2834 Ok(())
2835 }
2836 }
2837
2838 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2839 type Borrowed<'a> = &'a Self;
2840 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2841 value
2842 }
2843 }
2844
2845 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2846 type Owned = Self;
2847
2848 #[inline(always)]
2849 fn inline_align(_context: fidl::encoding::Context) -> usize {
2850 8
2851 }
2852
2853 #[inline(always)]
2854 fn inline_size(_context: fidl::encoding::Context) -> usize {
2855 32
2856 }
2857 }
2858
2859 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2860 for &ConnectConfirm
2861 {
2862 #[inline]
2863 unsafe fn encode(
2864 self,
2865 encoder: &mut fidl::encoding::Encoder<'_, D>,
2866 offset: usize,
2867 _depth: fidl::encoding::Depth,
2868 ) -> fidl::Result<()> {
2869 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2870 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2872 (
2873 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2874 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2875 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2876 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2877 ),
2878 encoder, offset, _depth
2879 )
2880 }
2881 }
2882 unsafe impl<
2883 D: fidl::encoding::ResourceDialect,
2884 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2885 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
2886 T2: fidl::encoding::Encode<u16, D>,
2887 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2888 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2889 {
2890 #[inline]
2891 unsafe fn encode(
2892 self,
2893 encoder: &mut fidl::encoding::Encoder<'_, D>,
2894 offset: usize,
2895 depth: fidl::encoding::Depth,
2896 ) -> fidl::Result<()> {
2897 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2898 unsafe {
2901 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2902 (ptr as *mut u64).write_unaligned(0);
2903 }
2904 self.0.encode(encoder, offset + 0, depth)?;
2906 self.1.encode(encoder, offset + 6, depth)?;
2907 self.2.encode(encoder, offset + 8, depth)?;
2908 self.3.encode(encoder, offset + 16, depth)?;
2909 Ok(())
2910 }
2911 }
2912
2913 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2914 #[inline(always)]
2915 fn new_empty() -> Self {
2916 Self {
2917 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2918 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
2919 association_id: fidl::new_empty!(u16, D),
2920 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2921 }
2922 }
2923
2924 #[inline]
2925 unsafe fn decode(
2926 &mut self,
2927 decoder: &mut fidl::encoding::Decoder<'_, D>,
2928 offset: usize,
2929 _depth: fidl::encoding::Depth,
2930 ) -> fidl::Result<()> {
2931 decoder.debug_check_bounds::<Self>(offset);
2932 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2934 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2935 let mask = 0xffffffffffff0000u64;
2936 let maskedval = padval & mask;
2937 if maskedval != 0 {
2938 return Err(fidl::Error::NonZeroPadding {
2939 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2940 });
2941 }
2942 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2943 fidl::decode!(
2944 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
2945 D,
2946 &mut self.result_code,
2947 decoder,
2948 offset + 6,
2949 _depth
2950 )?;
2951 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2952 fidl::decode!(
2953 fidl::encoding::UnboundedVector<u8>,
2954 D,
2955 &mut self.association_ies,
2956 decoder,
2957 offset + 16,
2958 _depth
2959 )?;
2960 Ok(())
2961 }
2962 }
2963
2964 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
2965 type Borrowed<'a> = &'a Self;
2966 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2967 value
2968 }
2969 }
2970
2971 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
2972 type Owned = Self;
2973
2974 #[inline(always)]
2975 fn inline_align(_context: fidl::encoding::Context) -> usize {
2976 8
2977 }
2978
2979 #[inline(always)]
2980 fn inline_size(_context: fidl::encoding::Context) -> usize {
2981 104
2982 }
2983 }
2984
2985 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
2986 for &ConnectRequest
2987 {
2988 #[inline]
2989 unsafe fn encode(
2990 self,
2991 encoder: &mut fidl::encoding::Encoder<'_, D>,
2992 offset: usize,
2993 _depth: fidl::encoding::Depth,
2994 ) -> fidl::Result<()> {
2995 encoder.debug_check_bounds::<ConnectRequest>(offset);
2996 fidl::encoding::Encode::<ConnectRequest, D>::encode(
2998 (
2999 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
3000 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
3001 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
3002 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
3003 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
3004 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
3005 <fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey> as fidl::encoding::ValueTypeMarker>::borrow(&self.owe_public_key),
3006 ),
3007 encoder, offset, _depth
3008 )
3009 }
3010 }
3011 unsafe impl<
3012 D: fidl::encoding::ResourceDialect,
3013 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
3014 T1: fidl::encoding::Encode<u32, D>,
3015 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
3016 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
3017 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
3018 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
3019 T6: fidl::encoding::Encode<
3020 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
3021 D,
3022 >,
3023 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
3024 {
3025 #[inline]
3026 unsafe fn encode(
3027 self,
3028 encoder: &mut fidl::encoding::Encoder<'_, D>,
3029 offset: usize,
3030 depth: fidl::encoding::Depth,
3031 ) -> fidl::Result<()> {
3032 encoder.debug_check_bounds::<ConnectRequest>(offset);
3033 self.0.encode(encoder, offset + 0, depth)?;
3037 self.1.encode(encoder, offset + 48, depth)?;
3038 self.2.encode(encoder, offset + 52, depth)?;
3039 self.3.encode(encoder, offset + 56, depth)?;
3040 self.4.encode(encoder, offset + 72, depth)?;
3041 self.5.encode(encoder, offset + 80, depth)?;
3042 self.6.encode(encoder, offset + 96, depth)?;
3043 Ok(())
3044 }
3045 }
3046
3047 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
3048 #[inline(always)]
3049 fn new_empty() -> Self {
3050 Self {
3051 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
3052 connect_failure_timeout: fidl::new_empty!(u32, D),
3053 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3054 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3055 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3056 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3057 owe_public_key: fidl::new_empty!(
3058 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
3059 D
3060 ),
3061 }
3062 }
3063
3064 #[inline]
3065 unsafe fn decode(
3066 &mut self,
3067 decoder: &mut fidl::encoding::Decoder<'_, D>,
3068 offset: usize,
3069 _depth: fidl::encoding::Depth,
3070 ) -> fidl::Result<()> {
3071 decoder.debug_check_bounds::<Self>(offset);
3072 fidl::decode!(
3074 fidl_fuchsia_wlan_common__common::BssDescription,
3075 D,
3076 &mut self.selected_bss,
3077 decoder,
3078 offset + 0,
3079 _depth
3080 )?;
3081 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3082 fidl::decode!(
3083 AuthenticationTypes,
3084 D,
3085 &mut self.auth_type,
3086 decoder,
3087 offset + 52,
3088 _depth
3089 )?;
3090 fidl::decode!(
3091 fidl::encoding::UnboundedVector<u8>,
3092 D,
3093 &mut self.sae_password,
3094 decoder,
3095 offset + 56,
3096 _depth
3097 )?;
3098 fidl::decode!(
3099 fidl::encoding::Boxed<SetKeyDescriptor>,
3100 D,
3101 &mut self.wep_key,
3102 decoder,
3103 offset + 72,
3104 _depth
3105 )?;
3106 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3107 fidl::decode!(
3108 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
3109 D,
3110 &mut self.owe_public_key,
3111 decoder,
3112 offset + 96,
3113 _depth
3114 )?;
3115 Ok(())
3116 }
3117 }
3118
3119 impl fidl::encoding::ValueTypeMarker for Country {
3120 type Borrowed<'a> = &'a Self;
3121 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3122 value
3123 }
3124 }
3125
3126 unsafe impl fidl::encoding::TypeMarker for Country {
3127 type Owned = Self;
3128
3129 #[inline(always)]
3130 fn inline_align(_context: fidl::encoding::Context) -> usize {
3131 1
3132 }
3133
3134 #[inline(always)]
3135 fn inline_size(_context: fidl::encoding::Context) -> usize {
3136 3
3137 }
3138 #[inline(always)]
3139 fn encode_is_copy() -> bool {
3140 true
3141 }
3142
3143 #[inline(always)]
3144 fn decode_is_copy() -> bool {
3145 true
3146 }
3147 }
3148
3149 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3150 #[inline]
3151 unsafe fn encode(
3152 self,
3153 encoder: &mut fidl::encoding::Encoder<'_, D>,
3154 offset: usize,
3155 _depth: fidl::encoding::Depth,
3156 ) -> fidl::Result<()> {
3157 encoder.debug_check_bounds::<Country>(offset);
3158 unsafe {
3159 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3161 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3162 }
3165 Ok(())
3166 }
3167 }
3168 unsafe impl<
3169 D: fidl::encoding::ResourceDialect,
3170 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3171 T1: fidl::encoding::Encode<u8, D>,
3172 > fidl::encoding::Encode<Country, D> for (T0, T1)
3173 {
3174 #[inline]
3175 unsafe fn encode(
3176 self,
3177 encoder: &mut fidl::encoding::Encoder<'_, D>,
3178 offset: usize,
3179 depth: fidl::encoding::Depth,
3180 ) -> fidl::Result<()> {
3181 encoder.debug_check_bounds::<Country>(offset);
3182 self.0.encode(encoder, offset + 0, depth)?;
3186 self.1.encode(encoder, offset + 2, depth)?;
3187 Ok(())
3188 }
3189 }
3190
3191 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3192 #[inline(always)]
3193 fn new_empty() -> Self {
3194 Self {
3195 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3196 suffix: fidl::new_empty!(u8, D),
3197 }
3198 }
3199
3200 #[inline]
3201 unsafe fn decode(
3202 &mut self,
3203 decoder: &mut fidl::encoding::Decoder<'_, D>,
3204 offset: usize,
3205 _depth: fidl::encoding::Depth,
3206 ) -> fidl::Result<()> {
3207 decoder.debug_check_bounds::<Self>(offset);
3208 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3209 unsafe {
3212 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3213 }
3214 Ok(())
3215 }
3216 }
3217
3218 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3219 type Borrowed<'a> = &'a Self;
3220 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3221 value
3222 }
3223 }
3224
3225 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3226 type Owned = Self;
3227
3228 #[inline(always)]
3229 fn inline_align(_context: fidl::encoding::Context) -> usize {
3230 1
3231 }
3232
3233 #[inline(always)]
3234 fn inline_size(_context: fidl::encoding::Context) -> usize {
3235 6
3236 }
3237 #[inline(always)]
3238 fn encode_is_copy() -> bool {
3239 true
3240 }
3241
3242 #[inline(always)]
3243 fn decode_is_copy() -> bool {
3244 true
3245 }
3246 }
3247
3248 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3249 for &DeauthenticateConfirm
3250 {
3251 #[inline]
3252 unsafe fn encode(
3253 self,
3254 encoder: &mut fidl::encoding::Encoder<'_, D>,
3255 offset: usize,
3256 _depth: fidl::encoding::Depth,
3257 ) -> fidl::Result<()> {
3258 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3259 unsafe {
3260 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3262 (buf_ptr as *mut DeauthenticateConfirm)
3263 .write_unaligned((self as *const DeauthenticateConfirm).read());
3264 }
3267 Ok(())
3268 }
3269 }
3270 unsafe impl<
3271 D: fidl::encoding::ResourceDialect,
3272 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3273 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3274 {
3275 #[inline]
3276 unsafe fn encode(
3277 self,
3278 encoder: &mut fidl::encoding::Encoder<'_, D>,
3279 offset: usize,
3280 depth: fidl::encoding::Depth,
3281 ) -> fidl::Result<()> {
3282 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3283 self.0.encode(encoder, offset + 0, depth)?;
3287 Ok(())
3288 }
3289 }
3290
3291 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3292 #[inline(always)]
3293 fn new_empty() -> Self {
3294 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3295 }
3296
3297 #[inline]
3298 unsafe fn decode(
3299 &mut self,
3300 decoder: &mut fidl::encoding::Decoder<'_, D>,
3301 offset: usize,
3302 _depth: fidl::encoding::Depth,
3303 ) -> fidl::Result<()> {
3304 decoder.debug_check_bounds::<Self>(offset);
3305 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3306 unsafe {
3309 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3310 }
3311 Ok(())
3312 }
3313 }
3314
3315 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3316 type Borrowed<'a> = &'a Self;
3317 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3318 value
3319 }
3320 }
3321
3322 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3323 type Owned = Self;
3324
3325 #[inline(always)]
3326 fn inline_align(_context: fidl::encoding::Context) -> usize {
3327 2
3328 }
3329
3330 #[inline(always)]
3331 fn inline_size(_context: fidl::encoding::Context) -> usize {
3332 10
3333 }
3334 }
3335
3336 unsafe impl<D: fidl::encoding::ResourceDialect>
3337 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3338 {
3339 #[inline]
3340 unsafe fn encode(
3341 self,
3342 encoder: &mut fidl::encoding::Encoder<'_, D>,
3343 offset: usize,
3344 _depth: fidl::encoding::Depth,
3345 ) -> fidl::Result<()> {
3346 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3347 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3349 (
3350 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3351 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3352 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3353 ),
3354 encoder, offset, _depth
3355 )
3356 }
3357 }
3358 unsafe impl<
3359 D: fidl::encoding::ResourceDialect,
3360 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3361 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3362 T2: fidl::encoding::Encode<bool, D>,
3363 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3364 {
3365 #[inline]
3366 unsafe fn encode(
3367 self,
3368 encoder: &mut fidl::encoding::Encoder<'_, D>,
3369 offset: usize,
3370 depth: fidl::encoding::Depth,
3371 ) -> fidl::Result<()> {
3372 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3373 unsafe {
3376 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3377 (ptr as *mut u16).write_unaligned(0);
3378 }
3379 self.0.encode(encoder, offset + 0, depth)?;
3381 self.1.encode(encoder, offset + 6, depth)?;
3382 self.2.encode(encoder, offset + 8, depth)?;
3383 Ok(())
3384 }
3385 }
3386
3387 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3388 for DeauthenticateIndication
3389 {
3390 #[inline(always)]
3391 fn new_empty() -> Self {
3392 Self {
3393 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3394 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3395 locally_initiated: fidl::new_empty!(bool, D),
3396 }
3397 }
3398
3399 #[inline]
3400 unsafe fn decode(
3401 &mut self,
3402 decoder: &mut fidl::encoding::Decoder<'_, D>,
3403 offset: usize,
3404 _depth: fidl::encoding::Depth,
3405 ) -> fidl::Result<()> {
3406 decoder.debug_check_bounds::<Self>(offset);
3407 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3409 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3410 let mask = 0xff00u16;
3411 let maskedval = padval & mask;
3412 if maskedval != 0 {
3413 return Err(fidl::Error::NonZeroPadding {
3414 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3415 });
3416 }
3417 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3418 fidl::decode!(
3419 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3420 D,
3421 &mut self.reason_code,
3422 decoder,
3423 offset + 6,
3424 _depth
3425 )?;
3426 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3427 Ok(())
3428 }
3429 }
3430
3431 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3432 type Borrowed<'a> = &'a Self;
3433 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3434 value
3435 }
3436 }
3437
3438 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3439 type Owned = Self;
3440
3441 #[inline(always)]
3442 fn inline_align(_context: fidl::encoding::Context) -> usize {
3443 2
3444 }
3445
3446 #[inline(always)]
3447 fn inline_size(_context: fidl::encoding::Context) -> usize {
3448 8
3449 }
3450 }
3451
3452 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3453 for &DeauthenticateRequest
3454 {
3455 #[inline]
3456 unsafe fn encode(
3457 self,
3458 encoder: &mut fidl::encoding::Encoder<'_, D>,
3459 offset: usize,
3460 _depth: fidl::encoding::Depth,
3461 ) -> fidl::Result<()> {
3462 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3463 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3465 (
3466 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3467 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3468 ),
3469 encoder, offset, _depth
3470 )
3471 }
3472 }
3473 unsafe impl<
3474 D: fidl::encoding::ResourceDialect,
3475 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3476 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3477 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3478 {
3479 #[inline]
3480 unsafe fn encode(
3481 self,
3482 encoder: &mut fidl::encoding::Encoder<'_, D>,
3483 offset: usize,
3484 depth: fidl::encoding::Depth,
3485 ) -> fidl::Result<()> {
3486 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3487 self.0.encode(encoder, offset + 0, depth)?;
3491 self.1.encode(encoder, offset + 6, depth)?;
3492 Ok(())
3493 }
3494 }
3495
3496 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3497 #[inline(always)]
3498 fn new_empty() -> Self {
3499 Self {
3500 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3501 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3502 }
3503 }
3504
3505 #[inline]
3506 unsafe fn decode(
3507 &mut self,
3508 decoder: &mut fidl::encoding::Decoder<'_, D>,
3509 offset: usize,
3510 _depth: fidl::encoding::Depth,
3511 ) -> fidl::Result<()> {
3512 decoder.debug_check_bounds::<Self>(offset);
3513 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3515 fidl::decode!(
3516 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3517 D,
3518 &mut self.reason_code,
3519 decoder,
3520 offset + 6,
3521 _depth
3522 )?;
3523 Ok(())
3524 }
3525 }
3526
3527 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3528 type Borrowed<'a> = &'a Self;
3529 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3530 value
3531 }
3532 }
3533
3534 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3535 type Owned = Self;
3536
3537 #[inline(always)]
3538 fn inline_align(_context: fidl::encoding::Context) -> usize {
3539 4
3540 }
3541
3542 #[inline(always)]
3543 fn inline_size(_context: fidl::encoding::Context) -> usize {
3544 16
3545 }
3546 }
3547
3548 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3549 for &DeleteKeyDescriptor
3550 {
3551 #[inline]
3552 unsafe fn encode(
3553 self,
3554 encoder: &mut fidl::encoding::Encoder<'_, D>,
3555 offset: usize,
3556 _depth: fidl::encoding::Depth,
3557 ) -> fidl::Result<()> {
3558 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3559 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3561 (
3562 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3563 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3564 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3565 &self.address,
3566 ),
3567 ),
3568 encoder,
3569 offset,
3570 _depth,
3571 )
3572 }
3573 }
3574 unsafe impl<
3575 D: fidl::encoding::ResourceDialect,
3576 T0: fidl::encoding::Encode<u16, D>,
3577 T1: fidl::encoding::Encode<KeyType, D>,
3578 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3579 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3580 {
3581 #[inline]
3582 unsafe fn encode(
3583 self,
3584 encoder: &mut fidl::encoding::Encoder<'_, D>,
3585 offset: usize,
3586 depth: fidl::encoding::Depth,
3587 ) -> fidl::Result<()> {
3588 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3589 unsafe {
3592 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3593 (ptr as *mut u32).write_unaligned(0);
3594 }
3595 unsafe {
3596 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3597 (ptr as *mut u32).write_unaligned(0);
3598 }
3599 self.0.encode(encoder, offset + 0, depth)?;
3601 self.1.encode(encoder, offset + 4, depth)?;
3602 self.2.encode(encoder, offset + 8, depth)?;
3603 Ok(())
3604 }
3605 }
3606
3607 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3608 #[inline(always)]
3609 fn new_empty() -> Self {
3610 Self {
3611 key_id: fidl::new_empty!(u16, D),
3612 key_type: fidl::new_empty!(KeyType, D),
3613 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3614 }
3615 }
3616
3617 #[inline]
3618 unsafe fn decode(
3619 &mut self,
3620 decoder: &mut fidl::encoding::Decoder<'_, D>,
3621 offset: usize,
3622 _depth: fidl::encoding::Depth,
3623 ) -> fidl::Result<()> {
3624 decoder.debug_check_bounds::<Self>(offset);
3625 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3627 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3628 let mask = 0xffff0000u32;
3629 let maskedval = padval & mask;
3630 if maskedval != 0 {
3631 return Err(fidl::Error::NonZeroPadding {
3632 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3633 });
3634 }
3635 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3636 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3637 let mask = 0xffff0000u32;
3638 let maskedval = padval & mask;
3639 if maskedval != 0 {
3640 return Err(fidl::Error::NonZeroPadding {
3641 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3642 });
3643 }
3644 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3645 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3646 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3647 Ok(())
3648 }
3649 }
3650
3651 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3652 type Borrowed<'a> = &'a Self;
3653 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3654 value
3655 }
3656 }
3657
3658 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3659 type Owned = Self;
3660
3661 #[inline(always)]
3662 fn inline_align(_context: fidl::encoding::Context) -> usize {
3663 8
3664 }
3665
3666 #[inline(always)]
3667 fn inline_size(_context: fidl::encoding::Context) -> usize {
3668 16
3669 }
3670 }
3671
3672 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3673 for &DeleteKeysRequest
3674 {
3675 #[inline]
3676 unsafe fn encode(
3677 self,
3678 encoder: &mut fidl::encoding::Encoder<'_, D>,
3679 offset: usize,
3680 _depth: fidl::encoding::Depth,
3681 ) -> fidl::Result<()> {
3682 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3683 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3685 (
3686 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3687 ),
3688 encoder, offset, _depth
3689 )
3690 }
3691 }
3692 unsafe impl<
3693 D: fidl::encoding::ResourceDialect,
3694 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3695 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3696 {
3697 #[inline]
3698 unsafe fn encode(
3699 self,
3700 encoder: &mut fidl::encoding::Encoder<'_, D>,
3701 offset: usize,
3702 depth: fidl::encoding::Depth,
3703 ) -> fidl::Result<()> {
3704 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3705 self.0.encode(encoder, offset + 0, depth)?;
3709 Ok(())
3710 }
3711 }
3712
3713 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3714 #[inline(always)]
3715 fn new_empty() -> Self {
3716 Self {
3717 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3718 }
3719 }
3720
3721 #[inline]
3722 unsafe fn decode(
3723 &mut self,
3724 decoder: &mut fidl::encoding::Decoder<'_, D>,
3725 offset: usize,
3726 _depth: fidl::encoding::Depth,
3727 ) -> fidl::Result<()> {
3728 decoder.debug_check_bounds::<Self>(offset);
3729 fidl::decode!(
3731 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3732 D,
3733 &mut self.keylist,
3734 decoder,
3735 offset + 0,
3736 _depth
3737 )?;
3738 Ok(())
3739 }
3740 }
3741
3742 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3743 type Borrowed<'a> = &'a Self;
3744 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3745 value
3746 }
3747 }
3748
3749 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3750 type Owned = Self;
3751
3752 #[inline(always)]
3753 fn inline_align(_context: fidl::encoding::Context) -> usize {
3754 8
3755 }
3756
3757 #[inline(always)]
3758 fn inline_size(_context: fidl::encoding::Context) -> usize {
3759 40
3760 }
3761 }
3762
3763 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3764 for &DeviceInfo
3765 {
3766 #[inline]
3767 unsafe fn encode(
3768 self,
3769 encoder: &mut fidl::encoding::Encoder<'_, D>,
3770 offset: usize,
3771 _depth: fidl::encoding::Depth,
3772 ) -> fidl::Result<()> {
3773 encoder.debug_check_bounds::<DeviceInfo>(offset);
3774 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3776 (
3777 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3778 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.factory_addr),
3779 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3780 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3781 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3782 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3783 ),
3784 encoder, offset, _depth
3785 )
3786 }
3787 }
3788 unsafe impl<
3789 D: fidl::encoding::ResourceDialect,
3790 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3791 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3792 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
3793 T3: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3794 T4: fidl::encoding::Encode<u32, D>,
3795 T5: fidl::encoding::Encode<bool, D>,
3796 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4, T5)
3797 {
3798 #[inline]
3799 unsafe fn encode(
3800 self,
3801 encoder: &mut fidl::encoding::Encoder<'_, D>,
3802 offset: usize,
3803 depth: fidl::encoding::Depth,
3804 ) -> fidl::Result<()> {
3805 encoder.debug_check_bounds::<DeviceInfo>(offset);
3806 unsafe {
3809 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3810 (ptr as *mut u64).write_unaligned(0);
3811 }
3812 self.0.encode(encoder, offset + 0, depth)?;
3814 self.1.encode(encoder, offset + 6, depth)?;
3815 self.2.encode(encoder, offset + 12, depth)?;
3816 self.3.encode(encoder, offset + 16, depth)?;
3817 self.4.encode(encoder, offset + 32, depth)?;
3818 self.5.encode(encoder, offset + 36, depth)?;
3819 Ok(())
3820 }
3821 }
3822
3823 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3824 #[inline(always)]
3825 fn new_empty() -> Self {
3826 Self {
3827 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3828 factory_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3829 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
3830 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3831 softmac_hardware_capability: fidl::new_empty!(u32, D),
3832 qos_capable: fidl::new_empty!(bool, D),
3833 }
3834 }
3835
3836 #[inline]
3837 unsafe fn decode(
3838 &mut self,
3839 decoder: &mut fidl::encoding::Decoder<'_, D>,
3840 offset: usize,
3841 _depth: fidl::encoding::Depth,
3842 ) -> fidl::Result<()> {
3843 decoder.debug_check_bounds::<Self>(offset);
3844 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3846 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3847 let mask = 0xffffff0000000000u64;
3848 let maskedval = padval & mask;
3849 if maskedval != 0 {
3850 return Err(fidl::Error::NonZeroPadding {
3851 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3852 });
3853 }
3854 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3855 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.factory_addr, decoder, offset + 6, _depth)?;
3856 fidl::decode!(
3857 fidl_fuchsia_wlan_common__common::WlanMacRole,
3858 D,
3859 &mut self.role,
3860 decoder,
3861 offset + 12,
3862 _depth
3863 )?;
3864 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3865 fidl::decode!(
3866 u32,
3867 D,
3868 &mut self.softmac_hardware_capability,
3869 decoder,
3870 offset + 32,
3871 _depth
3872 )?;
3873 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3874 Ok(())
3875 }
3876 }
3877
3878 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3879 type Borrowed<'a> = &'a Self;
3880 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3881 value
3882 }
3883 }
3884
3885 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3886 type Owned = Self;
3887
3888 #[inline(always)]
3889 fn inline_align(_context: fidl::encoding::Context) -> usize {
3890 4
3891 }
3892
3893 #[inline(always)]
3894 fn inline_size(_context: fidl::encoding::Context) -> usize {
3895 4
3896 }
3897 #[inline(always)]
3898 fn encode_is_copy() -> bool {
3899 true
3900 }
3901
3902 #[inline(always)]
3903 fn decode_is_copy() -> bool {
3904 true
3905 }
3906 }
3907
3908 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3909 for &DisassociateConfirm
3910 {
3911 #[inline]
3912 unsafe fn encode(
3913 self,
3914 encoder: &mut fidl::encoding::Encoder<'_, D>,
3915 offset: usize,
3916 _depth: fidl::encoding::Depth,
3917 ) -> fidl::Result<()> {
3918 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3919 unsafe {
3920 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3922 (buf_ptr as *mut DisassociateConfirm)
3923 .write_unaligned((self as *const DisassociateConfirm).read());
3924 }
3927 Ok(())
3928 }
3929 }
3930 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3931 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3932 {
3933 #[inline]
3934 unsafe fn encode(
3935 self,
3936 encoder: &mut fidl::encoding::Encoder<'_, D>,
3937 offset: usize,
3938 depth: fidl::encoding::Depth,
3939 ) -> fidl::Result<()> {
3940 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3941 self.0.encode(encoder, offset + 0, depth)?;
3945 Ok(())
3946 }
3947 }
3948
3949 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
3950 #[inline(always)]
3951 fn new_empty() -> Self {
3952 Self { status: fidl::new_empty!(i32, D) }
3953 }
3954
3955 #[inline]
3956 unsafe fn decode(
3957 &mut self,
3958 decoder: &mut fidl::encoding::Decoder<'_, D>,
3959 offset: usize,
3960 _depth: fidl::encoding::Depth,
3961 ) -> fidl::Result<()> {
3962 decoder.debug_check_bounds::<Self>(offset);
3963 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3964 unsafe {
3967 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
3968 }
3969 Ok(())
3970 }
3971 }
3972
3973 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
3974 type Borrowed<'a> = &'a Self;
3975 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3976 value
3977 }
3978 }
3979
3980 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
3981 type Owned = Self;
3982
3983 #[inline(always)]
3984 fn inline_align(_context: fidl::encoding::Context) -> usize {
3985 2
3986 }
3987
3988 #[inline(always)]
3989 fn inline_size(_context: fidl::encoding::Context) -> usize {
3990 10
3991 }
3992 }
3993
3994 unsafe impl<D: fidl::encoding::ResourceDialect>
3995 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
3996 {
3997 #[inline]
3998 unsafe fn encode(
3999 self,
4000 encoder: &mut fidl::encoding::Encoder<'_, D>,
4001 offset: usize,
4002 _depth: fidl::encoding::Depth,
4003 ) -> fidl::Result<()> {
4004 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4005 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
4007 (
4008 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4009 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4010 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
4011 ),
4012 encoder, offset, _depth
4013 )
4014 }
4015 }
4016 unsafe impl<
4017 D: fidl::encoding::ResourceDialect,
4018 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4019 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
4020 T2: fidl::encoding::Encode<bool, D>,
4021 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
4022 {
4023 #[inline]
4024 unsafe fn encode(
4025 self,
4026 encoder: &mut fidl::encoding::Encoder<'_, D>,
4027 offset: usize,
4028 depth: fidl::encoding::Depth,
4029 ) -> fidl::Result<()> {
4030 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4031 unsafe {
4034 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4035 (ptr as *mut u16).write_unaligned(0);
4036 }
4037 self.0.encode(encoder, offset + 0, depth)?;
4039 self.1.encode(encoder, offset + 6, depth)?;
4040 self.2.encode(encoder, offset + 8, depth)?;
4041 Ok(())
4042 }
4043 }
4044
4045 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4046 for DisassociateIndication
4047 {
4048 #[inline(always)]
4049 fn new_empty() -> Self {
4050 Self {
4051 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4052 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4053 locally_initiated: fidl::new_empty!(bool, D),
4054 }
4055 }
4056
4057 #[inline]
4058 unsafe fn decode(
4059 &mut self,
4060 decoder: &mut fidl::encoding::Decoder<'_, D>,
4061 offset: usize,
4062 _depth: fidl::encoding::Depth,
4063 ) -> fidl::Result<()> {
4064 decoder.debug_check_bounds::<Self>(offset);
4065 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4067 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4068 let mask = 0xff00u16;
4069 let maskedval = padval & mask;
4070 if maskedval != 0 {
4071 return Err(fidl::Error::NonZeroPadding {
4072 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4073 });
4074 }
4075 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4076 fidl::decode!(
4077 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4078 D,
4079 &mut self.reason_code,
4080 decoder,
4081 offset + 6,
4082 _depth
4083 )?;
4084 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4085 Ok(())
4086 }
4087 }
4088
4089 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4090 type Borrowed<'a> = &'a Self;
4091 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4092 value
4093 }
4094 }
4095
4096 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4097 type Owned = Self;
4098
4099 #[inline(always)]
4100 fn inline_align(_context: fidl::encoding::Context) -> usize {
4101 2
4102 }
4103
4104 #[inline(always)]
4105 fn inline_size(_context: fidl::encoding::Context) -> usize {
4106 8
4107 }
4108 }
4109
4110 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4111 for &DisassociateRequest
4112 {
4113 #[inline]
4114 unsafe fn encode(
4115 self,
4116 encoder: &mut fidl::encoding::Encoder<'_, D>,
4117 offset: usize,
4118 _depth: fidl::encoding::Depth,
4119 ) -> fidl::Result<()> {
4120 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4121 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4123 (
4124 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4125 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4126 ),
4127 encoder, offset, _depth
4128 )
4129 }
4130 }
4131 unsafe impl<
4132 D: fidl::encoding::ResourceDialect,
4133 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4134 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
4135 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4136 {
4137 #[inline]
4138 unsafe fn encode(
4139 self,
4140 encoder: &mut fidl::encoding::Encoder<'_, D>,
4141 offset: usize,
4142 depth: fidl::encoding::Depth,
4143 ) -> fidl::Result<()> {
4144 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4145 self.0.encode(encoder, offset + 0, depth)?;
4149 self.1.encode(encoder, offset + 6, depth)?;
4150 Ok(())
4151 }
4152 }
4153
4154 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4155 #[inline(always)]
4156 fn new_empty() -> Self {
4157 Self {
4158 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4159 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4160 }
4161 }
4162
4163 #[inline]
4164 unsafe fn decode(
4165 &mut self,
4166 decoder: &mut fidl::encoding::Decoder<'_, D>,
4167 offset: usize,
4168 _depth: fidl::encoding::Depth,
4169 ) -> fidl::Result<()> {
4170 decoder.debug_check_bounds::<Self>(offset);
4171 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4173 fidl::decode!(
4174 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4175 D,
4176 &mut self.reason_code,
4177 decoder,
4178 offset + 6,
4179 _depth
4180 )?;
4181 Ok(())
4182 }
4183 }
4184
4185 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4186 type Borrowed<'a> = &'a Self;
4187 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4188 value
4189 }
4190 }
4191
4192 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4193 type Owned = Self;
4194
4195 #[inline(always)]
4196 fn inline_align(_context: fidl::encoding::Context) -> usize {
4197 4
4198 }
4199
4200 #[inline(always)]
4201 fn inline_size(_context: fidl::encoding::Context) -> usize {
4202 12
4203 }
4204 }
4205
4206 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4207 for &EapolConfirm
4208 {
4209 #[inline]
4210 unsafe fn encode(
4211 self,
4212 encoder: &mut fidl::encoding::Encoder<'_, D>,
4213 offset: usize,
4214 _depth: fidl::encoding::Depth,
4215 ) -> fidl::Result<()> {
4216 encoder.debug_check_bounds::<EapolConfirm>(offset);
4217 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4219 (
4220 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4221 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4222 &self.dst_addr,
4223 ),
4224 ),
4225 encoder,
4226 offset,
4227 _depth,
4228 )
4229 }
4230 }
4231 unsafe impl<
4232 D: fidl::encoding::ResourceDialect,
4233 T0: fidl::encoding::Encode<EapolResultCode, D>,
4234 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4235 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4236 {
4237 #[inline]
4238 unsafe fn encode(
4239 self,
4240 encoder: &mut fidl::encoding::Encoder<'_, D>,
4241 offset: usize,
4242 depth: fidl::encoding::Depth,
4243 ) -> fidl::Result<()> {
4244 encoder.debug_check_bounds::<EapolConfirm>(offset);
4245 unsafe {
4248 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4249 (ptr as *mut u32).write_unaligned(0);
4250 }
4251 self.0.encode(encoder, offset + 0, depth)?;
4253 self.1.encode(encoder, offset + 4, depth)?;
4254 Ok(())
4255 }
4256 }
4257
4258 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4259 #[inline(always)]
4260 fn new_empty() -> Self {
4261 Self {
4262 result_code: fidl::new_empty!(EapolResultCode, D),
4263 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4264 }
4265 }
4266
4267 #[inline]
4268 unsafe fn decode(
4269 &mut self,
4270 decoder: &mut fidl::encoding::Decoder<'_, D>,
4271 offset: usize,
4272 _depth: fidl::encoding::Depth,
4273 ) -> fidl::Result<()> {
4274 decoder.debug_check_bounds::<Self>(offset);
4275 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4277 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4278 let mask = 0xffff0000u32;
4279 let maskedval = padval & mask;
4280 if maskedval != 0 {
4281 return Err(fidl::Error::NonZeroPadding {
4282 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4283 });
4284 }
4285 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4286 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4287 Ok(())
4288 }
4289 }
4290
4291 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4292 type Borrowed<'a> = &'a Self;
4293 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4294 value
4295 }
4296 }
4297
4298 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4299 type Owned = Self;
4300
4301 #[inline(always)]
4302 fn inline_align(_context: fidl::encoding::Context) -> usize {
4303 8
4304 }
4305
4306 #[inline(always)]
4307 fn inline_size(_context: fidl::encoding::Context) -> usize {
4308 32
4309 }
4310 }
4311
4312 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4313 for &EapolIndication
4314 {
4315 #[inline]
4316 unsafe fn encode(
4317 self,
4318 encoder: &mut fidl::encoding::Encoder<'_, D>,
4319 offset: usize,
4320 _depth: fidl::encoding::Depth,
4321 ) -> fidl::Result<()> {
4322 encoder.debug_check_bounds::<EapolIndication>(offset);
4323 fidl::encoding::Encode::<EapolIndication, D>::encode(
4325 (
4326 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4327 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4328 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4329 ),
4330 encoder, offset, _depth
4331 )
4332 }
4333 }
4334 unsafe impl<
4335 D: fidl::encoding::ResourceDialect,
4336 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4337 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4338 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4339 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4340 {
4341 #[inline]
4342 unsafe fn encode(
4343 self,
4344 encoder: &mut fidl::encoding::Encoder<'_, D>,
4345 offset: usize,
4346 depth: fidl::encoding::Depth,
4347 ) -> fidl::Result<()> {
4348 encoder.debug_check_bounds::<EapolIndication>(offset);
4349 unsafe {
4352 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4353 (ptr as *mut u64).write_unaligned(0);
4354 }
4355 self.0.encode(encoder, offset + 0, depth)?;
4357 self.1.encode(encoder, offset + 6, depth)?;
4358 self.2.encode(encoder, offset + 16, depth)?;
4359 Ok(())
4360 }
4361 }
4362
4363 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4364 #[inline(always)]
4365 fn new_empty() -> Self {
4366 Self {
4367 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4368 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4369 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4370 }
4371 }
4372
4373 #[inline]
4374 unsafe fn decode(
4375 &mut self,
4376 decoder: &mut fidl::encoding::Decoder<'_, D>,
4377 offset: usize,
4378 _depth: fidl::encoding::Depth,
4379 ) -> fidl::Result<()> {
4380 decoder.debug_check_bounds::<Self>(offset);
4381 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4383 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4384 let mask = 0xffffffff00000000u64;
4385 let maskedval = padval & mask;
4386 if maskedval != 0 {
4387 return Err(fidl::Error::NonZeroPadding {
4388 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4389 });
4390 }
4391 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4392 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4393 fidl::decode!(
4394 fidl::encoding::UnboundedVector<u8>,
4395 D,
4396 &mut self.data,
4397 decoder,
4398 offset + 16,
4399 _depth
4400 )?;
4401 Ok(())
4402 }
4403 }
4404
4405 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4406 type Borrowed<'a> = &'a Self;
4407 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4408 value
4409 }
4410 }
4411
4412 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4413 type Owned = Self;
4414
4415 #[inline(always)]
4416 fn inline_align(_context: fidl::encoding::Context) -> usize {
4417 8
4418 }
4419
4420 #[inline(always)]
4421 fn inline_size(_context: fidl::encoding::Context) -> usize {
4422 32
4423 }
4424 }
4425
4426 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4427 for &EapolRequest
4428 {
4429 #[inline]
4430 unsafe fn encode(
4431 self,
4432 encoder: &mut fidl::encoding::Encoder<'_, D>,
4433 offset: usize,
4434 _depth: fidl::encoding::Depth,
4435 ) -> fidl::Result<()> {
4436 encoder.debug_check_bounds::<EapolRequest>(offset);
4437 fidl::encoding::Encode::<EapolRequest, D>::encode(
4439 (
4440 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4441 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4442 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4443 ),
4444 encoder, offset, _depth
4445 )
4446 }
4447 }
4448 unsafe impl<
4449 D: fidl::encoding::ResourceDialect,
4450 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4451 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4452 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4453 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4454 {
4455 #[inline]
4456 unsafe fn encode(
4457 self,
4458 encoder: &mut fidl::encoding::Encoder<'_, D>,
4459 offset: usize,
4460 depth: fidl::encoding::Depth,
4461 ) -> fidl::Result<()> {
4462 encoder.debug_check_bounds::<EapolRequest>(offset);
4463 unsafe {
4466 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4467 (ptr as *mut u64).write_unaligned(0);
4468 }
4469 self.0.encode(encoder, offset + 0, depth)?;
4471 self.1.encode(encoder, offset + 6, depth)?;
4472 self.2.encode(encoder, offset + 16, depth)?;
4473 Ok(())
4474 }
4475 }
4476
4477 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4478 #[inline(always)]
4479 fn new_empty() -> Self {
4480 Self {
4481 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4482 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4483 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4484 }
4485 }
4486
4487 #[inline]
4488 unsafe fn decode(
4489 &mut self,
4490 decoder: &mut fidl::encoding::Decoder<'_, D>,
4491 offset: usize,
4492 _depth: fidl::encoding::Depth,
4493 ) -> fidl::Result<()> {
4494 decoder.debug_check_bounds::<Self>(offset);
4495 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4497 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4498 let mask = 0xffffffff00000000u64;
4499 let maskedval = padval & mask;
4500 if maskedval != 0 {
4501 return Err(fidl::Error::NonZeroPadding {
4502 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4503 });
4504 }
4505 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4506 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4507 fidl::decode!(
4508 fidl::encoding::UnboundedVector<u8>,
4509 D,
4510 &mut self.data,
4511 decoder,
4512 offset + 16,
4513 _depth
4514 )?;
4515 Ok(())
4516 }
4517 }
4518
4519 impl fidl::encoding::ValueTypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4520 type Borrowed<'a> = &'a Self;
4521 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4522 value
4523 }
4524 }
4525
4526 unsafe impl fidl::encoding::TypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4527 type Owned = Self;
4528
4529 #[inline(always)]
4530 fn inline_align(_context: fidl::encoding::Context) -> usize {
4531 1
4532 }
4533
4534 #[inline(always)]
4535 fn inline_size(_context: fidl::encoding::Context) -> usize {
4536 1
4537 }
4538 }
4539
4540 unsafe impl<D: fidl::encoding::ResourceDialect>
4541 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D>
4542 for &MlmeGetApfPacketFilterEnabledResponse
4543 {
4544 #[inline]
4545 unsafe fn encode(
4546 self,
4547 encoder: &mut fidl::encoding::Encoder<'_, D>,
4548 offset: usize,
4549 _depth: fidl::encoding::Depth,
4550 ) -> fidl::Result<()> {
4551 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4552 fidl::encoding::Encode::<MlmeGetApfPacketFilterEnabledResponse, D>::encode(
4554 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
4555 encoder,
4556 offset,
4557 _depth,
4558 )
4559 }
4560 }
4561 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
4562 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D> for (T0,)
4563 {
4564 #[inline]
4565 unsafe fn encode(
4566 self,
4567 encoder: &mut fidl::encoding::Encoder<'_, D>,
4568 offset: usize,
4569 depth: fidl::encoding::Depth,
4570 ) -> fidl::Result<()> {
4571 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4572 self.0.encode(encoder, offset + 0, depth)?;
4576 Ok(())
4577 }
4578 }
4579
4580 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4581 for MlmeGetApfPacketFilterEnabledResponse
4582 {
4583 #[inline(always)]
4584 fn new_empty() -> Self {
4585 Self { enabled: fidl::new_empty!(bool, D) }
4586 }
4587
4588 #[inline]
4589 unsafe fn decode(
4590 &mut self,
4591 decoder: &mut fidl::encoding::Decoder<'_, D>,
4592 offset: usize,
4593 _depth: fidl::encoding::Depth,
4594 ) -> fidl::Result<()> {
4595 decoder.debug_check_bounds::<Self>(offset);
4596 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
4598 Ok(())
4599 }
4600 }
4601
4602 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4603 type Borrowed<'a> = &'a Self;
4604 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4605 value
4606 }
4607 }
4608
4609 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4610 type Owned = Self;
4611
4612 #[inline(always)]
4613 fn inline_align(_context: fidl::encoding::Context) -> usize {
4614 8
4615 }
4616
4617 #[inline(always)]
4618 fn inline_size(_context: fidl::encoding::Context) -> usize {
4619 16
4620 }
4621 }
4622
4623 unsafe impl<D: fidl::encoding::ResourceDialect>
4624 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4625 {
4626 #[inline]
4627 unsafe fn encode(
4628 self,
4629 encoder: &mut fidl::encoding::Encoder<'_, D>,
4630 offset: usize,
4631 _depth: fidl::encoding::Depth,
4632 ) -> fidl::Result<()> {
4633 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4634 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4636 (
4637 <fidl_fuchsia_wlan_stats__common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4638 ),
4639 encoder, offset, _depth
4640 )
4641 }
4642 }
4643 unsafe impl<
4644 D: fidl::encoding::ResourceDialect,
4645 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::SignalReport, D>,
4646 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4647 {
4648 #[inline]
4649 unsafe fn encode(
4650 self,
4651 encoder: &mut fidl::encoding::Encoder<'_, D>,
4652 offset: usize,
4653 depth: fidl::encoding::Depth,
4654 ) -> fidl::Result<()> {
4655 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4656 self.0.encode(encoder, offset + 0, depth)?;
4660 Ok(())
4661 }
4662 }
4663
4664 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4665 for MlmeGetSignalReportResponse
4666 {
4667 #[inline(always)]
4668 fn new_empty() -> Self {
4669 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::SignalReport, D) }
4670 }
4671
4672 #[inline]
4673 unsafe fn decode(
4674 &mut self,
4675 decoder: &mut fidl::encoding::Decoder<'_, D>,
4676 offset: usize,
4677 _depth: fidl::encoding::Depth,
4678 ) -> fidl::Result<()> {
4679 decoder.debug_check_bounds::<Self>(offset);
4680 fidl::decode!(
4682 fidl_fuchsia_wlan_stats__common::SignalReport,
4683 D,
4684 &mut self.resp,
4685 decoder,
4686 offset + 0,
4687 _depth
4688 )?;
4689 Ok(())
4690 }
4691 }
4692
4693 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4694 type Borrowed<'a> = &'a Self;
4695 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4696 value
4697 }
4698 }
4699
4700 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4701 type Owned = Self;
4702
4703 #[inline(always)]
4704 fn inline_align(_context: fidl::encoding::Context) -> usize {
4705 8
4706 }
4707
4708 #[inline(always)]
4709 fn inline_size(_context: fidl::encoding::Context) -> usize {
4710 16
4711 }
4712 }
4713
4714 unsafe impl<D: fidl::encoding::ResourceDialect>
4715 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4716 for &MlmeQueryTelemetrySupportResponse
4717 {
4718 #[inline]
4719 unsafe fn encode(
4720 self,
4721 encoder: &mut fidl::encoding::Encoder<'_, D>,
4722 offset: usize,
4723 _depth: fidl::encoding::Depth,
4724 ) -> fidl::Result<()> {
4725 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4726 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4728 (
4729 <fidl_fuchsia_wlan_stats__common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4730 ),
4731 encoder, offset, _depth
4732 )
4733 }
4734 }
4735 unsafe impl<
4736 D: fidl::encoding::ResourceDialect,
4737 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::TelemetrySupport, D>,
4738 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4739 {
4740 #[inline]
4741 unsafe fn encode(
4742 self,
4743 encoder: &mut fidl::encoding::Encoder<'_, D>,
4744 offset: usize,
4745 depth: fidl::encoding::Depth,
4746 ) -> fidl::Result<()> {
4747 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4748 self.0.encode(encoder, offset + 0, depth)?;
4752 Ok(())
4753 }
4754 }
4755
4756 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4757 for MlmeQueryTelemetrySupportResponse
4758 {
4759 #[inline(always)]
4760 fn new_empty() -> Self {
4761 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::TelemetrySupport, D) }
4762 }
4763
4764 #[inline]
4765 unsafe fn decode(
4766 &mut self,
4767 decoder: &mut fidl::encoding::Decoder<'_, D>,
4768 offset: usize,
4769 _depth: fidl::encoding::Depth,
4770 ) -> fidl::Result<()> {
4771 decoder.debug_check_bounds::<Self>(offset);
4772 fidl::decode!(
4774 fidl_fuchsia_wlan_stats__common::TelemetrySupport,
4775 D,
4776 &mut self.resp,
4777 decoder,
4778 offset + 0,
4779 _depth
4780 )?;
4781 Ok(())
4782 }
4783 }
4784
4785 impl fidl::encoding::ValueTypeMarker for MlmeReadApfPacketFilterDataResponse {
4786 type Borrowed<'a> = &'a Self;
4787 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4788 value
4789 }
4790 }
4791
4792 unsafe impl fidl::encoding::TypeMarker for MlmeReadApfPacketFilterDataResponse {
4793 type Owned = Self;
4794
4795 #[inline(always)]
4796 fn inline_align(_context: fidl::encoding::Context) -> usize {
4797 8
4798 }
4799
4800 #[inline(always)]
4801 fn inline_size(_context: fidl::encoding::Context) -> usize {
4802 16
4803 }
4804 }
4805
4806 unsafe impl<D: fidl::encoding::ResourceDialect>
4807 fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D>
4808 for &MlmeReadApfPacketFilterDataResponse
4809 {
4810 #[inline]
4811 unsafe fn encode(
4812 self,
4813 encoder: &mut fidl::encoding::Encoder<'_, D>,
4814 offset: usize,
4815 _depth: fidl::encoding::Depth,
4816 ) -> fidl::Result<()> {
4817 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4818 fidl::encoding::Encode::<MlmeReadApfPacketFilterDataResponse, D>::encode(
4820 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
4821 &self.memory,
4822 ),),
4823 encoder,
4824 offset,
4825 _depth,
4826 )
4827 }
4828 }
4829 unsafe impl<
4830 D: fidl::encoding::ResourceDialect,
4831 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4832 > fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D> for (T0,)
4833 {
4834 #[inline]
4835 unsafe fn encode(
4836 self,
4837 encoder: &mut fidl::encoding::Encoder<'_, D>,
4838 offset: usize,
4839 depth: fidl::encoding::Depth,
4840 ) -> fidl::Result<()> {
4841 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4842 self.0.encode(encoder, offset + 0, depth)?;
4846 Ok(())
4847 }
4848 }
4849
4850 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4851 for MlmeReadApfPacketFilterDataResponse
4852 {
4853 #[inline(always)]
4854 fn new_empty() -> Self {
4855 Self { memory: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
4856 }
4857
4858 #[inline]
4859 unsafe fn decode(
4860 &mut self,
4861 decoder: &mut fidl::encoding::Decoder<'_, D>,
4862 offset: usize,
4863 _depth: fidl::encoding::Depth,
4864 ) -> fidl::Result<()> {
4865 decoder.debug_check_bounds::<Self>(offset);
4866 fidl::decode!(
4868 fidl::encoding::UnboundedVector<u8>,
4869 D,
4870 &mut self.memory,
4871 decoder,
4872 offset + 0,
4873 _depth
4874 )?;
4875 Ok(())
4876 }
4877 }
4878
4879 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
4880 type Borrowed<'a> = &'a Self;
4881 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4882 value
4883 }
4884 }
4885
4886 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
4887 type Owned = Self;
4888
4889 #[inline(always)]
4890 fn inline_align(_context: fidl::encoding::Context) -> usize {
4891 8
4892 }
4893
4894 #[inline(always)]
4895 fn inline_size(_context: fidl::encoding::Context) -> usize {
4896 16
4897 }
4898 }
4899
4900 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
4901 for &MinstrelListResponse
4902 {
4903 #[inline]
4904 unsafe fn encode(
4905 self,
4906 encoder: &mut fidl::encoding::Encoder<'_, D>,
4907 offset: usize,
4908 _depth: fidl::encoding::Depth,
4909 ) -> fidl::Result<()> {
4910 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4911 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
4913 (
4914 <fidl_fuchsia_wlan_minstrel__common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
4915 ),
4916 encoder, offset, _depth
4917 )
4918 }
4919 }
4920 unsafe impl<
4921 D: fidl::encoding::ResourceDialect,
4922 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel__common::Peers, D>,
4923 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
4924 {
4925 #[inline]
4926 unsafe fn encode(
4927 self,
4928 encoder: &mut fidl::encoding::Encoder<'_, D>,
4929 offset: usize,
4930 depth: fidl::encoding::Depth,
4931 ) -> fidl::Result<()> {
4932 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4933 self.0.encode(encoder, offset + 0, depth)?;
4937 Ok(())
4938 }
4939 }
4940
4941 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
4942 #[inline(always)]
4943 fn new_empty() -> Self {
4944 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel__common::Peers, D) }
4945 }
4946
4947 #[inline]
4948 unsafe fn decode(
4949 &mut self,
4950 decoder: &mut fidl::encoding::Decoder<'_, D>,
4951 offset: usize,
4952 _depth: fidl::encoding::Depth,
4953 ) -> fidl::Result<()> {
4954 decoder.debug_check_bounds::<Self>(offset);
4955 fidl::decode!(
4957 fidl_fuchsia_wlan_minstrel__common::Peers,
4958 D,
4959 &mut self.peers,
4960 decoder,
4961 offset + 0,
4962 _depth
4963 )?;
4964 Ok(())
4965 }
4966 }
4967
4968 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
4969 type Borrowed<'a> = &'a Self;
4970 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4971 value
4972 }
4973 }
4974
4975 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
4976 type Owned = Self;
4977
4978 #[inline(always)]
4979 fn inline_align(_context: fidl::encoding::Context) -> usize {
4980 1
4981 }
4982
4983 #[inline(always)]
4984 fn inline_size(_context: fidl::encoding::Context) -> usize {
4985 6
4986 }
4987 #[inline(always)]
4988 fn encode_is_copy() -> bool {
4989 true
4990 }
4991
4992 #[inline(always)]
4993 fn decode_is_copy() -> bool {
4994 true
4995 }
4996 }
4997
4998 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
4999 for &MinstrelStatsRequest
5000 {
5001 #[inline]
5002 unsafe fn encode(
5003 self,
5004 encoder: &mut fidl::encoding::Encoder<'_, D>,
5005 offset: usize,
5006 _depth: fidl::encoding::Depth,
5007 ) -> fidl::Result<()> {
5008 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5009 unsafe {
5010 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5012 (buf_ptr as *mut MinstrelStatsRequest)
5013 .write_unaligned((self as *const MinstrelStatsRequest).read());
5014 }
5017 Ok(())
5018 }
5019 }
5020 unsafe impl<
5021 D: fidl::encoding::ResourceDialect,
5022 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
5023 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
5024 {
5025 #[inline]
5026 unsafe fn encode(
5027 self,
5028 encoder: &mut fidl::encoding::Encoder<'_, D>,
5029 offset: usize,
5030 depth: fidl::encoding::Depth,
5031 ) -> fidl::Result<()> {
5032 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5033 self.0.encode(encoder, offset + 0, depth)?;
5037 Ok(())
5038 }
5039 }
5040
5041 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
5042 #[inline(always)]
5043 fn new_empty() -> Self {
5044 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
5045 }
5046
5047 #[inline]
5048 unsafe fn decode(
5049 &mut self,
5050 decoder: &mut fidl::encoding::Decoder<'_, D>,
5051 offset: usize,
5052 _depth: fidl::encoding::Depth,
5053 ) -> fidl::Result<()> {
5054 decoder.debug_check_bounds::<Self>(offset);
5055 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5056 unsafe {
5059 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5060 }
5061 Ok(())
5062 }
5063 }
5064
5065 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
5066 type Borrowed<'a> = &'a Self;
5067 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5068 value
5069 }
5070 }
5071
5072 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
5073 type Owned = Self;
5074
5075 #[inline(always)]
5076 fn inline_align(_context: fidl::encoding::Context) -> usize {
5077 8
5078 }
5079
5080 #[inline(always)]
5081 fn inline_size(_context: fidl::encoding::Context) -> usize {
5082 8
5083 }
5084 }
5085
5086 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
5087 for &MinstrelStatsResponse
5088 {
5089 #[inline]
5090 unsafe fn encode(
5091 self,
5092 encoder: &mut fidl::encoding::Encoder<'_, D>,
5093 offset: usize,
5094 _depth: fidl::encoding::Depth,
5095 ) -> fidl::Result<()> {
5096 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5097 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
5099 (
5100 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
5101 ),
5102 encoder, offset, _depth
5103 )
5104 }
5105 }
5106 unsafe impl<
5107 D: fidl::encoding::ResourceDialect,
5108 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>, D>,
5109 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
5110 {
5111 #[inline]
5112 unsafe fn encode(
5113 self,
5114 encoder: &mut fidl::encoding::Encoder<'_, D>,
5115 offset: usize,
5116 depth: fidl::encoding::Depth,
5117 ) -> fidl::Result<()> {
5118 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5119 self.0.encode(encoder, offset + 0, depth)?;
5123 Ok(())
5124 }
5125 }
5126
5127 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
5128 #[inline(always)]
5129 fn new_empty() -> Self {
5130 Self {
5131 peer: fidl::new_empty!(
5132 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
5133 D
5134 ),
5135 }
5136 }
5137
5138 #[inline]
5139 unsafe fn decode(
5140 &mut self,
5141 decoder: &mut fidl::encoding::Decoder<'_, D>,
5142 offset: usize,
5143 _depth: fidl::encoding::Depth,
5144 ) -> fidl::Result<()> {
5145 decoder.debug_check_bounds::<Self>(offset);
5146 fidl::decode!(
5148 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
5149 D,
5150 &mut self.peer,
5151 decoder,
5152 offset + 0,
5153 _depth
5154 )?;
5155 Ok(())
5156 }
5157 }
5158
5159 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
5160 type Borrowed<'a> = &'a Self;
5161 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5162 value
5163 }
5164 }
5165
5166 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
5167 type Owned = Self;
5168
5169 #[inline(always)]
5170 fn inline_align(_context: fidl::encoding::Context) -> usize {
5171 8
5172 }
5173
5174 #[inline(always)]
5175 fn inline_size(_context: fidl::encoding::Context) -> usize {
5176 64
5177 }
5178 }
5179
5180 unsafe impl<D: fidl::encoding::ResourceDialect>
5181 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
5182 {
5183 #[inline]
5184 unsafe fn encode(
5185 self,
5186 encoder: &mut fidl::encoding::Encoder<'_, D>,
5187 offset: usize,
5188 _depth: fidl::encoding::Depth,
5189 ) -> fidl::Result<()> {
5190 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5191 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
5193 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5194 encoder,
5195 offset,
5196 _depth,
5197 )
5198 }
5199 }
5200 unsafe impl<
5201 D: fidl::encoding::ResourceDialect,
5202 T0: fidl::encoding::Encode<AssociateIndication, D>,
5203 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
5204 {
5205 #[inline]
5206 unsafe fn encode(
5207 self,
5208 encoder: &mut fidl::encoding::Encoder<'_, D>,
5209 offset: usize,
5210 depth: fidl::encoding::Depth,
5211 ) -> fidl::Result<()> {
5212 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5213 self.0.encode(encoder, offset + 0, depth)?;
5217 Ok(())
5218 }
5219 }
5220
5221 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5222 for MlmeAssociateIndRequest
5223 {
5224 #[inline(always)]
5225 fn new_empty() -> Self {
5226 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5227 }
5228
5229 #[inline]
5230 unsafe fn decode(
5231 &mut self,
5232 decoder: &mut fidl::encoding::Decoder<'_, D>,
5233 offset: usize,
5234 _depth: fidl::encoding::Depth,
5235 ) -> fidl::Result<()> {
5236 decoder.debug_check_bounds::<Self>(offset);
5237 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5239 Ok(())
5240 }
5241 }
5242
5243 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5244 type Borrowed<'a> = &'a Self;
5245 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5246 value
5247 }
5248 }
5249
5250 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5251 type Owned = Self;
5252
5253 #[inline(always)]
5254 fn inline_align(_context: fidl::encoding::Context) -> usize {
5255 8
5256 }
5257
5258 #[inline(always)]
5259 fn inline_size(_context: fidl::encoding::Context) -> usize {
5260 32
5261 }
5262 }
5263
5264 unsafe impl<D: fidl::encoding::ResourceDialect>
5265 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5266 {
5267 #[inline]
5268 unsafe fn encode(
5269 self,
5270 encoder: &mut fidl::encoding::Encoder<'_, D>,
5271 offset: usize,
5272 _depth: fidl::encoding::Depth,
5273 ) -> fidl::Result<()> {
5274 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5275 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5277 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5278 encoder,
5279 offset,
5280 _depth,
5281 )
5282 }
5283 }
5284 unsafe impl<
5285 D: fidl::encoding::ResourceDialect,
5286 T0: fidl::encoding::Encode<AssociateResponse, D>,
5287 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5288 {
5289 #[inline]
5290 unsafe fn encode(
5291 self,
5292 encoder: &mut fidl::encoding::Encoder<'_, D>,
5293 offset: usize,
5294 depth: fidl::encoding::Depth,
5295 ) -> fidl::Result<()> {
5296 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5297 self.0.encode(encoder, offset + 0, depth)?;
5301 Ok(())
5302 }
5303 }
5304
5305 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5306 for MlmeAssociateRespRequest
5307 {
5308 #[inline(always)]
5309 fn new_empty() -> Self {
5310 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5311 }
5312
5313 #[inline]
5314 unsafe fn decode(
5315 &mut self,
5316 decoder: &mut fidl::encoding::Decoder<'_, D>,
5317 offset: usize,
5318 _depth: fidl::encoding::Depth,
5319 ) -> fidl::Result<()> {
5320 decoder.debug_check_bounds::<Self>(offset);
5321 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5323 Ok(())
5324 }
5325 }
5326
5327 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5328 type Borrowed<'a> = &'a Self;
5329 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5330 value
5331 }
5332 }
5333
5334 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5335 type Owned = Self;
5336
5337 #[inline(always)]
5338 fn inline_align(_context: fidl::encoding::Context) -> usize {
5339 4
5340 }
5341
5342 #[inline(always)]
5343 fn inline_size(_context: fidl::encoding::Context) -> usize {
5344 12
5345 }
5346 }
5347
5348 unsafe impl<D: fidl::encoding::ResourceDialect>
5349 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5350 {
5351 #[inline]
5352 unsafe fn encode(
5353 self,
5354 encoder: &mut fidl::encoding::Encoder<'_, D>,
5355 offset: usize,
5356 _depth: fidl::encoding::Depth,
5357 ) -> fidl::Result<()> {
5358 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5359 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5361 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5362 encoder,
5363 offset,
5364 _depth,
5365 )
5366 }
5367 }
5368 unsafe impl<
5369 D: fidl::encoding::ResourceDialect,
5370 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5371 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5372 {
5373 #[inline]
5374 unsafe fn encode(
5375 self,
5376 encoder: &mut fidl::encoding::Encoder<'_, D>,
5377 offset: usize,
5378 depth: fidl::encoding::Depth,
5379 ) -> fidl::Result<()> {
5380 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5381 self.0.encode(encoder, offset + 0, depth)?;
5385 Ok(())
5386 }
5387 }
5388
5389 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5390 for MlmeAuthenticateIndRequest
5391 {
5392 #[inline(always)]
5393 fn new_empty() -> Self {
5394 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5395 }
5396
5397 #[inline]
5398 unsafe fn decode(
5399 &mut self,
5400 decoder: &mut fidl::encoding::Decoder<'_, D>,
5401 offset: usize,
5402 _depth: fidl::encoding::Depth,
5403 ) -> fidl::Result<()> {
5404 decoder.debug_check_bounds::<Self>(offset);
5405 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5407 Ok(())
5408 }
5409 }
5410
5411 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5412 type Borrowed<'a> = &'a Self;
5413 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5414 value
5415 }
5416 }
5417
5418 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5419 type Owned = Self;
5420
5421 #[inline(always)]
5422 fn inline_align(_context: fidl::encoding::Context) -> usize {
5423 4
5424 }
5425
5426 #[inline(always)]
5427 fn inline_size(_context: fidl::encoding::Context) -> usize {
5428 12
5429 }
5430 }
5431
5432 unsafe impl<D: fidl::encoding::ResourceDialect>
5433 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5434 {
5435 #[inline]
5436 unsafe fn encode(
5437 self,
5438 encoder: &mut fidl::encoding::Encoder<'_, D>,
5439 offset: usize,
5440 _depth: fidl::encoding::Depth,
5441 ) -> fidl::Result<()> {
5442 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5443 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5445 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5446 encoder,
5447 offset,
5448 _depth,
5449 )
5450 }
5451 }
5452 unsafe impl<
5453 D: fidl::encoding::ResourceDialect,
5454 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5455 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5456 {
5457 #[inline]
5458 unsafe fn encode(
5459 self,
5460 encoder: &mut fidl::encoding::Encoder<'_, D>,
5461 offset: usize,
5462 depth: fidl::encoding::Depth,
5463 ) -> fidl::Result<()> {
5464 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5465 self.0.encode(encoder, offset + 0, depth)?;
5469 Ok(())
5470 }
5471 }
5472
5473 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5474 for MlmeAuthenticateRespRequest
5475 {
5476 #[inline(always)]
5477 fn new_empty() -> Self {
5478 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5479 }
5480
5481 #[inline]
5482 unsafe fn decode(
5483 &mut self,
5484 decoder: &mut fidl::encoding::Decoder<'_, D>,
5485 offset: usize,
5486 _depth: fidl::encoding::Depth,
5487 ) -> fidl::Result<()> {
5488 decoder.debug_check_bounds::<Self>(offset);
5489 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5491 Ok(())
5492 }
5493 }
5494
5495 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5496 type Borrowed<'a> = &'a Self;
5497 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5498 value
5499 }
5500 }
5501
5502 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5503 type Owned = Self;
5504
5505 #[inline(always)]
5506 fn inline_align(_context: fidl::encoding::Context) -> usize {
5507 8
5508 }
5509
5510 #[inline(always)]
5511 fn inline_size(_context: fidl::encoding::Context) -> usize {
5512 32
5513 }
5514 }
5515
5516 unsafe impl<D: fidl::encoding::ResourceDialect>
5517 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5518 {
5519 #[inline]
5520 unsafe fn encode(
5521 self,
5522 encoder: &mut fidl::encoding::Encoder<'_, D>,
5523 offset: usize,
5524 _depth: fidl::encoding::Depth,
5525 ) -> fidl::Result<()> {
5526 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5527 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5529 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5530 encoder,
5531 offset,
5532 _depth,
5533 )
5534 }
5535 }
5536 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5537 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5538 {
5539 #[inline]
5540 unsafe fn encode(
5541 self,
5542 encoder: &mut fidl::encoding::Encoder<'_, D>,
5543 offset: usize,
5544 depth: fidl::encoding::Depth,
5545 ) -> fidl::Result<()> {
5546 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5547 self.0.encode(encoder, offset + 0, depth)?;
5551 Ok(())
5552 }
5553 }
5554
5555 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5556 for MlmeConnectConfRequest
5557 {
5558 #[inline(always)]
5559 fn new_empty() -> Self {
5560 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5561 }
5562
5563 #[inline]
5564 unsafe fn decode(
5565 &mut self,
5566 decoder: &mut fidl::encoding::Decoder<'_, D>,
5567 offset: usize,
5568 _depth: fidl::encoding::Depth,
5569 ) -> fidl::Result<()> {
5570 decoder.debug_check_bounds::<Self>(offset);
5571 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5573 Ok(())
5574 }
5575 }
5576
5577 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5578 type Borrowed<'a> = &'a Self;
5579 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5580 value
5581 }
5582 }
5583
5584 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5585 type Owned = Self;
5586
5587 #[inline(always)]
5588 fn inline_align(_context: fidl::encoding::Context) -> usize {
5589 8
5590 }
5591
5592 #[inline(always)]
5593 fn inline_size(_context: fidl::encoding::Context) -> usize {
5594 104
5595 }
5596 }
5597
5598 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5599 for &MlmeConnectReqRequest
5600 {
5601 #[inline]
5602 unsafe fn encode(
5603 self,
5604 encoder: &mut fidl::encoding::Encoder<'_, D>,
5605 offset: usize,
5606 _depth: fidl::encoding::Depth,
5607 ) -> fidl::Result<()> {
5608 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5609 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5611 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5612 encoder,
5613 offset,
5614 _depth,
5615 )
5616 }
5617 }
5618 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5619 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5620 {
5621 #[inline]
5622 unsafe fn encode(
5623 self,
5624 encoder: &mut fidl::encoding::Encoder<'_, D>,
5625 offset: usize,
5626 depth: fidl::encoding::Depth,
5627 ) -> fidl::Result<()> {
5628 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5629 self.0.encode(encoder, offset + 0, depth)?;
5633 Ok(())
5634 }
5635 }
5636
5637 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5638 #[inline(always)]
5639 fn new_empty() -> Self {
5640 Self { req: fidl::new_empty!(ConnectRequest, D) }
5641 }
5642
5643 #[inline]
5644 unsafe fn decode(
5645 &mut self,
5646 decoder: &mut fidl::encoding::Decoder<'_, D>,
5647 offset: usize,
5648 _depth: fidl::encoding::Depth,
5649 ) -> fidl::Result<()> {
5650 decoder.debug_check_bounds::<Self>(offset);
5651 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5653 Ok(())
5654 }
5655 }
5656
5657 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5658 type Borrowed<'a> = &'a Self;
5659 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5660 value
5661 }
5662 }
5663
5664 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5665 type Owned = Self;
5666
5667 #[inline(always)]
5668 fn inline_align(_context: fidl::encoding::Context) -> usize {
5669 1
5670 }
5671
5672 #[inline(always)]
5673 fn inline_size(_context: fidl::encoding::Context) -> usize {
5674 6
5675 }
5676 #[inline(always)]
5677 fn encode_is_copy() -> bool {
5678 true
5679 }
5680
5681 #[inline(always)]
5682 fn decode_is_copy() -> bool {
5683 true
5684 }
5685 }
5686
5687 unsafe impl<D: fidl::encoding::ResourceDialect>
5688 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5689 for &MlmeDeauthenticateConfRequest
5690 {
5691 #[inline]
5692 unsafe fn encode(
5693 self,
5694 encoder: &mut fidl::encoding::Encoder<'_, D>,
5695 offset: usize,
5696 _depth: fidl::encoding::Depth,
5697 ) -> fidl::Result<()> {
5698 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5699 unsafe {
5700 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5702 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5703 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5704 }
5707 Ok(())
5708 }
5709 }
5710 unsafe impl<
5711 D: fidl::encoding::ResourceDialect,
5712 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5713 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5714 {
5715 #[inline]
5716 unsafe fn encode(
5717 self,
5718 encoder: &mut fidl::encoding::Encoder<'_, D>,
5719 offset: usize,
5720 depth: fidl::encoding::Depth,
5721 ) -> fidl::Result<()> {
5722 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5723 self.0.encode(encoder, offset + 0, depth)?;
5727 Ok(())
5728 }
5729 }
5730
5731 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5732 for MlmeDeauthenticateConfRequest
5733 {
5734 #[inline(always)]
5735 fn new_empty() -> Self {
5736 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5737 }
5738
5739 #[inline]
5740 unsafe fn decode(
5741 &mut self,
5742 decoder: &mut fidl::encoding::Decoder<'_, D>,
5743 offset: usize,
5744 _depth: fidl::encoding::Depth,
5745 ) -> fidl::Result<()> {
5746 decoder.debug_check_bounds::<Self>(offset);
5747 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5748 unsafe {
5751 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5752 }
5753 Ok(())
5754 }
5755 }
5756
5757 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5758 type Borrowed<'a> = &'a Self;
5759 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5760 value
5761 }
5762 }
5763
5764 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5765 type Owned = Self;
5766
5767 #[inline(always)]
5768 fn inline_align(_context: fidl::encoding::Context) -> usize {
5769 2
5770 }
5771
5772 #[inline(always)]
5773 fn inline_size(_context: fidl::encoding::Context) -> usize {
5774 10
5775 }
5776 }
5777
5778 unsafe impl<D: fidl::encoding::ResourceDialect>
5779 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5780 {
5781 #[inline]
5782 unsafe fn encode(
5783 self,
5784 encoder: &mut fidl::encoding::Encoder<'_, D>,
5785 offset: usize,
5786 _depth: fidl::encoding::Depth,
5787 ) -> fidl::Result<()> {
5788 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5789 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5791 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5792 encoder,
5793 offset,
5794 _depth,
5795 )
5796 }
5797 }
5798 unsafe impl<
5799 D: fidl::encoding::ResourceDialect,
5800 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5801 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5802 {
5803 #[inline]
5804 unsafe fn encode(
5805 self,
5806 encoder: &mut fidl::encoding::Encoder<'_, D>,
5807 offset: usize,
5808 depth: fidl::encoding::Depth,
5809 ) -> fidl::Result<()> {
5810 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5811 self.0.encode(encoder, offset + 0, depth)?;
5815 Ok(())
5816 }
5817 }
5818
5819 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5820 for MlmeDeauthenticateIndRequest
5821 {
5822 #[inline(always)]
5823 fn new_empty() -> Self {
5824 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5825 }
5826
5827 #[inline]
5828 unsafe fn decode(
5829 &mut self,
5830 decoder: &mut fidl::encoding::Decoder<'_, D>,
5831 offset: usize,
5832 _depth: fidl::encoding::Depth,
5833 ) -> fidl::Result<()> {
5834 decoder.debug_check_bounds::<Self>(offset);
5835 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5837 Ok(())
5838 }
5839 }
5840
5841 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5842 type Borrowed<'a> = &'a Self;
5843 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5844 value
5845 }
5846 }
5847
5848 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5849 type Owned = Self;
5850
5851 #[inline(always)]
5852 fn inline_align(_context: fidl::encoding::Context) -> usize {
5853 2
5854 }
5855
5856 #[inline(always)]
5857 fn inline_size(_context: fidl::encoding::Context) -> usize {
5858 8
5859 }
5860 }
5861
5862 unsafe impl<D: fidl::encoding::ResourceDialect>
5863 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
5864 {
5865 #[inline]
5866 unsafe fn encode(
5867 self,
5868 encoder: &mut fidl::encoding::Encoder<'_, D>,
5869 offset: usize,
5870 _depth: fidl::encoding::Depth,
5871 ) -> fidl::Result<()> {
5872 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5873 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
5875 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5876 encoder,
5877 offset,
5878 _depth,
5879 )
5880 }
5881 }
5882 unsafe impl<
5883 D: fidl::encoding::ResourceDialect,
5884 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
5885 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
5886 {
5887 #[inline]
5888 unsafe fn encode(
5889 self,
5890 encoder: &mut fidl::encoding::Encoder<'_, D>,
5891 offset: usize,
5892 depth: fidl::encoding::Depth,
5893 ) -> fidl::Result<()> {
5894 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5895 self.0.encode(encoder, offset + 0, depth)?;
5899 Ok(())
5900 }
5901 }
5902
5903 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5904 for MlmeDeauthenticateReqRequest
5905 {
5906 #[inline(always)]
5907 fn new_empty() -> Self {
5908 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
5909 }
5910
5911 #[inline]
5912 unsafe fn decode(
5913 &mut self,
5914 decoder: &mut fidl::encoding::Decoder<'_, D>,
5915 offset: usize,
5916 _depth: fidl::encoding::Depth,
5917 ) -> fidl::Result<()> {
5918 decoder.debug_check_bounds::<Self>(offset);
5919 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5921 Ok(())
5922 }
5923 }
5924
5925 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
5926 type Borrowed<'a> = &'a Self;
5927 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5928 value
5929 }
5930 }
5931
5932 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
5933 type Owned = Self;
5934
5935 #[inline(always)]
5936 fn inline_align(_context: fidl::encoding::Context) -> usize {
5937 8
5938 }
5939
5940 #[inline(always)]
5941 fn inline_size(_context: fidl::encoding::Context) -> usize {
5942 16
5943 }
5944 }
5945
5946 unsafe impl<D: fidl::encoding::ResourceDialect>
5947 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
5948 {
5949 #[inline]
5950 unsafe fn encode(
5951 self,
5952 encoder: &mut fidl::encoding::Encoder<'_, D>,
5953 offset: usize,
5954 _depth: fidl::encoding::Depth,
5955 ) -> fidl::Result<()> {
5956 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5957 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
5959 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5960 encoder,
5961 offset,
5962 _depth,
5963 )
5964 }
5965 }
5966 unsafe impl<
5967 D: fidl::encoding::ResourceDialect,
5968 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
5969 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
5970 {
5971 #[inline]
5972 unsafe fn encode(
5973 self,
5974 encoder: &mut fidl::encoding::Encoder<'_, D>,
5975 offset: usize,
5976 depth: fidl::encoding::Depth,
5977 ) -> fidl::Result<()> {
5978 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5979 self.0.encode(encoder, offset + 0, depth)?;
5983 Ok(())
5984 }
5985 }
5986
5987 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5988 for MlmeDeleteKeysReqRequest
5989 {
5990 #[inline(always)]
5991 fn new_empty() -> Self {
5992 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
5993 }
5994
5995 #[inline]
5996 unsafe fn decode(
5997 &mut self,
5998 decoder: &mut fidl::encoding::Decoder<'_, D>,
5999 offset: usize,
6000 _depth: fidl::encoding::Depth,
6001 ) -> fidl::Result<()> {
6002 decoder.debug_check_bounds::<Self>(offset);
6003 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6005 Ok(())
6006 }
6007 }
6008
6009 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
6010 type Borrowed<'a> = &'a Self;
6011 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6012 value
6013 }
6014 }
6015
6016 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
6017 type Owned = Self;
6018
6019 #[inline(always)]
6020 fn inline_align(_context: fidl::encoding::Context) -> usize {
6021 4
6022 }
6023
6024 #[inline(always)]
6025 fn inline_size(_context: fidl::encoding::Context) -> usize {
6026 4
6027 }
6028 #[inline(always)]
6029 fn encode_is_copy() -> bool {
6030 true
6031 }
6032
6033 #[inline(always)]
6034 fn decode_is_copy() -> bool {
6035 true
6036 }
6037 }
6038
6039 unsafe impl<D: fidl::encoding::ResourceDialect>
6040 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
6041 {
6042 #[inline]
6043 unsafe fn encode(
6044 self,
6045 encoder: &mut fidl::encoding::Encoder<'_, D>,
6046 offset: usize,
6047 _depth: fidl::encoding::Depth,
6048 ) -> fidl::Result<()> {
6049 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6050 unsafe {
6051 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6053 (buf_ptr as *mut MlmeDisassociateConfRequest)
6054 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
6055 }
6058 Ok(())
6059 }
6060 }
6061 unsafe impl<
6062 D: fidl::encoding::ResourceDialect,
6063 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
6064 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
6065 {
6066 #[inline]
6067 unsafe fn encode(
6068 self,
6069 encoder: &mut fidl::encoding::Encoder<'_, D>,
6070 offset: usize,
6071 depth: fidl::encoding::Depth,
6072 ) -> fidl::Result<()> {
6073 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6074 self.0.encode(encoder, offset + 0, depth)?;
6078 Ok(())
6079 }
6080 }
6081
6082 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6083 for MlmeDisassociateConfRequest
6084 {
6085 #[inline(always)]
6086 fn new_empty() -> Self {
6087 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
6088 }
6089
6090 #[inline]
6091 unsafe fn decode(
6092 &mut self,
6093 decoder: &mut fidl::encoding::Decoder<'_, D>,
6094 offset: usize,
6095 _depth: fidl::encoding::Depth,
6096 ) -> fidl::Result<()> {
6097 decoder.debug_check_bounds::<Self>(offset);
6098 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6099 unsafe {
6102 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
6103 }
6104 Ok(())
6105 }
6106 }
6107
6108 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
6109 type Borrowed<'a> = &'a Self;
6110 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6111 value
6112 }
6113 }
6114
6115 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
6116 type Owned = Self;
6117
6118 #[inline(always)]
6119 fn inline_align(_context: fidl::encoding::Context) -> usize {
6120 2
6121 }
6122
6123 #[inline(always)]
6124 fn inline_size(_context: fidl::encoding::Context) -> usize {
6125 10
6126 }
6127 }
6128
6129 unsafe impl<D: fidl::encoding::ResourceDialect>
6130 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
6131 {
6132 #[inline]
6133 unsafe fn encode(
6134 self,
6135 encoder: &mut fidl::encoding::Encoder<'_, D>,
6136 offset: usize,
6137 _depth: fidl::encoding::Depth,
6138 ) -> fidl::Result<()> {
6139 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6140 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
6142 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6143 encoder,
6144 offset,
6145 _depth,
6146 )
6147 }
6148 }
6149 unsafe impl<
6150 D: fidl::encoding::ResourceDialect,
6151 T0: fidl::encoding::Encode<DisassociateIndication, D>,
6152 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
6153 {
6154 #[inline]
6155 unsafe fn encode(
6156 self,
6157 encoder: &mut fidl::encoding::Encoder<'_, D>,
6158 offset: usize,
6159 depth: fidl::encoding::Depth,
6160 ) -> fidl::Result<()> {
6161 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6162 self.0.encode(encoder, offset + 0, depth)?;
6166 Ok(())
6167 }
6168 }
6169
6170 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6171 for MlmeDisassociateIndRequest
6172 {
6173 #[inline(always)]
6174 fn new_empty() -> Self {
6175 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
6176 }
6177
6178 #[inline]
6179 unsafe fn decode(
6180 &mut self,
6181 decoder: &mut fidl::encoding::Decoder<'_, D>,
6182 offset: usize,
6183 _depth: fidl::encoding::Depth,
6184 ) -> fidl::Result<()> {
6185 decoder.debug_check_bounds::<Self>(offset);
6186 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6188 Ok(())
6189 }
6190 }
6191
6192 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
6193 type Borrowed<'a> = &'a Self;
6194 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6195 value
6196 }
6197 }
6198
6199 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
6200 type Owned = Self;
6201
6202 #[inline(always)]
6203 fn inline_align(_context: fidl::encoding::Context) -> usize {
6204 2
6205 }
6206
6207 #[inline(always)]
6208 fn inline_size(_context: fidl::encoding::Context) -> usize {
6209 8
6210 }
6211 }
6212
6213 unsafe impl<D: fidl::encoding::ResourceDialect>
6214 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
6215 {
6216 #[inline]
6217 unsafe fn encode(
6218 self,
6219 encoder: &mut fidl::encoding::Encoder<'_, D>,
6220 offset: usize,
6221 _depth: fidl::encoding::Depth,
6222 ) -> fidl::Result<()> {
6223 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6224 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6226 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6227 encoder,
6228 offset,
6229 _depth,
6230 )
6231 }
6232 }
6233 unsafe impl<
6234 D: fidl::encoding::ResourceDialect,
6235 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6236 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6237 {
6238 #[inline]
6239 unsafe fn encode(
6240 self,
6241 encoder: &mut fidl::encoding::Encoder<'_, D>,
6242 offset: usize,
6243 depth: fidl::encoding::Depth,
6244 ) -> fidl::Result<()> {
6245 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6246 self.0.encode(encoder, offset + 0, depth)?;
6250 Ok(())
6251 }
6252 }
6253
6254 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6255 for MlmeDisassociateReqRequest
6256 {
6257 #[inline(always)]
6258 fn new_empty() -> Self {
6259 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6260 }
6261
6262 #[inline]
6263 unsafe fn decode(
6264 &mut self,
6265 decoder: &mut fidl::encoding::Decoder<'_, D>,
6266 offset: usize,
6267 _depth: fidl::encoding::Depth,
6268 ) -> fidl::Result<()> {
6269 decoder.debug_check_bounds::<Self>(offset);
6270 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6272 Ok(())
6273 }
6274 }
6275
6276 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6277 type Borrowed<'a> = &'a Self;
6278 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6279 value
6280 }
6281 }
6282
6283 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6284 type Owned = Self;
6285
6286 #[inline(always)]
6287 fn inline_align(_context: fidl::encoding::Context) -> usize {
6288 4
6289 }
6290
6291 #[inline(always)]
6292 fn inline_size(_context: fidl::encoding::Context) -> usize {
6293 12
6294 }
6295 }
6296
6297 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6298 for &MlmeEapolConfRequest
6299 {
6300 #[inline]
6301 unsafe fn encode(
6302 self,
6303 encoder: &mut fidl::encoding::Encoder<'_, D>,
6304 offset: usize,
6305 _depth: fidl::encoding::Depth,
6306 ) -> fidl::Result<()> {
6307 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6308 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6310 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6311 encoder,
6312 offset,
6313 _depth,
6314 )
6315 }
6316 }
6317 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6318 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6319 {
6320 #[inline]
6321 unsafe fn encode(
6322 self,
6323 encoder: &mut fidl::encoding::Encoder<'_, D>,
6324 offset: usize,
6325 depth: fidl::encoding::Depth,
6326 ) -> fidl::Result<()> {
6327 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6328 self.0.encode(encoder, offset + 0, depth)?;
6332 Ok(())
6333 }
6334 }
6335
6336 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6337 #[inline(always)]
6338 fn new_empty() -> Self {
6339 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6340 }
6341
6342 #[inline]
6343 unsafe fn decode(
6344 &mut self,
6345 decoder: &mut fidl::encoding::Decoder<'_, D>,
6346 offset: usize,
6347 _depth: fidl::encoding::Depth,
6348 ) -> fidl::Result<()> {
6349 decoder.debug_check_bounds::<Self>(offset);
6350 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6352 Ok(())
6353 }
6354 }
6355
6356 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6357 type Borrowed<'a> = &'a Self;
6358 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6359 value
6360 }
6361 }
6362
6363 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6364 type Owned = Self;
6365
6366 #[inline(always)]
6367 fn inline_align(_context: fidl::encoding::Context) -> usize {
6368 8
6369 }
6370
6371 #[inline(always)]
6372 fn inline_size(_context: fidl::encoding::Context) -> usize {
6373 32
6374 }
6375 }
6376
6377 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6378 for &MlmeEapolIndRequest
6379 {
6380 #[inline]
6381 unsafe fn encode(
6382 self,
6383 encoder: &mut fidl::encoding::Encoder<'_, D>,
6384 offset: usize,
6385 _depth: fidl::encoding::Depth,
6386 ) -> fidl::Result<()> {
6387 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6388 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6390 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6391 encoder,
6392 offset,
6393 _depth,
6394 )
6395 }
6396 }
6397 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6398 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6399 {
6400 #[inline]
6401 unsafe fn encode(
6402 self,
6403 encoder: &mut fidl::encoding::Encoder<'_, D>,
6404 offset: usize,
6405 depth: fidl::encoding::Depth,
6406 ) -> fidl::Result<()> {
6407 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6408 self.0.encode(encoder, offset + 0, depth)?;
6412 Ok(())
6413 }
6414 }
6415
6416 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6417 #[inline(always)]
6418 fn new_empty() -> Self {
6419 Self { ind: fidl::new_empty!(EapolIndication, D) }
6420 }
6421
6422 #[inline]
6423 unsafe fn decode(
6424 &mut self,
6425 decoder: &mut fidl::encoding::Decoder<'_, D>,
6426 offset: usize,
6427 _depth: fidl::encoding::Depth,
6428 ) -> fidl::Result<()> {
6429 decoder.debug_check_bounds::<Self>(offset);
6430 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6432 Ok(())
6433 }
6434 }
6435
6436 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6437 type Borrowed<'a> = &'a Self;
6438 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6439 value
6440 }
6441 }
6442
6443 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6444 type Owned = Self;
6445
6446 #[inline(always)]
6447 fn inline_align(_context: fidl::encoding::Context) -> usize {
6448 8
6449 }
6450
6451 #[inline(always)]
6452 fn inline_size(_context: fidl::encoding::Context) -> usize {
6453 32
6454 }
6455 }
6456
6457 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6458 for &MlmeEapolReqRequest
6459 {
6460 #[inline]
6461 unsafe fn encode(
6462 self,
6463 encoder: &mut fidl::encoding::Encoder<'_, D>,
6464 offset: usize,
6465 _depth: fidl::encoding::Depth,
6466 ) -> fidl::Result<()> {
6467 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6468 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6470 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6471 encoder,
6472 offset,
6473 _depth,
6474 )
6475 }
6476 }
6477 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6478 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6479 {
6480 #[inline]
6481 unsafe fn encode(
6482 self,
6483 encoder: &mut fidl::encoding::Encoder<'_, D>,
6484 offset: usize,
6485 depth: fidl::encoding::Depth,
6486 ) -> fidl::Result<()> {
6487 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6488 self.0.encode(encoder, offset + 0, depth)?;
6492 Ok(())
6493 }
6494 }
6495
6496 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6497 #[inline(always)]
6498 fn new_empty() -> Self {
6499 Self { req: fidl::new_empty!(EapolRequest, D) }
6500 }
6501
6502 #[inline]
6503 unsafe fn decode(
6504 &mut self,
6505 decoder: &mut fidl::encoding::Decoder<'_, D>,
6506 offset: usize,
6507 _depth: fidl::encoding::Depth,
6508 ) -> fidl::Result<()> {
6509 decoder.debug_check_bounds::<Self>(offset);
6510 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6512 Ok(())
6513 }
6514 }
6515
6516 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6517 type Borrowed<'a> = &'a Self;
6518 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6519 value
6520 }
6521 }
6522
6523 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6524 type Owned = Self;
6525
6526 #[inline(always)]
6527 fn inline_align(_context: fidl::encoding::Context) -> usize {
6528 8
6529 }
6530
6531 #[inline(always)]
6532 fn inline_size(_context: fidl::encoding::Context) -> usize {
6533 56
6534 }
6535 }
6536
6537 unsafe impl<D: fidl::encoding::ResourceDialect>
6538 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6539 for &MlmeFinalizeAssociationReqRequest
6540 {
6541 #[inline]
6542 unsafe fn encode(
6543 self,
6544 encoder: &mut fidl::encoding::Encoder<'_, D>,
6545 offset: usize,
6546 _depth: fidl::encoding::Depth,
6547 ) -> fidl::Result<()> {
6548 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6549 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6551 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6552 &self.negotiated_capabilities,
6553 ),),
6554 encoder,
6555 offset,
6556 _depth,
6557 )
6558 }
6559 }
6560 unsafe impl<
6561 D: fidl::encoding::ResourceDialect,
6562 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6563 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6564 {
6565 #[inline]
6566 unsafe fn encode(
6567 self,
6568 encoder: &mut fidl::encoding::Encoder<'_, D>,
6569 offset: usize,
6570 depth: fidl::encoding::Depth,
6571 ) -> fidl::Result<()> {
6572 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6573 self.0.encode(encoder, offset + 0, depth)?;
6577 Ok(())
6578 }
6579 }
6580
6581 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6582 for MlmeFinalizeAssociationReqRequest
6583 {
6584 #[inline(always)]
6585 fn new_empty() -> Self {
6586 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6587 }
6588
6589 #[inline]
6590 unsafe fn decode(
6591 &mut self,
6592 decoder: &mut fidl::encoding::Decoder<'_, D>,
6593 offset: usize,
6594 _depth: fidl::encoding::Depth,
6595 ) -> fidl::Result<()> {
6596 decoder.debug_check_bounds::<Self>(offset);
6597 fidl::decode!(
6599 NegotiatedCapabilities,
6600 D,
6601 &mut self.negotiated_capabilities,
6602 decoder,
6603 offset + 0,
6604 _depth
6605 )?;
6606 Ok(())
6607 }
6608 }
6609
6610 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6611 type Borrowed<'a> = &'a Self;
6612 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6613 value
6614 }
6615 }
6616
6617 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6618 type Owned = Self;
6619
6620 #[inline(always)]
6621 fn inline_align(_context: fidl::encoding::Context) -> usize {
6622 8
6623 }
6624
6625 #[inline(always)]
6626 fn inline_size(_context: fidl::encoding::Context) -> usize {
6627 16
6628 }
6629 }
6630
6631 unsafe impl<D: fidl::encoding::ResourceDialect>
6632 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6633 for &MlmeGetIfaceHistogramStatsResponse
6634 {
6635 #[inline]
6636 unsafe fn encode(
6637 self,
6638 encoder: &mut fidl::encoding::Encoder<'_, D>,
6639 offset: usize,
6640 _depth: fidl::encoding::Depth,
6641 ) -> fidl::Result<()> {
6642 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6643 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6645 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6646 &self.resp,
6647 ),),
6648 encoder,
6649 offset,
6650 _depth,
6651 )
6652 }
6653 }
6654 unsafe impl<
6655 D: fidl::encoding::ResourceDialect,
6656 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6657 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6658 {
6659 #[inline]
6660 unsafe fn encode(
6661 self,
6662 encoder: &mut fidl::encoding::Encoder<'_, D>,
6663 offset: usize,
6664 depth: fidl::encoding::Depth,
6665 ) -> fidl::Result<()> {
6666 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6667 self.0.encode(encoder, offset + 0, depth)?;
6671 Ok(())
6672 }
6673 }
6674
6675 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6676 for MlmeGetIfaceHistogramStatsResponse
6677 {
6678 #[inline(always)]
6679 fn new_empty() -> Self {
6680 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6681 }
6682
6683 #[inline]
6684 unsafe fn decode(
6685 &mut self,
6686 decoder: &mut fidl::encoding::Decoder<'_, D>,
6687 offset: usize,
6688 _depth: fidl::encoding::Depth,
6689 ) -> fidl::Result<()> {
6690 decoder.debug_check_bounds::<Self>(offset);
6691 fidl::decode!(
6693 GetIfaceHistogramStatsResponse,
6694 D,
6695 &mut self.resp,
6696 decoder,
6697 offset + 0,
6698 _depth
6699 )?;
6700 Ok(())
6701 }
6702 }
6703
6704 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6705 type Borrowed<'a> = &'a Self;
6706 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6707 value
6708 }
6709 }
6710
6711 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6712 type Owned = Self;
6713
6714 #[inline(always)]
6715 fn inline_align(_context: fidl::encoding::Context) -> usize {
6716 8
6717 }
6718
6719 #[inline(always)]
6720 fn inline_size(_context: fidl::encoding::Context) -> usize {
6721 16
6722 }
6723 }
6724
6725 unsafe impl<D: fidl::encoding::ResourceDialect>
6726 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6727 {
6728 #[inline]
6729 unsafe fn encode(
6730 self,
6731 encoder: &mut fidl::encoding::Encoder<'_, D>,
6732 offset: usize,
6733 _depth: fidl::encoding::Depth,
6734 ) -> fidl::Result<()> {
6735 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6736 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6738 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6739 encoder,
6740 offset,
6741 _depth,
6742 )
6743 }
6744 }
6745 unsafe impl<
6746 D: fidl::encoding::ResourceDialect,
6747 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6748 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6749 {
6750 #[inline]
6751 unsafe fn encode(
6752 self,
6753 encoder: &mut fidl::encoding::Encoder<'_, D>,
6754 offset: usize,
6755 depth: fidl::encoding::Depth,
6756 ) -> fidl::Result<()> {
6757 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6758 self.0.encode(encoder, offset + 0, depth)?;
6762 Ok(())
6763 }
6764 }
6765
6766 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6767 for MlmeGetIfaceStatsResponse
6768 {
6769 #[inline(always)]
6770 fn new_empty() -> Self {
6771 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6772 }
6773
6774 #[inline]
6775 unsafe fn decode(
6776 &mut self,
6777 decoder: &mut fidl::encoding::Decoder<'_, D>,
6778 offset: usize,
6779 _depth: fidl::encoding::Depth,
6780 ) -> fidl::Result<()> {
6781 decoder.debug_check_bounds::<Self>(offset);
6782 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6784 Ok(())
6785 }
6786 }
6787
6788 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6789 type Borrowed<'a> = &'a Self;
6790 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6791 value
6792 }
6793 }
6794
6795 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6796 type Owned = Self;
6797
6798 #[inline(always)]
6799 fn inline_align(_context: fidl::encoding::Context) -> usize {
6800 1
6801 }
6802
6803 #[inline(always)]
6804 fn inline_size(_context: fidl::encoding::Context) -> usize {
6805 6
6806 }
6807 #[inline(always)]
6808 fn encode_is_copy() -> bool {
6809 true
6810 }
6811
6812 #[inline(always)]
6813 fn decode_is_copy() -> bool {
6814 true
6815 }
6816 }
6817
6818 unsafe impl<D: fidl::encoding::ResourceDialect>
6819 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6820 {
6821 #[inline]
6822 unsafe fn encode(
6823 self,
6824 encoder: &mut fidl::encoding::Encoder<'_, D>,
6825 offset: usize,
6826 _depth: fidl::encoding::Depth,
6827 ) -> fidl::Result<()> {
6828 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6829 unsafe {
6830 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6832 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6833 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6834 }
6837 Ok(())
6838 }
6839 }
6840 unsafe impl<
6841 D: fidl::encoding::ResourceDialect,
6842 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6843 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
6844 {
6845 #[inline]
6846 unsafe fn encode(
6847 self,
6848 encoder: &mut fidl::encoding::Encoder<'_, D>,
6849 offset: usize,
6850 depth: fidl::encoding::Depth,
6851 ) -> fidl::Result<()> {
6852 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6853 self.0.encode(encoder, offset + 0, depth)?;
6857 Ok(())
6858 }
6859 }
6860
6861 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6862 for MlmeGetMinstrelStatsRequest
6863 {
6864 #[inline(always)]
6865 fn new_empty() -> Self {
6866 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
6867 }
6868
6869 #[inline]
6870 unsafe fn decode(
6871 &mut self,
6872 decoder: &mut fidl::encoding::Decoder<'_, D>,
6873 offset: usize,
6874 _depth: fidl::encoding::Depth,
6875 ) -> fidl::Result<()> {
6876 decoder.debug_check_bounds::<Self>(offset);
6877 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6878 unsafe {
6881 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
6882 }
6883 Ok(())
6884 }
6885 }
6886
6887 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
6888 type Borrowed<'a> = &'a Self;
6889 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6890 value
6891 }
6892 }
6893
6894 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
6895 type Owned = Self;
6896
6897 #[inline(always)]
6898 fn inline_align(_context: fidl::encoding::Context) -> usize {
6899 8
6900 }
6901
6902 #[inline(always)]
6903 fn inline_size(_context: fidl::encoding::Context) -> usize {
6904 8
6905 }
6906 }
6907
6908 unsafe impl<D: fidl::encoding::ResourceDialect>
6909 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
6910 {
6911 #[inline]
6912 unsafe fn encode(
6913 self,
6914 encoder: &mut fidl::encoding::Encoder<'_, D>,
6915 offset: usize,
6916 _depth: fidl::encoding::Depth,
6917 ) -> fidl::Result<()> {
6918 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6919 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
6921 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6922 encoder,
6923 offset,
6924 _depth,
6925 )
6926 }
6927 }
6928 unsafe impl<
6929 D: fidl::encoding::ResourceDialect,
6930 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
6931 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
6932 {
6933 #[inline]
6934 unsafe fn encode(
6935 self,
6936 encoder: &mut fidl::encoding::Encoder<'_, D>,
6937 offset: usize,
6938 depth: fidl::encoding::Depth,
6939 ) -> fidl::Result<()> {
6940 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6941 self.0.encode(encoder, offset + 0, depth)?;
6945 Ok(())
6946 }
6947 }
6948
6949 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6950 for MlmeGetMinstrelStatsResponse
6951 {
6952 #[inline(always)]
6953 fn new_empty() -> Self {
6954 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
6955 }
6956
6957 #[inline]
6958 unsafe fn decode(
6959 &mut self,
6960 decoder: &mut fidl::encoding::Decoder<'_, D>,
6961 offset: usize,
6962 _depth: fidl::encoding::Depth,
6963 ) -> fidl::Result<()> {
6964 decoder.debug_check_bounds::<Self>(offset);
6965 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6967 Ok(())
6968 }
6969 }
6970
6971 impl fidl::encoding::ValueTypeMarker for MlmeInstallApfPacketFilterRequest {
6972 type Borrowed<'a> = &'a Self;
6973 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6974 value
6975 }
6976 }
6977
6978 unsafe impl fidl::encoding::TypeMarker for MlmeInstallApfPacketFilterRequest {
6979 type Owned = Self;
6980
6981 #[inline(always)]
6982 fn inline_align(_context: fidl::encoding::Context) -> usize {
6983 8
6984 }
6985
6986 #[inline(always)]
6987 fn inline_size(_context: fidl::encoding::Context) -> usize {
6988 16
6989 }
6990 }
6991
6992 unsafe impl<D: fidl::encoding::ResourceDialect>
6993 fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D>
6994 for &MlmeInstallApfPacketFilterRequest
6995 {
6996 #[inline]
6997 unsafe fn encode(
6998 self,
6999 encoder: &mut fidl::encoding::Encoder<'_, D>,
7000 offset: usize,
7001 _depth: fidl::encoding::Depth,
7002 ) -> fidl::Result<()> {
7003 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7004 fidl::encoding::Encode::<MlmeInstallApfPacketFilterRequest, D>::encode(
7006 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
7007 &self.program,
7008 ),),
7009 encoder,
7010 offset,
7011 _depth,
7012 )
7013 }
7014 }
7015 unsafe impl<
7016 D: fidl::encoding::ResourceDialect,
7017 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
7018 > fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D> for (T0,)
7019 {
7020 #[inline]
7021 unsafe fn encode(
7022 self,
7023 encoder: &mut fidl::encoding::Encoder<'_, D>,
7024 offset: usize,
7025 depth: fidl::encoding::Depth,
7026 ) -> fidl::Result<()> {
7027 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7028 self.0.encode(encoder, offset + 0, depth)?;
7032 Ok(())
7033 }
7034 }
7035
7036 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7037 for MlmeInstallApfPacketFilterRequest
7038 {
7039 #[inline(always)]
7040 fn new_empty() -> Self {
7041 Self { program: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
7042 }
7043
7044 #[inline]
7045 unsafe fn decode(
7046 &mut self,
7047 decoder: &mut fidl::encoding::Decoder<'_, D>,
7048 offset: usize,
7049 _depth: fidl::encoding::Depth,
7050 ) -> fidl::Result<()> {
7051 decoder.debug_check_bounds::<Self>(offset);
7052 fidl::decode!(
7054 fidl::encoding::UnboundedVector<u8>,
7055 D,
7056 &mut self.program,
7057 decoder,
7058 offset + 0,
7059 _depth
7060 )?;
7061 Ok(())
7062 }
7063 }
7064
7065 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
7066 type Borrowed<'a> = &'a Self;
7067 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7068 value
7069 }
7070 }
7071
7072 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
7073 type Owned = Self;
7074
7075 #[inline(always)]
7076 fn inline_align(_context: fidl::encoding::Context) -> usize {
7077 8
7078 }
7079
7080 #[inline(always)]
7081 fn inline_size(_context: fidl::encoding::Context) -> usize {
7082 16
7083 }
7084 }
7085
7086 unsafe impl<D: fidl::encoding::ResourceDialect>
7087 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
7088 for &MlmeListMinstrelPeersResponse
7089 {
7090 #[inline]
7091 unsafe fn encode(
7092 self,
7093 encoder: &mut fidl::encoding::Encoder<'_, D>,
7094 offset: usize,
7095 _depth: fidl::encoding::Depth,
7096 ) -> fidl::Result<()> {
7097 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7098 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
7100 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7101 encoder,
7102 offset,
7103 _depth,
7104 )
7105 }
7106 }
7107 unsafe impl<
7108 D: fidl::encoding::ResourceDialect,
7109 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
7110 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
7111 {
7112 #[inline]
7113 unsafe fn encode(
7114 self,
7115 encoder: &mut fidl::encoding::Encoder<'_, D>,
7116 offset: usize,
7117 depth: fidl::encoding::Depth,
7118 ) -> fidl::Result<()> {
7119 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7120 self.0.encode(encoder, offset + 0, depth)?;
7124 Ok(())
7125 }
7126 }
7127
7128 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7129 for MlmeListMinstrelPeersResponse
7130 {
7131 #[inline(always)]
7132 fn new_empty() -> Self {
7133 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
7134 }
7135
7136 #[inline]
7137 unsafe fn decode(
7138 &mut self,
7139 decoder: &mut fidl::encoding::Decoder<'_, D>,
7140 offset: usize,
7141 _depth: fidl::encoding::Depth,
7142 ) -> fidl::Result<()> {
7143 decoder.debug_check_bounds::<Self>(offset);
7144 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7146 Ok(())
7147 }
7148 }
7149
7150 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
7151 type Borrowed<'a> = &'a Self;
7152 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7153 value
7154 }
7155 }
7156
7157 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
7158 type Owned = Self;
7159
7160 #[inline(always)]
7161 fn inline_align(_context: fidl::encoding::Context) -> usize {
7162 1
7163 }
7164
7165 #[inline(always)]
7166 fn inline_size(_context: fidl::encoding::Context) -> usize {
7167 1
7168 }
7169 }
7170
7171 unsafe impl<D: fidl::encoding::ResourceDialect>
7172 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
7173 {
7174 #[inline]
7175 unsafe fn encode(
7176 self,
7177 encoder: &mut fidl::encoding::Encoder<'_, D>,
7178 offset: usize,
7179 _depth: fidl::encoding::Depth,
7180 ) -> fidl::Result<()> {
7181 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7182 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
7184 (
7185 <fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
7186 ),
7187 encoder, offset, _depth
7188 )
7189 }
7190 }
7191 unsafe impl<
7192 D: fidl::encoding::ResourceDialect,
7193 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D>,
7194 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
7195 {
7196 #[inline]
7197 unsafe fn encode(
7198 self,
7199 encoder: &mut fidl::encoding::Encoder<'_, D>,
7200 offset: usize,
7201 depth: fidl::encoding::Depth,
7202 ) -> fidl::Result<()> {
7203 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7204 self.0.encode(encoder, offset + 0, depth)?;
7208 Ok(())
7209 }
7210 }
7211
7212 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7213 for MlmeOnChannelSwitchedRequest
7214 {
7215 #[inline(always)]
7216 fn new_empty() -> Self {
7217 Self {
7218 info: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D),
7219 }
7220 }
7221
7222 #[inline]
7223 unsafe fn decode(
7224 &mut self,
7225 decoder: &mut fidl::encoding::Decoder<'_, D>,
7226 offset: usize,
7227 _depth: fidl::encoding::Depth,
7228 ) -> fidl::Result<()> {
7229 decoder.debug_check_bounds::<Self>(offset);
7230 fidl::decode!(
7232 fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
7233 D,
7234 &mut self.info,
7235 decoder,
7236 offset + 0,
7237 _depth
7238 )?;
7239 Ok(())
7240 }
7241 }
7242
7243 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
7244 type Borrowed<'a> = &'a Self;
7245 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7246 value
7247 }
7248 }
7249
7250 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
7251 type Owned = Self;
7252
7253 #[inline(always)]
7254 fn inline_align(_context: fidl::encoding::Context) -> usize {
7255 8
7256 }
7257
7258 #[inline(always)]
7259 fn inline_size(_context: fidl::encoding::Context) -> usize {
7260 32
7261 }
7262 }
7263
7264 unsafe impl<D: fidl::encoding::ResourceDialect>
7265 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
7266 {
7267 #[inline]
7268 unsafe fn encode(
7269 self,
7270 encoder: &mut fidl::encoding::Encoder<'_, D>,
7271 offset: usize,
7272 _depth: fidl::encoding::Depth,
7273 ) -> fidl::Result<()> {
7274 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7275 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
7277 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7278 encoder,
7279 offset,
7280 _depth,
7281 )
7282 }
7283 }
7284 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
7285 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
7286 {
7287 #[inline]
7288 unsafe fn encode(
7289 self,
7290 encoder: &mut fidl::encoding::Encoder<'_, D>,
7291 offset: usize,
7292 depth: fidl::encoding::Depth,
7293 ) -> fidl::Result<()> {
7294 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7295 self.0.encode(encoder, offset + 0, depth)?;
7299 Ok(())
7300 }
7301 }
7302
7303 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7304 for MlmeOnPmkAvailableRequest
7305 {
7306 #[inline(always)]
7307 fn new_empty() -> Self {
7308 Self { info: fidl::new_empty!(PmkInfo, D) }
7309 }
7310
7311 #[inline]
7312 unsafe fn decode(
7313 &mut self,
7314 decoder: &mut fidl::encoding::Decoder<'_, D>,
7315 offset: usize,
7316 _depth: fidl::encoding::Depth,
7317 ) -> fidl::Result<()> {
7318 decoder.debug_check_bounds::<Self>(offset);
7319 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7321 Ok(())
7322 }
7323 }
7324
7325 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7326 type Borrowed<'a> = &'a Self;
7327 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7328 value
7329 }
7330 }
7331
7332 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7333 type Owned = Self;
7334
7335 #[inline(always)]
7336 fn inline_align(_context: fidl::encoding::Context) -> usize {
7337 8
7338 }
7339
7340 #[inline(always)]
7341 fn inline_size(_context: fidl::encoding::Context) -> usize {
7342 32
7343 }
7344 }
7345
7346 unsafe impl<D: fidl::encoding::ResourceDialect>
7347 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7348 {
7349 #[inline]
7350 unsafe fn encode(
7351 self,
7352 encoder: &mut fidl::encoding::Encoder<'_, D>,
7353 offset: usize,
7354 _depth: fidl::encoding::Depth,
7355 ) -> fidl::Result<()> {
7356 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7357 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7359 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7360 encoder,
7361 offset,
7362 _depth,
7363 )
7364 }
7365 }
7366 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7367 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7368 {
7369 #[inline]
7370 unsafe fn encode(
7371 self,
7372 encoder: &mut fidl::encoding::Encoder<'_, D>,
7373 offset: usize,
7374 depth: fidl::encoding::Depth,
7375 ) -> fidl::Result<()> {
7376 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7377 self.0.encode(encoder, offset + 0, depth)?;
7381 Ok(())
7382 }
7383 }
7384
7385 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7386 for MlmeOnSaeFrameRxRequest
7387 {
7388 #[inline(always)]
7389 fn new_empty() -> Self {
7390 Self { frame: fidl::new_empty!(SaeFrame, D) }
7391 }
7392
7393 #[inline]
7394 unsafe fn decode(
7395 &mut self,
7396 decoder: &mut fidl::encoding::Decoder<'_, D>,
7397 offset: usize,
7398 _depth: fidl::encoding::Depth,
7399 ) -> fidl::Result<()> {
7400 decoder.debug_check_bounds::<Self>(offset);
7401 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7403 Ok(())
7404 }
7405 }
7406
7407 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7408 type Borrowed<'a> = &'a Self;
7409 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7410 value
7411 }
7412 }
7413
7414 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7415 type Owned = Self;
7416
7417 #[inline(always)]
7418 fn inline_align(_context: fidl::encoding::Context) -> usize {
7419 1
7420 }
7421
7422 #[inline(always)]
7423 fn inline_size(_context: fidl::encoding::Context) -> usize {
7424 6
7425 }
7426 #[inline(always)]
7427 fn encode_is_copy() -> bool {
7428 true
7429 }
7430
7431 #[inline(always)]
7432 fn decode_is_copy() -> bool {
7433 true
7434 }
7435 }
7436
7437 unsafe impl<D: fidl::encoding::ResourceDialect>
7438 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7439 {
7440 #[inline]
7441 unsafe fn encode(
7442 self,
7443 encoder: &mut fidl::encoding::Encoder<'_, D>,
7444 offset: usize,
7445 _depth: fidl::encoding::Depth,
7446 ) -> fidl::Result<()> {
7447 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7448 unsafe {
7449 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7451 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7452 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7453 }
7456 Ok(())
7457 }
7458 }
7459 unsafe impl<
7460 D: fidl::encoding::ResourceDialect,
7461 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7462 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7463 {
7464 #[inline]
7465 unsafe fn encode(
7466 self,
7467 encoder: &mut fidl::encoding::Encoder<'_, D>,
7468 offset: usize,
7469 depth: fidl::encoding::Depth,
7470 ) -> fidl::Result<()> {
7471 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7472 self.0.encode(encoder, offset + 0, depth)?;
7476 Ok(())
7477 }
7478 }
7479
7480 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7481 for MlmeOnSaeHandshakeIndRequest
7482 {
7483 #[inline(always)]
7484 fn new_empty() -> Self {
7485 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7486 }
7487
7488 #[inline]
7489 unsafe fn decode(
7490 &mut self,
7491 decoder: &mut fidl::encoding::Decoder<'_, D>,
7492 offset: usize,
7493 _depth: fidl::encoding::Depth,
7494 ) -> fidl::Result<()> {
7495 decoder.debug_check_bounds::<Self>(offset);
7496 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7497 unsafe {
7500 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7501 }
7502 Ok(())
7503 }
7504 }
7505
7506 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7507 type Borrowed<'a> = &'a Self;
7508 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7509 value
7510 }
7511 }
7512
7513 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7514 type Owned = Self;
7515
7516 #[inline(always)]
7517 fn inline_align(_context: fidl::encoding::Context) -> usize {
7518 8
7519 }
7520
7521 #[inline(always)]
7522 fn inline_size(_context: fidl::encoding::Context) -> usize {
7523 16
7524 }
7525 }
7526
7527 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7528 for &MlmeOnScanEndRequest
7529 {
7530 #[inline]
7531 unsafe fn encode(
7532 self,
7533 encoder: &mut fidl::encoding::Encoder<'_, D>,
7534 offset: usize,
7535 _depth: fidl::encoding::Depth,
7536 ) -> fidl::Result<()> {
7537 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7538 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7540 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7541 encoder,
7542 offset,
7543 _depth,
7544 )
7545 }
7546 }
7547 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7548 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7549 {
7550 #[inline]
7551 unsafe fn encode(
7552 self,
7553 encoder: &mut fidl::encoding::Encoder<'_, D>,
7554 offset: usize,
7555 depth: fidl::encoding::Depth,
7556 ) -> fidl::Result<()> {
7557 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7558 self.0.encode(encoder, offset + 0, depth)?;
7562 Ok(())
7563 }
7564 }
7565
7566 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7567 #[inline(always)]
7568 fn new_empty() -> Self {
7569 Self { end: fidl::new_empty!(ScanEnd, D) }
7570 }
7571
7572 #[inline]
7573 unsafe fn decode(
7574 &mut self,
7575 decoder: &mut fidl::encoding::Decoder<'_, D>,
7576 offset: usize,
7577 _depth: fidl::encoding::Depth,
7578 ) -> fidl::Result<()> {
7579 decoder.debug_check_bounds::<Self>(offset);
7580 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7582 Ok(())
7583 }
7584 }
7585
7586 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7587 type Borrowed<'a> = &'a Self;
7588 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7589 value
7590 }
7591 }
7592
7593 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7594 type Owned = Self;
7595
7596 #[inline(always)]
7597 fn inline_align(_context: fidl::encoding::Context) -> usize {
7598 8
7599 }
7600
7601 #[inline(always)]
7602 fn inline_size(_context: fidl::encoding::Context) -> usize {
7603 64
7604 }
7605 }
7606
7607 unsafe impl<D: fidl::encoding::ResourceDialect>
7608 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7609 {
7610 #[inline]
7611 unsafe fn encode(
7612 self,
7613 encoder: &mut fidl::encoding::Encoder<'_, D>,
7614 offset: usize,
7615 _depth: fidl::encoding::Depth,
7616 ) -> fidl::Result<()> {
7617 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7618 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7620 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7621 encoder,
7622 offset,
7623 _depth,
7624 )
7625 }
7626 }
7627 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7628 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7629 {
7630 #[inline]
7631 unsafe fn encode(
7632 self,
7633 encoder: &mut fidl::encoding::Encoder<'_, D>,
7634 offset: usize,
7635 depth: fidl::encoding::Depth,
7636 ) -> fidl::Result<()> {
7637 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7638 self.0.encode(encoder, offset + 0, depth)?;
7642 Ok(())
7643 }
7644 }
7645
7646 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7647 for MlmeOnScanResultRequest
7648 {
7649 #[inline(always)]
7650 fn new_empty() -> Self {
7651 Self { result: fidl::new_empty!(ScanResult, D) }
7652 }
7653
7654 #[inline]
7655 unsafe fn decode(
7656 &mut self,
7657 decoder: &mut fidl::encoding::Decoder<'_, D>,
7658 offset: usize,
7659 _depth: fidl::encoding::Depth,
7660 ) -> fidl::Result<()> {
7661 decoder.debug_check_bounds::<Self>(offset);
7662 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7664 Ok(())
7665 }
7666 }
7667
7668 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
7669 type Borrowed<'a> = &'a Self;
7670 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7671 value
7672 }
7673 }
7674
7675 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
7676 type Owned = Self;
7677
7678 #[inline(always)]
7679 fn inline_align(_context: fidl::encoding::Context) -> usize {
7680 4
7681 }
7682
7683 #[inline(always)]
7684 fn inline_size(_context: fidl::encoding::Context) -> usize {
7685 40
7686 }
7687 }
7688
7689 unsafe impl<D: fidl::encoding::ResourceDialect>
7690 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
7691 {
7692 #[inline]
7693 unsafe fn encode(
7694 self,
7695 encoder: &mut fidl::encoding::Encoder<'_, D>,
7696 offset: usize,
7697 _depth: fidl::encoding::Depth,
7698 ) -> fidl::Result<()> {
7699 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7700 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
7702 (
7703 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
7704 <fidl_fuchsia_wlan_internal__common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
7705 ),
7706 encoder, offset, _depth
7707 )
7708 }
7709 }
7710 unsafe impl<
7711 D: fidl::encoding::ResourceDialect,
7712 T0: fidl::encoding::Encode<i32, D>,
7713 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D>,
7714 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
7715 {
7716 #[inline]
7717 unsafe fn encode(
7718 self,
7719 encoder: &mut fidl::encoding::Encoder<'_, D>,
7720 offset: usize,
7721 depth: fidl::encoding::Depth,
7722 ) -> fidl::Result<()> {
7723 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7724 unsafe {
7727 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
7728 (ptr as *mut u32).write_unaligned(0);
7729 }
7730 self.0.encode(encoder, offset + 0, depth)?;
7732 self.1.encode(encoder, offset + 4, depth)?;
7733 Ok(())
7734 }
7735 }
7736
7737 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7738 for MlmeOnWmmStatusRespRequest
7739 {
7740 #[inline(always)]
7741 fn new_empty() -> Self {
7742 Self {
7743 status: fidl::new_empty!(i32, D),
7744 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D),
7745 }
7746 }
7747
7748 #[inline]
7749 unsafe fn decode(
7750 &mut self,
7751 decoder: &mut fidl::encoding::Decoder<'_, D>,
7752 offset: usize,
7753 _depth: fidl::encoding::Depth,
7754 ) -> fidl::Result<()> {
7755 decoder.debug_check_bounds::<Self>(offset);
7756 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
7758 let padval = unsafe { (ptr as *const u32).read_unaligned() };
7759 let mask = 0xffff0000u32;
7760 let maskedval = padval & mask;
7761 if maskedval != 0 {
7762 return Err(fidl::Error::NonZeroPadding {
7763 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
7764 });
7765 }
7766 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
7767 fidl::decode!(
7768 fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
7769 D,
7770 &mut self.resp,
7771 decoder,
7772 offset + 4,
7773 _depth
7774 )?;
7775 Ok(())
7776 }
7777 }
7778
7779 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
7780 type Borrowed<'a> = &'a Self;
7781 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7782 value
7783 }
7784 }
7785
7786 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
7787 type Owned = Self;
7788
7789 #[inline(always)]
7790 fn inline_align(_context: fidl::encoding::Context) -> usize {
7791 8
7792 }
7793
7794 #[inline(always)]
7795 fn inline_size(_context: fidl::encoding::Context) -> usize {
7796 40
7797 }
7798 }
7799
7800 unsafe impl<D: fidl::encoding::ResourceDialect>
7801 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
7802 {
7803 #[inline]
7804 unsafe fn encode(
7805 self,
7806 encoder: &mut fidl::encoding::Encoder<'_, D>,
7807 offset: usize,
7808 _depth: fidl::encoding::Depth,
7809 ) -> fidl::Result<()> {
7810 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7811 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
7813 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7814 encoder,
7815 offset,
7816 _depth,
7817 )
7818 }
7819 }
7820 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
7821 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
7822 {
7823 #[inline]
7824 unsafe fn encode(
7825 self,
7826 encoder: &mut fidl::encoding::Encoder<'_, D>,
7827 offset: usize,
7828 depth: fidl::encoding::Depth,
7829 ) -> fidl::Result<()> {
7830 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7831 self.0.encode(encoder, offset + 0, depth)?;
7835 Ok(())
7836 }
7837 }
7838
7839 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7840 for MlmeQueryDeviceInfoResponse
7841 {
7842 #[inline(always)]
7843 fn new_empty() -> Self {
7844 Self { info: fidl::new_empty!(DeviceInfo, D) }
7845 }
7846
7847 #[inline]
7848 unsafe fn decode(
7849 &mut self,
7850 decoder: &mut fidl::encoding::Decoder<'_, D>,
7851 offset: usize,
7852 _depth: fidl::encoding::Depth,
7853 ) -> fidl::Result<()> {
7854 decoder.debug_check_bounds::<Self>(offset);
7855 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7857 Ok(())
7858 }
7859 }
7860
7861 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
7862 type Borrowed<'a> = &'a Self;
7863 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7864 value
7865 }
7866 }
7867
7868 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
7869 type Owned = Self;
7870
7871 #[inline(always)]
7872 fn inline_align(_context: fidl::encoding::Context) -> usize {
7873 1
7874 }
7875
7876 #[inline(always)]
7877 fn inline_size(_context: fidl::encoding::Context) -> usize {
7878 6
7879 }
7880 #[inline(always)]
7881 fn encode_is_copy() -> bool {
7882 true
7883 }
7884
7885 #[inline(always)]
7886 fn decode_is_copy() -> bool {
7887 true
7888 }
7889 }
7890
7891 unsafe impl<D: fidl::encoding::ResourceDialect>
7892 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
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::<MlmeReconnectReqRequest>(offset);
7902 unsafe {
7903 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7905 (buf_ptr as *mut MlmeReconnectReqRequest)
7906 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
7907 }
7910 Ok(())
7911 }
7912 }
7913 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
7914 fidl::encoding::Encode<MlmeReconnectReqRequest, 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::<MlmeReconnectReqRequest>(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 MlmeReconnectReqRequest
7934 {
7935 #[inline(always)]
7936 fn new_empty() -> Self {
7937 Self { req: fidl::new_empty!(ReconnectRequest, 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 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7949 unsafe {
7952 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7953 }
7954 Ok(())
7955 }
7956 }
7957
7958 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
7959 type Borrowed<'a> = &'a Self;
7960 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7961 value
7962 }
7963 }
7964
7965 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
7966 type Owned = Self;
7967
7968 #[inline(always)]
7969 fn inline_align(_context: fidl::encoding::Context) -> usize {
7970 8
7971 }
7972
7973 #[inline(always)]
7974 fn inline_size(_context: fidl::encoding::Context) -> usize {
7975 16
7976 }
7977 }
7978
7979 unsafe impl<D: fidl::encoding::ResourceDialect>
7980 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
7981 for &MlmeRelayCapturedFrameRequest
7982 {
7983 #[inline]
7984 unsafe fn encode(
7985 self,
7986 encoder: &mut fidl::encoding::Encoder<'_, D>,
7987 offset: usize,
7988 _depth: fidl::encoding::Depth,
7989 ) -> fidl::Result<()> {
7990 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7991 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
7993 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7994 encoder,
7995 offset,
7996 _depth,
7997 )
7998 }
7999 }
8000 unsafe impl<
8001 D: fidl::encoding::ResourceDialect,
8002 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
8003 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
8004 {
8005 #[inline]
8006 unsafe fn encode(
8007 self,
8008 encoder: &mut fidl::encoding::Encoder<'_, D>,
8009 offset: usize,
8010 depth: fidl::encoding::Depth,
8011 ) -> fidl::Result<()> {
8012 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8013 self.0.encode(encoder, offset + 0, depth)?;
8017 Ok(())
8018 }
8019 }
8020
8021 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8022 for MlmeRelayCapturedFrameRequest
8023 {
8024 #[inline(always)]
8025 fn new_empty() -> Self {
8026 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
8027 }
8028
8029 #[inline]
8030 unsafe fn decode(
8031 &mut self,
8032 decoder: &mut fidl::encoding::Decoder<'_, D>,
8033 offset: usize,
8034 _depth: fidl::encoding::Depth,
8035 ) -> fidl::Result<()> {
8036 decoder.debug_check_bounds::<Self>(offset);
8037 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
8039 Ok(())
8040 }
8041 }
8042
8043 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
8044 type Borrowed<'a> = &'a Self;
8045 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8046 value
8047 }
8048 }
8049
8050 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
8051 type Owned = Self;
8052
8053 #[inline(always)]
8054 fn inline_align(_context: fidl::encoding::Context) -> usize {
8055 1
8056 }
8057
8058 #[inline(always)]
8059 fn inline_size(_context: fidl::encoding::Context) -> usize {
8060 7
8061 }
8062 }
8063
8064 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
8065 for &MlmeResetReqRequest
8066 {
8067 #[inline]
8068 unsafe fn encode(
8069 self,
8070 encoder: &mut fidl::encoding::Encoder<'_, D>,
8071 offset: usize,
8072 _depth: fidl::encoding::Depth,
8073 ) -> fidl::Result<()> {
8074 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8075 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
8077 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8078 encoder,
8079 offset,
8080 _depth,
8081 )
8082 }
8083 }
8084 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
8085 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
8086 {
8087 #[inline]
8088 unsafe fn encode(
8089 self,
8090 encoder: &mut fidl::encoding::Encoder<'_, D>,
8091 offset: usize,
8092 depth: fidl::encoding::Depth,
8093 ) -> fidl::Result<()> {
8094 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8095 self.0.encode(encoder, offset + 0, depth)?;
8099 Ok(())
8100 }
8101 }
8102
8103 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
8104 #[inline(always)]
8105 fn new_empty() -> Self {
8106 Self { req: fidl::new_empty!(ResetRequest, D) }
8107 }
8108
8109 #[inline]
8110 unsafe fn decode(
8111 &mut self,
8112 decoder: &mut fidl::encoding::Decoder<'_, D>,
8113 offset: usize,
8114 _depth: fidl::encoding::Depth,
8115 ) -> fidl::Result<()> {
8116 decoder.debug_check_bounds::<Self>(offset);
8117 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8119 Ok(())
8120 }
8121 }
8122
8123 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
8124 type Borrowed<'a> = &'a Self;
8125 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8126 value
8127 }
8128 }
8129
8130 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
8131 type Owned = Self;
8132
8133 #[inline(always)]
8134 fn inline_align(_context: fidl::encoding::Context) -> usize {
8135 8
8136 }
8137
8138 #[inline(always)]
8139 fn inline_size(_context: fidl::encoding::Context) -> usize {
8140 32
8141 }
8142 }
8143
8144 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
8145 for &MlmeRoamConfRequest
8146 {
8147 #[inline]
8148 unsafe fn encode(
8149 self,
8150 encoder: &mut fidl::encoding::Encoder<'_, D>,
8151 offset: usize,
8152 _depth: fidl::encoding::Depth,
8153 ) -> fidl::Result<()> {
8154 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8155 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
8157 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8158 encoder,
8159 offset,
8160 _depth,
8161 )
8162 }
8163 }
8164 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
8165 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
8166 {
8167 #[inline]
8168 unsafe fn encode(
8169 self,
8170 encoder: &mut fidl::encoding::Encoder<'_, D>,
8171 offset: usize,
8172 depth: fidl::encoding::Depth,
8173 ) -> fidl::Result<()> {
8174 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8175 self.0.encode(encoder, offset + 0, depth)?;
8179 Ok(())
8180 }
8181 }
8182
8183 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
8184 #[inline(always)]
8185 fn new_empty() -> Self {
8186 Self { conf: fidl::new_empty!(RoamConfirm, D) }
8187 }
8188
8189 #[inline]
8190 unsafe fn decode(
8191 &mut self,
8192 decoder: &mut fidl::encoding::Decoder<'_, D>,
8193 offset: usize,
8194 _depth: fidl::encoding::Depth,
8195 ) -> fidl::Result<()> {
8196 decoder.debug_check_bounds::<Self>(offset);
8197 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8199 Ok(())
8200 }
8201 }
8202
8203 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
8204 type Borrowed<'a> = &'a Self;
8205 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8206 value
8207 }
8208 }
8209
8210 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
8211 type Owned = Self;
8212
8213 #[inline(always)]
8214 fn inline_align(_context: fidl::encoding::Context) -> usize {
8215 8
8216 }
8217
8218 #[inline(always)]
8219 fn inline_size(_context: fidl::encoding::Context) -> usize {
8220 48
8221 }
8222 }
8223
8224 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
8225 for &MlmeRoamReqRequest
8226 {
8227 #[inline]
8228 unsafe fn encode(
8229 self,
8230 encoder: &mut fidl::encoding::Encoder<'_, D>,
8231 offset: usize,
8232 _depth: fidl::encoding::Depth,
8233 ) -> fidl::Result<()> {
8234 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8235 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
8237 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8238 encoder,
8239 offset,
8240 _depth,
8241 )
8242 }
8243 }
8244 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
8245 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
8246 {
8247 #[inline]
8248 unsafe fn encode(
8249 self,
8250 encoder: &mut fidl::encoding::Encoder<'_, D>,
8251 offset: usize,
8252 depth: fidl::encoding::Depth,
8253 ) -> fidl::Result<()> {
8254 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8255 self.0.encode(encoder, offset + 0, depth)?;
8259 Ok(())
8260 }
8261 }
8262
8263 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
8264 #[inline(always)]
8265 fn new_empty() -> Self {
8266 Self { req: fidl::new_empty!(RoamRequest, D) }
8267 }
8268
8269 #[inline]
8270 unsafe fn decode(
8271 &mut self,
8272 decoder: &mut fidl::encoding::Decoder<'_, D>,
8273 offset: usize,
8274 _depth: fidl::encoding::Depth,
8275 ) -> fidl::Result<()> {
8276 decoder.debug_check_bounds::<Self>(offset);
8277 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8279 Ok(())
8280 }
8281 }
8282
8283 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
8284 type Borrowed<'a> = &'a Self;
8285 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8286 value
8287 }
8288 }
8289
8290 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
8291 type Owned = Self;
8292
8293 #[inline(always)]
8294 fn inline_align(_context: fidl::encoding::Context) -> usize {
8295 8
8296 }
8297
8298 #[inline(always)]
8299 fn inline_size(_context: fidl::encoding::Context) -> usize {
8300 32
8301 }
8302 }
8303
8304 unsafe impl<D: fidl::encoding::ResourceDialect>
8305 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
8306 {
8307 #[inline]
8308 unsafe fn encode(
8309 self,
8310 encoder: &mut fidl::encoding::Encoder<'_, D>,
8311 offset: usize,
8312 _depth: fidl::encoding::Depth,
8313 ) -> fidl::Result<()> {
8314 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8315 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8317 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8318 encoder,
8319 offset,
8320 _depth,
8321 )
8322 }
8323 }
8324 unsafe impl<
8325 D: fidl::encoding::ResourceDialect,
8326 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8327 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8328 {
8329 #[inline]
8330 unsafe fn encode(
8331 self,
8332 encoder: &mut fidl::encoding::Encoder<'_, D>,
8333 offset: usize,
8334 depth: fidl::encoding::Depth,
8335 ) -> fidl::Result<()> {
8336 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8337 self.0.encode(encoder, offset + 0, depth)?;
8341 Ok(())
8342 }
8343 }
8344
8345 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8346 for MlmeRoamResultIndRequest
8347 {
8348 #[inline(always)]
8349 fn new_empty() -> Self {
8350 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8351 }
8352
8353 #[inline]
8354 unsafe fn decode(
8355 &mut self,
8356 decoder: &mut fidl::encoding::Decoder<'_, D>,
8357 offset: usize,
8358 _depth: fidl::encoding::Depth,
8359 ) -> fidl::Result<()> {
8360 decoder.debug_check_bounds::<Self>(offset);
8361 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8363 Ok(())
8364 }
8365 }
8366
8367 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8368 type Borrowed<'a> = &'a Self;
8369 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8370 value
8371 }
8372 }
8373
8374 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8375 type Owned = Self;
8376
8377 #[inline(always)]
8378 fn inline_align(_context: fidl::encoding::Context) -> usize {
8379 8
8380 }
8381
8382 #[inline(always)]
8383 fn inline_size(_context: fidl::encoding::Context) -> usize {
8384 64
8385 }
8386 }
8387
8388 unsafe impl<D: fidl::encoding::ResourceDialect>
8389 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8390 {
8391 #[inline]
8392 unsafe fn encode(
8393 self,
8394 encoder: &mut fidl::encoding::Encoder<'_, D>,
8395 offset: usize,
8396 _depth: fidl::encoding::Depth,
8397 ) -> fidl::Result<()> {
8398 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8399 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8401 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8402 encoder,
8403 offset,
8404 _depth,
8405 )
8406 }
8407 }
8408 unsafe impl<
8409 D: fidl::encoding::ResourceDialect,
8410 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8411 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8412 {
8413 #[inline]
8414 unsafe fn encode(
8415 self,
8416 encoder: &mut fidl::encoding::Encoder<'_, D>,
8417 offset: usize,
8418 depth: fidl::encoding::Depth,
8419 ) -> fidl::Result<()> {
8420 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8421 self.0.encode(encoder, offset + 0, depth)?;
8425 Ok(())
8426 }
8427 }
8428
8429 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8430 for MlmeRoamStartIndRequest
8431 {
8432 #[inline(always)]
8433 fn new_empty() -> Self {
8434 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8435 }
8436
8437 #[inline]
8438 unsafe fn decode(
8439 &mut self,
8440 decoder: &mut fidl::encoding::Decoder<'_, D>,
8441 offset: usize,
8442 _depth: fidl::encoding::Depth,
8443 ) -> fidl::Result<()> {
8444 decoder.debug_check_bounds::<Self>(offset);
8445 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8447 Ok(())
8448 }
8449 }
8450
8451 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8452 type Borrowed<'a> = &'a Self;
8453 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8454 value
8455 }
8456 }
8457
8458 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8459 type Owned = Self;
8460
8461 #[inline(always)]
8462 fn inline_align(_context: fidl::encoding::Context) -> usize {
8463 8
8464 }
8465
8466 #[inline(always)]
8467 fn inline_size(_context: fidl::encoding::Context) -> usize {
8468 32
8469 }
8470 }
8471
8472 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8473 for &MlmeSaeFrameTxRequest
8474 {
8475 #[inline]
8476 unsafe fn encode(
8477 self,
8478 encoder: &mut fidl::encoding::Encoder<'_, D>,
8479 offset: usize,
8480 _depth: fidl::encoding::Depth,
8481 ) -> fidl::Result<()> {
8482 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8483 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8485 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8486 encoder,
8487 offset,
8488 _depth,
8489 )
8490 }
8491 }
8492 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8493 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8494 {
8495 #[inline]
8496 unsafe fn encode(
8497 self,
8498 encoder: &mut fidl::encoding::Encoder<'_, D>,
8499 offset: usize,
8500 depth: fidl::encoding::Depth,
8501 ) -> fidl::Result<()> {
8502 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8503 self.0.encode(encoder, offset + 0, depth)?;
8507 Ok(())
8508 }
8509 }
8510
8511 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8512 #[inline(always)]
8513 fn new_empty() -> Self {
8514 Self { frame: fidl::new_empty!(SaeFrame, D) }
8515 }
8516
8517 #[inline]
8518 unsafe fn decode(
8519 &mut self,
8520 decoder: &mut fidl::encoding::Decoder<'_, D>,
8521 offset: usize,
8522 _depth: fidl::encoding::Depth,
8523 ) -> fidl::Result<()> {
8524 decoder.debug_check_bounds::<Self>(offset);
8525 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8527 Ok(())
8528 }
8529 }
8530
8531 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8532 type Borrowed<'a> = &'a Self;
8533 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8534 value
8535 }
8536 }
8537
8538 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8539 type Owned = Self;
8540
8541 #[inline(always)]
8542 fn inline_align(_context: fidl::encoding::Context) -> usize {
8543 2
8544 }
8545
8546 #[inline(always)]
8547 fn inline_size(_context: fidl::encoding::Context) -> usize {
8548 8
8549 }
8550 }
8551
8552 unsafe impl<D: fidl::encoding::ResourceDialect>
8553 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8554 {
8555 #[inline]
8556 unsafe fn encode(
8557 self,
8558 encoder: &mut fidl::encoding::Encoder<'_, D>,
8559 offset: usize,
8560 _depth: fidl::encoding::Depth,
8561 ) -> fidl::Result<()> {
8562 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8563 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8565 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8566 encoder,
8567 offset,
8568 _depth,
8569 )
8570 }
8571 }
8572 unsafe impl<
8573 D: fidl::encoding::ResourceDialect,
8574 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8575 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8576 {
8577 #[inline]
8578 unsafe fn encode(
8579 self,
8580 encoder: &mut fidl::encoding::Encoder<'_, D>,
8581 offset: usize,
8582 depth: fidl::encoding::Depth,
8583 ) -> fidl::Result<()> {
8584 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8585 self.0.encode(encoder, offset + 0, depth)?;
8589 Ok(())
8590 }
8591 }
8592
8593 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8594 for MlmeSaeHandshakeRespRequest
8595 {
8596 #[inline(always)]
8597 fn new_empty() -> Self {
8598 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8599 }
8600
8601 #[inline]
8602 unsafe fn decode(
8603 &mut self,
8604 decoder: &mut fidl::encoding::Decoder<'_, D>,
8605 offset: usize,
8606 _depth: fidl::encoding::Depth,
8607 ) -> fidl::Result<()> {
8608 decoder.debug_check_bounds::<Self>(offset);
8609 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8611 Ok(())
8612 }
8613 }
8614
8615 impl fidl::encoding::ValueTypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8616 type Borrowed<'a> = &'a Self;
8617 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8618 value
8619 }
8620 }
8621
8622 unsafe impl fidl::encoding::TypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8623 type Owned = Self;
8624
8625 #[inline(always)]
8626 fn inline_align(_context: fidl::encoding::Context) -> usize {
8627 1
8628 }
8629
8630 #[inline(always)]
8631 fn inline_size(_context: fidl::encoding::Context) -> usize {
8632 1
8633 }
8634 }
8635
8636 unsafe impl<D: fidl::encoding::ResourceDialect>
8637 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D>
8638 for &MlmeSetApfPacketFilterEnabledRequest
8639 {
8640 #[inline]
8641 unsafe fn encode(
8642 self,
8643 encoder: &mut fidl::encoding::Encoder<'_, D>,
8644 offset: usize,
8645 _depth: fidl::encoding::Depth,
8646 ) -> fidl::Result<()> {
8647 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
8648 fidl::encoding::Encode::<MlmeSetApfPacketFilterEnabledRequest, D>::encode(
8650 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
8651 encoder,
8652 offset,
8653 _depth,
8654 )
8655 }
8656 }
8657 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
8658 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D> for (T0,)
8659 {
8660 #[inline]
8661 unsafe fn encode(
8662 self,
8663 encoder: &mut fidl::encoding::Encoder<'_, D>,
8664 offset: usize,
8665 depth: fidl::encoding::Depth,
8666 ) -> fidl::Result<()> {
8667 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
8668 self.0.encode(encoder, offset + 0, depth)?;
8672 Ok(())
8673 }
8674 }
8675
8676 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8677 for MlmeSetApfPacketFilterEnabledRequest
8678 {
8679 #[inline(always)]
8680 fn new_empty() -> Self {
8681 Self { enabled: fidl::new_empty!(bool, D) }
8682 }
8683
8684 #[inline]
8685 unsafe fn decode(
8686 &mut self,
8687 decoder: &mut fidl::encoding::Decoder<'_, D>,
8688 offset: usize,
8689 _depth: fidl::encoding::Depth,
8690 ) -> fidl::Result<()> {
8691 decoder.debug_check_bounds::<Self>(offset);
8692 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
8694 Ok(())
8695 }
8696 }
8697
8698 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
8699 type Borrowed<'a> = &'a Self;
8700 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8701 value
8702 }
8703 }
8704
8705 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
8706 type Owned = Self;
8707
8708 #[inline(always)]
8709 fn inline_align(_context: fidl::encoding::Context) -> usize {
8710 4
8711 }
8712
8713 #[inline(always)]
8714 fn inline_size(_context: fidl::encoding::Context) -> usize {
8715 12
8716 }
8717 }
8718
8719 unsafe impl<D: fidl::encoding::ResourceDialect>
8720 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
8721 {
8722 #[inline]
8723 unsafe fn encode(
8724 self,
8725 encoder: &mut fidl::encoding::Encoder<'_, D>,
8726 offset: usize,
8727 _depth: fidl::encoding::Depth,
8728 ) -> fidl::Result<()> {
8729 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8730 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
8732 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8733 encoder,
8734 offset,
8735 _depth,
8736 )
8737 }
8738 }
8739 unsafe impl<
8740 D: fidl::encoding::ResourceDialect,
8741 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
8742 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
8743 {
8744 #[inline]
8745 unsafe fn encode(
8746 self,
8747 encoder: &mut fidl::encoding::Encoder<'_, D>,
8748 offset: usize,
8749 depth: fidl::encoding::Depth,
8750 ) -> fidl::Result<()> {
8751 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8752 self.0.encode(encoder, offset + 0, depth)?;
8756 Ok(())
8757 }
8758 }
8759
8760 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8761 for MlmeSetControlledPortRequest
8762 {
8763 #[inline(always)]
8764 fn new_empty() -> Self {
8765 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
8766 }
8767
8768 #[inline]
8769 unsafe fn decode(
8770 &mut self,
8771 decoder: &mut fidl::encoding::Decoder<'_, D>,
8772 offset: usize,
8773 _depth: fidl::encoding::Depth,
8774 ) -> fidl::Result<()> {
8775 decoder.debug_check_bounds::<Self>(offset);
8776 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8778 Ok(())
8779 }
8780 }
8781
8782 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
8783 type Borrowed<'a> = &'a Self;
8784 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8785 value
8786 }
8787 }
8788
8789 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
8790 type Owned = Self;
8791
8792 #[inline(always)]
8793 fn inline_align(_context: fidl::encoding::Context) -> usize {
8794 8
8795 }
8796
8797 #[inline(always)]
8798 fn inline_size(_context: fidl::encoding::Context) -> usize {
8799 16
8800 }
8801 }
8802
8803 unsafe impl<D: fidl::encoding::ResourceDialect>
8804 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
8805 {
8806 #[inline]
8807 unsafe fn encode(
8808 self,
8809 encoder: &mut fidl::encoding::Encoder<'_, D>,
8810 offset: usize,
8811 _depth: fidl::encoding::Depth,
8812 ) -> fidl::Result<()> {
8813 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8814 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
8816 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8817 encoder,
8818 offset,
8819 _depth,
8820 )
8821 }
8822 }
8823 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
8824 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
8825 {
8826 #[inline]
8827 unsafe fn encode(
8828 self,
8829 encoder: &mut fidl::encoding::Encoder<'_, D>,
8830 offset: usize,
8831 depth: fidl::encoding::Depth,
8832 ) -> fidl::Result<()> {
8833 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8834 self.0.encode(encoder, offset + 0, depth)?;
8838 Ok(())
8839 }
8840 }
8841
8842 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8843 for MlmeSetKeysConfRequest
8844 {
8845 #[inline(always)]
8846 fn new_empty() -> Self {
8847 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
8848 }
8849
8850 #[inline]
8851 unsafe fn decode(
8852 &mut self,
8853 decoder: &mut fidl::encoding::Decoder<'_, D>,
8854 offset: usize,
8855 _depth: fidl::encoding::Depth,
8856 ) -> fidl::Result<()> {
8857 decoder.debug_check_bounds::<Self>(offset);
8858 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8860 Ok(())
8861 }
8862 }
8863
8864 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
8865 type Borrowed<'a> = &'a Self;
8866 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8867 value
8868 }
8869 }
8870
8871 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
8872 type Owned = Self;
8873
8874 #[inline(always)]
8875 fn inline_align(_context: fidl::encoding::Context) -> usize {
8876 8
8877 }
8878
8879 #[inline(always)]
8880 fn inline_size(_context: fidl::encoding::Context) -> usize {
8881 16
8882 }
8883 }
8884
8885 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
8886 for &MlmeSetKeysReqRequest
8887 {
8888 #[inline]
8889 unsafe fn encode(
8890 self,
8891 encoder: &mut fidl::encoding::Encoder<'_, D>,
8892 offset: usize,
8893 _depth: fidl::encoding::Depth,
8894 ) -> fidl::Result<()> {
8895 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8896 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
8898 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8899 encoder,
8900 offset,
8901 _depth,
8902 )
8903 }
8904 }
8905 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
8906 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
8907 {
8908 #[inline]
8909 unsafe fn encode(
8910 self,
8911 encoder: &mut fidl::encoding::Encoder<'_, D>,
8912 offset: usize,
8913 depth: fidl::encoding::Depth,
8914 ) -> fidl::Result<()> {
8915 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8916 self.0.encode(encoder, offset + 0, depth)?;
8920 Ok(())
8921 }
8922 }
8923
8924 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
8925 #[inline(always)]
8926 fn new_empty() -> Self {
8927 Self { req: fidl::new_empty!(SetKeysRequest, D) }
8928 }
8929
8930 #[inline]
8931 unsafe fn decode(
8932 &mut self,
8933 decoder: &mut fidl::encoding::Decoder<'_, D>,
8934 offset: usize,
8935 _depth: fidl::encoding::Depth,
8936 ) -> fidl::Result<()> {
8937 decoder.debug_check_bounds::<Self>(offset);
8938 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8940 Ok(())
8941 }
8942 }
8943
8944 impl fidl::encoding::ValueTypeMarker for MlmeSetMacAddressRequest {
8945 type Borrowed<'a> = &'a Self;
8946 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8947 value
8948 }
8949 }
8950
8951 unsafe impl fidl::encoding::TypeMarker for MlmeSetMacAddressRequest {
8952 type Owned = Self;
8953
8954 #[inline(always)]
8955 fn inline_align(_context: fidl::encoding::Context) -> usize {
8956 1
8957 }
8958
8959 #[inline(always)]
8960 fn inline_size(_context: fidl::encoding::Context) -> usize {
8961 6
8962 }
8963 #[inline(always)]
8964 fn encode_is_copy() -> bool {
8965 true
8966 }
8967
8968 #[inline(always)]
8969 fn decode_is_copy() -> bool {
8970 true
8971 }
8972 }
8973
8974 unsafe impl<D: fidl::encoding::ResourceDialect>
8975 fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for &MlmeSetMacAddressRequest
8976 {
8977 #[inline]
8978 unsafe fn encode(
8979 self,
8980 encoder: &mut fidl::encoding::Encoder<'_, D>,
8981 offset: usize,
8982 _depth: fidl::encoding::Depth,
8983 ) -> fidl::Result<()> {
8984 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
8985 unsafe {
8986 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8988 (buf_ptr as *mut MlmeSetMacAddressRequest)
8989 .write_unaligned((self as *const MlmeSetMacAddressRequest).read());
8990 }
8993 Ok(())
8994 }
8995 }
8996 unsafe impl<
8997 D: fidl::encoding::ResourceDialect,
8998 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
8999 > fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for (T0,)
9000 {
9001 #[inline]
9002 unsafe fn encode(
9003 self,
9004 encoder: &mut fidl::encoding::Encoder<'_, D>,
9005 offset: usize,
9006 depth: fidl::encoding::Depth,
9007 ) -> fidl::Result<()> {
9008 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9009 self.0.encode(encoder, offset + 0, depth)?;
9013 Ok(())
9014 }
9015 }
9016
9017 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9018 for MlmeSetMacAddressRequest
9019 {
9020 #[inline(always)]
9021 fn new_empty() -> Self {
9022 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9023 }
9024
9025 #[inline]
9026 unsafe fn decode(
9027 &mut self,
9028 decoder: &mut fidl::encoding::Decoder<'_, D>,
9029 offset: usize,
9030 _depth: fidl::encoding::Depth,
9031 ) -> fidl::Result<()> {
9032 decoder.debug_check_bounds::<Self>(offset);
9033 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9034 unsafe {
9037 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9038 }
9039 Ok(())
9040 }
9041 }
9042
9043 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
9044 type Borrowed<'a> = &'a Self;
9045 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9046 value
9047 }
9048 }
9049
9050 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
9051 type Owned = Self;
9052
9053 #[inline(always)]
9054 fn inline_align(_context: fidl::encoding::Context) -> usize {
9055 1
9056 }
9057
9058 #[inline(always)]
9059 fn inline_size(_context: fidl::encoding::Context) -> usize {
9060 2
9061 }
9062 }
9063
9064 unsafe impl<D: fidl::encoding::ResourceDialect>
9065 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
9066 {
9067 #[inline]
9068 unsafe fn encode(
9069 self,
9070 encoder: &mut fidl::encoding::Encoder<'_, D>,
9071 offset: usize,
9072 _depth: fidl::encoding::Depth,
9073 ) -> fidl::Result<()> {
9074 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9075 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
9077 (
9078 <fidl_fuchsia_wlan_internal__common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
9079 ),
9080 encoder, offset, _depth
9081 )
9082 }
9083 }
9084 unsafe impl<
9085 D: fidl::encoding::ResourceDialect,
9086 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::SignalReportIndication, D>,
9087 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
9088 {
9089 #[inline]
9090 unsafe fn encode(
9091 self,
9092 encoder: &mut fidl::encoding::Encoder<'_, D>,
9093 offset: usize,
9094 depth: fidl::encoding::Depth,
9095 ) -> fidl::Result<()> {
9096 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9097 self.0.encode(encoder, offset + 0, depth)?;
9101 Ok(())
9102 }
9103 }
9104
9105 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9106 for MlmeSignalReportRequest
9107 {
9108 #[inline(always)]
9109 fn new_empty() -> Self {
9110 Self {
9111 ind: fidl::new_empty!(
9112 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
9113 D
9114 ),
9115 }
9116 }
9117
9118 #[inline]
9119 unsafe fn decode(
9120 &mut self,
9121 decoder: &mut fidl::encoding::Decoder<'_, D>,
9122 offset: usize,
9123 _depth: fidl::encoding::Depth,
9124 ) -> fidl::Result<()> {
9125 decoder.debug_check_bounds::<Self>(offset);
9126 fidl::decode!(
9128 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
9129 D,
9130 &mut self.ind,
9131 decoder,
9132 offset + 0,
9133 _depth
9134 )?;
9135 Ok(())
9136 }
9137 }
9138
9139 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
9140 type Borrowed<'a> = &'a Self;
9141 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9142 value
9143 }
9144 }
9145
9146 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
9147 type Owned = Self;
9148
9149 #[inline(always)]
9150 fn inline_align(_context: fidl::encoding::Context) -> usize {
9151 4
9152 }
9153
9154 #[inline(always)]
9155 fn inline_size(_context: fidl::encoding::Context) -> usize {
9156 4
9157 }
9158 }
9159
9160 unsafe impl<D: fidl::encoding::ResourceDialect>
9161 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
9162 for &MlmeStartCaptureFramesRequest
9163 {
9164 #[inline]
9165 unsafe fn encode(
9166 self,
9167 encoder: &mut fidl::encoding::Encoder<'_, D>,
9168 offset: usize,
9169 _depth: fidl::encoding::Depth,
9170 ) -> fidl::Result<()> {
9171 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9172 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
9174 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9175 encoder,
9176 offset,
9177 _depth,
9178 )
9179 }
9180 }
9181 unsafe impl<
9182 D: fidl::encoding::ResourceDialect,
9183 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
9184 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
9185 {
9186 #[inline]
9187 unsafe fn encode(
9188 self,
9189 encoder: &mut fidl::encoding::Encoder<'_, D>,
9190 offset: usize,
9191 depth: fidl::encoding::Depth,
9192 ) -> fidl::Result<()> {
9193 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9194 self.0.encode(encoder, offset + 0, depth)?;
9198 Ok(())
9199 }
9200 }
9201
9202 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9203 for MlmeStartCaptureFramesRequest
9204 {
9205 #[inline(always)]
9206 fn new_empty() -> Self {
9207 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
9208 }
9209
9210 #[inline]
9211 unsafe fn decode(
9212 &mut self,
9213 decoder: &mut fidl::encoding::Decoder<'_, D>,
9214 offset: usize,
9215 _depth: fidl::encoding::Depth,
9216 ) -> fidl::Result<()> {
9217 decoder.debug_check_bounds::<Self>(offset);
9218 fidl::decode!(
9220 StartCaptureFramesRequest,
9221 D,
9222 &mut self.req,
9223 decoder,
9224 offset + 0,
9225 _depth
9226 )?;
9227 Ok(())
9228 }
9229 }
9230
9231 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
9232 type Borrowed<'a> = &'a Self;
9233 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9234 value
9235 }
9236 }
9237
9238 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
9239 type Owned = Self;
9240
9241 #[inline(always)]
9242 fn inline_align(_context: fidl::encoding::Context) -> usize {
9243 4
9244 }
9245
9246 #[inline(always)]
9247 fn inline_size(_context: fidl::encoding::Context) -> usize {
9248 8
9249 }
9250 }
9251
9252 unsafe impl<D: fidl::encoding::ResourceDialect>
9253 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
9254 for &MlmeStartCaptureFramesResponse
9255 {
9256 #[inline]
9257 unsafe fn encode(
9258 self,
9259 encoder: &mut fidl::encoding::Encoder<'_, D>,
9260 offset: usize,
9261 _depth: fidl::encoding::Depth,
9262 ) -> fidl::Result<()> {
9263 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9264 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
9266 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
9267 &self.resp,
9268 ),),
9269 encoder,
9270 offset,
9271 _depth,
9272 )
9273 }
9274 }
9275 unsafe impl<
9276 D: fidl::encoding::ResourceDialect,
9277 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
9278 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
9279 {
9280 #[inline]
9281 unsafe fn encode(
9282 self,
9283 encoder: &mut fidl::encoding::Encoder<'_, D>,
9284 offset: usize,
9285 depth: fidl::encoding::Depth,
9286 ) -> fidl::Result<()> {
9287 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9288 self.0.encode(encoder, offset + 0, depth)?;
9292 Ok(())
9293 }
9294 }
9295
9296 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9297 for MlmeStartCaptureFramesResponse
9298 {
9299 #[inline(always)]
9300 fn new_empty() -> Self {
9301 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
9302 }
9303
9304 #[inline]
9305 unsafe fn decode(
9306 &mut self,
9307 decoder: &mut fidl::encoding::Decoder<'_, D>,
9308 offset: usize,
9309 _depth: fidl::encoding::Depth,
9310 ) -> fidl::Result<()> {
9311 decoder.debug_check_bounds::<Self>(offset);
9312 fidl::decode!(
9314 StartCaptureFramesResponse,
9315 D,
9316 &mut self.resp,
9317 decoder,
9318 offset + 0,
9319 _depth
9320 )?;
9321 Ok(())
9322 }
9323 }
9324
9325 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
9326 type Borrowed<'a> = &'a Self;
9327 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9328 value
9329 }
9330 }
9331
9332 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
9333 type Owned = Self;
9334
9335 #[inline(always)]
9336 fn inline_align(_context: fidl::encoding::Context) -> usize {
9337 4
9338 }
9339
9340 #[inline(always)]
9341 fn inline_size(_context: fidl::encoding::Context) -> usize {
9342 4
9343 }
9344 }
9345
9346 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
9347 for &MlmeStartConfRequest
9348 {
9349 #[inline]
9350 unsafe fn encode(
9351 self,
9352 encoder: &mut fidl::encoding::Encoder<'_, D>,
9353 offset: usize,
9354 _depth: fidl::encoding::Depth,
9355 ) -> fidl::Result<()> {
9356 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9357 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
9359 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9360 encoder,
9361 offset,
9362 _depth,
9363 )
9364 }
9365 }
9366 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
9367 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
9368 {
9369 #[inline]
9370 unsafe fn encode(
9371 self,
9372 encoder: &mut fidl::encoding::Encoder<'_, D>,
9373 offset: usize,
9374 depth: fidl::encoding::Depth,
9375 ) -> fidl::Result<()> {
9376 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9377 self.0.encode(encoder, offset + 0, depth)?;
9381 Ok(())
9382 }
9383 }
9384
9385 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
9386 #[inline(always)]
9387 fn new_empty() -> Self {
9388 Self { resp: fidl::new_empty!(StartConfirm, D) }
9389 }
9390
9391 #[inline]
9392 unsafe fn decode(
9393 &mut self,
9394 decoder: &mut fidl::encoding::Decoder<'_, D>,
9395 offset: usize,
9396 _depth: fidl::encoding::Depth,
9397 ) -> fidl::Result<()> {
9398 decoder.debug_check_bounds::<Self>(offset);
9399 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9401 Ok(())
9402 }
9403 }
9404
9405 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
9406 type Borrowed<'a> = &'a Self;
9407 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9408 value
9409 }
9410 }
9411
9412 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
9413 type Owned = Self;
9414
9415 #[inline(always)]
9416 fn inline_align(_context: fidl::encoding::Context) -> usize {
9417 8
9418 }
9419
9420 #[inline(always)]
9421 fn inline_size(_context: fidl::encoding::Context) -> usize {
9422 96
9423 }
9424 }
9425
9426 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
9427 for &MlmeStartReqRequest
9428 {
9429 #[inline]
9430 unsafe fn encode(
9431 self,
9432 encoder: &mut fidl::encoding::Encoder<'_, D>,
9433 offset: usize,
9434 _depth: fidl::encoding::Depth,
9435 ) -> fidl::Result<()> {
9436 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9437 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
9439 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9440 encoder,
9441 offset,
9442 _depth,
9443 )
9444 }
9445 }
9446 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
9447 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
9448 {
9449 #[inline]
9450 unsafe fn encode(
9451 self,
9452 encoder: &mut fidl::encoding::Encoder<'_, D>,
9453 offset: usize,
9454 depth: fidl::encoding::Depth,
9455 ) -> fidl::Result<()> {
9456 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9457 self.0.encode(encoder, offset + 0, depth)?;
9461 Ok(())
9462 }
9463 }
9464
9465 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
9466 #[inline(always)]
9467 fn new_empty() -> Self {
9468 Self { req: fidl::new_empty!(StartRequest, D) }
9469 }
9470
9471 #[inline]
9472 unsafe fn decode(
9473 &mut self,
9474 decoder: &mut fidl::encoding::Decoder<'_, D>,
9475 offset: usize,
9476 _depth: fidl::encoding::Depth,
9477 ) -> fidl::Result<()> {
9478 decoder.debug_check_bounds::<Self>(offset);
9479 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9481 Ok(())
9482 }
9483 }
9484
9485 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
9486 type Borrowed<'a> = &'a Self;
9487 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9488 value
9489 }
9490 }
9491
9492 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
9493 type Owned = Self;
9494
9495 #[inline(always)]
9496 fn inline_align(_context: fidl::encoding::Context) -> usize {
9497 8
9498 }
9499
9500 #[inline(always)]
9501 fn inline_size(_context: fidl::encoding::Context) -> usize {
9502 64
9503 }
9504 }
9505
9506 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
9507 for &MlmeStartScanRequest
9508 {
9509 #[inline]
9510 unsafe fn encode(
9511 self,
9512 encoder: &mut fidl::encoding::Encoder<'_, D>,
9513 offset: usize,
9514 _depth: fidl::encoding::Depth,
9515 ) -> fidl::Result<()> {
9516 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9517 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
9519 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9520 encoder,
9521 offset,
9522 _depth,
9523 )
9524 }
9525 }
9526 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
9527 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
9528 {
9529 #[inline]
9530 unsafe fn encode(
9531 self,
9532 encoder: &mut fidl::encoding::Encoder<'_, D>,
9533 offset: usize,
9534 depth: fidl::encoding::Depth,
9535 ) -> fidl::Result<()> {
9536 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9537 self.0.encode(encoder, offset + 0, depth)?;
9541 Ok(())
9542 }
9543 }
9544
9545 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
9546 #[inline(always)]
9547 fn new_empty() -> Self {
9548 Self { req: fidl::new_empty!(ScanRequest, D) }
9549 }
9550
9551 #[inline]
9552 unsafe fn decode(
9553 &mut self,
9554 decoder: &mut fidl::encoding::Decoder<'_, D>,
9555 offset: usize,
9556 _depth: fidl::encoding::Depth,
9557 ) -> fidl::Result<()> {
9558 decoder.debug_check_bounds::<Self>(offset);
9559 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9561 Ok(())
9562 }
9563 }
9564
9565 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
9566 type Borrowed<'a> = &'a Self;
9567 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9568 value
9569 }
9570 }
9571
9572 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
9573 type Owned = Self;
9574
9575 #[inline(always)]
9576 fn inline_align(_context: fidl::encoding::Context) -> usize {
9577 4
9578 }
9579
9580 #[inline(always)]
9581 fn inline_size(_context: fidl::encoding::Context) -> usize {
9582 4
9583 }
9584 }
9585
9586 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
9587 for &MlmeStopConfRequest
9588 {
9589 #[inline]
9590 unsafe fn encode(
9591 self,
9592 encoder: &mut fidl::encoding::Encoder<'_, D>,
9593 offset: usize,
9594 _depth: fidl::encoding::Depth,
9595 ) -> fidl::Result<()> {
9596 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9597 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
9599 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9600 encoder,
9601 offset,
9602 _depth,
9603 )
9604 }
9605 }
9606 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
9607 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
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::<MlmeStopConfRequest>(offset);
9617 self.0.encode(encoder, offset + 0, depth)?;
9621 Ok(())
9622 }
9623 }
9624
9625 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
9626 #[inline(always)]
9627 fn new_empty() -> Self {
9628 Self { resp: fidl::new_empty!(StopConfirm, D) }
9629 }
9630
9631 #[inline]
9632 unsafe fn decode(
9633 &mut self,
9634 decoder: &mut fidl::encoding::Decoder<'_, D>,
9635 offset: usize,
9636 _depth: fidl::encoding::Depth,
9637 ) -> fidl::Result<()> {
9638 decoder.debug_check_bounds::<Self>(offset);
9639 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9641 Ok(())
9642 }
9643 }
9644
9645 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
9646 type Borrowed<'a> = &'a Self;
9647 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9648 value
9649 }
9650 }
9651
9652 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
9653 type Owned = Self;
9654
9655 #[inline(always)]
9656 fn inline_align(_context: fidl::encoding::Context) -> usize {
9657 8
9658 }
9659
9660 #[inline(always)]
9661 fn inline_size(_context: fidl::encoding::Context) -> usize {
9662 16
9663 }
9664 }
9665
9666 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
9667 for &MlmeStopReqRequest
9668 {
9669 #[inline]
9670 unsafe fn encode(
9671 self,
9672 encoder: &mut fidl::encoding::Encoder<'_, D>,
9673 offset: usize,
9674 _depth: fidl::encoding::Depth,
9675 ) -> fidl::Result<()> {
9676 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9677 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
9679 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9680 encoder,
9681 offset,
9682 _depth,
9683 )
9684 }
9685 }
9686 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
9687 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
9688 {
9689 #[inline]
9690 unsafe fn encode(
9691 self,
9692 encoder: &mut fidl::encoding::Encoder<'_, D>,
9693 offset: usize,
9694 depth: fidl::encoding::Depth,
9695 ) -> fidl::Result<()> {
9696 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9697 self.0.encode(encoder, offset + 0, depth)?;
9701 Ok(())
9702 }
9703 }
9704
9705 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
9706 #[inline(always)]
9707 fn new_empty() -> Self {
9708 Self { req: fidl::new_empty!(StopRequest, D) }
9709 }
9710
9711 #[inline]
9712 unsafe fn decode(
9713 &mut self,
9714 decoder: &mut fidl::encoding::Decoder<'_, D>,
9715 offset: usize,
9716 _depth: fidl::encoding::Depth,
9717 ) -> fidl::Result<()> {
9718 decoder.debug_check_bounds::<Self>(offset);
9719 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9721 Ok(())
9722 }
9723 }
9724
9725 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
9726 type Borrowed<'a> = &'a Self;
9727 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9728 value
9729 }
9730 }
9731
9732 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
9733 type Owned = Self;
9734
9735 #[inline(always)]
9736 fn inline_align(_context: fidl::encoding::Context) -> usize {
9737 8
9738 }
9739
9740 #[inline(always)]
9741 fn inline_size(_context: fidl::encoding::Context) -> usize {
9742 56
9743 }
9744 }
9745
9746 unsafe impl<D: fidl::encoding::ResourceDialect>
9747 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
9748 {
9749 #[inline]
9750 unsafe fn encode(
9751 self,
9752 encoder: &mut fidl::encoding::Encoder<'_, D>,
9753 offset: usize,
9754 _depth: fidl::encoding::Depth,
9755 ) -> fidl::Result<()> {
9756 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9757 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
9759 (
9760 <fidl_fuchsia_wlan_ieee80211__common::WlanChannel as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
9761 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
9762 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
9763 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
9764 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
9765 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
9766 ),
9767 encoder, offset, _depth
9768 )
9769 }
9770 }
9771 unsafe impl<
9772 D: fidl::encoding::ResourceDialect,
9773 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D>,
9774 T1: fidl::encoding::Encode<u16, D>,
9775 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
9776 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
9777 T4: fidl::encoding::Encode<
9778 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9779 D,
9780 >,
9781 T5: fidl::encoding::Encode<
9782 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9783 D,
9784 >,
9785 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
9786 {
9787 #[inline]
9788 unsafe fn encode(
9789 self,
9790 encoder: &mut fidl::encoding::Encoder<'_, D>,
9791 offset: usize,
9792 depth: fidl::encoding::Depth,
9793 ) -> fidl::Result<()> {
9794 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9795 unsafe {
9798 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9799 (ptr as *mut u64).write_unaligned(0);
9800 }
9801 self.0.encode(encoder, offset + 0, depth)?;
9803 self.1.encode(encoder, offset + 12, depth)?;
9804 self.2.encode(encoder, offset + 16, depth)?;
9805 self.3.encode(encoder, offset + 32, depth)?;
9806 self.4.encode(encoder, offset + 40, depth)?;
9807 self.5.encode(encoder, offset + 48, depth)?;
9808 Ok(())
9809 }
9810 }
9811
9812 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9813 for NegotiatedCapabilities
9814 {
9815 #[inline(always)]
9816 fn new_empty() -> Self {
9817 Self {
9818 channel: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D),
9819 capability_info: fidl::new_empty!(u16, D),
9820 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
9821 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
9822 ht_cap: fidl::new_empty!(
9823 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9824 D
9825 ),
9826 vht_cap: fidl::new_empty!(
9827 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9828 D
9829 ),
9830 }
9831 }
9832
9833 #[inline]
9834 unsafe fn decode(
9835 &mut self,
9836 decoder: &mut fidl::encoding::Decoder<'_, D>,
9837 offset: usize,
9838 _depth: fidl::encoding::Depth,
9839 ) -> fidl::Result<()> {
9840 decoder.debug_check_bounds::<Self>(offset);
9841 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9843 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9844 let mask = 0xffff000000000000u64;
9845 let maskedval = padval & mask;
9846 if maskedval != 0 {
9847 return Err(fidl::Error::NonZeroPadding {
9848 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9849 });
9850 }
9851 fidl::decode!(
9852 fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
9853 D,
9854 &mut self.channel,
9855 decoder,
9856 offset + 0,
9857 _depth
9858 )?;
9859 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 12, _depth)?;
9860 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
9861 fidl::decode!(
9862 fidl::encoding::Boxed<WmmParameter>,
9863 D,
9864 &mut self.wmm_param,
9865 decoder,
9866 offset + 32,
9867 _depth
9868 )?;
9869 fidl::decode!(
9870 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9871 D,
9872 &mut self.ht_cap,
9873 decoder,
9874 offset + 40,
9875 _depth
9876 )?;
9877 fidl::decode!(
9878 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9879 D,
9880 &mut self.vht_cap,
9881 decoder,
9882 offset + 48,
9883 _depth
9884 )?;
9885 Ok(())
9886 }
9887 }
9888
9889 impl fidl::encoding::ValueTypeMarker for PmkInfo {
9890 type Borrowed<'a> = &'a Self;
9891 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9892 value
9893 }
9894 }
9895
9896 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
9897 type Owned = Self;
9898
9899 #[inline(always)]
9900 fn inline_align(_context: fidl::encoding::Context) -> usize {
9901 8
9902 }
9903
9904 #[inline(always)]
9905 fn inline_size(_context: fidl::encoding::Context) -> usize {
9906 32
9907 }
9908 }
9909
9910 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
9911 #[inline]
9912 unsafe fn encode(
9913 self,
9914 encoder: &mut fidl::encoding::Encoder<'_, D>,
9915 offset: usize,
9916 _depth: fidl::encoding::Depth,
9917 ) -> fidl::Result<()> {
9918 encoder.debug_check_bounds::<PmkInfo>(offset);
9919 fidl::encoding::Encode::<PmkInfo, D>::encode(
9921 (
9922 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
9923 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
9924 ),
9925 encoder, offset, _depth
9926 )
9927 }
9928 }
9929 unsafe impl<
9930 D: fidl::encoding::ResourceDialect,
9931 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9932 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9933 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
9934 {
9935 #[inline]
9936 unsafe fn encode(
9937 self,
9938 encoder: &mut fidl::encoding::Encoder<'_, D>,
9939 offset: usize,
9940 depth: fidl::encoding::Depth,
9941 ) -> fidl::Result<()> {
9942 encoder.debug_check_bounds::<PmkInfo>(offset);
9943 self.0.encode(encoder, offset + 0, depth)?;
9947 self.1.encode(encoder, offset + 16, depth)?;
9948 Ok(())
9949 }
9950 }
9951
9952 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
9953 #[inline(always)]
9954 fn new_empty() -> Self {
9955 Self {
9956 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9957 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9958 }
9959 }
9960
9961 #[inline]
9962 unsafe fn decode(
9963 &mut self,
9964 decoder: &mut fidl::encoding::Decoder<'_, D>,
9965 offset: usize,
9966 _depth: fidl::encoding::Depth,
9967 ) -> fidl::Result<()> {
9968 decoder.debug_check_bounds::<Self>(offset);
9969 fidl::decode!(
9971 fidl::encoding::UnboundedVector<u8>,
9972 D,
9973 &mut self.pmk,
9974 decoder,
9975 offset + 0,
9976 _depth
9977 )?;
9978 fidl::decode!(
9979 fidl::encoding::UnboundedVector<u8>,
9980 D,
9981 &mut self.pmkid,
9982 decoder,
9983 offset + 16,
9984 _depth
9985 )?;
9986 Ok(())
9987 }
9988 }
9989
9990 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
9991 type Borrowed<'a> = &'a Self;
9992 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9993 value
9994 }
9995 }
9996
9997 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
9998 type Owned = Self;
9999
10000 #[inline(always)]
10001 fn inline_align(_context: fidl::encoding::Context) -> usize {
10002 1
10003 }
10004
10005 #[inline(always)]
10006 fn inline_size(_context: fidl::encoding::Context) -> usize {
10007 6
10008 }
10009 #[inline(always)]
10010 fn encode_is_copy() -> bool {
10011 true
10012 }
10013
10014 #[inline(always)]
10015 fn decode_is_copy() -> bool {
10016 true
10017 }
10018 }
10019
10020 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
10021 for &ReconnectRequest
10022 {
10023 #[inline]
10024 unsafe fn encode(
10025 self,
10026 encoder: &mut fidl::encoding::Encoder<'_, D>,
10027 offset: usize,
10028 _depth: fidl::encoding::Depth,
10029 ) -> fidl::Result<()> {
10030 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10031 unsafe {
10032 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10034 (buf_ptr as *mut ReconnectRequest)
10035 .write_unaligned((self as *const ReconnectRequest).read());
10036 }
10039 Ok(())
10040 }
10041 }
10042 unsafe impl<
10043 D: fidl::encoding::ResourceDialect,
10044 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10045 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
10046 {
10047 #[inline]
10048 unsafe fn encode(
10049 self,
10050 encoder: &mut fidl::encoding::Encoder<'_, D>,
10051 offset: usize,
10052 depth: fidl::encoding::Depth,
10053 ) -> fidl::Result<()> {
10054 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10055 self.0.encode(encoder, offset + 0, depth)?;
10059 Ok(())
10060 }
10061 }
10062
10063 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
10064 #[inline(always)]
10065 fn new_empty() -> Self {
10066 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10067 }
10068
10069 #[inline]
10070 unsafe fn decode(
10071 &mut self,
10072 decoder: &mut fidl::encoding::Decoder<'_, D>,
10073 offset: usize,
10074 _depth: fidl::encoding::Depth,
10075 ) -> fidl::Result<()> {
10076 decoder.debug_check_bounds::<Self>(offset);
10077 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10078 unsafe {
10081 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10082 }
10083 Ok(())
10084 }
10085 }
10086
10087 impl fidl::encoding::ValueTypeMarker for ResetRequest {
10088 type Borrowed<'a> = &'a Self;
10089 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10090 value
10091 }
10092 }
10093
10094 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
10095 type Owned = Self;
10096
10097 #[inline(always)]
10098 fn inline_align(_context: fidl::encoding::Context) -> usize {
10099 1
10100 }
10101
10102 #[inline(always)]
10103 fn inline_size(_context: fidl::encoding::Context) -> usize {
10104 7
10105 }
10106 }
10107
10108 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
10109 for &ResetRequest
10110 {
10111 #[inline]
10112 unsafe fn encode(
10113 self,
10114 encoder: &mut fidl::encoding::Encoder<'_, D>,
10115 offset: usize,
10116 _depth: fidl::encoding::Depth,
10117 ) -> fidl::Result<()> {
10118 encoder.debug_check_bounds::<ResetRequest>(offset);
10119 fidl::encoding::Encode::<ResetRequest, D>::encode(
10121 (
10122 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10123 &self.sta_address,
10124 ),
10125 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
10126 ),
10127 encoder,
10128 offset,
10129 _depth,
10130 )
10131 }
10132 }
10133 unsafe impl<
10134 D: fidl::encoding::ResourceDialect,
10135 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10136 T1: fidl::encoding::Encode<bool, D>,
10137 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
10138 {
10139 #[inline]
10140 unsafe fn encode(
10141 self,
10142 encoder: &mut fidl::encoding::Encoder<'_, D>,
10143 offset: usize,
10144 depth: fidl::encoding::Depth,
10145 ) -> fidl::Result<()> {
10146 encoder.debug_check_bounds::<ResetRequest>(offset);
10147 self.0.encode(encoder, offset + 0, depth)?;
10151 self.1.encode(encoder, offset + 6, depth)?;
10152 Ok(())
10153 }
10154 }
10155
10156 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
10157 #[inline(always)]
10158 fn new_empty() -> Self {
10159 Self {
10160 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10161 set_default_mib: fidl::new_empty!(bool, D),
10162 }
10163 }
10164
10165 #[inline]
10166 unsafe fn decode(
10167 &mut self,
10168 decoder: &mut fidl::encoding::Decoder<'_, D>,
10169 offset: usize,
10170 _depth: fidl::encoding::Depth,
10171 ) -> fidl::Result<()> {
10172 decoder.debug_check_bounds::<Self>(offset);
10173 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
10175 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
10176 Ok(())
10177 }
10178 }
10179
10180 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
10181 type Borrowed<'a> = &'a Self;
10182 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10183 value
10184 }
10185 }
10186
10187 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
10188 type Owned = Self;
10189
10190 #[inline(always)]
10191 fn inline_align(_context: fidl::encoding::Context) -> usize {
10192 8
10193 }
10194
10195 #[inline(always)]
10196 fn inline_size(_context: fidl::encoding::Context) -> usize {
10197 32
10198 }
10199 }
10200
10201 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
10202 for &RoamConfirm
10203 {
10204 #[inline]
10205 unsafe fn encode(
10206 self,
10207 encoder: &mut fidl::encoding::Encoder<'_, D>,
10208 offset: usize,
10209 _depth: fidl::encoding::Depth,
10210 ) -> fidl::Result<()> {
10211 encoder.debug_check_bounds::<RoamConfirm>(offset);
10212 fidl::encoding::Encode::<RoamConfirm, D>::encode(
10214 (
10215 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10216 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10217 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10218 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10219 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10220 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10221 ),
10222 encoder, offset, _depth
10223 )
10224 }
10225 }
10226 unsafe impl<
10227 D: fidl::encoding::ResourceDialect,
10228 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10229 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10230 T2: fidl::encoding::Encode<bool, D>,
10231 T3: fidl::encoding::Encode<bool, D>,
10232 T4: fidl::encoding::Encode<u16, D>,
10233 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10234 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
10235 {
10236 #[inline]
10237 unsafe fn encode(
10238 self,
10239 encoder: &mut fidl::encoding::Encoder<'_, D>,
10240 offset: usize,
10241 depth: fidl::encoding::Depth,
10242 ) -> fidl::Result<()> {
10243 encoder.debug_check_bounds::<RoamConfirm>(offset);
10244 unsafe {
10247 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10248 (ptr as *mut u64).write_unaligned(0);
10249 }
10250 self.0.encode(encoder, offset + 0, depth)?;
10252 self.1.encode(encoder, offset + 6, depth)?;
10253 self.2.encode(encoder, offset + 8, depth)?;
10254 self.3.encode(encoder, offset + 9, depth)?;
10255 self.4.encode(encoder, offset + 10, depth)?;
10256 self.5.encode(encoder, offset + 16, depth)?;
10257 Ok(())
10258 }
10259 }
10260
10261 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
10262 #[inline(always)]
10263 fn new_empty() -> Self {
10264 Self {
10265 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10266 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10267 original_association_maintained: fidl::new_empty!(bool, D),
10268 target_bss_authenticated: fidl::new_empty!(bool, D),
10269 association_id: fidl::new_empty!(u16, D),
10270 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10271 }
10272 }
10273
10274 #[inline]
10275 unsafe fn decode(
10276 &mut self,
10277 decoder: &mut fidl::encoding::Decoder<'_, D>,
10278 offset: usize,
10279 _depth: fidl::encoding::Depth,
10280 ) -> fidl::Result<()> {
10281 decoder.debug_check_bounds::<Self>(offset);
10282 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10284 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10285 let mask = 0xffffffff00000000u64;
10286 let maskedval = padval & mask;
10287 if maskedval != 0 {
10288 return Err(fidl::Error::NonZeroPadding {
10289 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10290 });
10291 }
10292 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10293 fidl::decode!(
10294 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10295 D,
10296 &mut self.status_code,
10297 decoder,
10298 offset + 6,
10299 _depth
10300 )?;
10301 fidl::decode!(
10302 bool,
10303 D,
10304 &mut self.original_association_maintained,
10305 decoder,
10306 offset + 8,
10307 _depth
10308 )?;
10309 fidl::decode!(
10310 bool,
10311 D,
10312 &mut self.target_bss_authenticated,
10313 decoder,
10314 offset + 9,
10315 _depth
10316 )?;
10317 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10318 fidl::decode!(
10319 fidl::encoding::UnboundedVector<u8>,
10320 D,
10321 &mut self.association_ies,
10322 decoder,
10323 offset + 16,
10324 _depth
10325 )?;
10326 Ok(())
10327 }
10328 }
10329
10330 impl fidl::encoding::ValueTypeMarker for RoamRequest {
10331 type Borrowed<'a> = &'a Self;
10332 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10333 value
10334 }
10335 }
10336
10337 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
10338 type Owned = Self;
10339
10340 #[inline(always)]
10341 fn inline_align(_context: fidl::encoding::Context) -> usize {
10342 8
10343 }
10344
10345 #[inline(always)]
10346 fn inline_size(_context: fidl::encoding::Context) -> usize {
10347 48
10348 }
10349 }
10350
10351 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
10352 for &RoamRequest
10353 {
10354 #[inline]
10355 unsafe fn encode(
10356 self,
10357 encoder: &mut fidl::encoding::Encoder<'_, D>,
10358 offset: usize,
10359 _depth: fidl::encoding::Depth,
10360 ) -> fidl::Result<()> {
10361 encoder.debug_check_bounds::<RoamRequest>(offset);
10362 fidl::encoding::Encode::<RoamRequest, D>::encode(
10364 (
10365 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10366 ),
10367 encoder, offset, _depth
10368 )
10369 }
10370 }
10371 unsafe impl<
10372 D: fidl::encoding::ResourceDialect,
10373 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10374 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
10375 {
10376 #[inline]
10377 unsafe fn encode(
10378 self,
10379 encoder: &mut fidl::encoding::Encoder<'_, D>,
10380 offset: usize,
10381 depth: fidl::encoding::Depth,
10382 ) -> fidl::Result<()> {
10383 encoder.debug_check_bounds::<RoamRequest>(offset);
10384 self.0.encode(encoder, offset + 0, depth)?;
10388 Ok(())
10389 }
10390 }
10391
10392 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
10393 #[inline(always)]
10394 fn new_empty() -> Self {
10395 Self {
10396 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10397 }
10398 }
10399
10400 #[inline]
10401 unsafe fn decode(
10402 &mut self,
10403 decoder: &mut fidl::encoding::Decoder<'_, D>,
10404 offset: usize,
10405 _depth: fidl::encoding::Depth,
10406 ) -> fidl::Result<()> {
10407 decoder.debug_check_bounds::<Self>(offset);
10408 fidl::decode!(
10410 fidl_fuchsia_wlan_common__common::BssDescription,
10411 D,
10412 &mut self.selected_bss,
10413 decoder,
10414 offset + 0,
10415 _depth
10416 )?;
10417 Ok(())
10418 }
10419 }
10420
10421 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
10422 type Borrowed<'a> = &'a Self;
10423 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10424 value
10425 }
10426 }
10427
10428 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
10429 type Owned = Self;
10430
10431 #[inline(always)]
10432 fn inline_align(_context: fidl::encoding::Context) -> usize {
10433 8
10434 }
10435
10436 #[inline(always)]
10437 fn inline_size(_context: fidl::encoding::Context) -> usize {
10438 32
10439 }
10440 }
10441
10442 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
10443 for &RoamResultIndication
10444 {
10445 #[inline]
10446 unsafe fn encode(
10447 self,
10448 encoder: &mut fidl::encoding::Encoder<'_, D>,
10449 offset: usize,
10450 _depth: fidl::encoding::Depth,
10451 ) -> fidl::Result<()> {
10452 encoder.debug_check_bounds::<RoamResultIndication>(offset);
10453 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
10455 (
10456 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10457 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10458 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10459 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10460 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10461 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10462 ),
10463 encoder, offset, _depth
10464 )
10465 }
10466 }
10467 unsafe impl<
10468 D: fidl::encoding::ResourceDialect,
10469 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10470 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10471 T2: fidl::encoding::Encode<bool, D>,
10472 T3: fidl::encoding::Encode<bool, D>,
10473 T4: fidl::encoding::Encode<u16, D>,
10474 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10475 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
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::<RoamResultIndication>(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 + 6, depth)?;
10494 self.2.encode(encoder, offset + 8, depth)?;
10495 self.3.encode(encoder, offset + 9, depth)?;
10496 self.4.encode(encoder, offset + 10, depth)?;
10497 self.5.encode(encoder, offset + 16, depth)?;
10498 Ok(())
10499 }
10500 }
10501
10502 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
10503 #[inline(always)]
10504 fn new_empty() -> Self {
10505 Self {
10506 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10507 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10508 original_association_maintained: fidl::new_empty!(bool, D),
10509 target_bss_authenticated: fidl::new_empty!(bool, D),
10510 association_id: fidl::new_empty!(u16, D),
10511 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10512 }
10513 }
10514
10515 #[inline]
10516 unsafe fn decode(
10517 &mut self,
10518 decoder: &mut fidl::encoding::Decoder<'_, D>,
10519 offset: usize,
10520 _depth: fidl::encoding::Depth,
10521 ) -> fidl::Result<()> {
10522 decoder.debug_check_bounds::<Self>(offset);
10523 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10525 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10526 let mask = 0xffffffff00000000u64;
10527 let maskedval = padval & mask;
10528 if maskedval != 0 {
10529 return Err(fidl::Error::NonZeroPadding {
10530 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10531 });
10532 }
10533 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10534 fidl::decode!(
10535 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10536 D,
10537 &mut self.status_code,
10538 decoder,
10539 offset + 6,
10540 _depth
10541 )?;
10542 fidl::decode!(
10543 bool,
10544 D,
10545 &mut self.original_association_maintained,
10546 decoder,
10547 offset + 8,
10548 _depth
10549 )?;
10550 fidl::decode!(
10551 bool,
10552 D,
10553 &mut self.target_bss_authenticated,
10554 decoder,
10555 offset + 9,
10556 _depth
10557 )?;
10558 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10559 fidl::decode!(
10560 fidl::encoding::UnboundedVector<u8>,
10561 D,
10562 &mut self.association_ies,
10563 decoder,
10564 offset + 16,
10565 _depth
10566 )?;
10567 Ok(())
10568 }
10569 }
10570
10571 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
10572 type Borrowed<'a> = &'a Self;
10573 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10574 value
10575 }
10576 }
10577
10578 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
10579 type Owned = Self;
10580
10581 #[inline(always)]
10582 fn inline_align(_context: fidl::encoding::Context) -> usize {
10583 8
10584 }
10585
10586 #[inline(always)]
10587 fn inline_size(_context: fidl::encoding::Context) -> usize {
10588 64
10589 }
10590 }
10591
10592 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
10593 for &RoamStartIndication
10594 {
10595 #[inline]
10596 unsafe fn encode(
10597 self,
10598 encoder: &mut fidl::encoding::Encoder<'_, D>,
10599 offset: usize,
10600 _depth: fidl::encoding::Depth,
10601 ) -> fidl::Result<()> {
10602 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10603 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
10605 (
10606 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10607 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10608 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10609 ),
10610 encoder, offset, _depth
10611 )
10612 }
10613 }
10614 unsafe impl<
10615 D: fidl::encoding::ResourceDialect,
10616 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10617 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10618 T2: fidl::encoding::Encode<bool, D>,
10619 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
10620 {
10621 #[inline]
10622 unsafe fn encode(
10623 self,
10624 encoder: &mut fidl::encoding::Encoder<'_, D>,
10625 offset: usize,
10626 depth: fidl::encoding::Depth,
10627 ) -> fidl::Result<()> {
10628 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10629 unsafe {
10632 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10633 (ptr as *mut u64).write_unaligned(0);
10634 }
10635 unsafe {
10636 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10637 (ptr as *mut u64).write_unaligned(0);
10638 }
10639 self.0.encode(encoder, offset + 0, depth)?;
10641 self.1.encode(encoder, offset + 8, depth)?;
10642 self.2.encode(encoder, offset + 56, depth)?;
10643 Ok(())
10644 }
10645 }
10646
10647 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
10648 #[inline(always)]
10649 fn new_empty() -> Self {
10650 Self {
10651 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10652 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10653 original_association_maintained: fidl::new_empty!(bool, D),
10654 }
10655 }
10656
10657 #[inline]
10658 unsafe fn decode(
10659 &mut self,
10660 decoder: &mut fidl::encoding::Decoder<'_, D>,
10661 offset: usize,
10662 _depth: fidl::encoding::Depth,
10663 ) -> fidl::Result<()> {
10664 decoder.debug_check_bounds::<Self>(offset);
10665 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10667 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10668 let mask = 0xffff000000000000u64;
10669 let maskedval = padval & mask;
10670 if maskedval != 0 {
10671 return Err(fidl::Error::NonZeroPadding {
10672 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10673 });
10674 }
10675 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10676 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10677 let mask = 0xffffffffffffff00u64;
10678 let maskedval = padval & mask;
10679 if maskedval != 0 {
10680 return Err(fidl::Error::NonZeroPadding {
10681 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10682 });
10683 }
10684 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10685 fidl::decode!(
10686 fidl_fuchsia_wlan_common__common::BssDescription,
10687 D,
10688 &mut self.selected_bss,
10689 decoder,
10690 offset + 8,
10691 _depth
10692 )?;
10693 fidl::decode!(
10694 bool,
10695 D,
10696 &mut self.original_association_maintained,
10697 decoder,
10698 offset + 56,
10699 _depth
10700 )?;
10701 Ok(())
10702 }
10703 }
10704
10705 impl fidl::encoding::ValueTypeMarker for SaeFrame {
10706 type Borrowed<'a> = &'a Self;
10707 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10708 value
10709 }
10710 }
10711
10712 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
10713 type Owned = Self;
10714
10715 #[inline(always)]
10716 fn inline_align(_context: fidl::encoding::Context) -> usize {
10717 8
10718 }
10719
10720 #[inline(always)]
10721 fn inline_size(_context: fidl::encoding::Context) -> usize {
10722 32
10723 }
10724 }
10725
10726 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
10727 #[inline]
10728 unsafe fn encode(
10729 self,
10730 encoder: &mut fidl::encoding::Encoder<'_, D>,
10731 offset: usize,
10732 _depth: fidl::encoding::Depth,
10733 ) -> fidl::Result<()> {
10734 encoder.debug_check_bounds::<SaeFrame>(offset);
10735 fidl::encoding::Encode::<SaeFrame, D>::encode(
10737 (
10738 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10739 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10740 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
10741 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
10742 ),
10743 encoder, offset, _depth
10744 )
10745 }
10746 }
10747 unsafe impl<
10748 D: fidl::encoding::ResourceDialect,
10749 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10750 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10751 T2: fidl::encoding::Encode<u16, D>,
10752 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10753 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
10754 {
10755 #[inline]
10756 unsafe fn encode(
10757 self,
10758 encoder: &mut fidl::encoding::Encoder<'_, D>,
10759 offset: usize,
10760 depth: fidl::encoding::Depth,
10761 ) -> fidl::Result<()> {
10762 encoder.debug_check_bounds::<SaeFrame>(offset);
10763 unsafe {
10766 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10767 (ptr as *mut u64).write_unaligned(0);
10768 }
10769 self.0.encode(encoder, offset + 0, depth)?;
10771 self.1.encode(encoder, offset + 6, depth)?;
10772 self.2.encode(encoder, offset + 8, depth)?;
10773 self.3.encode(encoder, offset + 16, depth)?;
10774 Ok(())
10775 }
10776 }
10777
10778 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
10779 #[inline(always)]
10780 fn new_empty() -> Self {
10781 Self {
10782 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10783 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10784 seq_num: fidl::new_empty!(u16, D),
10785 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10786 }
10787 }
10788
10789 #[inline]
10790 unsafe fn decode(
10791 &mut self,
10792 decoder: &mut fidl::encoding::Decoder<'_, D>,
10793 offset: usize,
10794 _depth: fidl::encoding::Depth,
10795 ) -> fidl::Result<()> {
10796 decoder.debug_check_bounds::<Self>(offset);
10797 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10799 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10800 let mask = 0xffffffffffff0000u64;
10801 let maskedval = padval & mask;
10802 if maskedval != 0 {
10803 return Err(fidl::Error::NonZeroPadding {
10804 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10805 });
10806 }
10807 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10808 fidl::decode!(
10809 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10810 D,
10811 &mut self.status_code,
10812 decoder,
10813 offset + 6,
10814 _depth
10815 )?;
10816 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
10817 fidl::decode!(
10818 fidl::encoding::UnboundedVector<u8>,
10819 D,
10820 &mut self.sae_fields,
10821 decoder,
10822 offset + 16,
10823 _depth
10824 )?;
10825 Ok(())
10826 }
10827 }
10828
10829 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
10830 type Borrowed<'a> = &'a Self;
10831 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10832 value
10833 }
10834 }
10835
10836 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
10837 type Owned = Self;
10838
10839 #[inline(always)]
10840 fn inline_align(_context: fidl::encoding::Context) -> usize {
10841 1
10842 }
10843
10844 #[inline(always)]
10845 fn inline_size(_context: fidl::encoding::Context) -> usize {
10846 6
10847 }
10848 #[inline(always)]
10849 fn encode_is_copy() -> bool {
10850 true
10851 }
10852
10853 #[inline(always)]
10854 fn decode_is_copy() -> bool {
10855 true
10856 }
10857 }
10858
10859 unsafe impl<D: fidl::encoding::ResourceDialect>
10860 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
10861 {
10862 #[inline]
10863 unsafe fn encode(
10864 self,
10865 encoder: &mut fidl::encoding::Encoder<'_, D>,
10866 offset: usize,
10867 _depth: fidl::encoding::Depth,
10868 ) -> fidl::Result<()> {
10869 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10870 unsafe {
10871 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10873 (buf_ptr as *mut SaeHandshakeIndication)
10874 .write_unaligned((self as *const SaeHandshakeIndication).read());
10875 }
10878 Ok(())
10879 }
10880 }
10881 unsafe impl<
10882 D: fidl::encoding::ResourceDialect,
10883 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10884 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
10885 {
10886 #[inline]
10887 unsafe fn encode(
10888 self,
10889 encoder: &mut fidl::encoding::Encoder<'_, D>,
10890 offset: usize,
10891 depth: fidl::encoding::Depth,
10892 ) -> fidl::Result<()> {
10893 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10894 self.0.encode(encoder, offset + 0, depth)?;
10898 Ok(())
10899 }
10900 }
10901
10902 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10903 for SaeHandshakeIndication
10904 {
10905 #[inline(always)]
10906 fn new_empty() -> Self {
10907 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10908 }
10909
10910 #[inline]
10911 unsafe fn decode(
10912 &mut self,
10913 decoder: &mut fidl::encoding::Decoder<'_, D>,
10914 offset: usize,
10915 _depth: fidl::encoding::Depth,
10916 ) -> fidl::Result<()> {
10917 decoder.debug_check_bounds::<Self>(offset);
10918 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10919 unsafe {
10922 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10923 }
10924 Ok(())
10925 }
10926 }
10927
10928 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
10929 type Borrowed<'a> = &'a Self;
10930 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10931 value
10932 }
10933 }
10934
10935 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
10936 type Owned = Self;
10937
10938 #[inline(always)]
10939 fn inline_align(_context: fidl::encoding::Context) -> usize {
10940 2
10941 }
10942
10943 #[inline(always)]
10944 fn inline_size(_context: fidl::encoding::Context) -> usize {
10945 8
10946 }
10947 }
10948
10949 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
10950 for &SaeHandshakeResponse
10951 {
10952 #[inline]
10953 unsafe fn encode(
10954 self,
10955 encoder: &mut fidl::encoding::Encoder<'_, D>,
10956 offset: usize,
10957 _depth: fidl::encoding::Depth,
10958 ) -> fidl::Result<()> {
10959 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10960 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
10962 (
10963 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10964 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10965 ),
10966 encoder, offset, _depth
10967 )
10968 }
10969 }
10970 unsafe impl<
10971 D: fidl::encoding::ResourceDialect,
10972 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10973 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10974 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
10975 {
10976 #[inline]
10977 unsafe fn encode(
10978 self,
10979 encoder: &mut fidl::encoding::Encoder<'_, D>,
10980 offset: usize,
10981 depth: fidl::encoding::Depth,
10982 ) -> fidl::Result<()> {
10983 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10984 self.0.encode(encoder, offset + 0, depth)?;
10988 self.1.encode(encoder, offset + 6, depth)?;
10989 Ok(())
10990 }
10991 }
10992
10993 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
10994 #[inline(always)]
10995 fn new_empty() -> Self {
10996 Self {
10997 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10998 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10999 }
11000 }
11001
11002 #[inline]
11003 unsafe fn decode(
11004 &mut self,
11005 decoder: &mut fidl::encoding::Decoder<'_, D>,
11006 offset: usize,
11007 _depth: fidl::encoding::Depth,
11008 ) -> fidl::Result<()> {
11009 decoder.debug_check_bounds::<Self>(offset);
11010 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11012 fidl::decode!(
11013 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
11014 D,
11015 &mut self.status_code,
11016 decoder,
11017 offset + 6,
11018 _depth
11019 )?;
11020 Ok(())
11021 }
11022 }
11023
11024 impl fidl::encoding::ValueTypeMarker for ScanEnd {
11025 type Borrowed<'a> = &'a Self;
11026 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11027 value
11028 }
11029 }
11030
11031 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
11032 type Owned = Self;
11033
11034 #[inline(always)]
11035 fn inline_align(_context: fidl::encoding::Context) -> usize {
11036 8
11037 }
11038
11039 #[inline(always)]
11040 fn inline_size(_context: fidl::encoding::Context) -> usize {
11041 16
11042 }
11043 }
11044
11045 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
11046 #[inline]
11047 unsafe fn encode(
11048 self,
11049 encoder: &mut fidl::encoding::Encoder<'_, D>,
11050 offset: usize,
11051 _depth: fidl::encoding::Depth,
11052 ) -> fidl::Result<()> {
11053 encoder.debug_check_bounds::<ScanEnd>(offset);
11054 fidl::encoding::Encode::<ScanEnd, D>::encode(
11056 (
11057 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11058 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
11059 ),
11060 encoder,
11061 offset,
11062 _depth,
11063 )
11064 }
11065 }
11066 unsafe impl<
11067 D: fidl::encoding::ResourceDialect,
11068 T0: fidl::encoding::Encode<u64, D>,
11069 T1: fidl::encoding::Encode<ScanResultCode, D>,
11070 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
11071 {
11072 #[inline]
11073 unsafe fn encode(
11074 self,
11075 encoder: &mut fidl::encoding::Encoder<'_, D>,
11076 offset: usize,
11077 depth: fidl::encoding::Depth,
11078 ) -> fidl::Result<()> {
11079 encoder.debug_check_bounds::<ScanEnd>(offset);
11080 unsafe {
11083 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11084 (ptr as *mut u64).write_unaligned(0);
11085 }
11086 self.0.encode(encoder, offset + 0, depth)?;
11088 self.1.encode(encoder, offset + 8, depth)?;
11089 Ok(())
11090 }
11091 }
11092
11093 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
11094 #[inline(always)]
11095 fn new_empty() -> Self {
11096 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
11097 }
11098
11099 #[inline]
11100 unsafe fn decode(
11101 &mut self,
11102 decoder: &mut fidl::encoding::Decoder<'_, D>,
11103 offset: usize,
11104 _depth: fidl::encoding::Depth,
11105 ) -> fidl::Result<()> {
11106 decoder.debug_check_bounds::<Self>(offset);
11107 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11109 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11110 let mask = 0xffffffff00000000u64;
11111 let maskedval = padval & mask;
11112 if maskedval != 0 {
11113 return Err(fidl::Error::NonZeroPadding {
11114 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11115 });
11116 }
11117 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11118 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
11119 Ok(())
11120 }
11121 }
11122
11123 impl fidl::encoding::ValueTypeMarker for ScanRequest {
11124 type Borrowed<'a> = &'a Self;
11125 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11126 value
11127 }
11128 }
11129
11130 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
11131 type Owned = Self;
11132
11133 #[inline(always)]
11134 fn inline_align(_context: fidl::encoding::Context) -> usize {
11135 8
11136 }
11137
11138 #[inline(always)]
11139 fn inline_size(_context: fidl::encoding::Context) -> usize {
11140 64
11141 }
11142 }
11143
11144 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
11145 for &ScanRequest
11146 {
11147 #[inline]
11148 unsafe fn encode(
11149 self,
11150 encoder: &mut fidl::encoding::Encoder<'_, D>,
11151 offset: usize,
11152 _depth: fidl::encoding::Depth,
11153 ) -> fidl::Result<()> {
11154 encoder.debug_check_bounds::<ScanRequest>(offset);
11155 fidl::encoding::Encode::<ScanRequest, D>::encode(
11157 (
11158 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11159 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
11160 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
11161 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
11162 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
11163 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
11164 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
11165 ),
11166 encoder, offset, _depth
11167 )
11168 }
11169 }
11170 unsafe impl<
11171 D: fidl::encoding::ResourceDialect,
11172 T0: fidl::encoding::Encode<u64, D>,
11173 T1: fidl::encoding::Encode<ScanTypes, D>,
11174 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
11175 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
11176 T4: fidl::encoding::Encode<u32, D>,
11177 T5: fidl::encoding::Encode<u32, D>,
11178 T6: fidl::encoding::Encode<u32, D>,
11179 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
11180 {
11181 #[inline]
11182 unsafe fn encode(
11183 self,
11184 encoder: &mut fidl::encoding::Encoder<'_, D>,
11185 offset: usize,
11186 depth: fidl::encoding::Depth,
11187 ) -> fidl::Result<()> {
11188 encoder.debug_check_bounds::<ScanRequest>(offset);
11189 unsafe {
11192 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11193 (ptr as *mut u64).write_unaligned(0);
11194 }
11195 unsafe {
11196 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11197 (ptr as *mut u64).write_unaligned(0);
11198 }
11199 self.0.encode(encoder, offset + 0, depth)?;
11201 self.1.encode(encoder, offset + 8, depth)?;
11202 self.2.encode(encoder, offset + 16, depth)?;
11203 self.3.encode(encoder, offset + 32, depth)?;
11204 self.4.encode(encoder, offset + 48, depth)?;
11205 self.5.encode(encoder, offset + 52, depth)?;
11206 self.6.encode(encoder, offset + 56, depth)?;
11207 Ok(())
11208 }
11209 }
11210
11211 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
11212 #[inline(always)]
11213 fn new_empty() -> Self {
11214 Self {
11215 txn_id: fidl::new_empty!(u64, D),
11216 scan_type: fidl::new_empty!(ScanTypes, D),
11217 channel_list: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
11218 ssid_list: fidl::new_empty!(
11219 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11220 D
11221 ),
11222 probe_delay: fidl::new_empty!(u32, D),
11223 min_channel_time: fidl::new_empty!(u32, D),
11224 max_channel_time: fidl::new_empty!(u32, D),
11225 }
11226 }
11227
11228 #[inline]
11229 unsafe fn decode(
11230 &mut self,
11231 decoder: &mut fidl::encoding::Decoder<'_, D>,
11232 offset: usize,
11233 _depth: fidl::encoding::Depth,
11234 ) -> fidl::Result<()> {
11235 decoder.debug_check_bounds::<Self>(offset);
11236 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11238 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11239 let mask = 0xffffffff00000000u64;
11240 let maskedval = padval & mask;
11241 if maskedval != 0 {
11242 return Err(fidl::Error::NonZeroPadding {
11243 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11244 });
11245 }
11246 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11247 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11248 let mask = 0xffffffff00000000u64;
11249 let maskedval = padval & mask;
11250 if maskedval != 0 {
11251 return Err(fidl::Error::NonZeroPadding {
11252 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11253 });
11254 }
11255 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11256 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
11257 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
11258 fidl::decode!(
11259 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11260 D,
11261 &mut self.ssid_list,
11262 decoder,
11263 offset + 32,
11264 _depth
11265 )?;
11266 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
11267 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
11268 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
11269 Ok(())
11270 }
11271 }
11272
11273 impl fidl::encoding::ValueTypeMarker for ScanResult {
11274 type Borrowed<'a> = &'a Self;
11275 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11276 value
11277 }
11278 }
11279
11280 unsafe impl fidl::encoding::TypeMarker for ScanResult {
11281 type Owned = Self;
11282
11283 #[inline(always)]
11284 fn inline_align(_context: fidl::encoding::Context) -> usize {
11285 8
11286 }
11287
11288 #[inline(always)]
11289 fn inline_size(_context: fidl::encoding::Context) -> usize {
11290 64
11291 }
11292 }
11293
11294 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
11295 for &ScanResult
11296 {
11297 #[inline]
11298 unsafe fn encode(
11299 self,
11300 encoder: &mut fidl::encoding::Encoder<'_, D>,
11301 offset: usize,
11302 _depth: fidl::encoding::Depth,
11303 ) -> fidl::Result<()> {
11304 encoder.debug_check_bounds::<ScanResult>(offset);
11305 fidl::encoding::Encode::<ScanResult, D>::encode(
11307 (
11308 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11309 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
11310 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
11311 ),
11312 encoder, offset, _depth
11313 )
11314 }
11315 }
11316 unsafe impl<
11317 D: fidl::encoding::ResourceDialect,
11318 T0: fidl::encoding::Encode<u64, D>,
11319 T1: fidl::encoding::Encode<i64, D>,
11320 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
11321 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
11322 {
11323 #[inline]
11324 unsafe fn encode(
11325 self,
11326 encoder: &mut fidl::encoding::Encoder<'_, D>,
11327 offset: usize,
11328 depth: fidl::encoding::Depth,
11329 ) -> fidl::Result<()> {
11330 encoder.debug_check_bounds::<ScanResult>(offset);
11331 self.0.encode(encoder, offset + 0, depth)?;
11335 self.1.encode(encoder, offset + 8, depth)?;
11336 self.2.encode(encoder, offset + 16, depth)?;
11337 Ok(())
11338 }
11339 }
11340
11341 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
11342 #[inline(always)]
11343 fn new_empty() -> Self {
11344 Self {
11345 txn_id: fidl::new_empty!(u64, D),
11346 timestamp_nanos: fidl::new_empty!(i64, D),
11347 bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
11348 }
11349 }
11350
11351 #[inline]
11352 unsafe fn decode(
11353 &mut self,
11354 decoder: &mut fidl::encoding::Decoder<'_, D>,
11355 offset: usize,
11356 _depth: fidl::encoding::Depth,
11357 ) -> fidl::Result<()> {
11358 decoder.debug_check_bounds::<Self>(offset);
11359 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11361 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
11362 fidl::decode!(
11363 fidl_fuchsia_wlan_common__common::BssDescription,
11364 D,
11365 &mut self.bss,
11366 decoder,
11367 offset + 16,
11368 _depth
11369 )?;
11370 Ok(())
11371 }
11372 }
11373
11374 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
11375 type Borrowed<'a> = &'a Self;
11376 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11377 value
11378 }
11379 }
11380
11381 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
11382 type Owned = Self;
11383
11384 #[inline(always)]
11385 fn inline_align(_context: fidl::encoding::Context) -> usize {
11386 4
11387 }
11388
11389 #[inline(always)]
11390 fn inline_size(_context: fidl::encoding::Context) -> usize {
11391 12
11392 }
11393 }
11394
11395 unsafe impl<D: fidl::encoding::ResourceDialect>
11396 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
11397 {
11398 #[inline]
11399 unsafe fn encode(
11400 self,
11401 encoder: &mut fidl::encoding::Encoder<'_, D>,
11402 offset: usize,
11403 _depth: fidl::encoding::Depth,
11404 ) -> fidl::Result<()> {
11405 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11406 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
11408 (
11409 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
11410 &self.peer_sta_address,
11411 ),
11412 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
11413 ),
11414 encoder,
11415 offset,
11416 _depth,
11417 )
11418 }
11419 }
11420 unsafe impl<
11421 D: fidl::encoding::ResourceDialect,
11422 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11423 T1: fidl::encoding::Encode<ControlledPortState, D>,
11424 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
11425 {
11426 #[inline]
11427 unsafe fn encode(
11428 self,
11429 encoder: &mut fidl::encoding::Encoder<'_, D>,
11430 offset: usize,
11431 depth: fidl::encoding::Depth,
11432 ) -> fidl::Result<()> {
11433 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11434 unsafe {
11437 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
11438 (ptr as *mut u32).write_unaligned(0);
11439 }
11440 self.0.encode(encoder, offset + 0, depth)?;
11442 self.1.encode(encoder, offset + 8, depth)?;
11443 Ok(())
11444 }
11445 }
11446
11447 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11448 for SetControlledPortRequest
11449 {
11450 #[inline(always)]
11451 fn new_empty() -> Self {
11452 Self {
11453 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11454 state: fidl::new_empty!(ControlledPortState, D),
11455 }
11456 }
11457
11458 #[inline]
11459 unsafe fn decode(
11460 &mut self,
11461 decoder: &mut fidl::encoding::Decoder<'_, D>,
11462 offset: usize,
11463 _depth: fidl::encoding::Depth,
11464 ) -> fidl::Result<()> {
11465 decoder.debug_check_bounds::<Self>(offset);
11466 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
11468 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11469 let mask = 0xffff0000u32;
11470 let maskedval = padval & mask;
11471 if maskedval != 0 {
11472 return Err(fidl::Error::NonZeroPadding {
11473 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
11474 });
11475 }
11476 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11477 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
11478 Ok(())
11479 }
11480 }
11481
11482 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
11483 type Borrowed<'a> = &'a Self;
11484 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11485 value
11486 }
11487 }
11488
11489 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
11490 type Owned = Self;
11491
11492 #[inline(always)]
11493 fn inline_align(_context: fidl::encoding::Context) -> usize {
11494 8
11495 }
11496
11497 #[inline(always)]
11498 fn inline_size(_context: fidl::encoding::Context) -> usize {
11499 48
11500 }
11501 }
11502
11503 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
11504 for &SetKeyDescriptor
11505 {
11506 #[inline]
11507 unsafe fn encode(
11508 self,
11509 encoder: &mut fidl::encoding::Encoder<'_, D>,
11510 offset: usize,
11511 _depth: fidl::encoding::Depth,
11512 ) -> fidl::Result<()> {
11513 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11514 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
11516 (
11517 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
11518 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
11519 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
11520 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
11521 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
11522 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
11523 <fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
11524 ),
11525 encoder, offset, _depth
11526 )
11527 }
11528 }
11529 unsafe impl<
11530 D: fidl::encoding::ResourceDialect,
11531 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11532 T1: fidl::encoding::Encode<u16, D>,
11533 T2: fidl::encoding::Encode<KeyType, D>,
11534 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11535 T4: fidl::encoding::Encode<u64, D>,
11536 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
11537 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType, D>,
11538 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
11539 {
11540 #[inline]
11541 unsafe fn encode(
11542 self,
11543 encoder: &mut fidl::encoding::Encoder<'_, D>,
11544 offset: usize,
11545 depth: fidl::encoding::Depth,
11546 ) -> fidl::Result<()> {
11547 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11548 unsafe {
11551 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
11552 (ptr as *mut u64).write_unaligned(0);
11553 }
11554 unsafe {
11555 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11556 (ptr as *mut u64).write_unaligned(0);
11557 }
11558 unsafe {
11559 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
11560 (ptr as *mut u64).write_unaligned(0);
11561 }
11562 self.0.encode(encoder, offset + 0, depth)?;
11564 self.1.encode(encoder, offset + 16, depth)?;
11565 self.2.encode(encoder, offset + 20, depth)?;
11566 self.3.encode(encoder, offset + 24, depth)?;
11567 self.4.encode(encoder, offset + 32, depth)?;
11568 self.5.encode(encoder, offset + 40, depth)?;
11569 self.6.encode(encoder, offset + 44, depth)?;
11570 Ok(())
11571 }
11572 }
11573
11574 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
11575 #[inline(always)]
11576 fn new_empty() -> Self {
11577 Self {
11578 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11579 key_id: fidl::new_empty!(u16, D),
11580 key_type: fidl::new_empty!(KeyType, D),
11581 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11582 rsc: fidl::new_empty!(u64, D),
11583 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
11584 cipher_suite_type: fidl::new_empty!(
11585 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11586 D
11587 ),
11588 }
11589 }
11590
11591 #[inline]
11592 unsafe fn decode(
11593 &mut self,
11594 decoder: &mut fidl::encoding::Decoder<'_, D>,
11595 offset: usize,
11596 _depth: fidl::encoding::Depth,
11597 ) -> fidl::Result<()> {
11598 decoder.debug_check_bounds::<Self>(offset);
11599 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
11601 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11602 let mask = 0xffff0000u64;
11603 let maskedval = padval & mask;
11604 if maskedval != 0 {
11605 return Err(fidl::Error::NonZeroPadding {
11606 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
11607 });
11608 }
11609 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11610 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11611 let mask = 0xffff000000000000u64;
11612 let maskedval = padval & mask;
11613 if maskedval != 0 {
11614 return Err(fidl::Error::NonZeroPadding {
11615 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11616 });
11617 }
11618 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
11619 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11620 let mask = 0xff000000u64;
11621 let maskedval = padval & mask;
11622 if maskedval != 0 {
11623 return Err(fidl::Error::NonZeroPadding {
11624 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
11625 });
11626 }
11627 fidl::decode!(
11628 fidl::encoding::UnboundedVector<u8>,
11629 D,
11630 &mut self.key,
11631 decoder,
11632 offset + 0,
11633 _depth
11634 )?;
11635 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
11636 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
11637 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
11638 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
11639 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
11640 fidl::decode!(
11641 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11642 D,
11643 &mut self.cipher_suite_type,
11644 decoder,
11645 offset + 44,
11646 _depth
11647 )?;
11648 Ok(())
11649 }
11650 }
11651
11652 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
11653 type Borrowed<'a> = &'a Self;
11654 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11655 value
11656 }
11657 }
11658
11659 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
11660 type Owned = Self;
11661
11662 #[inline(always)]
11663 fn inline_align(_context: fidl::encoding::Context) -> usize {
11664 4
11665 }
11666
11667 #[inline(always)]
11668 fn inline_size(_context: fidl::encoding::Context) -> usize {
11669 8
11670 }
11671 }
11672
11673 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
11674 for &SetKeyResult
11675 {
11676 #[inline]
11677 unsafe fn encode(
11678 self,
11679 encoder: &mut fidl::encoding::Encoder<'_, D>,
11680 offset: usize,
11681 _depth: fidl::encoding::Depth,
11682 ) -> fidl::Result<()> {
11683 encoder.debug_check_bounds::<SetKeyResult>(offset);
11684 unsafe {
11685 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11687 (buf_ptr as *mut SetKeyResult)
11688 .write_unaligned((self as *const SetKeyResult).read());
11689 let padding_ptr = buf_ptr.offset(0) as *mut u32;
11692 let padding_mask = 0xffff0000u32;
11693 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
11694 }
11695 Ok(())
11696 }
11697 }
11698 unsafe impl<
11699 D: fidl::encoding::ResourceDialect,
11700 T0: fidl::encoding::Encode<u16, D>,
11701 T1: fidl::encoding::Encode<i32, D>,
11702 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
11703 {
11704 #[inline]
11705 unsafe fn encode(
11706 self,
11707 encoder: &mut fidl::encoding::Encoder<'_, D>,
11708 offset: usize,
11709 depth: fidl::encoding::Depth,
11710 ) -> fidl::Result<()> {
11711 encoder.debug_check_bounds::<SetKeyResult>(offset);
11712 unsafe {
11715 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11716 (ptr as *mut u32).write_unaligned(0);
11717 }
11718 self.0.encode(encoder, offset + 0, depth)?;
11720 self.1.encode(encoder, offset + 4, depth)?;
11721 Ok(())
11722 }
11723 }
11724
11725 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
11726 #[inline(always)]
11727 fn new_empty() -> Self {
11728 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
11729 }
11730
11731 #[inline]
11732 unsafe fn decode(
11733 &mut self,
11734 decoder: &mut fidl::encoding::Decoder<'_, D>,
11735 offset: usize,
11736 _depth: fidl::encoding::Depth,
11737 ) -> fidl::Result<()> {
11738 decoder.debug_check_bounds::<Self>(offset);
11739 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11740 let ptr = unsafe { buf_ptr.offset(0) };
11742 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11743 let mask = 0xffff0000u32;
11744 let maskedval = padval & mask;
11745 if maskedval != 0 {
11746 return Err(fidl::Error::NonZeroPadding {
11747 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11748 });
11749 }
11750 unsafe {
11752 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
11753 }
11754 Ok(())
11755 }
11756 }
11757
11758 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
11759 type Borrowed<'a> = &'a Self;
11760 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11761 value
11762 }
11763 }
11764
11765 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
11766 type Owned = Self;
11767
11768 #[inline(always)]
11769 fn inline_align(_context: fidl::encoding::Context) -> usize {
11770 8
11771 }
11772
11773 #[inline(always)]
11774 fn inline_size(_context: fidl::encoding::Context) -> usize {
11775 16
11776 }
11777 }
11778
11779 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
11780 for &SetKeysConfirm
11781 {
11782 #[inline]
11783 unsafe fn encode(
11784 self,
11785 encoder: &mut fidl::encoding::Encoder<'_, D>,
11786 offset: usize,
11787 _depth: fidl::encoding::Depth,
11788 ) -> fidl::Result<()> {
11789 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11790 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
11792 (
11793 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
11794 ),
11795 encoder, offset, _depth
11796 )
11797 }
11798 }
11799 unsafe impl<
11800 D: fidl::encoding::ResourceDialect,
11801 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
11802 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
11803 {
11804 #[inline]
11805 unsafe fn encode(
11806 self,
11807 encoder: &mut fidl::encoding::Encoder<'_, D>,
11808 offset: usize,
11809 depth: fidl::encoding::Depth,
11810 ) -> fidl::Result<()> {
11811 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11812 self.0.encode(encoder, offset + 0, depth)?;
11816 Ok(())
11817 }
11818 }
11819
11820 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
11821 #[inline(always)]
11822 fn new_empty() -> Self {
11823 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
11824 }
11825
11826 #[inline]
11827 unsafe fn decode(
11828 &mut self,
11829 decoder: &mut fidl::encoding::Decoder<'_, D>,
11830 offset: usize,
11831 _depth: fidl::encoding::Depth,
11832 ) -> fidl::Result<()> {
11833 decoder.debug_check_bounds::<Self>(offset);
11834 fidl::decode!(
11836 fidl::encoding::UnboundedVector<SetKeyResult>,
11837 D,
11838 &mut self.results,
11839 decoder,
11840 offset + 0,
11841 _depth
11842 )?;
11843 Ok(())
11844 }
11845 }
11846
11847 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
11848 type Borrowed<'a> = &'a Self;
11849 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11850 value
11851 }
11852 }
11853
11854 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
11855 type Owned = Self;
11856
11857 #[inline(always)]
11858 fn inline_align(_context: fidl::encoding::Context) -> usize {
11859 8
11860 }
11861
11862 #[inline(always)]
11863 fn inline_size(_context: fidl::encoding::Context) -> usize {
11864 16
11865 }
11866 }
11867
11868 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
11869 for &SetKeysRequest
11870 {
11871 #[inline]
11872 unsafe fn encode(
11873 self,
11874 encoder: &mut fidl::encoding::Encoder<'_, D>,
11875 offset: usize,
11876 _depth: fidl::encoding::Depth,
11877 ) -> fidl::Result<()> {
11878 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11879 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
11881 (
11882 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
11883 ),
11884 encoder, offset, _depth
11885 )
11886 }
11887 }
11888 unsafe impl<
11889 D: fidl::encoding::ResourceDialect,
11890 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
11891 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
11892 {
11893 #[inline]
11894 unsafe fn encode(
11895 self,
11896 encoder: &mut fidl::encoding::Encoder<'_, D>,
11897 offset: usize,
11898 depth: fidl::encoding::Depth,
11899 ) -> fidl::Result<()> {
11900 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11901 self.0.encode(encoder, offset + 0, depth)?;
11905 Ok(())
11906 }
11907 }
11908
11909 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
11910 #[inline(always)]
11911 fn new_empty() -> Self {
11912 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
11913 }
11914
11915 #[inline]
11916 unsafe fn decode(
11917 &mut self,
11918 decoder: &mut fidl::encoding::Decoder<'_, D>,
11919 offset: usize,
11920 _depth: fidl::encoding::Depth,
11921 ) -> fidl::Result<()> {
11922 decoder.debug_check_bounds::<Self>(offset);
11923 fidl::decode!(
11925 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
11926 D,
11927 &mut self.keylist,
11928 decoder,
11929 offset + 0,
11930 _depth
11931 )?;
11932 Ok(())
11933 }
11934 }
11935
11936 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
11937 type Borrowed<'a> = &'a Self;
11938 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11939 value
11940 }
11941 }
11942
11943 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
11944 type Owned = Self;
11945
11946 #[inline(always)]
11947 fn inline_align(_context: fidl::encoding::Context) -> usize {
11948 4
11949 }
11950
11951 #[inline(always)]
11952 fn inline_size(_context: fidl::encoding::Context) -> usize {
11953 4
11954 }
11955 }
11956
11957 unsafe impl<D: fidl::encoding::ResourceDialect>
11958 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
11959 {
11960 #[inline]
11961 unsafe fn encode(
11962 self,
11963 encoder: &mut fidl::encoding::Encoder<'_, D>,
11964 offset: usize,
11965 _depth: fidl::encoding::Depth,
11966 ) -> fidl::Result<()> {
11967 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11968 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
11970 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11971 &self.mgmt_frame_flags,
11972 ),),
11973 encoder,
11974 offset,
11975 _depth,
11976 )
11977 }
11978 }
11979 unsafe impl<
11980 D: fidl::encoding::ResourceDialect,
11981 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11982 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
11983 {
11984 #[inline]
11985 unsafe fn encode(
11986 self,
11987 encoder: &mut fidl::encoding::Encoder<'_, D>,
11988 offset: usize,
11989 depth: fidl::encoding::Depth,
11990 ) -> fidl::Result<()> {
11991 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11992 self.0.encode(encoder, offset + 0, depth)?;
11996 Ok(())
11997 }
11998 }
11999
12000 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12001 for StartCaptureFramesRequest
12002 {
12003 #[inline(always)]
12004 fn new_empty() -> Self {
12005 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
12006 }
12007
12008 #[inline]
12009 unsafe fn decode(
12010 &mut self,
12011 decoder: &mut fidl::encoding::Decoder<'_, D>,
12012 offset: usize,
12013 _depth: fidl::encoding::Depth,
12014 ) -> fidl::Result<()> {
12015 decoder.debug_check_bounds::<Self>(offset);
12016 fidl::decode!(
12018 MgmtFrameCaptureFlags,
12019 D,
12020 &mut self.mgmt_frame_flags,
12021 decoder,
12022 offset + 0,
12023 _depth
12024 )?;
12025 Ok(())
12026 }
12027 }
12028
12029 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
12030 type Borrowed<'a> = &'a Self;
12031 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12032 value
12033 }
12034 }
12035
12036 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
12037 type Owned = Self;
12038
12039 #[inline(always)]
12040 fn inline_align(_context: fidl::encoding::Context) -> usize {
12041 4
12042 }
12043
12044 #[inline(always)]
12045 fn inline_size(_context: fidl::encoding::Context) -> usize {
12046 8
12047 }
12048 }
12049
12050 unsafe impl<D: fidl::encoding::ResourceDialect>
12051 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
12052 {
12053 #[inline]
12054 unsafe fn encode(
12055 self,
12056 encoder: &mut fidl::encoding::Encoder<'_, D>,
12057 offset: usize,
12058 _depth: fidl::encoding::Depth,
12059 ) -> fidl::Result<()> {
12060 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12061 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
12063 (
12064 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
12065 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12066 &self.supported_mgmt_frames,
12067 ),
12068 ),
12069 encoder,
12070 offset,
12071 _depth,
12072 )
12073 }
12074 }
12075 unsafe impl<
12076 D: fidl::encoding::ResourceDialect,
12077 T0: fidl::encoding::Encode<i32, D>,
12078 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12079 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
12080 {
12081 #[inline]
12082 unsafe fn encode(
12083 self,
12084 encoder: &mut fidl::encoding::Encoder<'_, D>,
12085 offset: usize,
12086 depth: fidl::encoding::Depth,
12087 ) -> fidl::Result<()> {
12088 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12089 self.0.encode(encoder, offset + 0, depth)?;
12093 self.1.encode(encoder, offset + 4, depth)?;
12094 Ok(())
12095 }
12096 }
12097
12098 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12099 for StartCaptureFramesResponse
12100 {
12101 #[inline(always)]
12102 fn new_empty() -> Self {
12103 Self {
12104 status: fidl::new_empty!(i32, D),
12105 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
12106 }
12107 }
12108
12109 #[inline]
12110 unsafe fn decode(
12111 &mut self,
12112 decoder: &mut fidl::encoding::Decoder<'_, D>,
12113 offset: usize,
12114 _depth: fidl::encoding::Depth,
12115 ) -> fidl::Result<()> {
12116 decoder.debug_check_bounds::<Self>(offset);
12117 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
12119 fidl::decode!(
12120 MgmtFrameCaptureFlags,
12121 D,
12122 &mut self.supported_mgmt_frames,
12123 decoder,
12124 offset + 4,
12125 _depth
12126 )?;
12127 Ok(())
12128 }
12129 }
12130
12131 impl fidl::encoding::ValueTypeMarker for StartConfirm {
12132 type Borrowed<'a> = &'a Self;
12133 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12134 value
12135 }
12136 }
12137
12138 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
12139 type Owned = Self;
12140
12141 #[inline(always)]
12142 fn inline_align(_context: fidl::encoding::Context) -> usize {
12143 4
12144 }
12145
12146 #[inline(always)]
12147 fn inline_size(_context: fidl::encoding::Context) -> usize {
12148 4
12149 }
12150 }
12151
12152 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
12153 for &StartConfirm
12154 {
12155 #[inline]
12156 unsafe fn encode(
12157 self,
12158 encoder: &mut fidl::encoding::Encoder<'_, D>,
12159 offset: usize,
12160 _depth: fidl::encoding::Depth,
12161 ) -> fidl::Result<()> {
12162 encoder.debug_check_bounds::<StartConfirm>(offset);
12163 fidl::encoding::Encode::<StartConfirm, D>::encode(
12165 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12166 encoder,
12167 offset,
12168 _depth,
12169 )
12170 }
12171 }
12172 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
12173 fidl::encoding::Encode<StartConfirm, D> for (T0,)
12174 {
12175 #[inline]
12176 unsafe fn encode(
12177 self,
12178 encoder: &mut fidl::encoding::Encoder<'_, D>,
12179 offset: usize,
12180 depth: fidl::encoding::Depth,
12181 ) -> fidl::Result<()> {
12182 encoder.debug_check_bounds::<StartConfirm>(offset);
12183 self.0.encode(encoder, offset + 0, depth)?;
12187 Ok(())
12188 }
12189 }
12190
12191 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
12192 #[inline(always)]
12193 fn new_empty() -> Self {
12194 Self { result_code: fidl::new_empty!(StartResultCode, D) }
12195 }
12196
12197 #[inline]
12198 unsafe fn decode(
12199 &mut self,
12200 decoder: &mut fidl::encoding::Decoder<'_, D>,
12201 offset: usize,
12202 _depth: fidl::encoding::Depth,
12203 ) -> fidl::Result<()> {
12204 decoder.debug_check_bounds::<Self>(offset);
12205 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12207 Ok(())
12208 }
12209 }
12210
12211 impl fidl::encoding::ValueTypeMarker for StartRequest {
12212 type Borrowed<'a> = &'a Self;
12213 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12214 value
12215 }
12216 }
12217
12218 unsafe impl fidl::encoding::TypeMarker for StartRequest {
12219 type Owned = Self;
12220
12221 #[inline(always)]
12222 fn inline_align(_context: fidl::encoding::Context) -> usize {
12223 8
12224 }
12225
12226 #[inline(always)]
12227 fn inline_size(_context: fidl::encoding::Context) -> usize {
12228 96
12229 }
12230 }
12231
12232 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
12233 for &StartRequest
12234 {
12235 #[inline]
12236 unsafe fn encode(
12237 self,
12238 encoder: &mut fidl::encoding::Encoder<'_, D>,
12239 offset: usize,
12240 _depth: fidl::encoding::Depth,
12241 ) -> fidl::Result<()> {
12242 encoder.debug_check_bounds::<StartRequest>(offset);
12243 fidl::encoding::Encode::<StartRequest, D>::encode(
12245 (
12246 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
12247 <fidl_fuchsia_wlan_common__common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
12248 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
12249 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
12250 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
12251 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
12252 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
12253 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
12254 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
12255 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
12256 <fidl_fuchsia_wlan_common__common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
12257 <fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_bandwidth),
12258 ),
12259 encoder, offset, _depth
12260 )
12261 }
12262 }
12263 unsafe impl<
12264 D: fidl::encoding::ResourceDialect,
12265 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12266 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssType, D>,
12267 T2: fidl::encoding::Encode<u16, D>,
12268 T3: fidl::encoding::Encode<u8, D>,
12269 T4: fidl::encoding::Encode<u8, D>,
12270 T5: fidl::encoding::Encode<u16, D>,
12271 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
12272 T7: fidl::encoding::Encode<Country, D>,
12273 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12274 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
12275 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanPhyType, D>,
12276 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth, D>,
12277 > fidl::encoding::Encode<StartRequest, D>
12278 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
12279 {
12280 #[inline]
12281 unsafe fn encode(
12282 self,
12283 encoder: &mut fidl::encoding::Encoder<'_, D>,
12284 offset: usize,
12285 depth: fidl::encoding::Depth,
12286 ) -> fidl::Result<()> {
12287 encoder.debug_check_bounds::<StartRequest>(offset);
12288 unsafe {
12291 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12292 (ptr as *mut u64).write_unaligned(0);
12293 }
12294 unsafe {
12295 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
12296 (ptr as *mut u64).write_unaligned(0);
12297 }
12298 self.0.encode(encoder, offset + 0, depth)?;
12300 self.1.encode(encoder, offset + 16, depth)?;
12301 self.2.encode(encoder, offset + 20, depth)?;
12302 self.3.encode(encoder, offset + 22, depth)?;
12303 self.4.encode(encoder, offset + 23, depth)?;
12304 self.5.encode(encoder, offset + 24, depth)?;
12305 self.6.encode(encoder, offset + 32, depth)?;
12306 self.7.encode(encoder, offset + 48, depth)?;
12307 self.8.encode(encoder, offset + 56, depth)?;
12308 self.9.encode(encoder, offset + 72, depth)?;
12309 self.10.encode(encoder, offset + 88, depth)?;
12310 self.11.encode(encoder, offset + 92, depth)?;
12311 Ok(())
12312 }
12313 }
12314
12315 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
12316 #[inline(always)]
12317 fn new_empty() -> Self {
12318 Self {
12319 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12320 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssType, D),
12321 beacon_period: fidl::new_empty!(u16, D),
12322 dtim_period: fidl::new_empty!(u8, D),
12323 channel: fidl::new_empty!(u8, D),
12324 capability_info: fidl::new_empty!(u16, D),
12325 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
12326 country: fidl::new_empty!(Country, D),
12327 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12328 rsne: fidl::new_empty!(
12329 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12330 D
12331 ),
12332 phy: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanPhyType, D),
12333 channel_bandwidth: fidl::new_empty!(
12334 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
12335 D
12336 ),
12337 }
12338 }
12339
12340 #[inline]
12341 unsafe fn decode(
12342 &mut self,
12343 decoder: &mut fidl::encoding::Decoder<'_, D>,
12344 offset: usize,
12345 _depth: fidl::encoding::Depth,
12346 ) -> fidl::Result<()> {
12347 decoder.debug_check_bounds::<Self>(offset);
12348 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12350 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12351 let mask = 0xffffffffffff0000u64;
12352 let maskedval = padval & mask;
12353 if maskedval != 0 {
12354 return Err(fidl::Error::NonZeroPadding {
12355 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12356 });
12357 }
12358 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
12359 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12360 let mask = 0xffffffffff000000u64;
12361 let maskedval = padval & mask;
12362 if maskedval != 0 {
12363 return Err(fidl::Error::NonZeroPadding {
12364 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
12365 });
12366 }
12367 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12368 fidl::decode!(
12369 fidl_fuchsia_wlan_common__common::BssType,
12370 D,
12371 &mut self.bss_type,
12372 decoder,
12373 offset + 16,
12374 _depth
12375 )?;
12376 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
12377 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
12378 fidl::decode!(u8, D, &mut self.channel, decoder, offset + 23, _depth)?;
12379 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 24, _depth)?;
12380 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
12381 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
12382 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
12383 fidl::decode!(
12384 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12385 D,
12386 &mut self.rsne,
12387 decoder,
12388 offset + 72,
12389 _depth
12390 )?;
12391 fidl::decode!(
12392 fidl_fuchsia_wlan_common__common::WlanPhyType,
12393 D,
12394 &mut self.phy,
12395 decoder,
12396 offset + 88,
12397 _depth
12398 )?;
12399 fidl::decode!(
12400 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
12401 D,
12402 &mut self.channel_bandwidth,
12403 decoder,
12404 offset + 92,
12405 _depth
12406 )?;
12407 Ok(())
12408 }
12409 }
12410
12411 impl fidl::encoding::ValueTypeMarker for StopConfirm {
12412 type Borrowed<'a> = &'a Self;
12413 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12414 value
12415 }
12416 }
12417
12418 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
12419 type Owned = Self;
12420
12421 #[inline(always)]
12422 fn inline_align(_context: fidl::encoding::Context) -> usize {
12423 4
12424 }
12425
12426 #[inline(always)]
12427 fn inline_size(_context: fidl::encoding::Context) -> usize {
12428 4
12429 }
12430 }
12431
12432 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
12433 for &StopConfirm
12434 {
12435 #[inline]
12436 unsafe fn encode(
12437 self,
12438 encoder: &mut fidl::encoding::Encoder<'_, D>,
12439 offset: usize,
12440 _depth: fidl::encoding::Depth,
12441 ) -> fidl::Result<()> {
12442 encoder.debug_check_bounds::<StopConfirm>(offset);
12443 fidl::encoding::Encode::<StopConfirm, D>::encode(
12445 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12446 encoder,
12447 offset,
12448 _depth,
12449 )
12450 }
12451 }
12452 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
12453 fidl::encoding::Encode<StopConfirm, D> for (T0,)
12454 {
12455 #[inline]
12456 unsafe fn encode(
12457 self,
12458 encoder: &mut fidl::encoding::Encoder<'_, D>,
12459 offset: usize,
12460 depth: fidl::encoding::Depth,
12461 ) -> fidl::Result<()> {
12462 encoder.debug_check_bounds::<StopConfirm>(offset);
12463 self.0.encode(encoder, offset + 0, depth)?;
12467 Ok(())
12468 }
12469 }
12470
12471 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
12472 #[inline(always)]
12473 fn new_empty() -> Self {
12474 Self { result_code: fidl::new_empty!(StopResultCode, D) }
12475 }
12476
12477 #[inline]
12478 unsafe fn decode(
12479 &mut self,
12480 decoder: &mut fidl::encoding::Decoder<'_, D>,
12481 offset: usize,
12482 _depth: fidl::encoding::Depth,
12483 ) -> fidl::Result<()> {
12484 decoder.debug_check_bounds::<Self>(offset);
12485 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12487 Ok(())
12488 }
12489 }
12490
12491 impl fidl::encoding::ValueTypeMarker for StopRequest {
12492 type Borrowed<'a> = &'a Self;
12493 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12494 value
12495 }
12496 }
12497
12498 unsafe impl fidl::encoding::TypeMarker for StopRequest {
12499 type Owned = Self;
12500
12501 #[inline(always)]
12502 fn inline_align(_context: fidl::encoding::Context) -> usize {
12503 8
12504 }
12505
12506 #[inline(always)]
12507 fn inline_size(_context: fidl::encoding::Context) -> usize {
12508 16
12509 }
12510 }
12511
12512 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
12513 for &StopRequest
12514 {
12515 #[inline]
12516 unsafe fn encode(
12517 self,
12518 encoder: &mut fidl::encoding::Encoder<'_, D>,
12519 offset: usize,
12520 _depth: fidl::encoding::Depth,
12521 ) -> fidl::Result<()> {
12522 encoder.debug_check_bounds::<StopRequest>(offset);
12523 fidl::encoding::Encode::<StopRequest, D>::encode(
12525 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
12526 &self.ssid,
12527 ),),
12528 encoder,
12529 offset,
12530 _depth,
12531 )
12532 }
12533 }
12534 unsafe impl<
12535 D: fidl::encoding::ResourceDialect,
12536 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12537 > fidl::encoding::Encode<StopRequest, D> for (T0,)
12538 {
12539 #[inline]
12540 unsafe fn encode(
12541 self,
12542 encoder: &mut fidl::encoding::Encoder<'_, D>,
12543 offset: usize,
12544 depth: fidl::encoding::Depth,
12545 ) -> fidl::Result<()> {
12546 encoder.debug_check_bounds::<StopRequest>(offset);
12547 self.0.encode(encoder, offset + 0, depth)?;
12551 Ok(())
12552 }
12553 }
12554
12555 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
12556 #[inline(always)]
12557 fn new_empty() -> Self {
12558 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
12559 }
12560
12561 #[inline]
12562 unsafe fn decode(
12563 &mut self,
12564 decoder: &mut fidl::encoding::Decoder<'_, D>,
12565 offset: usize,
12566 _depth: fidl::encoding::Depth,
12567 ) -> fidl::Result<()> {
12568 decoder.debug_check_bounds::<Self>(offset);
12569 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12571 Ok(())
12572 }
12573 }
12574
12575 impl fidl::encoding::ValueTypeMarker for WmmParameter {
12576 type Borrowed<'a> = &'a Self;
12577 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12578 value
12579 }
12580 }
12581
12582 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
12583 type Owned = Self;
12584
12585 #[inline(always)]
12586 fn inline_align(_context: fidl::encoding::Context) -> usize {
12587 1
12588 }
12589
12590 #[inline(always)]
12591 fn inline_size(_context: fidl::encoding::Context) -> usize {
12592 18
12593 }
12594 #[inline(always)]
12595 fn encode_is_copy() -> bool {
12596 true
12597 }
12598
12599 #[inline(always)]
12600 fn decode_is_copy() -> bool {
12601 true
12602 }
12603 }
12604
12605 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
12606 for &WmmParameter
12607 {
12608 #[inline]
12609 unsafe fn encode(
12610 self,
12611 encoder: &mut fidl::encoding::Encoder<'_, D>,
12612 offset: usize,
12613 _depth: fidl::encoding::Depth,
12614 ) -> fidl::Result<()> {
12615 encoder.debug_check_bounds::<WmmParameter>(offset);
12616 unsafe {
12617 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12619 (buf_ptr as *mut WmmParameter)
12620 .write_unaligned((self as *const WmmParameter).read());
12621 }
12624 Ok(())
12625 }
12626 }
12627 unsafe impl<
12628 D: fidl::encoding::ResourceDialect,
12629 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
12630 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
12631 {
12632 #[inline]
12633 unsafe fn encode(
12634 self,
12635 encoder: &mut fidl::encoding::Encoder<'_, D>,
12636 offset: usize,
12637 depth: fidl::encoding::Depth,
12638 ) -> fidl::Result<()> {
12639 encoder.debug_check_bounds::<WmmParameter>(offset);
12640 self.0.encode(encoder, offset + 0, depth)?;
12644 Ok(())
12645 }
12646 }
12647
12648 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
12649 #[inline(always)]
12650 fn new_empty() -> Self {
12651 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
12652 }
12653
12654 #[inline]
12655 unsafe fn decode(
12656 &mut self,
12657 decoder: &mut fidl::encoding::Decoder<'_, D>,
12658 offset: usize,
12659 _depth: fidl::encoding::Depth,
12660 ) -> fidl::Result<()> {
12661 decoder.debug_check_bounds::<Self>(offset);
12662 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12663 unsafe {
12666 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
12667 }
12668 Ok(())
12669 }
12670 }
12671
12672 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
12673 type Borrowed<'a> = &'a Self;
12674 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12675 value
12676 }
12677 }
12678
12679 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
12680 type Owned = Self;
12681
12682 #[inline(always)]
12683 fn inline_align(_context: fidl::encoding::Context) -> usize {
12684 8
12685 }
12686
12687 #[inline(always)]
12688 fn inline_size(_context: fidl::encoding::Context) -> usize {
12689 16
12690 }
12691 }
12692
12693 unsafe impl<D: fidl::encoding::ResourceDialect>
12694 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
12695 for &GetIfaceHistogramStatsResponse
12696 {
12697 #[inline]
12698 unsafe fn encode(
12699 self,
12700 encoder: &mut fidl::encoding::Encoder<'_, D>,
12701 offset: usize,
12702 _depth: fidl::encoding::Depth,
12703 ) -> fidl::Result<()> {
12704 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
12705 encoder.write_num::<u64>(self.ordinal(), offset);
12706 match self {
12707 GetIfaceHistogramStatsResponse::Stats(ref val) => {
12708 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
12709 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12710 encoder, offset + 8, _depth
12711 )
12712 }
12713 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
12714 fidl::encoding::encode_in_envelope::<i32, D>(
12715 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12716 encoder, offset + 8, _depth
12717 )
12718 }
12719 }
12720 }
12721 }
12722
12723 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12724 for GetIfaceHistogramStatsResponse
12725 {
12726 #[inline(always)]
12727 fn new_empty() -> Self {
12728 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
12729 }
12730
12731 #[inline]
12732 unsafe fn decode(
12733 &mut self,
12734 decoder: &mut fidl::encoding::Decoder<'_, D>,
12735 offset: usize,
12736 mut depth: fidl::encoding::Depth,
12737 ) -> fidl::Result<()> {
12738 decoder.debug_check_bounds::<Self>(offset);
12739 #[allow(unused_variables)]
12740 let next_out_of_line = decoder.next_out_of_line();
12741 let handles_before = decoder.remaining_handles();
12742 let (ordinal, inlined, num_bytes, num_handles) =
12743 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12744
12745 let member_inline_size = match ordinal {
12746 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12747 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12748 _ => return Err(fidl::Error::UnknownUnionTag),
12749 };
12750
12751 if inlined != (member_inline_size <= 4) {
12752 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12753 }
12754 let _inner_offset;
12755 if inlined {
12756 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12757 _inner_offset = offset + 8;
12758 } else {
12759 depth.increment()?;
12760 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12761 }
12762 match ordinal {
12763 1 => {
12764 #[allow(irrefutable_let_patterns)]
12765 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
12766 } else {
12768 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
12770 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12771 D
12772 ));
12773 }
12774 #[allow(irrefutable_let_patterns)]
12775 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
12776 fidl::decode!(
12777 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12778 D,
12779 val,
12780 decoder,
12781 _inner_offset,
12782 depth
12783 )?;
12784 } else {
12785 unreachable!()
12786 }
12787 }
12788 2 => {
12789 #[allow(irrefutable_let_patterns)]
12790 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
12791 } else {
12793 *self =
12795 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12796 }
12797 #[allow(irrefutable_let_patterns)]
12798 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
12799 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12800 } else {
12801 unreachable!()
12802 }
12803 }
12804 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12805 }
12806 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12807 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12808 }
12809 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12810 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12811 }
12812 Ok(())
12813 }
12814 }
12815
12816 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
12817 type Borrowed<'a> = &'a Self;
12818 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12819 value
12820 }
12821 }
12822
12823 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
12824 type Owned = Self;
12825
12826 #[inline(always)]
12827 fn inline_align(_context: fidl::encoding::Context) -> usize {
12828 8
12829 }
12830
12831 #[inline(always)]
12832 fn inline_size(_context: fidl::encoding::Context) -> usize {
12833 16
12834 }
12835 }
12836
12837 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
12838 for &GetIfaceStatsResponse
12839 {
12840 #[inline]
12841 unsafe fn encode(
12842 self,
12843 encoder: &mut fidl::encoding::Encoder<'_, D>,
12844 offset: usize,
12845 _depth: fidl::encoding::Depth,
12846 ) -> fidl::Result<()> {
12847 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
12848 encoder.write_num::<u64>(self.ordinal(), offset);
12849 match self {
12850 GetIfaceStatsResponse::Stats(ref val) => {
12851 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceStats, D>(
12852 <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12853 encoder, offset + 8, _depth
12854 )
12855 }
12856 GetIfaceStatsResponse::ErrorStatus(ref val) => {
12857 fidl::encoding::encode_in_envelope::<i32, D>(
12858 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12859 encoder, offset + 8, _depth
12860 )
12861 }
12862 }
12863 }
12864 }
12865
12866 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
12867 #[inline(always)]
12868 fn new_empty() -> Self {
12869 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceStats, D))
12870 }
12871
12872 #[inline]
12873 unsafe fn decode(
12874 &mut self,
12875 decoder: &mut fidl::encoding::Decoder<'_, D>,
12876 offset: usize,
12877 mut depth: fidl::encoding::Depth,
12878 ) -> fidl::Result<()> {
12879 decoder.debug_check_bounds::<Self>(offset);
12880 #[allow(unused_variables)]
12881 let next_out_of_line = decoder.next_out_of_line();
12882 let handles_before = decoder.remaining_handles();
12883 let (ordinal, inlined, num_bytes, num_handles) =
12884 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12885
12886 let member_inline_size = match ordinal {
12887 1 => <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12888 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12889 _ => return Err(fidl::Error::UnknownUnionTag),
12890 };
12891
12892 if inlined != (member_inline_size <= 4) {
12893 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12894 }
12895 let _inner_offset;
12896 if inlined {
12897 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12898 _inner_offset = offset + 8;
12899 } else {
12900 depth.increment()?;
12901 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12902 }
12903 match ordinal {
12904 1 => {
12905 #[allow(irrefutable_let_patterns)]
12906 if let GetIfaceStatsResponse::Stats(_) = self {
12907 } else {
12909 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
12911 fidl_fuchsia_wlan_stats__common::IfaceStats,
12912 D
12913 ));
12914 }
12915 #[allow(irrefutable_let_patterns)]
12916 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
12917 fidl::decode!(
12918 fidl_fuchsia_wlan_stats__common::IfaceStats,
12919 D,
12920 val,
12921 decoder,
12922 _inner_offset,
12923 depth
12924 )?;
12925 } else {
12926 unreachable!()
12927 }
12928 }
12929 2 => {
12930 #[allow(irrefutable_let_patterns)]
12931 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
12932 } else {
12934 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12936 }
12937 #[allow(irrefutable_let_patterns)]
12938 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
12939 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12940 } else {
12941 unreachable!()
12942 }
12943 }
12944 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12945 }
12946 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12947 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12948 }
12949 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12950 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12951 }
12952 Ok(())
12953 }
12954 }
12955}