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, Debug, PartialEq)]
552pub struct MlmeGetSignalReportResponse {
553 pub resp: fidl_fuchsia_wlan_stats__common::SignalReport,
554}
555
556impl fidl::Persistable for MlmeGetSignalReportResponse {}
557
558#[derive(Clone, Debug, PartialEq)]
559pub struct MlmeQueryTelemetrySupportResponse {
560 pub resp: fidl_fuchsia_wlan_stats__common::TelemetrySupport,
561}
562
563impl fidl::Persistable for MlmeQueryTelemetrySupportResponse {}
564
565#[derive(Clone, Debug, PartialEq)]
566pub struct MinstrelListResponse {
567 pub peers: fidl_fuchsia_wlan_minstrel__common::Peers,
568}
569
570impl fidl::Persistable for MinstrelListResponse {}
571
572#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
573#[repr(C)]
574pub struct MinstrelStatsRequest {
575 pub peer_addr: [u8; 6],
576}
577
578impl fidl::Persistable for MinstrelStatsRequest {}
579
580#[derive(Clone, Debug, PartialEq)]
581pub struct MinstrelStatsResponse {
582 pub peer: Option<Box<fidl_fuchsia_wlan_minstrel__common::Peer>>,
583}
584
585impl fidl::Persistable for MinstrelStatsResponse {}
586
587#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
588pub struct MlmeAssociateIndRequest {
589 pub ind: AssociateIndication,
590}
591
592impl fidl::Persistable for MlmeAssociateIndRequest {}
593
594#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
595pub struct MlmeAssociateRespRequest {
596 pub resp: AssociateResponse,
597}
598
599impl fidl::Persistable for MlmeAssociateRespRequest {}
600
601#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
602pub struct MlmeAuthenticateIndRequest {
603 pub ind: AuthenticateIndication,
604}
605
606impl fidl::Persistable for MlmeAuthenticateIndRequest {}
607
608#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
609pub struct MlmeAuthenticateRespRequest {
610 pub resp: AuthenticateResponse,
611}
612
613impl fidl::Persistable for MlmeAuthenticateRespRequest {}
614
615#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
616pub struct MlmeConnectConfRequest {
617 pub resp: ConnectConfirm,
618}
619
620impl fidl::Persistable for MlmeConnectConfRequest {}
621
622#[derive(Clone, Debug, PartialEq)]
623pub struct MlmeConnectReqRequest {
624 pub req: ConnectRequest,
625}
626
627impl fidl::Persistable for MlmeConnectReqRequest {}
628
629#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
630#[repr(C)]
631pub struct MlmeDeauthenticateConfRequest {
632 pub resp: DeauthenticateConfirm,
633}
634
635impl fidl::Persistable for MlmeDeauthenticateConfRequest {}
636
637#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
638pub struct MlmeDeauthenticateIndRequest {
639 pub ind: DeauthenticateIndication,
640}
641
642impl fidl::Persistable for MlmeDeauthenticateIndRequest {}
643
644#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
645pub struct MlmeDeauthenticateReqRequest {
646 pub req: DeauthenticateRequest,
647}
648
649impl fidl::Persistable for MlmeDeauthenticateReqRequest {}
650
651#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
652pub struct MlmeDeleteKeysReqRequest {
653 pub req: DeleteKeysRequest,
654}
655
656impl fidl::Persistable for MlmeDeleteKeysReqRequest {}
657
658#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
659#[repr(C)]
660pub struct MlmeDisassociateConfRequest {
661 pub resp: DisassociateConfirm,
662}
663
664impl fidl::Persistable for MlmeDisassociateConfRequest {}
665
666#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
667pub struct MlmeDisassociateIndRequest {
668 pub ind: DisassociateIndication,
669}
670
671impl fidl::Persistable for MlmeDisassociateIndRequest {}
672
673#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
674pub struct MlmeDisassociateReqRequest {
675 pub req: DisassociateRequest,
676}
677
678impl fidl::Persistable for MlmeDisassociateReqRequest {}
679
680#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
681pub struct MlmeEapolConfRequest {
682 pub resp: EapolConfirm,
683}
684
685impl fidl::Persistable for MlmeEapolConfRequest {}
686
687#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
688pub struct MlmeEapolIndRequest {
689 pub ind: EapolIndication,
690}
691
692impl fidl::Persistable for MlmeEapolIndRequest {}
693
694#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
695pub struct MlmeEapolReqRequest {
696 pub req: EapolRequest,
697}
698
699impl fidl::Persistable for MlmeEapolReqRequest {}
700
701#[derive(Clone, Debug, PartialEq)]
702pub struct MlmeFinalizeAssociationReqRequest {
703 pub negotiated_capabilities: NegotiatedCapabilities,
704}
705
706impl fidl::Persistable for MlmeFinalizeAssociationReqRequest {}
707
708#[derive(Clone, Debug, PartialEq)]
709pub struct MlmeGetIfaceHistogramStatsResponse {
710 pub resp: GetIfaceHistogramStatsResponse,
711}
712
713impl fidl::Persistable for MlmeGetIfaceHistogramStatsResponse {}
714
715#[derive(Clone, Debug, PartialEq)]
716pub struct MlmeGetIfaceStatsResponse {
717 pub resp: GetIfaceStatsResponse,
718}
719
720impl fidl::Persistable for MlmeGetIfaceStatsResponse {}
721
722#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
723#[repr(C)]
724pub struct MlmeGetMinstrelStatsRequest {
725 pub req: MinstrelStatsRequest,
726}
727
728impl fidl::Persistable for MlmeGetMinstrelStatsRequest {}
729
730#[derive(Clone, Debug, PartialEq)]
731pub struct MlmeGetMinstrelStatsResponse {
732 pub resp: MinstrelStatsResponse,
733}
734
735impl fidl::Persistable for MlmeGetMinstrelStatsResponse {}
736
737#[derive(Clone, Debug, PartialEq)]
738pub struct MlmeListMinstrelPeersResponse {
739 pub resp: MinstrelListResponse,
740}
741
742impl fidl::Persistable for MlmeListMinstrelPeersResponse {}
743
744#[derive(Clone, Debug, PartialEq)]
745pub struct MlmeOnChannelSwitchedRequest {
746 pub info: fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
747}
748
749impl fidl::Persistable for MlmeOnChannelSwitchedRequest {}
750
751#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
752pub struct MlmeOnPmkAvailableRequest {
753 pub info: PmkInfo,
754}
755
756impl fidl::Persistable for MlmeOnPmkAvailableRequest {}
757
758#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
759pub struct MlmeOnSaeFrameRxRequest {
760 pub frame: SaeFrame,
761}
762
763impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
764
765#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
766#[repr(C)]
767pub struct MlmeOnSaeHandshakeIndRequest {
768 pub ind: SaeHandshakeIndication,
769}
770
771impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
772
773#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
774pub struct MlmeOnScanEndRequest {
775 pub end: ScanEnd,
776}
777
778impl fidl::Persistable for MlmeOnScanEndRequest {}
779
780#[derive(Clone, Debug, PartialEq)]
781pub struct MlmeOnScanResultRequest {
782 pub result: ScanResult,
783}
784
785impl fidl::Persistable for MlmeOnScanResultRequest {}
786
787#[derive(Clone, Debug, PartialEq)]
788pub struct MlmeOnWmmStatusRespRequest {
789 pub status: i32,
790 pub resp: fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
791}
792
793impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
794
795#[derive(Clone, Debug, PartialEq)]
796pub struct MlmeQueryDeviceInfoResponse {
797 pub info: DeviceInfo,
798}
799
800impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
801
802#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
803#[repr(C)]
804pub struct MlmeReconnectReqRequest {
805 pub req: ReconnectRequest,
806}
807
808impl fidl::Persistable for MlmeReconnectReqRequest {}
809
810#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
811pub struct MlmeRelayCapturedFrameRequest {
812 pub result: CapturedFrameResult,
813}
814
815impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
816
817#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
818pub struct MlmeResetReqRequest {
819 pub req: ResetRequest,
820}
821
822impl fidl::Persistable for MlmeResetReqRequest {}
823
824#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
825pub struct MlmeRoamConfRequest {
826 pub conf: RoamConfirm,
827}
828
829impl fidl::Persistable for MlmeRoamConfRequest {}
830
831#[derive(Clone, Debug, PartialEq)]
832pub struct MlmeRoamReqRequest {
833 pub req: RoamRequest,
834}
835
836impl fidl::Persistable for MlmeRoamReqRequest {}
837
838#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
839pub struct MlmeRoamResultIndRequest {
840 pub ind: RoamResultIndication,
841}
842
843impl fidl::Persistable for MlmeRoamResultIndRequest {}
844
845#[derive(Clone, Debug, PartialEq)]
846pub struct MlmeRoamStartIndRequest {
847 pub ind: RoamStartIndication,
848}
849
850impl fidl::Persistable for MlmeRoamStartIndRequest {}
851
852#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
853pub struct MlmeSaeFrameTxRequest {
854 pub frame: SaeFrame,
855}
856
857impl fidl::Persistable for MlmeSaeFrameTxRequest {}
858
859#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
860pub struct MlmeSaeHandshakeRespRequest {
861 pub resp: SaeHandshakeResponse,
862}
863
864impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
865
866#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
867pub struct MlmeSetControlledPortRequest {
868 pub req: SetControlledPortRequest,
869}
870
871impl fidl::Persistable for MlmeSetControlledPortRequest {}
872
873#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
874pub struct MlmeSetKeysConfRequest {
875 pub conf: SetKeysConfirm,
876}
877
878impl fidl::Persistable for MlmeSetKeysConfRequest {}
879
880#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
881pub struct MlmeSetKeysReqRequest {
882 pub req: SetKeysRequest,
883}
884
885impl fidl::Persistable for MlmeSetKeysReqRequest {}
886
887#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
888#[repr(C)]
889pub struct MlmeSetMacAddressRequest {
890 pub mac_addr: [u8; 6],
891}
892
893impl fidl::Persistable for MlmeSetMacAddressRequest {}
894
895#[derive(Clone, Debug, PartialEq)]
896pub struct MlmeSignalReportRequest {
897 pub ind: fidl_fuchsia_wlan_internal__common::SignalReportIndication,
898}
899
900impl fidl::Persistable for MlmeSignalReportRequest {}
901
902#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
903pub struct MlmeStartCaptureFramesRequest {
904 pub req: StartCaptureFramesRequest,
905}
906
907impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
908
909#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
910pub struct MlmeStartCaptureFramesResponse {
911 pub resp: StartCaptureFramesResponse,
912}
913
914impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
915
916#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
917pub struct MlmeStartConfRequest {
918 pub resp: StartConfirm,
919}
920
921impl fidl::Persistable for MlmeStartConfRequest {}
922
923#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
924pub struct MlmeStartReqRequest {
925 pub req: StartRequest,
926}
927
928impl fidl::Persistable for MlmeStartReqRequest {}
929
930#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
931pub struct MlmeStartScanRequest {
932 pub req: ScanRequest,
933}
934
935impl fidl::Persistable for MlmeStartScanRequest {}
936
937#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
938pub struct MlmeStopConfRequest {
939 pub resp: StopConfirm,
940}
941
942impl fidl::Persistable for MlmeStopConfRequest {}
943
944#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
945pub struct MlmeStopReqRequest {
946 pub req: StopRequest,
947}
948
949impl fidl::Persistable for MlmeStopReqRequest {}
950
951#[derive(Clone, Debug, PartialEq)]
953pub struct NegotiatedCapabilities {
954 pub channel: fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
955 pub capability_info: u16,
956 pub rates: Vec<u8>,
957 pub wmm_param: Option<Box<WmmParameter>>,
958 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
959 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
960}
961
962impl fidl::Persistable for NegotiatedCapabilities {}
963
964#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
965pub struct PmkInfo {
966 pub pmk: Vec<u8>,
967 pub pmkid: Vec<u8>,
968}
969
970impl fidl::Persistable for PmkInfo {}
971
972#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
973#[repr(C)]
974pub struct ReconnectRequest {
975 pub peer_sta_address: [u8; 6],
976}
977
978impl fidl::Persistable for ReconnectRequest {}
979
980#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
981pub struct ResetRequest {
982 pub sta_address: [u8; 6],
983 pub set_default_mib: bool,
984}
985
986impl fidl::Persistable for ResetRequest {}
987
988#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
990pub struct RoamConfirm {
991 pub selected_bssid: [u8; 6],
992 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
993 pub original_association_maintained: bool,
998 pub target_bss_authenticated: bool,
1003 pub association_id: u16,
1004 pub association_ies: Vec<u8>,
1005}
1006
1007impl fidl::Persistable for RoamConfirm {}
1008
1009#[derive(Clone, Debug, PartialEq)]
1010pub struct RoamRequest {
1011 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1012}
1013
1014impl fidl::Persistable for RoamRequest {}
1015
1016#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1018pub struct RoamResultIndication {
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 RoamResultIndication {}
1036
1037#[derive(Clone, Debug, PartialEq)]
1039pub struct RoamStartIndication {
1040 pub selected_bssid: [u8; 6],
1041 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1042 pub original_association_maintained: bool,
1049}
1050
1051impl fidl::Persistable for RoamStartIndication {}
1052
1053#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1054pub struct SaeFrame {
1055 pub peer_sta_address: [u8; 6],
1056 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1057 pub seq_num: u16,
1058 pub sae_fields: Vec<u8>,
1059}
1060
1061impl fidl::Persistable for SaeFrame {}
1062
1063#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1064#[repr(C)]
1065pub struct SaeHandshakeIndication {
1066 pub peer_sta_address: [u8; 6],
1067}
1068
1069impl fidl::Persistable for SaeHandshakeIndication {}
1070
1071#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1072pub struct SaeHandshakeResponse {
1073 pub peer_sta_address: [u8; 6],
1074 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1075}
1076
1077impl fidl::Persistable for SaeHandshakeResponse {}
1078
1079#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1080pub struct ScanEnd {
1081 pub txn_id: u64,
1082 pub code: ScanResultCode,
1083}
1084
1085impl fidl::Persistable for ScanEnd {}
1086
1087#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1088pub struct ScanRequest {
1089 pub txn_id: u64,
1090 pub scan_type: ScanTypes,
1091 pub channel_list: Vec<u8>,
1098 pub ssid_list: Vec<Vec<u8>>,
1107 pub probe_delay: u32,
1108 pub min_channel_time: u32,
1109 pub max_channel_time: u32,
1110}
1111
1112impl fidl::Persistable for ScanRequest {}
1113
1114#[derive(Clone, Debug, PartialEq)]
1115pub struct ScanResult {
1116 pub txn_id: u64,
1117 pub timestamp_nanos: i64,
1118 pub bss: fidl_fuchsia_wlan_common__common::BssDescription,
1119}
1120
1121impl fidl::Persistable for ScanResult {}
1122
1123#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1124pub struct SetControlledPortRequest {
1125 pub peer_sta_address: [u8; 6],
1126 pub state: ControlledPortState,
1127}
1128
1129impl fidl::Persistable for SetControlledPortRequest {}
1130
1131#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1132pub struct SetKeyDescriptor {
1133 pub key: Vec<u8>,
1134 pub key_id: u16,
1135 pub key_type: KeyType,
1136 pub address: [u8; 6],
1137 pub rsc: u64,
1138 pub cipher_suite_oui: [u8; 3],
1139 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
1140}
1141
1142impl fidl::Persistable for SetKeyDescriptor {}
1143
1144#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1145#[repr(C)]
1146pub struct SetKeyResult {
1147 pub key_id: u16,
1148 pub status: i32,
1149}
1150
1151impl fidl::Persistable for SetKeyResult {}
1152
1153#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1154pub struct SetKeysConfirm {
1155 pub results: Vec<SetKeyResult>,
1156}
1157
1158impl fidl::Persistable for SetKeysConfirm {}
1159
1160#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1161pub struct SetKeysRequest {
1162 pub keylist: Vec<SetKeyDescriptor>,
1163}
1164
1165impl fidl::Persistable for SetKeysRequest {}
1166
1167#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1168pub struct StartCaptureFramesRequest {
1169 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1170}
1171
1172impl fidl::Persistable for StartCaptureFramesRequest {}
1173
1174#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1175pub struct StartCaptureFramesResponse {
1176 pub status: i32,
1177 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1178}
1179
1180impl fidl::Persistable for StartCaptureFramesResponse {}
1181
1182#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1183pub struct StartConfirm {
1184 pub result_code: StartResultCode,
1185}
1186
1187impl fidl::Persistable for StartConfirm {}
1188
1189#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1190pub struct StartRequest {
1191 pub ssid: Vec<u8>,
1192 pub bss_type: fidl_fuchsia_wlan_common__common::BssType,
1193 pub beacon_period: u16,
1194 pub dtim_period: u8,
1195 pub channel: u8,
1196 pub capability_info: u16,
1197 pub rates: Vec<u8>,
1198 pub country: Country,
1199 pub mesh_id: Vec<u8>,
1200 pub rsne: Option<Vec<u8>>,
1201 pub phy: fidl_fuchsia_wlan_common__common::WlanPhyType,
1202 pub channel_bandwidth: fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
1203}
1204
1205impl fidl::Persistable for StartRequest {}
1206
1207#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1208pub struct StopConfirm {
1209 pub result_code: StopResultCode,
1210}
1211
1212impl fidl::Persistable for StopConfirm {}
1213
1214#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1215pub struct StopRequest {
1216 pub ssid: Vec<u8>,
1217}
1218
1219impl fidl::Persistable for StopRequest {}
1220
1221#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1222#[repr(C)]
1223pub struct WmmParameter {
1224 pub bytes: [u8; 18],
1225}
1226
1227impl fidl::Persistable for WmmParameter {}
1228
1229#[derive(Clone, Debug, PartialEq)]
1230pub enum GetIfaceHistogramStatsResponse {
1231 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
1232 ErrorStatus(i32),
1233}
1234
1235impl GetIfaceHistogramStatsResponse {
1236 #[inline]
1237 pub fn ordinal(&self) -> u64 {
1238 match *self {
1239 Self::Stats(_) => 1,
1240 Self::ErrorStatus(_) => 2,
1241 }
1242 }
1243}
1244
1245impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1246
1247#[derive(Clone, Debug, PartialEq)]
1248pub enum GetIfaceStatsResponse {
1249 Stats(fidl_fuchsia_wlan_stats__common::IfaceStats),
1250 ErrorStatus(i32),
1251}
1252
1253impl GetIfaceStatsResponse {
1254 #[inline]
1255 pub fn ordinal(&self) -> u64 {
1256 match *self {
1257 Self::Stats(_) => 1,
1258 Self::ErrorStatus(_) => 2,
1259 }
1260 }
1261}
1262
1263impl fidl::Persistable for GetIfaceStatsResponse {}
1264
1265pub mod connector_ordinals {
1266 pub const CONNECT: u64 = 0x42131859717af962;
1267}
1268
1269pub mod mlme_ordinals {
1270 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1271 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1272 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1273 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1274 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1275 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1276 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1277 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1278 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1279 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1280 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1281 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1282 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1283 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1284 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1285 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1286 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1287 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1288 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1289 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1290 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1291 pub const START_REQ: u64 = 0x5d95885f8053654;
1292 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1293 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1294 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1295 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1296 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1297 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1298 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1299 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1300 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1301 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1302 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1303 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1304 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1305 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1306 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1307 pub const GET_SIGNAL_REPORT: u64 = 0x7e47e7ebe92acec9;
1308 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1309 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1310 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1311 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1312 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1313 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1314 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1315 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1316 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1317 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1318 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1319 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1320 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1321 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1322 pub const SET_MAC_ADDRESS: u64 = 0x476999f9bb27afe1;
1323}
1324
1325mod internal {
1326 use super::*;
1327 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1328 type Owned = Self;
1329
1330 #[inline(always)]
1331 fn inline_align(_context: fidl::encoding::Context) -> usize {
1332 4
1333 }
1334
1335 #[inline(always)]
1336 fn inline_size(_context: fidl::encoding::Context) -> usize {
1337 4
1338 }
1339 }
1340
1341 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1342 type Borrowed<'a> = Self;
1343 #[inline(always)]
1344 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1345 *value
1346 }
1347 }
1348
1349 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1350 for MgmtFrameCaptureFlags
1351 {
1352 #[inline]
1353 unsafe fn encode(
1354 self,
1355 encoder: &mut fidl::encoding::Encoder<'_, D>,
1356 offset: usize,
1357 _depth: fidl::encoding::Depth,
1358 ) -> fidl::Result<()> {
1359 encoder.debug_check_bounds::<Self>(offset);
1360 if self.bits() & Self::all().bits() != self.bits() {
1361 return Err(fidl::Error::InvalidBitsValue);
1362 }
1363 encoder.write_num(self.bits(), offset);
1364 Ok(())
1365 }
1366 }
1367
1368 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1369 #[inline(always)]
1370 fn new_empty() -> Self {
1371 Self::empty()
1372 }
1373
1374 #[inline]
1375 unsafe fn decode(
1376 &mut self,
1377 decoder: &mut fidl::encoding::Decoder<'_, D>,
1378 offset: usize,
1379 _depth: fidl::encoding::Depth,
1380 ) -> fidl::Result<()> {
1381 decoder.debug_check_bounds::<Self>(offset);
1382 let prim = decoder.read_num::<u32>(offset);
1383 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1384 Ok(())
1385 }
1386 }
1387 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1388 type Owned = Self;
1389
1390 #[inline(always)]
1391 fn inline_align(_context: fidl::encoding::Context) -> usize {
1392 std::mem::align_of::<u32>()
1393 }
1394
1395 #[inline(always)]
1396 fn inline_size(_context: fidl::encoding::Context) -> usize {
1397 std::mem::size_of::<u32>()
1398 }
1399
1400 #[inline(always)]
1401 fn encode_is_copy() -> bool {
1402 true
1403 }
1404
1405 #[inline(always)]
1406 fn decode_is_copy() -> bool {
1407 false
1408 }
1409 }
1410
1411 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1412 type Borrowed<'a> = Self;
1413 #[inline(always)]
1414 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1415 *value
1416 }
1417 }
1418
1419 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1420 for AssociateResultCode
1421 {
1422 #[inline]
1423 unsafe fn encode(
1424 self,
1425 encoder: &mut fidl::encoding::Encoder<'_, D>,
1426 offset: usize,
1427 _depth: fidl::encoding::Depth,
1428 ) -> fidl::Result<()> {
1429 encoder.debug_check_bounds::<Self>(offset);
1430 encoder.write_num(self.into_primitive(), offset);
1431 Ok(())
1432 }
1433 }
1434
1435 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1436 #[inline(always)]
1437 fn new_empty() -> Self {
1438 Self::Success
1439 }
1440
1441 #[inline]
1442 unsafe fn decode(
1443 &mut self,
1444 decoder: &mut fidl::encoding::Decoder<'_, D>,
1445 offset: usize,
1446 _depth: fidl::encoding::Depth,
1447 ) -> fidl::Result<()> {
1448 decoder.debug_check_bounds::<Self>(offset);
1449 let prim = decoder.read_num::<u32>(offset);
1450
1451 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1452 Ok(())
1453 }
1454 }
1455 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1456 type Owned = Self;
1457
1458 #[inline(always)]
1459 fn inline_align(_context: fidl::encoding::Context) -> usize {
1460 std::mem::align_of::<u32>()
1461 }
1462
1463 #[inline(always)]
1464 fn inline_size(_context: fidl::encoding::Context) -> usize {
1465 std::mem::size_of::<u32>()
1466 }
1467
1468 #[inline(always)]
1469 fn encode_is_copy() -> bool {
1470 true
1471 }
1472
1473 #[inline(always)]
1474 fn decode_is_copy() -> bool {
1475 false
1476 }
1477 }
1478
1479 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1480 type Borrowed<'a> = Self;
1481 #[inline(always)]
1482 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1483 *value
1484 }
1485 }
1486
1487 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1488 for AuthenticateResultCode
1489 {
1490 #[inline]
1491 unsafe fn encode(
1492 self,
1493 encoder: &mut fidl::encoding::Encoder<'_, D>,
1494 offset: usize,
1495 _depth: fidl::encoding::Depth,
1496 ) -> fidl::Result<()> {
1497 encoder.debug_check_bounds::<Self>(offset);
1498 encoder.write_num(self.into_primitive(), offset);
1499 Ok(())
1500 }
1501 }
1502
1503 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1504 for AuthenticateResultCode
1505 {
1506 #[inline(always)]
1507 fn new_empty() -> Self {
1508 Self::Success
1509 }
1510
1511 #[inline]
1512 unsafe fn decode(
1513 &mut self,
1514 decoder: &mut fidl::encoding::Decoder<'_, D>,
1515 offset: usize,
1516 _depth: fidl::encoding::Depth,
1517 ) -> fidl::Result<()> {
1518 decoder.debug_check_bounds::<Self>(offset);
1519 let prim = decoder.read_num::<u32>(offset);
1520
1521 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1522 Ok(())
1523 }
1524 }
1525 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1526 type Owned = Self;
1527
1528 #[inline(always)]
1529 fn inline_align(_context: fidl::encoding::Context) -> usize {
1530 std::mem::align_of::<u32>()
1531 }
1532
1533 #[inline(always)]
1534 fn inline_size(_context: fidl::encoding::Context) -> usize {
1535 std::mem::size_of::<u32>()
1536 }
1537
1538 #[inline(always)]
1539 fn encode_is_copy() -> bool {
1540 true
1541 }
1542
1543 #[inline(always)]
1544 fn decode_is_copy() -> bool {
1545 false
1546 }
1547 }
1548
1549 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1550 type Borrowed<'a> = Self;
1551 #[inline(always)]
1552 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1553 *value
1554 }
1555 }
1556
1557 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1558 for AuthenticationTypes
1559 {
1560 #[inline]
1561 unsafe fn encode(
1562 self,
1563 encoder: &mut fidl::encoding::Encoder<'_, D>,
1564 offset: usize,
1565 _depth: fidl::encoding::Depth,
1566 ) -> fidl::Result<()> {
1567 encoder.debug_check_bounds::<Self>(offset);
1568 encoder.write_num(self.into_primitive(), offset);
1569 Ok(())
1570 }
1571 }
1572
1573 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1574 #[inline(always)]
1575 fn new_empty() -> Self {
1576 Self::OpenSystem
1577 }
1578
1579 #[inline]
1580 unsafe fn decode(
1581 &mut self,
1582 decoder: &mut fidl::encoding::Decoder<'_, D>,
1583 offset: usize,
1584 _depth: fidl::encoding::Depth,
1585 ) -> fidl::Result<()> {
1586 decoder.debug_check_bounds::<Self>(offset);
1587 let prim = decoder.read_num::<u32>(offset);
1588
1589 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1590 Ok(())
1591 }
1592 }
1593 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1594 type Owned = Self;
1595
1596 #[inline(always)]
1597 fn inline_align(_context: fidl::encoding::Context) -> usize {
1598 std::mem::align_of::<u32>()
1599 }
1600
1601 #[inline(always)]
1602 fn inline_size(_context: fidl::encoding::Context) -> usize {
1603 std::mem::size_of::<u32>()
1604 }
1605
1606 #[inline(always)]
1607 fn encode_is_copy() -> bool {
1608 true
1609 }
1610
1611 #[inline(always)]
1612 fn decode_is_copy() -> bool {
1613 false
1614 }
1615 }
1616
1617 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1618 type Borrowed<'a> = Self;
1619 #[inline(always)]
1620 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1621 *value
1622 }
1623 }
1624
1625 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1626 for ControlledPortState
1627 {
1628 #[inline]
1629 unsafe fn encode(
1630 self,
1631 encoder: &mut fidl::encoding::Encoder<'_, D>,
1632 offset: usize,
1633 _depth: fidl::encoding::Depth,
1634 ) -> fidl::Result<()> {
1635 encoder.debug_check_bounds::<Self>(offset);
1636 encoder.write_num(self.into_primitive(), offset);
1637 Ok(())
1638 }
1639 }
1640
1641 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1642 #[inline(always)]
1643 fn new_empty() -> Self {
1644 Self::Closed
1645 }
1646
1647 #[inline]
1648 unsafe fn decode(
1649 &mut self,
1650 decoder: &mut fidl::encoding::Decoder<'_, D>,
1651 offset: usize,
1652 _depth: fidl::encoding::Depth,
1653 ) -> fidl::Result<()> {
1654 decoder.debug_check_bounds::<Self>(offset);
1655 let prim = decoder.read_num::<u32>(offset);
1656
1657 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1658 Ok(())
1659 }
1660 }
1661 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1662 type Owned = Self;
1663
1664 #[inline(always)]
1665 fn inline_align(_context: fidl::encoding::Context) -> usize {
1666 std::mem::align_of::<u32>()
1667 }
1668
1669 #[inline(always)]
1670 fn inline_size(_context: fidl::encoding::Context) -> usize {
1671 std::mem::size_of::<u32>()
1672 }
1673
1674 #[inline(always)]
1675 fn encode_is_copy() -> bool {
1676 true
1677 }
1678
1679 #[inline(always)]
1680 fn decode_is_copy() -> bool {
1681 false
1682 }
1683 }
1684
1685 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1686 type Borrowed<'a> = Self;
1687 #[inline(always)]
1688 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1689 *value
1690 }
1691 }
1692
1693 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1694 for EapolResultCode
1695 {
1696 #[inline]
1697 unsafe fn encode(
1698 self,
1699 encoder: &mut fidl::encoding::Encoder<'_, D>,
1700 offset: usize,
1701 _depth: fidl::encoding::Depth,
1702 ) -> fidl::Result<()> {
1703 encoder.debug_check_bounds::<Self>(offset);
1704 encoder.write_num(self.into_primitive(), offset);
1705 Ok(())
1706 }
1707 }
1708
1709 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1710 #[inline(always)]
1711 fn new_empty() -> Self {
1712 Self::Success
1713 }
1714
1715 #[inline]
1716 unsafe fn decode(
1717 &mut self,
1718 decoder: &mut fidl::encoding::Decoder<'_, D>,
1719 offset: usize,
1720 _depth: fidl::encoding::Depth,
1721 ) -> fidl::Result<()> {
1722 decoder.debug_check_bounds::<Self>(offset);
1723 let prim = decoder.read_num::<u32>(offset);
1724
1725 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1726 Ok(())
1727 }
1728 }
1729 unsafe impl fidl::encoding::TypeMarker for KeyType {
1730 type Owned = Self;
1731
1732 #[inline(always)]
1733 fn inline_align(_context: fidl::encoding::Context) -> usize {
1734 std::mem::align_of::<u32>()
1735 }
1736
1737 #[inline(always)]
1738 fn inline_size(_context: fidl::encoding::Context) -> usize {
1739 std::mem::size_of::<u32>()
1740 }
1741
1742 #[inline(always)]
1743 fn encode_is_copy() -> bool {
1744 true
1745 }
1746
1747 #[inline(always)]
1748 fn decode_is_copy() -> bool {
1749 false
1750 }
1751 }
1752
1753 impl fidl::encoding::ValueTypeMarker for KeyType {
1754 type Borrowed<'a> = Self;
1755 #[inline(always)]
1756 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1757 *value
1758 }
1759 }
1760
1761 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1762 #[inline]
1763 unsafe fn encode(
1764 self,
1765 encoder: &mut fidl::encoding::Encoder<'_, D>,
1766 offset: usize,
1767 _depth: fidl::encoding::Depth,
1768 ) -> fidl::Result<()> {
1769 encoder.debug_check_bounds::<Self>(offset);
1770 encoder.write_num(self.into_primitive(), offset);
1771 Ok(())
1772 }
1773 }
1774
1775 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1776 #[inline(always)]
1777 fn new_empty() -> Self {
1778 Self::Group
1779 }
1780
1781 #[inline]
1782 unsafe fn decode(
1783 &mut self,
1784 decoder: &mut fidl::encoding::Decoder<'_, D>,
1785 offset: usize,
1786 _depth: fidl::encoding::Depth,
1787 ) -> fidl::Result<()> {
1788 decoder.debug_check_bounds::<Self>(offset);
1789 let prim = decoder.read_num::<u32>(offset);
1790
1791 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1792 Ok(())
1793 }
1794 }
1795 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1796 type Owned = Self;
1797
1798 #[inline(always)]
1799 fn inline_align(_context: fidl::encoding::Context) -> usize {
1800 std::mem::align_of::<u32>()
1801 }
1802
1803 #[inline(always)]
1804 fn inline_size(_context: fidl::encoding::Context) -> usize {
1805 std::mem::size_of::<u32>()
1806 }
1807
1808 #[inline(always)]
1809 fn encode_is_copy() -> bool {
1810 true
1811 }
1812
1813 #[inline(always)]
1814 fn decode_is_copy() -> bool {
1815 false
1816 }
1817 }
1818
1819 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1820 type Borrowed<'a> = Self;
1821 #[inline(always)]
1822 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1823 *value
1824 }
1825 }
1826
1827 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1828 #[inline]
1829 unsafe fn encode(
1830 self,
1831 encoder: &mut fidl::encoding::Encoder<'_, D>,
1832 offset: usize,
1833 _depth: fidl::encoding::Depth,
1834 ) -> fidl::Result<()> {
1835 encoder.debug_check_bounds::<Self>(offset);
1836 encoder.write_num(self.into_primitive(), offset);
1837 Ok(())
1838 }
1839 }
1840
1841 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1842 #[inline(always)]
1843 fn new_empty() -> Self {
1844 Self::Success
1845 }
1846
1847 #[inline]
1848 unsafe fn decode(
1849 &mut self,
1850 decoder: &mut fidl::encoding::Decoder<'_, D>,
1851 offset: usize,
1852 _depth: fidl::encoding::Depth,
1853 ) -> fidl::Result<()> {
1854 decoder.debug_check_bounds::<Self>(offset);
1855 let prim = decoder.read_num::<u32>(offset);
1856
1857 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1858 Ok(())
1859 }
1860 }
1861 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1862 type Owned = Self;
1863
1864 #[inline(always)]
1865 fn inline_align(_context: fidl::encoding::Context) -> usize {
1866 std::mem::align_of::<u32>()
1867 }
1868
1869 #[inline(always)]
1870 fn inline_size(_context: fidl::encoding::Context) -> usize {
1871 std::mem::size_of::<u32>()
1872 }
1873
1874 #[inline(always)]
1875 fn encode_is_copy() -> bool {
1876 true
1877 }
1878
1879 #[inline(always)]
1880 fn decode_is_copy() -> bool {
1881 false
1882 }
1883 }
1884
1885 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1886 type Borrowed<'a> = Self;
1887 #[inline(always)]
1888 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1889 *value
1890 }
1891 }
1892
1893 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1894 #[inline]
1895 unsafe fn encode(
1896 self,
1897 encoder: &mut fidl::encoding::Encoder<'_, D>,
1898 offset: usize,
1899 _depth: fidl::encoding::Depth,
1900 ) -> fidl::Result<()> {
1901 encoder.debug_check_bounds::<Self>(offset);
1902 encoder.write_num(self.into_primitive(), offset);
1903 Ok(())
1904 }
1905 }
1906
1907 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
1908 #[inline(always)]
1909 fn new_empty() -> Self {
1910 Self::Active
1911 }
1912
1913 #[inline]
1914 unsafe fn decode(
1915 &mut self,
1916 decoder: &mut fidl::encoding::Decoder<'_, D>,
1917 offset: usize,
1918 _depth: fidl::encoding::Depth,
1919 ) -> fidl::Result<()> {
1920 decoder.debug_check_bounds::<Self>(offset);
1921 let prim = decoder.read_num::<u32>(offset);
1922
1923 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1924 Ok(())
1925 }
1926 }
1927 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
1928 type Owned = Self;
1929
1930 #[inline(always)]
1931 fn inline_align(_context: fidl::encoding::Context) -> usize {
1932 std::mem::align_of::<u32>()
1933 }
1934
1935 #[inline(always)]
1936 fn inline_size(_context: fidl::encoding::Context) -> usize {
1937 std::mem::size_of::<u32>()
1938 }
1939
1940 #[inline(always)]
1941 fn encode_is_copy() -> bool {
1942 true
1943 }
1944
1945 #[inline(always)]
1946 fn decode_is_copy() -> bool {
1947 false
1948 }
1949 }
1950
1951 impl fidl::encoding::ValueTypeMarker for StartResultCode {
1952 type Borrowed<'a> = Self;
1953 #[inline(always)]
1954 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1955 *value
1956 }
1957 }
1958
1959 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1960 for StartResultCode
1961 {
1962 #[inline]
1963 unsafe fn encode(
1964 self,
1965 encoder: &mut fidl::encoding::Encoder<'_, D>,
1966 offset: usize,
1967 _depth: fidl::encoding::Depth,
1968 ) -> fidl::Result<()> {
1969 encoder.debug_check_bounds::<Self>(offset);
1970 encoder.write_num(self.into_primitive(), offset);
1971 Ok(())
1972 }
1973 }
1974
1975 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
1976 #[inline(always)]
1977 fn new_empty() -> Self {
1978 Self::Success
1979 }
1980
1981 #[inline]
1982 unsafe fn decode(
1983 &mut self,
1984 decoder: &mut fidl::encoding::Decoder<'_, D>,
1985 offset: usize,
1986 _depth: fidl::encoding::Depth,
1987 ) -> fidl::Result<()> {
1988 decoder.debug_check_bounds::<Self>(offset);
1989 let prim = decoder.read_num::<u32>(offset);
1990
1991 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1992 Ok(())
1993 }
1994 }
1995 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
1996 type Owned = Self;
1997
1998 #[inline(always)]
1999 fn inline_align(_context: fidl::encoding::Context) -> usize {
2000 std::mem::align_of::<u32>()
2001 }
2002
2003 #[inline(always)]
2004 fn inline_size(_context: fidl::encoding::Context) -> usize {
2005 std::mem::size_of::<u32>()
2006 }
2007
2008 #[inline(always)]
2009 fn encode_is_copy() -> bool {
2010 true
2011 }
2012
2013 #[inline(always)]
2014 fn decode_is_copy() -> bool {
2015 false
2016 }
2017 }
2018
2019 impl fidl::encoding::ValueTypeMarker for StopResultCode {
2020 type Borrowed<'a> = Self;
2021 #[inline(always)]
2022 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2023 *value
2024 }
2025 }
2026
2027 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2028 #[inline]
2029 unsafe fn encode(
2030 self,
2031 encoder: &mut fidl::encoding::Encoder<'_, D>,
2032 offset: usize,
2033 _depth: fidl::encoding::Depth,
2034 ) -> fidl::Result<()> {
2035 encoder.debug_check_bounds::<Self>(offset);
2036 encoder.write_num(self.into_primitive(), offset);
2037 Ok(())
2038 }
2039 }
2040
2041 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2042 #[inline(always)]
2043 fn new_empty() -> Self {
2044 Self::Success
2045 }
2046
2047 #[inline]
2048 unsafe fn decode(
2049 &mut self,
2050 decoder: &mut fidl::encoding::Decoder<'_, D>,
2051 offset: usize,
2052 _depth: fidl::encoding::Depth,
2053 ) -> fidl::Result<()> {
2054 decoder.debug_check_bounds::<Self>(offset);
2055 let prim = decoder.read_num::<u32>(offset);
2056
2057 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2058 Ok(())
2059 }
2060 }
2061
2062 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2063 type Borrowed<'a> = &'a Self;
2064 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2065 value
2066 }
2067 }
2068
2069 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2070 type Owned = Self;
2071
2072 #[inline(always)]
2073 fn inline_align(_context: fidl::encoding::Context) -> usize {
2074 8
2075 }
2076
2077 #[inline(always)]
2078 fn inline_size(_context: fidl::encoding::Context) -> usize {
2079 64
2080 }
2081 }
2082
2083 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2084 for &AssociateIndication
2085 {
2086 #[inline]
2087 unsafe fn encode(
2088 self,
2089 encoder: &mut fidl::encoding::Encoder<'_, D>,
2090 offset: usize,
2091 _depth: fidl::encoding::Depth,
2092 ) -> fidl::Result<()> {
2093 encoder.debug_check_bounds::<AssociateIndication>(offset);
2094 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2096 (
2097 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2098 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2099 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2100 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2101 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2102 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2103 ),
2104 encoder, offset, _depth
2105 )
2106 }
2107 }
2108 unsafe impl<
2109 D: fidl::encoding::ResourceDialect,
2110 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2111 T1: fidl::encoding::Encode<u16, D>,
2112 T2: fidl::encoding::Encode<u16, D>,
2113 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2114 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2115 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2116 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
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 unsafe {
2129 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2130 (ptr as *mut u64).write_unaligned(0);
2131 }
2132 self.0.encode(encoder, offset + 0, depth)?;
2134 self.1.encode(encoder, offset + 6, depth)?;
2135 self.2.encode(encoder, offset + 8, depth)?;
2136 self.3.encode(encoder, offset + 16, depth)?;
2137 self.4.encode(encoder, offset + 32, depth)?;
2138 self.5.encode(encoder, offset + 48, depth)?;
2139 Ok(())
2140 }
2141 }
2142
2143 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2144 #[inline(always)]
2145 fn new_empty() -> Self {
2146 Self {
2147 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2148 capability_info: fidl::new_empty!(u16, D),
2149 listen_interval: fidl::new_empty!(u16, D),
2150 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2151 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2152 rsne: fidl::new_empty!(
2153 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2154 D
2155 ),
2156 }
2157 }
2158
2159 #[inline]
2160 unsafe fn decode(
2161 &mut self,
2162 decoder: &mut fidl::encoding::Decoder<'_, D>,
2163 offset: usize,
2164 _depth: fidl::encoding::Depth,
2165 ) -> fidl::Result<()> {
2166 decoder.debug_check_bounds::<Self>(offset);
2167 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2169 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2170 let mask = 0xffffffffffff0000u64;
2171 let maskedval = padval & mask;
2172 if maskedval != 0 {
2173 return Err(fidl::Error::NonZeroPadding {
2174 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2175 });
2176 }
2177 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2178 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2179 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2180 fidl::decode!(
2181 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2182 D,
2183 &mut self.ssid,
2184 decoder,
2185 offset + 16,
2186 _depth
2187 )?;
2188 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2189 fidl::decode!(
2190 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2191 D,
2192 &mut self.rsne,
2193 decoder,
2194 offset + 48,
2195 _depth
2196 )?;
2197 Ok(())
2198 }
2199 }
2200
2201 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2202 type Borrowed<'a> = &'a Self;
2203 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2204 value
2205 }
2206 }
2207
2208 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2209 type Owned = Self;
2210
2211 #[inline(always)]
2212 fn inline_align(_context: fidl::encoding::Context) -> usize {
2213 8
2214 }
2215
2216 #[inline(always)]
2217 fn inline_size(_context: fidl::encoding::Context) -> usize {
2218 32
2219 }
2220 }
2221
2222 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2223 for &AssociateResponse
2224 {
2225 #[inline]
2226 unsafe fn encode(
2227 self,
2228 encoder: &mut fidl::encoding::Encoder<'_, D>,
2229 offset: usize,
2230 _depth: fidl::encoding::Depth,
2231 ) -> fidl::Result<()> {
2232 encoder.debug_check_bounds::<AssociateResponse>(offset);
2233 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2235 (
2236 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2237 &self.peer_sta_address,
2238 ),
2239 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2240 &self.result_code,
2241 ),
2242 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2243 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2244 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2245 &self.rates,
2246 ),
2247 ),
2248 encoder,
2249 offset,
2250 _depth,
2251 )
2252 }
2253 }
2254 unsafe impl<
2255 D: fidl::encoding::ResourceDialect,
2256 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2257 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2258 T2: fidl::encoding::Encode<u16, D>,
2259 T3: fidl::encoding::Encode<u16, D>,
2260 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2261 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2262 {
2263 #[inline]
2264 unsafe fn encode(
2265 self,
2266 encoder: &mut fidl::encoding::Encoder<'_, D>,
2267 offset: usize,
2268 depth: fidl::encoding::Depth,
2269 ) -> fidl::Result<()> {
2270 encoder.debug_check_bounds::<AssociateResponse>(offset);
2271 unsafe {
2274 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2275 (ptr as *mut u64).write_unaligned(0);
2276 }
2277 self.0.encode(encoder, offset + 0, depth)?;
2279 self.1.encode(encoder, offset + 8, depth)?;
2280 self.2.encode(encoder, offset + 12, depth)?;
2281 self.3.encode(encoder, offset + 14, depth)?;
2282 self.4.encode(encoder, offset + 16, depth)?;
2283 Ok(())
2284 }
2285 }
2286
2287 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2288 #[inline(always)]
2289 fn new_empty() -> Self {
2290 Self {
2291 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2292 result_code: fidl::new_empty!(AssociateResultCode, D),
2293 association_id: fidl::new_empty!(u16, D),
2294 capability_info: fidl::new_empty!(u16, D),
2295 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2296 }
2297 }
2298
2299 #[inline]
2300 unsafe fn decode(
2301 &mut self,
2302 decoder: &mut fidl::encoding::Decoder<'_, D>,
2303 offset: usize,
2304 _depth: fidl::encoding::Depth,
2305 ) -> fidl::Result<()> {
2306 decoder.debug_check_bounds::<Self>(offset);
2307 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2309 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2310 let mask = 0xffff000000000000u64;
2311 let maskedval = padval & mask;
2312 if maskedval != 0 {
2313 return Err(fidl::Error::NonZeroPadding {
2314 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2315 });
2316 }
2317 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2318 fidl::decode!(
2319 AssociateResultCode,
2320 D,
2321 &mut self.result_code,
2322 decoder,
2323 offset + 8,
2324 _depth
2325 )?;
2326 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2327 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2328 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2329 Ok(())
2330 }
2331 }
2332
2333 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2334 type Borrowed<'a> = &'a Self;
2335 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2336 value
2337 }
2338 }
2339
2340 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2341 type Owned = Self;
2342
2343 #[inline(always)]
2344 fn inline_align(_context: fidl::encoding::Context) -> usize {
2345 4
2346 }
2347
2348 #[inline(always)]
2349 fn inline_size(_context: fidl::encoding::Context) -> usize {
2350 12
2351 }
2352 }
2353
2354 unsafe impl<D: fidl::encoding::ResourceDialect>
2355 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2356 {
2357 #[inline]
2358 unsafe fn encode(
2359 self,
2360 encoder: &mut fidl::encoding::Encoder<'_, D>,
2361 offset: usize,
2362 _depth: fidl::encoding::Depth,
2363 ) -> fidl::Result<()> {
2364 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2365 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2367 (
2368 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2369 &self.peer_sta_address,
2370 ),
2371 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2372 &self.auth_type,
2373 ),
2374 ),
2375 encoder,
2376 offset,
2377 _depth,
2378 )
2379 }
2380 }
2381 unsafe impl<
2382 D: fidl::encoding::ResourceDialect,
2383 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2384 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2385 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2386 {
2387 #[inline]
2388 unsafe fn encode(
2389 self,
2390 encoder: &mut fidl::encoding::Encoder<'_, D>,
2391 offset: usize,
2392 depth: fidl::encoding::Depth,
2393 ) -> fidl::Result<()> {
2394 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2395 unsafe {
2398 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2399 (ptr as *mut u32).write_unaligned(0);
2400 }
2401 self.0.encode(encoder, offset + 0, depth)?;
2403 self.1.encode(encoder, offset + 8, depth)?;
2404 Ok(())
2405 }
2406 }
2407
2408 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2409 for AuthenticateIndication
2410 {
2411 #[inline(always)]
2412 fn new_empty() -> Self {
2413 Self {
2414 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2415 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2416 }
2417 }
2418
2419 #[inline]
2420 unsafe fn decode(
2421 &mut self,
2422 decoder: &mut fidl::encoding::Decoder<'_, D>,
2423 offset: usize,
2424 _depth: fidl::encoding::Depth,
2425 ) -> fidl::Result<()> {
2426 decoder.debug_check_bounds::<Self>(offset);
2427 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2429 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2430 let mask = 0xffff0000u32;
2431 let maskedval = padval & mask;
2432 if maskedval != 0 {
2433 return Err(fidl::Error::NonZeroPadding {
2434 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2435 });
2436 }
2437 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2438 fidl::decode!(
2439 AuthenticationTypes,
2440 D,
2441 &mut self.auth_type,
2442 decoder,
2443 offset + 8,
2444 _depth
2445 )?;
2446 Ok(())
2447 }
2448 }
2449
2450 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2451 type Borrowed<'a> = &'a Self;
2452 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2453 value
2454 }
2455 }
2456
2457 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2458 type Owned = Self;
2459
2460 #[inline(always)]
2461 fn inline_align(_context: fidl::encoding::Context) -> usize {
2462 4
2463 }
2464
2465 #[inline(always)]
2466 fn inline_size(_context: fidl::encoding::Context) -> usize {
2467 12
2468 }
2469 }
2470
2471 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2472 for &AuthenticateResponse
2473 {
2474 #[inline]
2475 unsafe fn encode(
2476 self,
2477 encoder: &mut fidl::encoding::Encoder<'_, D>,
2478 offset: usize,
2479 _depth: fidl::encoding::Depth,
2480 ) -> fidl::Result<()> {
2481 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2482 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2484 (
2485 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2486 &self.peer_sta_address,
2487 ),
2488 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2489 &self.result_code,
2490 ),
2491 ),
2492 encoder,
2493 offset,
2494 _depth,
2495 )
2496 }
2497 }
2498 unsafe impl<
2499 D: fidl::encoding::ResourceDialect,
2500 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2501 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2502 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2503 {
2504 #[inline]
2505 unsafe fn encode(
2506 self,
2507 encoder: &mut fidl::encoding::Encoder<'_, D>,
2508 offset: usize,
2509 depth: fidl::encoding::Depth,
2510 ) -> fidl::Result<()> {
2511 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2512 unsafe {
2515 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2516 (ptr as *mut u32).write_unaligned(0);
2517 }
2518 self.0.encode(encoder, offset + 0, depth)?;
2520 self.1.encode(encoder, offset + 8, depth)?;
2521 Ok(())
2522 }
2523 }
2524
2525 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2526 #[inline(always)]
2527 fn new_empty() -> Self {
2528 Self {
2529 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2530 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2531 }
2532 }
2533
2534 #[inline]
2535 unsafe fn decode(
2536 &mut self,
2537 decoder: &mut fidl::encoding::Decoder<'_, D>,
2538 offset: usize,
2539 _depth: fidl::encoding::Depth,
2540 ) -> fidl::Result<()> {
2541 decoder.debug_check_bounds::<Self>(offset);
2542 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2544 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2545 let mask = 0xffff0000u32;
2546 let maskedval = padval & mask;
2547 if maskedval != 0 {
2548 return Err(fidl::Error::NonZeroPadding {
2549 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2550 });
2551 }
2552 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2553 fidl::decode!(
2554 AuthenticateResultCode,
2555 D,
2556 &mut self.result_code,
2557 decoder,
2558 offset + 8,
2559 _depth
2560 )?;
2561 Ok(())
2562 }
2563 }
2564
2565 impl fidl::encoding::ValueTypeMarker for BandCapability {
2566 type Borrowed<'a> = &'a Self;
2567 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2568 value
2569 }
2570 }
2571
2572 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2573 type Owned = Self;
2574
2575 #[inline(always)]
2576 fn inline_align(_context: fidl::encoding::Context) -> usize {
2577 8
2578 }
2579
2580 #[inline(always)]
2581 fn inline_size(_context: fidl::encoding::Context) -> usize {
2582 56
2583 }
2584 }
2585
2586 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2587 for &BandCapability
2588 {
2589 #[inline]
2590 unsafe fn encode(
2591 self,
2592 encoder: &mut fidl::encoding::Encoder<'_, D>,
2593 offset: usize,
2594 _depth: fidl::encoding::Depth,
2595 ) -> fidl::Result<()> {
2596 encoder.debug_check_bounds::<BandCapability>(offset);
2597 fidl::encoding::Encode::<BandCapability, D>::encode(
2599 (
2600 <fidl_fuchsia_wlan_ieee80211__common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2601 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2602 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2603 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2604 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.operating_channels),
2605 ),
2606 encoder, offset, _depth
2607 )
2608 }
2609 }
2610 unsafe impl<
2611 D: fidl::encoding::ResourceDialect,
2612 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanBand, D>,
2613 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2614 T2: fidl::encoding::Encode<
2615 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2616 D,
2617 >,
2618 T3: fidl::encoding::Encode<
2619 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2620 D,
2621 >,
2622 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
2623 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2624 {
2625 #[inline]
2626 unsafe fn encode(
2627 self,
2628 encoder: &mut fidl::encoding::Encoder<'_, D>,
2629 offset: usize,
2630 depth: fidl::encoding::Depth,
2631 ) -> fidl::Result<()> {
2632 encoder.debug_check_bounds::<BandCapability>(offset);
2633 unsafe {
2636 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2637 (ptr as *mut u64).write_unaligned(0);
2638 }
2639 self.0.encode(encoder, offset + 0, depth)?;
2641 self.1.encode(encoder, offset + 8, depth)?;
2642 self.2.encode(encoder, offset + 24, depth)?;
2643 self.3.encode(encoder, offset + 32, depth)?;
2644 self.4.encode(encoder, offset + 40, depth)?;
2645 Ok(())
2646 }
2647 }
2648
2649 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2650 #[inline(always)]
2651 fn new_empty() -> Self {
2652 Self {
2653 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanBand, D),
2654 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2655 ht_cap: fidl::new_empty!(
2656 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2657 D
2658 ),
2659 vht_cap: fidl::new_empty!(
2660 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2661 D
2662 ),
2663 operating_channels: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
2664 }
2665 }
2666
2667 #[inline]
2668 unsafe fn decode(
2669 &mut self,
2670 decoder: &mut fidl::encoding::Decoder<'_, D>,
2671 offset: usize,
2672 _depth: fidl::encoding::Depth,
2673 ) -> fidl::Result<()> {
2674 decoder.debug_check_bounds::<Self>(offset);
2675 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2677 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2678 let mask = 0xffffffffffffff00u64;
2679 let maskedval = padval & mask;
2680 if maskedval != 0 {
2681 return Err(fidl::Error::NonZeroPadding {
2682 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2683 });
2684 }
2685 fidl::decode!(
2686 fidl_fuchsia_wlan_ieee80211__common::WlanBand,
2687 D,
2688 &mut self.band,
2689 decoder,
2690 offset + 0,
2691 _depth
2692 )?;
2693 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2694 fidl::decode!(
2695 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2696 D,
2697 &mut self.ht_cap,
2698 decoder,
2699 offset + 24,
2700 _depth
2701 )?;
2702 fidl::decode!(
2703 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2704 D,
2705 &mut self.vht_cap,
2706 decoder,
2707 offset + 32,
2708 _depth
2709 )?;
2710 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.operating_channels, decoder, offset + 40, _depth)?;
2711 Ok(())
2712 }
2713 }
2714
2715 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2716 type Borrowed<'a> = &'a Self;
2717 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2718 value
2719 }
2720 }
2721
2722 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2723 type Owned = Self;
2724
2725 #[inline(always)]
2726 fn inline_align(_context: fidl::encoding::Context) -> usize {
2727 8
2728 }
2729
2730 #[inline(always)]
2731 fn inline_size(_context: fidl::encoding::Context) -> usize {
2732 16
2733 }
2734 }
2735
2736 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2737 for &CapturedFrameResult
2738 {
2739 #[inline]
2740 unsafe fn encode(
2741 self,
2742 encoder: &mut fidl::encoding::Encoder<'_, D>,
2743 offset: usize,
2744 _depth: fidl::encoding::Depth,
2745 ) -> fidl::Result<()> {
2746 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2747 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2749 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2750 &self.frame,
2751 ),),
2752 encoder,
2753 offset,
2754 _depth,
2755 )
2756 }
2757 }
2758 unsafe impl<
2759 D: fidl::encoding::ResourceDialect,
2760 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2761 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2762 {
2763 #[inline]
2764 unsafe fn encode(
2765 self,
2766 encoder: &mut fidl::encoding::Encoder<'_, D>,
2767 offset: usize,
2768 depth: fidl::encoding::Depth,
2769 ) -> fidl::Result<()> {
2770 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2771 self.0.encode(encoder, offset + 0, depth)?;
2775 Ok(())
2776 }
2777 }
2778
2779 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2780 #[inline(always)]
2781 fn new_empty() -> Self {
2782 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2783 }
2784
2785 #[inline]
2786 unsafe fn decode(
2787 &mut self,
2788 decoder: &mut fidl::encoding::Decoder<'_, D>,
2789 offset: usize,
2790 _depth: fidl::encoding::Depth,
2791 ) -> fidl::Result<()> {
2792 decoder.debug_check_bounds::<Self>(offset);
2793 fidl::decode!(
2795 fidl::encoding::UnboundedVector<u8>,
2796 D,
2797 &mut self.frame,
2798 decoder,
2799 offset + 0,
2800 _depth
2801 )?;
2802 Ok(())
2803 }
2804 }
2805
2806 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2807 type Borrowed<'a> = &'a Self;
2808 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2809 value
2810 }
2811 }
2812
2813 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2814 type Owned = Self;
2815
2816 #[inline(always)]
2817 fn inline_align(_context: fidl::encoding::Context) -> usize {
2818 8
2819 }
2820
2821 #[inline(always)]
2822 fn inline_size(_context: fidl::encoding::Context) -> usize {
2823 32
2824 }
2825 }
2826
2827 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2828 for &ConnectConfirm
2829 {
2830 #[inline]
2831 unsafe fn encode(
2832 self,
2833 encoder: &mut fidl::encoding::Encoder<'_, D>,
2834 offset: usize,
2835 _depth: fidl::encoding::Depth,
2836 ) -> fidl::Result<()> {
2837 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2838 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2840 (
2841 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2842 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2843 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2844 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2845 ),
2846 encoder, offset, _depth
2847 )
2848 }
2849 }
2850 unsafe impl<
2851 D: fidl::encoding::ResourceDialect,
2852 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2853 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
2854 T2: fidl::encoding::Encode<u16, D>,
2855 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2856 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2857 {
2858 #[inline]
2859 unsafe fn encode(
2860 self,
2861 encoder: &mut fidl::encoding::Encoder<'_, D>,
2862 offset: usize,
2863 depth: fidl::encoding::Depth,
2864 ) -> fidl::Result<()> {
2865 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2866 unsafe {
2869 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2870 (ptr as *mut u64).write_unaligned(0);
2871 }
2872 self.0.encode(encoder, offset + 0, depth)?;
2874 self.1.encode(encoder, offset + 6, depth)?;
2875 self.2.encode(encoder, offset + 8, depth)?;
2876 self.3.encode(encoder, offset + 16, depth)?;
2877 Ok(())
2878 }
2879 }
2880
2881 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2882 #[inline(always)]
2883 fn new_empty() -> Self {
2884 Self {
2885 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2886 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
2887 association_id: fidl::new_empty!(u16, D),
2888 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2889 }
2890 }
2891
2892 #[inline]
2893 unsafe fn decode(
2894 &mut self,
2895 decoder: &mut fidl::encoding::Decoder<'_, D>,
2896 offset: usize,
2897 _depth: fidl::encoding::Depth,
2898 ) -> fidl::Result<()> {
2899 decoder.debug_check_bounds::<Self>(offset);
2900 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2902 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2903 let mask = 0xffffffffffff0000u64;
2904 let maskedval = padval & mask;
2905 if maskedval != 0 {
2906 return Err(fidl::Error::NonZeroPadding {
2907 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2908 });
2909 }
2910 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2911 fidl::decode!(
2912 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
2913 D,
2914 &mut self.result_code,
2915 decoder,
2916 offset + 6,
2917 _depth
2918 )?;
2919 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2920 fidl::decode!(
2921 fidl::encoding::UnboundedVector<u8>,
2922 D,
2923 &mut self.association_ies,
2924 decoder,
2925 offset + 16,
2926 _depth
2927 )?;
2928 Ok(())
2929 }
2930 }
2931
2932 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
2933 type Borrowed<'a> = &'a Self;
2934 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2935 value
2936 }
2937 }
2938
2939 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
2940 type Owned = Self;
2941
2942 #[inline(always)]
2943 fn inline_align(_context: fidl::encoding::Context) -> usize {
2944 8
2945 }
2946
2947 #[inline(always)]
2948 fn inline_size(_context: fidl::encoding::Context) -> usize {
2949 104
2950 }
2951 }
2952
2953 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
2954 for &ConnectRequest
2955 {
2956 #[inline]
2957 unsafe fn encode(
2958 self,
2959 encoder: &mut fidl::encoding::Encoder<'_, D>,
2960 offset: usize,
2961 _depth: fidl::encoding::Depth,
2962 ) -> fidl::Result<()> {
2963 encoder.debug_check_bounds::<ConnectRequest>(offset);
2964 fidl::encoding::Encode::<ConnectRequest, D>::encode(
2966 (
2967 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
2968 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
2969 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
2970 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
2971 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
2972 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
2973 <fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey> as fidl::encoding::ValueTypeMarker>::borrow(&self.owe_public_key),
2974 ),
2975 encoder, offset, _depth
2976 )
2977 }
2978 }
2979 unsafe impl<
2980 D: fidl::encoding::ResourceDialect,
2981 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
2982 T1: fidl::encoding::Encode<u32, D>,
2983 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
2984 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2985 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
2986 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
2987 T6: fidl::encoding::Encode<
2988 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
2989 D,
2990 >,
2991 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
2992 {
2993 #[inline]
2994 unsafe fn encode(
2995 self,
2996 encoder: &mut fidl::encoding::Encoder<'_, D>,
2997 offset: usize,
2998 depth: fidl::encoding::Depth,
2999 ) -> fidl::Result<()> {
3000 encoder.debug_check_bounds::<ConnectRequest>(offset);
3001 self.0.encode(encoder, offset + 0, depth)?;
3005 self.1.encode(encoder, offset + 48, depth)?;
3006 self.2.encode(encoder, offset + 52, depth)?;
3007 self.3.encode(encoder, offset + 56, depth)?;
3008 self.4.encode(encoder, offset + 72, depth)?;
3009 self.5.encode(encoder, offset + 80, depth)?;
3010 self.6.encode(encoder, offset + 96, depth)?;
3011 Ok(())
3012 }
3013 }
3014
3015 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
3016 #[inline(always)]
3017 fn new_empty() -> Self {
3018 Self {
3019 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
3020 connect_failure_timeout: fidl::new_empty!(u32, D),
3021 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3022 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3023 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3024 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3025 owe_public_key: fidl::new_empty!(
3026 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
3027 D
3028 ),
3029 }
3030 }
3031
3032 #[inline]
3033 unsafe fn decode(
3034 &mut self,
3035 decoder: &mut fidl::encoding::Decoder<'_, D>,
3036 offset: usize,
3037 _depth: fidl::encoding::Depth,
3038 ) -> fidl::Result<()> {
3039 decoder.debug_check_bounds::<Self>(offset);
3040 fidl::decode!(
3042 fidl_fuchsia_wlan_common__common::BssDescription,
3043 D,
3044 &mut self.selected_bss,
3045 decoder,
3046 offset + 0,
3047 _depth
3048 )?;
3049 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3050 fidl::decode!(
3051 AuthenticationTypes,
3052 D,
3053 &mut self.auth_type,
3054 decoder,
3055 offset + 52,
3056 _depth
3057 )?;
3058 fidl::decode!(
3059 fidl::encoding::UnboundedVector<u8>,
3060 D,
3061 &mut self.sae_password,
3062 decoder,
3063 offset + 56,
3064 _depth
3065 )?;
3066 fidl::decode!(
3067 fidl::encoding::Boxed<SetKeyDescriptor>,
3068 D,
3069 &mut self.wep_key,
3070 decoder,
3071 offset + 72,
3072 _depth
3073 )?;
3074 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3075 fidl::decode!(
3076 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal__common::OwePublicKey>,
3077 D,
3078 &mut self.owe_public_key,
3079 decoder,
3080 offset + 96,
3081 _depth
3082 )?;
3083 Ok(())
3084 }
3085 }
3086
3087 impl fidl::encoding::ValueTypeMarker for Country {
3088 type Borrowed<'a> = &'a Self;
3089 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3090 value
3091 }
3092 }
3093
3094 unsafe impl fidl::encoding::TypeMarker for Country {
3095 type Owned = Self;
3096
3097 #[inline(always)]
3098 fn inline_align(_context: fidl::encoding::Context) -> usize {
3099 1
3100 }
3101
3102 #[inline(always)]
3103 fn inline_size(_context: fidl::encoding::Context) -> usize {
3104 3
3105 }
3106 #[inline(always)]
3107 fn encode_is_copy() -> bool {
3108 true
3109 }
3110
3111 #[inline(always)]
3112 fn decode_is_copy() -> bool {
3113 true
3114 }
3115 }
3116
3117 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3118 #[inline]
3119 unsafe fn encode(
3120 self,
3121 encoder: &mut fidl::encoding::Encoder<'_, D>,
3122 offset: usize,
3123 _depth: fidl::encoding::Depth,
3124 ) -> fidl::Result<()> {
3125 encoder.debug_check_bounds::<Country>(offset);
3126 unsafe {
3127 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3129 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3130 }
3133 Ok(())
3134 }
3135 }
3136 unsafe impl<
3137 D: fidl::encoding::ResourceDialect,
3138 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3139 T1: fidl::encoding::Encode<u8, D>,
3140 > fidl::encoding::Encode<Country, D> for (T0, T1)
3141 {
3142 #[inline]
3143 unsafe fn encode(
3144 self,
3145 encoder: &mut fidl::encoding::Encoder<'_, D>,
3146 offset: usize,
3147 depth: fidl::encoding::Depth,
3148 ) -> fidl::Result<()> {
3149 encoder.debug_check_bounds::<Country>(offset);
3150 self.0.encode(encoder, offset + 0, depth)?;
3154 self.1.encode(encoder, offset + 2, depth)?;
3155 Ok(())
3156 }
3157 }
3158
3159 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3160 #[inline(always)]
3161 fn new_empty() -> Self {
3162 Self {
3163 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3164 suffix: fidl::new_empty!(u8, D),
3165 }
3166 }
3167
3168 #[inline]
3169 unsafe fn decode(
3170 &mut self,
3171 decoder: &mut fidl::encoding::Decoder<'_, D>,
3172 offset: usize,
3173 _depth: fidl::encoding::Depth,
3174 ) -> fidl::Result<()> {
3175 decoder.debug_check_bounds::<Self>(offset);
3176 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3177 unsafe {
3180 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3181 }
3182 Ok(())
3183 }
3184 }
3185
3186 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3187 type Borrowed<'a> = &'a Self;
3188 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3189 value
3190 }
3191 }
3192
3193 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3194 type Owned = Self;
3195
3196 #[inline(always)]
3197 fn inline_align(_context: fidl::encoding::Context) -> usize {
3198 1
3199 }
3200
3201 #[inline(always)]
3202 fn inline_size(_context: fidl::encoding::Context) -> usize {
3203 6
3204 }
3205 #[inline(always)]
3206 fn encode_is_copy() -> bool {
3207 true
3208 }
3209
3210 #[inline(always)]
3211 fn decode_is_copy() -> bool {
3212 true
3213 }
3214 }
3215
3216 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3217 for &DeauthenticateConfirm
3218 {
3219 #[inline]
3220 unsafe fn encode(
3221 self,
3222 encoder: &mut fidl::encoding::Encoder<'_, D>,
3223 offset: usize,
3224 _depth: fidl::encoding::Depth,
3225 ) -> fidl::Result<()> {
3226 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3227 unsafe {
3228 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3230 (buf_ptr as *mut DeauthenticateConfirm)
3231 .write_unaligned((self as *const DeauthenticateConfirm).read());
3232 }
3235 Ok(())
3236 }
3237 }
3238 unsafe impl<
3239 D: fidl::encoding::ResourceDialect,
3240 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3241 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3242 {
3243 #[inline]
3244 unsafe fn encode(
3245 self,
3246 encoder: &mut fidl::encoding::Encoder<'_, D>,
3247 offset: usize,
3248 depth: fidl::encoding::Depth,
3249 ) -> fidl::Result<()> {
3250 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3251 self.0.encode(encoder, offset + 0, depth)?;
3255 Ok(())
3256 }
3257 }
3258
3259 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3260 #[inline(always)]
3261 fn new_empty() -> Self {
3262 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3263 }
3264
3265 #[inline]
3266 unsafe fn decode(
3267 &mut self,
3268 decoder: &mut fidl::encoding::Decoder<'_, D>,
3269 offset: usize,
3270 _depth: fidl::encoding::Depth,
3271 ) -> fidl::Result<()> {
3272 decoder.debug_check_bounds::<Self>(offset);
3273 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3274 unsafe {
3277 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3278 }
3279 Ok(())
3280 }
3281 }
3282
3283 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3284 type Borrowed<'a> = &'a Self;
3285 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3286 value
3287 }
3288 }
3289
3290 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3291 type Owned = Self;
3292
3293 #[inline(always)]
3294 fn inline_align(_context: fidl::encoding::Context) -> usize {
3295 2
3296 }
3297
3298 #[inline(always)]
3299 fn inline_size(_context: fidl::encoding::Context) -> usize {
3300 10
3301 }
3302 }
3303
3304 unsafe impl<D: fidl::encoding::ResourceDialect>
3305 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3306 {
3307 #[inline]
3308 unsafe fn encode(
3309 self,
3310 encoder: &mut fidl::encoding::Encoder<'_, D>,
3311 offset: usize,
3312 _depth: fidl::encoding::Depth,
3313 ) -> fidl::Result<()> {
3314 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3315 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3317 (
3318 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3319 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3320 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3321 ),
3322 encoder, offset, _depth
3323 )
3324 }
3325 }
3326 unsafe impl<
3327 D: fidl::encoding::ResourceDialect,
3328 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3329 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3330 T2: fidl::encoding::Encode<bool, D>,
3331 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3332 {
3333 #[inline]
3334 unsafe fn encode(
3335 self,
3336 encoder: &mut fidl::encoding::Encoder<'_, D>,
3337 offset: usize,
3338 depth: fidl::encoding::Depth,
3339 ) -> fidl::Result<()> {
3340 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3341 unsafe {
3344 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3345 (ptr as *mut u16).write_unaligned(0);
3346 }
3347 self.0.encode(encoder, offset + 0, depth)?;
3349 self.1.encode(encoder, offset + 6, depth)?;
3350 self.2.encode(encoder, offset + 8, depth)?;
3351 Ok(())
3352 }
3353 }
3354
3355 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3356 for DeauthenticateIndication
3357 {
3358 #[inline(always)]
3359 fn new_empty() -> Self {
3360 Self {
3361 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3362 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3363 locally_initiated: fidl::new_empty!(bool, D),
3364 }
3365 }
3366
3367 #[inline]
3368 unsafe fn decode(
3369 &mut self,
3370 decoder: &mut fidl::encoding::Decoder<'_, D>,
3371 offset: usize,
3372 _depth: fidl::encoding::Depth,
3373 ) -> fidl::Result<()> {
3374 decoder.debug_check_bounds::<Self>(offset);
3375 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3377 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3378 let mask = 0xff00u16;
3379 let maskedval = padval & mask;
3380 if maskedval != 0 {
3381 return Err(fidl::Error::NonZeroPadding {
3382 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3383 });
3384 }
3385 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3386 fidl::decode!(
3387 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3388 D,
3389 &mut self.reason_code,
3390 decoder,
3391 offset + 6,
3392 _depth
3393 )?;
3394 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3395 Ok(())
3396 }
3397 }
3398
3399 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3400 type Borrowed<'a> = &'a Self;
3401 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3402 value
3403 }
3404 }
3405
3406 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3407 type Owned = Self;
3408
3409 #[inline(always)]
3410 fn inline_align(_context: fidl::encoding::Context) -> usize {
3411 2
3412 }
3413
3414 #[inline(always)]
3415 fn inline_size(_context: fidl::encoding::Context) -> usize {
3416 8
3417 }
3418 }
3419
3420 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3421 for &DeauthenticateRequest
3422 {
3423 #[inline]
3424 unsafe fn encode(
3425 self,
3426 encoder: &mut fidl::encoding::Encoder<'_, D>,
3427 offset: usize,
3428 _depth: fidl::encoding::Depth,
3429 ) -> fidl::Result<()> {
3430 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3431 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3433 (
3434 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3435 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3436 ),
3437 encoder, offset, _depth
3438 )
3439 }
3440 }
3441 unsafe impl<
3442 D: fidl::encoding::ResourceDialect,
3443 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3444 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3445 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3446 {
3447 #[inline]
3448 unsafe fn encode(
3449 self,
3450 encoder: &mut fidl::encoding::Encoder<'_, D>,
3451 offset: usize,
3452 depth: fidl::encoding::Depth,
3453 ) -> fidl::Result<()> {
3454 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3455 self.0.encode(encoder, offset + 0, depth)?;
3459 self.1.encode(encoder, offset + 6, depth)?;
3460 Ok(())
3461 }
3462 }
3463
3464 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3465 #[inline(always)]
3466 fn new_empty() -> Self {
3467 Self {
3468 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3469 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3470 }
3471 }
3472
3473 #[inline]
3474 unsafe fn decode(
3475 &mut self,
3476 decoder: &mut fidl::encoding::Decoder<'_, D>,
3477 offset: usize,
3478 _depth: fidl::encoding::Depth,
3479 ) -> fidl::Result<()> {
3480 decoder.debug_check_bounds::<Self>(offset);
3481 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3483 fidl::decode!(
3484 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3485 D,
3486 &mut self.reason_code,
3487 decoder,
3488 offset + 6,
3489 _depth
3490 )?;
3491 Ok(())
3492 }
3493 }
3494
3495 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3496 type Borrowed<'a> = &'a Self;
3497 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3498 value
3499 }
3500 }
3501
3502 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3503 type Owned = Self;
3504
3505 #[inline(always)]
3506 fn inline_align(_context: fidl::encoding::Context) -> usize {
3507 4
3508 }
3509
3510 #[inline(always)]
3511 fn inline_size(_context: fidl::encoding::Context) -> usize {
3512 16
3513 }
3514 }
3515
3516 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3517 for &DeleteKeyDescriptor
3518 {
3519 #[inline]
3520 unsafe fn encode(
3521 self,
3522 encoder: &mut fidl::encoding::Encoder<'_, D>,
3523 offset: usize,
3524 _depth: fidl::encoding::Depth,
3525 ) -> fidl::Result<()> {
3526 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3527 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3529 (
3530 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3531 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3532 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3533 &self.address,
3534 ),
3535 ),
3536 encoder,
3537 offset,
3538 _depth,
3539 )
3540 }
3541 }
3542 unsafe impl<
3543 D: fidl::encoding::ResourceDialect,
3544 T0: fidl::encoding::Encode<u16, D>,
3545 T1: fidl::encoding::Encode<KeyType, D>,
3546 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3547 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3548 {
3549 #[inline]
3550 unsafe fn encode(
3551 self,
3552 encoder: &mut fidl::encoding::Encoder<'_, D>,
3553 offset: usize,
3554 depth: fidl::encoding::Depth,
3555 ) -> fidl::Result<()> {
3556 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3557 unsafe {
3560 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3561 (ptr as *mut u32).write_unaligned(0);
3562 }
3563 unsafe {
3564 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3565 (ptr as *mut u32).write_unaligned(0);
3566 }
3567 self.0.encode(encoder, offset + 0, depth)?;
3569 self.1.encode(encoder, offset + 4, depth)?;
3570 self.2.encode(encoder, offset + 8, depth)?;
3571 Ok(())
3572 }
3573 }
3574
3575 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3576 #[inline(always)]
3577 fn new_empty() -> Self {
3578 Self {
3579 key_id: fidl::new_empty!(u16, D),
3580 key_type: fidl::new_empty!(KeyType, D),
3581 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3582 }
3583 }
3584
3585 #[inline]
3586 unsafe fn decode(
3587 &mut self,
3588 decoder: &mut fidl::encoding::Decoder<'_, D>,
3589 offset: usize,
3590 _depth: fidl::encoding::Depth,
3591 ) -> fidl::Result<()> {
3592 decoder.debug_check_bounds::<Self>(offset);
3593 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3595 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3596 let mask = 0xffff0000u32;
3597 let maskedval = padval & mask;
3598 if maskedval != 0 {
3599 return Err(fidl::Error::NonZeroPadding {
3600 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3601 });
3602 }
3603 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3604 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3605 let mask = 0xffff0000u32;
3606 let maskedval = padval & mask;
3607 if maskedval != 0 {
3608 return Err(fidl::Error::NonZeroPadding {
3609 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3610 });
3611 }
3612 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3613 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3614 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3615 Ok(())
3616 }
3617 }
3618
3619 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3620 type Borrowed<'a> = &'a Self;
3621 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3622 value
3623 }
3624 }
3625
3626 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3627 type Owned = Self;
3628
3629 #[inline(always)]
3630 fn inline_align(_context: fidl::encoding::Context) -> usize {
3631 8
3632 }
3633
3634 #[inline(always)]
3635 fn inline_size(_context: fidl::encoding::Context) -> usize {
3636 16
3637 }
3638 }
3639
3640 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3641 for &DeleteKeysRequest
3642 {
3643 #[inline]
3644 unsafe fn encode(
3645 self,
3646 encoder: &mut fidl::encoding::Encoder<'_, D>,
3647 offset: usize,
3648 _depth: fidl::encoding::Depth,
3649 ) -> fidl::Result<()> {
3650 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3651 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3653 (
3654 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3655 ),
3656 encoder, offset, _depth
3657 )
3658 }
3659 }
3660 unsafe impl<
3661 D: fidl::encoding::ResourceDialect,
3662 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3663 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3664 {
3665 #[inline]
3666 unsafe fn encode(
3667 self,
3668 encoder: &mut fidl::encoding::Encoder<'_, D>,
3669 offset: usize,
3670 depth: fidl::encoding::Depth,
3671 ) -> fidl::Result<()> {
3672 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3673 self.0.encode(encoder, offset + 0, depth)?;
3677 Ok(())
3678 }
3679 }
3680
3681 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3682 #[inline(always)]
3683 fn new_empty() -> Self {
3684 Self {
3685 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3686 }
3687 }
3688
3689 #[inline]
3690 unsafe fn decode(
3691 &mut self,
3692 decoder: &mut fidl::encoding::Decoder<'_, D>,
3693 offset: usize,
3694 _depth: fidl::encoding::Depth,
3695 ) -> fidl::Result<()> {
3696 decoder.debug_check_bounds::<Self>(offset);
3697 fidl::decode!(
3699 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3700 D,
3701 &mut self.keylist,
3702 decoder,
3703 offset + 0,
3704 _depth
3705 )?;
3706 Ok(())
3707 }
3708 }
3709
3710 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3711 type Borrowed<'a> = &'a Self;
3712 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3713 value
3714 }
3715 }
3716
3717 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3718 type Owned = Self;
3719
3720 #[inline(always)]
3721 fn inline_align(_context: fidl::encoding::Context) -> usize {
3722 8
3723 }
3724
3725 #[inline(always)]
3726 fn inline_size(_context: fidl::encoding::Context) -> usize {
3727 40
3728 }
3729 }
3730
3731 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3732 for &DeviceInfo
3733 {
3734 #[inline]
3735 unsafe fn encode(
3736 self,
3737 encoder: &mut fidl::encoding::Encoder<'_, D>,
3738 offset: usize,
3739 _depth: fidl::encoding::Depth,
3740 ) -> fidl::Result<()> {
3741 encoder.debug_check_bounds::<DeviceInfo>(offset);
3742 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3744 (
3745 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3746 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.factory_addr),
3747 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3748 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3749 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3750 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3751 ),
3752 encoder, offset, _depth
3753 )
3754 }
3755 }
3756 unsafe impl<
3757 D: fidl::encoding::ResourceDialect,
3758 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3759 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3760 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
3761 T3: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3762 T4: fidl::encoding::Encode<u32, D>,
3763 T5: fidl::encoding::Encode<bool, D>,
3764 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4, T5)
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 unsafe {
3777 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3778 (ptr as *mut u64).write_unaligned(0);
3779 }
3780 self.0.encode(encoder, offset + 0, depth)?;
3782 self.1.encode(encoder, offset + 6, depth)?;
3783 self.2.encode(encoder, offset + 12, depth)?;
3784 self.3.encode(encoder, offset + 16, depth)?;
3785 self.4.encode(encoder, offset + 32, depth)?;
3786 self.5.encode(encoder, offset + 36, depth)?;
3787 Ok(())
3788 }
3789 }
3790
3791 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3792 #[inline(always)]
3793 fn new_empty() -> Self {
3794 Self {
3795 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3796 factory_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3797 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
3798 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3799 softmac_hardware_capability: fidl::new_empty!(u32, D),
3800 qos_capable: fidl::new_empty!(bool, D),
3801 }
3802 }
3803
3804 #[inline]
3805 unsafe fn decode(
3806 &mut self,
3807 decoder: &mut fidl::encoding::Decoder<'_, D>,
3808 offset: usize,
3809 _depth: fidl::encoding::Depth,
3810 ) -> fidl::Result<()> {
3811 decoder.debug_check_bounds::<Self>(offset);
3812 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3814 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3815 let mask = 0xffffff0000000000u64;
3816 let maskedval = padval & mask;
3817 if maskedval != 0 {
3818 return Err(fidl::Error::NonZeroPadding {
3819 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3820 });
3821 }
3822 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3823 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.factory_addr, decoder, offset + 6, _depth)?;
3824 fidl::decode!(
3825 fidl_fuchsia_wlan_common__common::WlanMacRole,
3826 D,
3827 &mut self.role,
3828 decoder,
3829 offset + 12,
3830 _depth
3831 )?;
3832 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3833 fidl::decode!(
3834 u32,
3835 D,
3836 &mut self.softmac_hardware_capability,
3837 decoder,
3838 offset + 32,
3839 _depth
3840 )?;
3841 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3842 Ok(())
3843 }
3844 }
3845
3846 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3847 type Borrowed<'a> = &'a Self;
3848 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3849 value
3850 }
3851 }
3852
3853 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3854 type Owned = Self;
3855
3856 #[inline(always)]
3857 fn inline_align(_context: fidl::encoding::Context) -> usize {
3858 4
3859 }
3860
3861 #[inline(always)]
3862 fn inline_size(_context: fidl::encoding::Context) -> usize {
3863 4
3864 }
3865 #[inline(always)]
3866 fn encode_is_copy() -> bool {
3867 true
3868 }
3869
3870 #[inline(always)]
3871 fn decode_is_copy() -> bool {
3872 true
3873 }
3874 }
3875
3876 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3877 for &DisassociateConfirm
3878 {
3879 #[inline]
3880 unsafe fn encode(
3881 self,
3882 encoder: &mut fidl::encoding::Encoder<'_, D>,
3883 offset: usize,
3884 _depth: fidl::encoding::Depth,
3885 ) -> fidl::Result<()> {
3886 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3887 unsafe {
3888 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3890 (buf_ptr as *mut DisassociateConfirm)
3891 .write_unaligned((self as *const DisassociateConfirm).read());
3892 }
3895 Ok(())
3896 }
3897 }
3898 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3899 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3900 {
3901 #[inline]
3902 unsafe fn encode(
3903 self,
3904 encoder: &mut fidl::encoding::Encoder<'_, D>,
3905 offset: usize,
3906 depth: fidl::encoding::Depth,
3907 ) -> fidl::Result<()> {
3908 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3909 self.0.encode(encoder, offset + 0, depth)?;
3913 Ok(())
3914 }
3915 }
3916
3917 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
3918 #[inline(always)]
3919 fn new_empty() -> Self {
3920 Self { status: fidl::new_empty!(i32, D) }
3921 }
3922
3923 #[inline]
3924 unsafe fn decode(
3925 &mut self,
3926 decoder: &mut fidl::encoding::Decoder<'_, D>,
3927 offset: usize,
3928 _depth: fidl::encoding::Depth,
3929 ) -> fidl::Result<()> {
3930 decoder.debug_check_bounds::<Self>(offset);
3931 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3932 unsafe {
3935 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
3936 }
3937 Ok(())
3938 }
3939 }
3940
3941 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
3942 type Borrowed<'a> = &'a Self;
3943 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3944 value
3945 }
3946 }
3947
3948 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
3949 type Owned = Self;
3950
3951 #[inline(always)]
3952 fn inline_align(_context: fidl::encoding::Context) -> usize {
3953 2
3954 }
3955
3956 #[inline(always)]
3957 fn inline_size(_context: fidl::encoding::Context) -> usize {
3958 10
3959 }
3960 }
3961
3962 unsafe impl<D: fidl::encoding::ResourceDialect>
3963 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
3964 {
3965 #[inline]
3966 unsafe fn encode(
3967 self,
3968 encoder: &mut fidl::encoding::Encoder<'_, D>,
3969 offset: usize,
3970 _depth: fidl::encoding::Depth,
3971 ) -> fidl::Result<()> {
3972 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3973 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
3975 (
3976 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3977 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3978 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3979 ),
3980 encoder, offset, _depth
3981 )
3982 }
3983 }
3984 unsafe impl<
3985 D: fidl::encoding::ResourceDialect,
3986 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3987 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3988 T2: fidl::encoding::Encode<bool, D>,
3989 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
3990 {
3991 #[inline]
3992 unsafe fn encode(
3993 self,
3994 encoder: &mut fidl::encoding::Encoder<'_, D>,
3995 offset: usize,
3996 depth: fidl::encoding::Depth,
3997 ) -> fidl::Result<()> {
3998 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3999 unsafe {
4002 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4003 (ptr as *mut u16).write_unaligned(0);
4004 }
4005 self.0.encode(encoder, offset + 0, depth)?;
4007 self.1.encode(encoder, offset + 6, depth)?;
4008 self.2.encode(encoder, offset + 8, depth)?;
4009 Ok(())
4010 }
4011 }
4012
4013 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4014 for DisassociateIndication
4015 {
4016 #[inline(always)]
4017 fn new_empty() -> Self {
4018 Self {
4019 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4020 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4021 locally_initiated: fidl::new_empty!(bool, D),
4022 }
4023 }
4024
4025 #[inline]
4026 unsafe fn decode(
4027 &mut self,
4028 decoder: &mut fidl::encoding::Decoder<'_, D>,
4029 offset: usize,
4030 _depth: fidl::encoding::Depth,
4031 ) -> fidl::Result<()> {
4032 decoder.debug_check_bounds::<Self>(offset);
4033 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4035 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4036 let mask = 0xff00u16;
4037 let maskedval = padval & mask;
4038 if maskedval != 0 {
4039 return Err(fidl::Error::NonZeroPadding {
4040 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4041 });
4042 }
4043 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4044 fidl::decode!(
4045 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4046 D,
4047 &mut self.reason_code,
4048 decoder,
4049 offset + 6,
4050 _depth
4051 )?;
4052 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4053 Ok(())
4054 }
4055 }
4056
4057 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4058 type Borrowed<'a> = &'a Self;
4059 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4060 value
4061 }
4062 }
4063
4064 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4065 type Owned = Self;
4066
4067 #[inline(always)]
4068 fn inline_align(_context: fidl::encoding::Context) -> usize {
4069 2
4070 }
4071
4072 #[inline(always)]
4073 fn inline_size(_context: fidl::encoding::Context) -> usize {
4074 8
4075 }
4076 }
4077
4078 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4079 for &DisassociateRequest
4080 {
4081 #[inline]
4082 unsafe fn encode(
4083 self,
4084 encoder: &mut fidl::encoding::Encoder<'_, D>,
4085 offset: usize,
4086 _depth: fidl::encoding::Depth,
4087 ) -> fidl::Result<()> {
4088 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4089 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4091 (
4092 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4093 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4094 ),
4095 encoder, offset, _depth
4096 )
4097 }
4098 }
4099 unsafe impl<
4100 D: fidl::encoding::ResourceDialect,
4101 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4102 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
4103 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4104 {
4105 #[inline]
4106 unsafe fn encode(
4107 self,
4108 encoder: &mut fidl::encoding::Encoder<'_, D>,
4109 offset: usize,
4110 depth: fidl::encoding::Depth,
4111 ) -> fidl::Result<()> {
4112 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4113 self.0.encode(encoder, offset + 0, depth)?;
4117 self.1.encode(encoder, offset + 6, depth)?;
4118 Ok(())
4119 }
4120 }
4121
4122 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4123 #[inline(always)]
4124 fn new_empty() -> Self {
4125 Self {
4126 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4127 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4128 }
4129 }
4130
4131 #[inline]
4132 unsafe fn decode(
4133 &mut self,
4134 decoder: &mut fidl::encoding::Decoder<'_, D>,
4135 offset: usize,
4136 _depth: fidl::encoding::Depth,
4137 ) -> fidl::Result<()> {
4138 decoder.debug_check_bounds::<Self>(offset);
4139 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4141 fidl::decode!(
4142 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4143 D,
4144 &mut self.reason_code,
4145 decoder,
4146 offset + 6,
4147 _depth
4148 )?;
4149 Ok(())
4150 }
4151 }
4152
4153 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4154 type Borrowed<'a> = &'a Self;
4155 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4156 value
4157 }
4158 }
4159
4160 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4161 type Owned = Self;
4162
4163 #[inline(always)]
4164 fn inline_align(_context: fidl::encoding::Context) -> usize {
4165 4
4166 }
4167
4168 #[inline(always)]
4169 fn inline_size(_context: fidl::encoding::Context) -> usize {
4170 12
4171 }
4172 }
4173
4174 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4175 for &EapolConfirm
4176 {
4177 #[inline]
4178 unsafe fn encode(
4179 self,
4180 encoder: &mut fidl::encoding::Encoder<'_, D>,
4181 offset: usize,
4182 _depth: fidl::encoding::Depth,
4183 ) -> fidl::Result<()> {
4184 encoder.debug_check_bounds::<EapolConfirm>(offset);
4185 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4187 (
4188 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4189 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4190 &self.dst_addr,
4191 ),
4192 ),
4193 encoder,
4194 offset,
4195 _depth,
4196 )
4197 }
4198 }
4199 unsafe impl<
4200 D: fidl::encoding::ResourceDialect,
4201 T0: fidl::encoding::Encode<EapolResultCode, D>,
4202 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4203 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4204 {
4205 #[inline]
4206 unsafe fn encode(
4207 self,
4208 encoder: &mut fidl::encoding::Encoder<'_, D>,
4209 offset: usize,
4210 depth: fidl::encoding::Depth,
4211 ) -> fidl::Result<()> {
4212 encoder.debug_check_bounds::<EapolConfirm>(offset);
4213 unsafe {
4216 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4217 (ptr as *mut u32).write_unaligned(0);
4218 }
4219 self.0.encode(encoder, offset + 0, depth)?;
4221 self.1.encode(encoder, offset + 4, depth)?;
4222 Ok(())
4223 }
4224 }
4225
4226 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4227 #[inline(always)]
4228 fn new_empty() -> Self {
4229 Self {
4230 result_code: fidl::new_empty!(EapolResultCode, D),
4231 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4232 }
4233 }
4234
4235 #[inline]
4236 unsafe fn decode(
4237 &mut self,
4238 decoder: &mut fidl::encoding::Decoder<'_, D>,
4239 offset: usize,
4240 _depth: fidl::encoding::Depth,
4241 ) -> fidl::Result<()> {
4242 decoder.debug_check_bounds::<Self>(offset);
4243 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4245 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4246 let mask = 0xffff0000u32;
4247 let maskedval = padval & mask;
4248 if maskedval != 0 {
4249 return Err(fidl::Error::NonZeroPadding {
4250 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4251 });
4252 }
4253 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4254 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4255 Ok(())
4256 }
4257 }
4258
4259 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4260 type Borrowed<'a> = &'a Self;
4261 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4262 value
4263 }
4264 }
4265
4266 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4267 type Owned = Self;
4268
4269 #[inline(always)]
4270 fn inline_align(_context: fidl::encoding::Context) -> usize {
4271 8
4272 }
4273
4274 #[inline(always)]
4275 fn inline_size(_context: fidl::encoding::Context) -> usize {
4276 32
4277 }
4278 }
4279
4280 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4281 for &EapolIndication
4282 {
4283 #[inline]
4284 unsafe fn encode(
4285 self,
4286 encoder: &mut fidl::encoding::Encoder<'_, D>,
4287 offset: usize,
4288 _depth: fidl::encoding::Depth,
4289 ) -> fidl::Result<()> {
4290 encoder.debug_check_bounds::<EapolIndication>(offset);
4291 fidl::encoding::Encode::<EapolIndication, D>::encode(
4293 (
4294 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4295 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4296 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4297 ),
4298 encoder, offset, _depth
4299 )
4300 }
4301 }
4302 unsafe impl<
4303 D: fidl::encoding::ResourceDialect,
4304 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4305 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4306 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4307 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4308 {
4309 #[inline]
4310 unsafe fn encode(
4311 self,
4312 encoder: &mut fidl::encoding::Encoder<'_, D>,
4313 offset: usize,
4314 depth: fidl::encoding::Depth,
4315 ) -> fidl::Result<()> {
4316 encoder.debug_check_bounds::<EapolIndication>(offset);
4317 unsafe {
4320 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4321 (ptr as *mut u64).write_unaligned(0);
4322 }
4323 self.0.encode(encoder, offset + 0, depth)?;
4325 self.1.encode(encoder, offset + 6, depth)?;
4326 self.2.encode(encoder, offset + 16, depth)?;
4327 Ok(())
4328 }
4329 }
4330
4331 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4332 #[inline(always)]
4333 fn new_empty() -> Self {
4334 Self {
4335 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4336 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4337 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4338 }
4339 }
4340
4341 #[inline]
4342 unsafe fn decode(
4343 &mut self,
4344 decoder: &mut fidl::encoding::Decoder<'_, D>,
4345 offset: usize,
4346 _depth: fidl::encoding::Depth,
4347 ) -> fidl::Result<()> {
4348 decoder.debug_check_bounds::<Self>(offset);
4349 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4351 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4352 let mask = 0xffffffff00000000u64;
4353 let maskedval = padval & mask;
4354 if maskedval != 0 {
4355 return Err(fidl::Error::NonZeroPadding {
4356 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4357 });
4358 }
4359 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4360 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4361 fidl::decode!(
4362 fidl::encoding::UnboundedVector<u8>,
4363 D,
4364 &mut self.data,
4365 decoder,
4366 offset + 16,
4367 _depth
4368 )?;
4369 Ok(())
4370 }
4371 }
4372
4373 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4374 type Borrowed<'a> = &'a Self;
4375 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4376 value
4377 }
4378 }
4379
4380 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4381 type Owned = Self;
4382
4383 #[inline(always)]
4384 fn inline_align(_context: fidl::encoding::Context) -> usize {
4385 8
4386 }
4387
4388 #[inline(always)]
4389 fn inline_size(_context: fidl::encoding::Context) -> usize {
4390 32
4391 }
4392 }
4393
4394 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4395 for &EapolRequest
4396 {
4397 #[inline]
4398 unsafe fn encode(
4399 self,
4400 encoder: &mut fidl::encoding::Encoder<'_, D>,
4401 offset: usize,
4402 _depth: fidl::encoding::Depth,
4403 ) -> fidl::Result<()> {
4404 encoder.debug_check_bounds::<EapolRequest>(offset);
4405 fidl::encoding::Encode::<EapolRequest, D>::encode(
4407 (
4408 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4409 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4410 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4411 ),
4412 encoder, offset, _depth
4413 )
4414 }
4415 }
4416 unsafe impl<
4417 D: fidl::encoding::ResourceDialect,
4418 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4419 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4420 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4421 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4422 {
4423 #[inline]
4424 unsafe fn encode(
4425 self,
4426 encoder: &mut fidl::encoding::Encoder<'_, D>,
4427 offset: usize,
4428 depth: fidl::encoding::Depth,
4429 ) -> fidl::Result<()> {
4430 encoder.debug_check_bounds::<EapolRequest>(offset);
4431 unsafe {
4434 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4435 (ptr as *mut u64).write_unaligned(0);
4436 }
4437 self.0.encode(encoder, offset + 0, depth)?;
4439 self.1.encode(encoder, offset + 6, depth)?;
4440 self.2.encode(encoder, offset + 16, depth)?;
4441 Ok(())
4442 }
4443 }
4444
4445 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4446 #[inline(always)]
4447 fn new_empty() -> Self {
4448 Self {
4449 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4450 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4451 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4452 }
4453 }
4454
4455 #[inline]
4456 unsafe fn decode(
4457 &mut self,
4458 decoder: &mut fidl::encoding::Decoder<'_, D>,
4459 offset: usize,
4460 _depth: fidl::encoding::Depth,
4461 ) -> fidl::Result<()> {
4462 decoder.debug_check_bounds::<Self>(offset);
4463 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4465 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4466 let mask = 0xffffffff00000000u64;
4467 let maskedval = padval & mask;
4468 if maskedval != 0 {
4469 return Err(fidl::Error::NonZeroPadding {
4470 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4471 });
4472 }
4473 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4474 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4475 fidl::decode!(
4476 fidl::encoding::UnboundedVector<u8>,
4477 D,
4478 &mut self.data,
4479 decoder,
4480 offset + 16,
4481 _depth
4482 )?;
4483 Ok(())
4484 }
4485 }
4486
4487 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4488 type Borrowed<'a> = &'a Self;
4489 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4490 value
4491 }
4492 }
4493
4494 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4495 type Owned = Self;
4496
4497 #[inline(always)]
4498 fn inline_align(_context: fidl::encoding::Context) -> usize {
4499 8
4500 }
4501
4502 #[inline(always)]
4503 fn inline_size(_context: fidl::encoding::Context) -> usize {
4504 16
4505 }
4506 }
4507
4508 unsafe impl<D: fidl::encoding::ResourceDialect>
4509 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4510 {
4511 #[inline]
4512 unsafe fn encode(
4513 self,
4514 encoder: &mut fidl::encoding::Encoder<'_, D>,
4515 offset: usize,
4516 _depth: fidl::encoding::Depth,
4517 ) -> fidl::Result<()> {
4518 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4519 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4521 (
4522 <fidl_fuchsia_wlan_stats__common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4523 ),
4524 encoder, offset, _depth
4525 )
4526 }
4527 }
4528 unsafe impl<
4529 D: fidl::encoding::ResourceDialect,
4530 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::SignalReport, D>,
4531 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4532 {
4533 #[inline]
4534 unsafe fn encode(
4535 self,
4536 encoder: &mut fidl::encoding::Encoder<'_, D>,
4537 offset: usize,
4538 depth: fidl::encoding::Depth,
4539 ) -> fidl::Result<()> {
4540 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4541 self.0.encode(encoder, offset + 0, depth)?;
4545 Ok(())
4546 }
4547 }
4548
4549 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4550 for MlmeGetSignalReportResponse
4551 {
4552 #[inline(always)]
4553 fn new_empty() -> Self {
4554 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::SignalReport, D) }
4555 }
4556
4557 #[inline]
4558 unsafe fn decode(
4559 &mut self,
4560 decoder: &mut fidl::encoding::Decoder<'_, D>,
4561 offset: usize,
4562 _depth: fidl::encoding::Depth,
4563 ) -> fidl::Result<()> {
4564 decoder.debug_check_bounds::<Self>(offset);
4565 fidl::decode!(
4567 fidl_fuchsia_wlan_stats__common::SignalReport,
4568 D,
4569 &mut self.resp,
4570 decoder,
4571 offset + 0,
4572 _depth
4573 )?;
4574 Ok(())
4575 }
4576 }
4577
4578 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4579 type Borrowed<'a> = &'a Self;
4580 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4581 value
4582 }
4583 }
4584
4585 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4586 type Owned = Self;
4587
4588 #[inline(always)]
4589 fn inline_align(_context: fidl::encoding::Context) -> usize {
4590 8
4591 }
4592
4593 #[inline(always)]
4594 fn inline_size(_context: fidl::encoding::Context) -> usize {
4595 16
4596 }
4597 }
4598
4599 unsafe impl<D: fidl::encoding::ResourceDialect>
4600 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4601 for &MlmeQueryTelemetrySupportResponse
4602 {
4603 #[inline]
4604 unsafe fn encode(
4605 self,
4606 encoder: &mut fidl::encoding::Encoder<'_, D>,
4607 offset: usize,
4608 _depth: fidl::encoding::Depth,
4609 ) -> fidl::Result<()> {
4610 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4611 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4613 (
4614 <fidl_fuchsia_wlan_stats__common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4615 ),
4616 encoder, offset, _depth
4617 )
4618 }
4619 }
4620 unsafe impl<
4621 D: fidl::encoding::ResourceDialect,
4622 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::TelemetrySupport, D>,
4623 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4624 {
4625 #[inline]
4626 unsafe fn encode(
4627 self,
4628 encoder: &mut fidl::encoding::Encoder<'_, D>,
4629 offset: usize,
4630 depth: fidl::encoding::Depth,
4631 ) -> fidl::Result<()> {
4632 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4633 self.0.encode(encoder, offset + 0, depth)?;
4637 Ok(())
4638 }
4639 }
4640
4641 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4642 for MlmeQueryTelemetrySupportResponse
4643 {
4644 #[inline(always)]
4645 fn new_empty() -> Self {
4646 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::TelemetrySupport, D) }
4647 }
4648
4649 #[inline]
4650 unsafe fn decode(
4651 &mut self,
4652 decoder: &mut fidl::encoding::Decoder<'_, D>,
4653 offset: usize,
4654 _depth: fidl::encoding::Depth,
4655 ) -> fidl::Result<()> {
4656 decoder.debug_check_bounds::<Self>(offset);
4657 fidl::decode!(
4659 fidl_fuchsia_wlan_stats__common::TelemetrySupport,
4660 D,
4661 &mut self.resp,
4662 decoder,
4663 offset + 0,
4664 _depth
4665 )?;
4666 Ok(())
4667 }
4668 }
4669
4670 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
4671 type Borrowed<'a> = &'a Self;
4672 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4673 value
4674 }
4675 }
4676
4677 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
4678 type Owned = Self;
4679
4680 #[inline(always)]
4681 fn inline_align(_context: fidl::encoding::Context) -> usize {
4682 8
4683 }
4684
4685 #[inline(always)]
4686 fn inline_size(_context: fidl::encoding::Context) -> usize {
4687 16
4688 }
4689 }
4690
4691 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
4692 for &MinstrelListResponse
4693 {
4694 #[inline]
4695 unsafe fn encode(
4696 self,
4697 encoder: &mut fidl::encoding::Encoder<'_, D>,
4698 offset: usize,
4699 _depth: fidl::encoding::Depth,
4700 ) -> fidl::Result<()> {
4701 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4702 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
4704 (
4705 <fidl_fuchsia_wlan_minstrel__common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
4706 ),
4707 encoder, offset, _depth
4708 )
4709 }
4710 }
4711 unsafe impl<
4712 D: fidl::encoding::ResourceDialect,
4713 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel__common::Peers, D>,
4714 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
4715 {
4716 #[inline]
4717 unsafe fn encode(
4718 self,
4719 encoder: &mut fidl::encoding::Encoder<'_, D>,
4720 offset: usize,
4721 depth: fidl::encoding::Depth,
4722 ) -> fidl::Result<()> {
4723 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4724 self.0.encode(encoder, offset + 0, depth)?;
4728 Ok(())
4729 }
4730 }
4731
4732 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
4733 #[inline(always)]
4734 fn new_empty() -> Self {
4735 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel__common::Peers, D) }
4736 }
4737
4738 #[inline]
4739 unsafe fn decode(
4740 &mut self,
4741 decoder: &mut fidl::encoding::Decoder<'_, D>,
4742 offset: usize,
4743 _depth: fidl::encoding::Depth,
4744 ) -> fidl::Result<()> {
4745 decoder.debug_check_bounds::<Self>(offset);
4746 fidl::decode!(
4748 fidl_fuchsia_wlan_minstrel__common::Peers,
4749 D,
4750 &mut self.peers,
4751 decoder,
4752 offset + 0,
4753 _depth
4754 )?;
4755 Ok(())
4756 }
4757 }
4758
4759 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
4760 type Borrowed<'a> = &'a Self;
4761 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4762 value
4763 }
4764 }
4765
4766 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
4767 type Owned = Self;
4768
4769 #[inline(always)]
4770 fn inline_align(_context: fidl::encoding::Context) -> usize {
4771 1
4772 }
4773
4774 #[inline(always)]
4775 fn inline_size(_context: fidl::encoding::Context) -> usize {
4776 6
4777 }
4778 #[inline(always)]
4779 fn encode_is_copy() -> bool {
4780 true
4781 }
4782
4783 #[inline(always)]
4784 fn decode_is_copy() -> bool {
4785 true
4786 }
4787 }
4788
4789 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
4790 for &MinstrelStatsRequest
4791 {
4792 #[inline]
4793 unsafe fn encode(
4794 self,
4795 encoder: &mut fidl::encoding::Encoder<'_, D>,
4796 offset: usize,
4797 _depth: fidl::encoding::Depth,
4798 ) -> fidl::Result<()> {
4799 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4800 unsafe {
4801 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
4803 (buf_ptr as *mut MinstrelStatsRequest)
4804 .write_unaligned((self as *const MinstrelStatsRequest).read());
4805 }
4808 Ok(())
4809 }
4810 }
4811 unsafe impl<
4812 D: fidl::encoding::ResourceDialect,
4813 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4814 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
4815 {
4816 #[inline]
4817 unsafe fn encode(
4818 self,
4819 encoder: &mut fidl::encoding::Encoder<'_, D>,
4820 offset: usize,
4821 depth: fidl::encoding::Depth,
4822 ) -> fidl::Result<()> {
4823 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4824 self.0.encode(encoder, offset + 0, depth)?;
4828 Ok(())
4829 }
4830 }
4831
4832 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
4833 #[inline(always)]
4834 fn new_empty() -> Self {
4835 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
4836 }
4837
4838 #[inline]
4839 unsafe fn decode(
4840 &mut self,
4841 decoder: &mut fidl::encoding::Decoder<'_, D>,
4842 offset: usize,
4843 _depth: fidl::encoding::Depth,
4844 ) -> fidl::Result<()> {
4845 decoder.debug_check_bounds::<Self>(offset);
4846 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4847 unsafe {
4850 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
4851 }
4852 Ok(())
4853 }
4854 }
4855
4856 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
4857 type Borrowed<'a> = &'a Self;
4858 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4859 value
4860 }
4861 }
4862
4863 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
4864 type Owned = Self;
4865
4866 #[inline(always)]
4867 fn inline_align(_context: fidl::encoding::Context) -> usize {
4868 8
4869 }
4870
4871 #[inline(always)]
4872 fn inline_size(_context: fidl::encoding::Context) -> usize {
4873 8
4874 }
4875 }
4876
4877 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
4878 for &MinstrelStatsResponse
4879 {
4880 #[inline]
4881 unsafe fn encode(
4882 self,
4883 encoder: &mut fidl::encoding::Encoder<'_, D>,
4884 offset: usize,
4885 _depth: fidl::encoding::Depth,
4886 ) -> fidl::Result<()> {
4887 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4888 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
4890 (
4891 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
4892 ),
4893 encoder, offset, _depth
4894 )
4895 }
4896 }
4897 unsafe impl<
4898 D: fidl::encoding::ResourceDialect,
4899 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>, D>,
4900 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
4901 {
4902 #[inline]
4903 unsafe fn encode(
4904 self,
4905 encoder: &mut fidl::encoding::Encoder<'_, D>,
4906 offset: usize,
4907 depth: fidl::encoding::Depth,
4908 ) -> fidl::Result<()> {
4909 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4910 self.0.encode(encoder, offset + 0, depth)?;
4914 Ok(())
4915 }
4916 }
4917
4918 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
4919 #[inline(always)]
4920 fn new_empty() -> Self {
4921 Self {
4922 peer: fidl::new_empty!(
4923 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4924 D
4925 ),
4926 }
4927 }
4928
4929 #[inline]
4930 unsafe fn decode(
4931 &mut self,
4932 decoder: &mut fidl::encoding::Decoder<'_, D>,
4933 offset: usize,
4934 _depth: fidl::encoding::Depth,
4935 ) -> fidl::Result<()> {
4936 decoder.debug_check_bounds::<Self>(offset);
4937 fidl::decode!(
4939 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4940 D,
4941 &mut self.peer,
4942 decoder,
4943 offset + 0,
4944 _depth
4945 )?;
4946 Ok(())
4947 }
4948 }
4949
4950 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
4951 type Borrowed<'a> = &'a Self;
4952 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4953 value
4954 }
4955 }
4956
4957 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
4958 type Owned = Self;
4959
4960 #[inline(always)]
4961 fn inline_align(_context: fidl::encoding::Context) -> usize {
4962 8
4963 }
4964
4965 #[inline(always)]
4966 fn inline_size(_context: fidl::encoding::Context) -> usize {
4967 64
4968 }
4969 }
4970
4971 unsafe impl<D: fidl::encoding::ResourceDialect>
4972 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
4973 {
4974 #[inline]
4975 unsafe fn encode(
4976 self,
4977 encoder: &mut fidl::encoding::Encoder<'_, D>,
4978 offset: usize,
4979 _depth: fidl::encoding::Depth,
4980 ) -> fidl::Result<()> {
4981 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
4982 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
4984 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
4985 encoder,
4986 offset,
4987 _depth,
4988 )
4989 }
4990 }
4991 unsafe impl<
4992 D: fidl::encoding::ResourceDialect,
4993 T0: fidl::encoding::Encode<AssociateIndication, D>,
4994 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
4995 {
4996 #[inline]
4997 unsafe fn encode(
4998 self,
4999 encoder: &mut fidl::encoding::Encoder<'_, D>,
5000 offset: usize,
5001 depth: fidl::encoding::Depth,
5002 ) -> fidl::Result<()> {
5003 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5004 self.0.encode(encoder, offset + 0, depth)?;
5008 Ok(())
5009 }
5010 }
5011
5012 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5013 for MlmeAssociateIndRequest
5014 {
5015 #[inline(always)]
5016 fn new_empty() -> Self {
5017 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5018 }
5019
5020 #[inline]
5021 unsafe fn decode(
5022 &mut self,
5023 decoder: &mut fidl::encoding::Decoder<'_, D>,
5024 offset: usize,
5025 _depth: fidl::encoding::Depth,
5026 ) -> fidl::Result<()> {
5027 decoder.debug_check_bounds::<Self>(offset);
5028 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5030 Ok(())
5031 }
5032 }
5033
5034 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5035 type Borrowed<'a> = &'a Self;
5036 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5037 value
5038 }
5039 }
5040
5041 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5042 type Owned = Self;
5043
5044 #[inline(always)]
5045 fn inline_align(_context: fidl::encoding::Context) -> usize {
5046 8
5047 }
5048
5049 #[inline(always)]
5050 fn inline_size(_context: fidl::encoding::Context) -> usize {
5051 32
5052 }
5053 }
5054
5055 unsafe impl<D: fidl::encoding::ResourceDialect>
5056 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5057 {
5058 #[inline]
5059 unsafe fn encode(
5060 self,
5061 encoder: &mut fidl::encoding::Encoder<'_, D>,
5062 offset: usize,
5063 _depth: fidl::encoding::Depth,
5064 ) -> fidl::Result<()> {
5065 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5066 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5068 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5069 encoder,
5070 offset,
5071 _depth,
5072 )
5073 }
5074 }
5075 unsafe impl<
5076 D: fidl::encoding::ResourceDialect,
5077 T0: fidl::encoding::Encode<AssociateResponse, D>,
5078 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5079 {
5080 #[inline]
5081 unsafe fn encode(
5082 self,
5083 encoder: &mut fidl::encoding::Encoder<'_, D>,
5084 offset: usize,
5085 depth: fidl::encoding::Depth,
5086 ) -> fidl::Result<()> {
5087 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5088 self.0.encode(encoder, offset + 0, depth)?;
5092 Ok(())
5093 }
5094 }
5095
5096 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5097 for MlmeAssociateRespRequest
5098 {
5099 #[inline(always)]
5100 fn new_empty() -> Self {
5101 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5102 }
5103
5104 #[inline]
5105 unsafe fn decode(
5106 &mut self,
5107 decoder: &mut fidl::encoding::Decoder<'_, D>,
5108 offset: usize,
5109 _depth: fidl::encoding::Depth,
5110 ) -> fidl::Result<()> {
5111 decoder.debug_check_bounds::<Self>(offset);
5112 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5114 Ok(())
5115 }
5116 }
5117
5118 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5119 type Borrowed<'a> = &'a Self;
5120 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5121 value
5122 }
5123 }
5124
5125 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5126 type Owned = Self;
5127
5128 #[inline(always)]
5129 fn inline_align(_context: fidl::encoding::Context) -> usize {
5130 4
5131 }
5132
5133 #[inline(always)]
5134 fn inline_size(_context: fidl::encoding::Context) -> usize {
5135 12
5136 }
5137 }
5138
5139 unsafe impl<D: fidl::encoding::ResourceDialect>
5140 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5141 {
5142 #[inline]
5143 unsafe fn encode(
5144 self,
5145 encoder: &mut fidl::encoding::Encoder<'_, D>,
5146 offset: usize,
5147 _depth: fidl::encoding::Depth,
5148 ) -> fidl::Result<()> {
5149 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5150 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5152 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5153 encoder,
5154 offset,
5155 _depth,
5156 )
5157 }
5158 }
5159 unsafe impl<
5160 D: fidl::encoding::ResourceDialect,
5161 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5162 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5163 {
5164 #[inline]
5165 unsafe fn encode(
5166 self,
5167 encoder: &mut fidl::encoding::Encoder<'_, D>,
5168 offset: usize,
5169 depth: fidl::encoding::Depth,
5170 ) -> fidl::Result<()> {
5171 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5172 self.0.encode(encoder, offset + 0, depth)?;
5176 Ok(())
5177 }
5178 }
5179
5180 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5181 for MlmeAuthenticateIndRequest
5182 {
5183 #[inline(always)]
5184 fn new_empty() -> Self {
5185 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5186 }
5187
5188 #[inline]
5189 unsafe fn decode(
5190 &mut self,
5191 decoder: &mut fidl::encoding::Decoder<'_, D>,
5192 offset: usize,
5193 _depth: fidl::encoding::Depth,
5194 ) -> fidl::Result<()> {
5195 decoder.debug_check_bounds::<Self>(offset);
5196 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5198 Ok(())
5199 }
5200 }
5201
5202 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5203 type Borrowed<'a> = &'a Self;
5204 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5205 value
5206 }
5207 }
5208
5209 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5210 type Owned = Self;
5211
5212 #[inline(always)]
5213 fn inline_align(_context: fidl::encoding::Context) -> usize {
5214 4
5215 }
5216
5217 #[inline(always)]
5218 fn inline_size(_context: fidl::encoding::Context) -> usize {
5219 12
5220 }
5221 }
5222
5223 unsafe impl<D: fidl::encoding::ResourceDialect>
5224 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5225 {
5226 #[inline]
5227 unsafe fn encode(
5228 self,
5229 encoder: &mut fidl::encoding::Encoder<'_, D>,
5230 offset: usize,
5231 _depth: fidl::encoding::Depth,
5232 ) -> fidl::Result<()> {
5233 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5234 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5236 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5237 encoder,
5238 offset,
5239 _depth,
5240 )
5241 }
5242 }
5243 unsafe impl<
5244 D: fidl::encoding::ResourceDialect,
5245 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5246 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5247 {
5248 #[inline]
5249 unsafe fn encode(
5250 self,
5251 encoder: &mut fidl::encoding::Encoder<'_, D>,
5252 offset: usize,
5253 depth: fidl::encoding::Depth,
5254 ) -> fidl::Result<()> {
5255 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5256 self.0.encode(encoder, offset + 0, depth)?;
5260 Ok(())
5261 }
5262 }
5263
5264 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5265 for MlmeAuthenticateRespRequest
5266 {
5267 #[inline(always)]
5268 fn new_empty() -> Self {
5269 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5270 }
5271
5272 #[inline]
5273 unsafe fn decode(
5274 &mut self,
5275 decoder: &mut fidl::encoding::Decoder<'_, D>,
5276 offset: usize,
5277 _depth: fidl::encoding::Depth,
5278 ) -> fidl::Result<()> {
5279 decoder.debug_check_bounds::<Self>(offset);
5280 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5282 Ok(())
5283 }
5284 }
5285
5286 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5287 type Borrowed<'a> = &'a Self;
5288 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5289 value
5290 }
5291 }
5292
5293 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5294 type Owned = Self;
5295
5296 #[inline(always)]
5297 fn inline_align(_context: fidl::encoding::Context) -> usize {
5298 8
5299 }
5300
5301 #[inline(always)]
5302 fn inline_size(_context: fidl::encoding::Context) -> usize {
5303 32
5304 }
5305 }
5306
5307 unsafe impl<D: fidl::encoding::ResourceDialect>
5308 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5309 {
5310 #[inline]
5311 unsafe fn encode(
5312 self,
5313 encoder: &mut fidl::encoding::Encoder<'_, D>,
5314 offset: usize,
5315 _depth: fidl::encoding::Depth,
5316 ) -> fidl::Result<()> {
5317 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5318 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5320 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5321 encoder,
5322 offset,
5323 _depth,
5324 )
5325 }
5326 }
5327 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5328 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5329 {
5330 #[inline]
5331 unsafe fn encode(
5332 self,
5333 encoder: &mut fidl::encoding::Encoder<'_, D>,
5334 offset: usize,
5335 depth: fidl::encoding::Depth,
5336 ) -> fidl::Result<()> {
5337 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5338 self.0.encode(encoder, offset + 0, depth)?;
5342 Ok(())
5343 }
5344 }
5345
5346 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5347 for MlmeConnectConfRequest
5348 {
5349 #[inline(always)]
5350 fn new_empty() -> Self {
5351 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5352 }
5353
5354 #[inline]
5355 unsafe fn decode(
5356 &mut self,
5357 decoder: &mut fidl::encoding::Decoder<'_, D>,
5358 offset: usize,
5359 _depth: fidl::encoding::Depth,
5360 ) -> fidl::Result<()> {
5361 decoder.debug_check_bounds::<Self>(offset);
5362 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5364 Ok(())
5365 }
5366 }
5367
5368 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5369 type Borrowed<'a> = &'a Self;
5370 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5371 value
5372 }
5373 }
5374
5375 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5376 type Owned = Self;
5377
5378 #[inline(always)]
5379 fn inline_align(_context: fidl::encoding::Context) -> usize {
5380 8
5381 }
5382
5383 #[inline(always)]
5384 fn inline_size(_context: fidl::encoding::Context) -> usize {
5385 104
5386 }
5387 }
5388
5389 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5390 for &MlmeConnectReqRequest
5391 {
5392 #[inline]
5393 unsafe fn encode(
5394 self,
5395 encoder: &mut fidl::encoding::Encoder<'_, D>,
5396 offset: usize,
5397 _depth: fidl::encoding::Depth,
5398 ) -> fidl::Result<()> {
5399 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5400 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5402 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5403 encoder,
5404 offset,
5405 _depth,
5406 )
5407 }
5408 }
5409 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5410 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5411 {
5412 #[inline]
5413 unsafe fn encode(
5414 self,
5415 encoder: &mut fidl::encoding::Encoder<'_, D>,
5416 offset: usize,
5417 depth: fidl::encoding::Depth,
5418 ) -> fidl::Result<()> {
5419 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5420 self.0.encode(encoder, offset + 0, depth)?;
5424 Ok(())
5425 }
5426 }
5427
5428 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5429 #[inline(always)]
5430 fn new_empty() -> Self {
5431 Self { req: fidl::new_empty!(ConnectRequest, D) }
5432 }
5433
5434 #[inline]
5435 unsafe fn decode(
5436 &mut self,
5437 decoder: &mut fidl::encoding::Decoder<'_, D>,
5438 offset: usize,
5439 _depth: fidl::encoding::Depth,
5440 ) -> fidl::Result<()> {
5441 decoder.debug_check_bounds::<Self>(offset);
5442 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5444 Ok(())
5445 }
5446 }
5447
5448 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5449 type Borrowed<'a> = &'a Self;
5450 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5451 value
5452 }
5453 }
5454
5455 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5456 type Owned = Self;
5457
5458 #[inline(always)]
5459 fn inline_align(_context: fidl::encoding::Context) -> usize {
5460 1
5461 }
5462
5463 #[inline(always)]
5464 fn inline_size(_context: fidl::encoding::Context) -> usize {
5465 6
5466 }
5467 #[inline(always)]
5468 fn encode_is_copy() -> bool {
5469 true
5470 }
5471
5472 #[inline(always)]
5473 fn decode_is_copy() -> bool {
5474 true
5475 }
5476 }
5477
5478 unsafe impl<D: fidl::encoding::ResourceDialect>
5479 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5480 for &MlmeDeauthenticateConfRequest
5481 {
5482 #[inline]
5483 unsafe fn encode(
5484 self,
5485 encoder: &mut fidl::encoding::Encoder<'_, D>,
5486 offset: usize,
5487 _depth: fidl::encoding::Depth,
5488 ) -> fidl::Result<()> {
5489 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5490 unsafe {
5491 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5493 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5494 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5495 }
5498 Ok(())
5499 }
5500 }
5501 unsafe impl<
5502 D: fidl::encoding::ResourceDialect,
5503 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5504 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5505 {
5506 #[inline]
5507 unsafe fn encode(
5508 self,
5509 encoder: &mut fidl::encoding::Encoder<'_, D>,
5510 offset: usize,
5511 depth: fidl::encoding::Depth,
5512 ) -> fidl::Result<()> {
5513 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5514 self.0.encode(encoder, offset + 0, depth)?;
5518 Ok(())
5519 }
5520 }
5521
5522 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5523 for MlmeDeauthenticateConfRequest
5524 {
5525 #[inline(always)]
5526 fn new_empty() -> Self {
5527 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5528 }
5529
5530 #[inline]
5531 unsafe fn decode(
5532 &mut self,
5533 decoder: &mut fidl::encoding::Decoder<'_, D>,
5534 offset: usize,
5535 _depth: fidl::encoding::Depth,
5536 ) -> fidl::Result<()> {
5537 decoder.debug_check_bounds::<Self>(offset);
5538 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5539 unsafe {
5542 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5543 }
5544 Ok(())
5545 }
5546 }
5547
5548 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5549 type Borrowed<'a> = &'a Self;
5550 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5551 value
5552 }
5553 }
5554
5555 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5556 type Owned = Self;
5557
5558 #[inline(always)]
5559 fn inline_align(_context: fidl::encoding::Context) -> usize {
5560 2
5561 }
5562
5563 #[inline(always)]
5564 fn inline_size(_context: fidl::encoding::Context) -> usize {
5565 10
5566 }
5567 }
5568
5569 unsafe impl<D: fidl::encoding::ResourceDialect>
5570 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5571 {
5572 #[inline]
5573 unsafe fn encode(
5574 self,
5575 encoder: &mut fidl::encoding::Encoder<'_, D>,
5576 offset: usize,
5577 _depth: fidl::encoding::Depth,
5578 ) -> fidl::Result<()> {
5579 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5580 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5582 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5583 encoder,
5584 offset,
5585 _depth,
5586 )
5587 }
5588 }
5589 unsafe impl<
5590 D: fidl::encoding::ResourceDialect,
5591 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5592 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5593 {
5594 #[inline]
5595 unsafe fn encode(
5596 self,
5597 encoder: &mut fidl::encoding::Encoder<'_, D>,
5598 offset: usize,
5599 depth: fidl::encoding::Depth,
5600 ) -> fidl::Result<()> {
5601 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5602 self.0.encode(encoder, offset + 0, depth)?;
5606 Ok(())
5607 }
5608 }
5609
5610 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5611 for MlmeDeauthenticateIndRequest
5612 {
5613 #[inline(always)]
5614 fn new_empty() -> Self {
5615 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5616 }
5617
5618 #[inline]
5619 unsafe fn decode(
5620 &mut self,
5621 decoder: &mut fidl::encoding::Decoder<'_, D>,
5622 offset: usize,
5623 _depth: fidl::encoding::Depth,
5624 ) -> fidl::Result<()> {
5625 decoder.debug_check_bounds::<Self>(offset);
5626 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5628 Ok(())
5629 }
5630 }
5631
5632 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5633 type Borrowed<'a> = &'a Self;
5634 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5635 value
5636 }
5637 }
5638
5639 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5640 type Owned = Self;
5641
5642 #[inline(always)]
5643 fn inline_align(_context: fidl::encoding::Context) -> usize {
5644 2
5645 }
5646
5647 #[inline(always)]
5648 fn inline_size(_context: fidl::encoding::Context) -> usize {
5649 8
5650 }
5651 }
5652
5653 unsafe impl<D: fidl::encoding::ResourceDialect>
5654 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
5655 {
5656 #[inline]
5657 unsafe fn encode(
5658 self,
5659 encoder: &mut fidl::encoding::Encoder<'_, D>,
5660 offset: usize,
5661 _depth: fidl::encoding::Depth,
5662 ) -> fidl::Result<()> {
5663 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5664 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
5666 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5667 encoder,
5668 offset,
5669 _depth,
5670 )
5671 }
5672 }
5673 unsafe impl<
5674 D: fidl::encoding::ResourceDialect,
5675 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
5676 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
5677 {
5678 #[inline]
5679 unsafe fn encode(
5680 self,
5681 encoder: &mut fidl::encoding::Encoder<'_, D>,
5682 offset: usize,
5683 depth: fidl::encoding::Depth,
5684 ) -> fidl::Result<()> {
5685 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5686 self.0.encode(encoder, offset + 0, depth)?;
5690 Ok(())
5691 }
5692 }
5693
5694 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5695 for MlmeDeauthenticateReqRequest
5696 {
5697 #[inline(always)]
5698 fn new_empty() -> Self {
5699 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
5700 }
5701
5702 #[inline]
5703 unsafe fn decode(
5704 &mut self,
5705 decoder: &mut fidl::encoding::Decoder<'_, D>,
5706 offset: usize,
5707 _depth: fidl::encoding::Depth,
5708 ) -> fidl::Result<()> {
5709 decoder.debug_check_bounds::<Self>(offset);
5710 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5712 Ok(())
5713 }
5714 }
5715
5716 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
5717 type Borrowed<'a> = &'a Self;
5718 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5719 value
5720 }
5721 }
5722
5723 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
5724 type Owned = Self;
5725
5726 #[inline(always)]
5727 fn inline_align(_context: fidl::encoding::Context) -> usize {
5728 8
5729 }
5730
5731 #[inline(always)]
5732 fn inline_size(_context: fidl::encoding::Context) -> usize {
5733 16
5734 }
5735 }
5736
5737 unsafe impl<D: fidl::encoding::ResourceDialect>
5738 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
5739 {
5740 #[inline]
5741 unsafe fn encode(
5742 self,
5743 encoder: &mut fidl::encoding::Encoder<'_, D>,
5744 offset: usize,
5745 _depth: fidl::encoding::Depth,
5746 ) -> fidl::Result<()> {
5747 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5748 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
5750 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5751 encoder,
5752 offset,
5753 _depth,
5754 )
5755 }
5756 }
5757 unsafe impl<
5758 D: fidl::encoding::ResourceDialect,
5759 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
5760 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
5761 {
5762 #[inline]
5763 unsafe fn encode(
5764 self,
5765 encoder: &mut fidl::encoding::Encoder<'_, D>,
5766 offset: usize,
5767 depth: fidl::encoding::Depth,
5768 ) -> fidl::Result<()> {
5769 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5770 self.0.encode(encoder, offset + 0, depth)?;
5774 Ok(())
5775 }
5776 }
5777
5778 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5779 for MlmeDeleteKeysReqRequest
5780 {
5781 #[inline(always)]
5782 fn new_empty() -> Self {
5783 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
5784 }
5785
5786 #[inline]
5787 unsafe fn decode(
5788 &mut self,
5789 decoder: &mut fidl::encoding::Decoder<'_, D>,
5790 offset: usize,
5791 _depth: fidl::encoding::Depth,
5792 ) -> fidl::Result<()> {
5793 decoder.debug_check_bounds::<Self>(offset);
5794 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5796 Ok(())
5797 }
5798 }
5799
5800 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
5801 type Borrowed<'a> = &'a Self;
5802 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5803 value
5804 }
5805 }
5806
5807 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
5808 type Owned = Self;
5809
5810 #[inline(always)]
5811 fn inline_align(_context: fidl::encoding::Context) -> usize {
5812 4
5813 }
5814
5815 #[inline(always)]
5816 fn inline_size(_context: fidl::encoding::Context) -> usize {
5817 4
5818 }
5819 #[inline(always)]
5820 fn encode_is_copy() -> bool {
5821 true
5822 }
5823
5824 #[inline(always)]
5825 fn decode_is_copy() -> bool {
5826 true
5827 }
5828 }
5829
5830 unsafe impl<D: fidl::encoding::ResourceDialect>
5831 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
5832 {
5833 #[inline]
5834 unsafe fn encode(
5835 self,
5836 encoder: &mut fidl::encoding::Encoder<'_, D>,
5837 offset: usize,
5838 _depth: fidl::encoding::Depth,
5839 ) -> fidl::Result<()> {
5840 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5841 unsafe {
5842 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5844 (buf_ptr as *mut MlmeDisassociateConfRequest)
5845 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
5846 }
5849 Ok(())
5850 }
5851 }
5852 unsafe impl<
5853 D: fidl::encoding::ResourceDialect,
5854 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
5855 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
5856 {
5857 #[inline]
5858 unsafe fn encode(
5859 self,
5860 encoder: &mut fidl::encoding::Encoder<'_, D>,
5861 offset: usize,
5862 depth: fidl::encoding::Depth,
5863 ) -> fidl::Result<()> {
5864 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5865 self.0.encode(encoder, offset + 0, depth)?;
5869 Ok(())
5870 }
5871 }
5872
5873 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5874 for MlmeDisassociateConfRequest
5875 {
5876 #[inline(always)]
5877 fn new_empty() -> Self {
5878 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
5879 }
5880
5881 #[inline]
5882 unsafe fn decode(
5883 &mut self,
5884 decoder: &mut fidl::encoding::Decoder<'_, D>,
5885 offset: usize,
5886 _depth: fidl::encoding::Depth,
5887 ) -> fidl::Result<()> {
5888 decoder.debug_check_bounds::<Self>(offset);
5889 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5890 unsafe {
5893 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
5894 }
5895 Ok(())
5896 }
5897 }
5898
5899 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
5900 type Borrowed<'a> = &'a Self;
5901 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5902 value
5903 }
5904 }
5905
5906 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
5907 type Owned = Self;
5908
5909 #[inline(always)]
5910 fn inline_align(_context: fidl::encoding::Context) -> usize {
5911 2
5912 }
5913
5914 #[inline(always)]
5915 fn inline_size(_context: fidl::encoding::Context) -> usize {
5916 10
5917 }
5918 }
5919
5920 unsafe impl<D: fidl::encoding::ResourceDialect>
5921 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
5922 {
5923 #[inline]
5924 unsafe fn encode(
5925 self,
5926 encoder: &mut fidl::encoding::Encoder<'_, D>,
5927 offset: usize,
5928 _depth: fidl::encoding::Depth,
5929 ) -> fidl::Result<()> {
5930 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5931 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
5933 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5934 encoder,
5935 offset,
5936 _depth,
5937 )
5938 }
5939 }
5940 unsafe impl<
5941 D: fidl::encoding::ResourceDialect,
5942 T0: fidl::encoding::Encode<DisassociateIndication, D>,
5943 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
5944 {
5945 #[inline]
5946 unsafe fn encode(
5947 self,
5948 encoder: &mut fidl::encoding::Encoder<'_, D>,
5949 offset: usize,
5950 depth: fidl::encoding::Depth,
5951 ) -> fidl::Result<()> {
5952 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5953 self.0.encode(encoder, offset + 0, depth)?;
5957 Ok(())
5958 }
5959 }
5960
5961 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5962 for MlmeDisassociateIndRequest
5963 {
5964 #[inline(always)]
5965 fn new_empty() -> Self {
5966 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
5967 }
5968
5969 #[inline]
5970 unsafe fn decode(
5971 &mut self,
5972 decoder: &mut fidl::encoding::Decoder<'_, D>,
5973 offset: usize,
5974 _depth: fidl::encoding::Depth,
5975 ) -> fidl::Result<()> {
5976 decoder.debug_check_bounds::<Self>(offset);
5977 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5979 Ok(())
5980 }
5981 }
5982
5983 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
5984 type Borrowed<'a> = &'a Self;
5985 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5986 value
5987 }
5988 }
5989
5990 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
5991 type Owned = Self;
5992
5993 #[inline(always)]
5994 fn inline_align(_context: fidl::encoding::Context) -> usize {
5995 2
5996 }
5997
5998 #[inline(always)]
5999 fn inline_size(_context: fidl::encoding::Context) -> usize {
6000 8
6001 }
6002 }
6003
6004 unsafe impl<D: fidl::encoding::ResourceDialect>
6005 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
6006 {
6007 #[inline]
6008 unsafe fn encode(
6009 self,
6010 encoder: &mut fidl::encoding::Encoder<'_, D>,
6011 offset: usize,
6012 _depth: fidl::encoding::Depth,
6013 ) -> fidl::Result<()> {
6014 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6015 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6017 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6018 encoder,
6019 offset,
6020 _depth,
6021 )
6022 }
6023 }
6024 unsafe impl<
6025 D: fidl::encoding::ResourceDialect,
6026 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6027 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6028 {
6029 #[inline]
6030 unsafe fn encode(
6031 self,
6032 encoder: &mut fidl::encoding::Encoder<'_, D>,
6033 offset: usize,
6034 depth: fidl::encoding::Depth,
6035 ) -> fidl::Result<()> {
6036 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6037 self.0.encode(encoder, offset + 0, depth)?;
6041 Ok(())
6042 }
6043 }
6044
6045 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6046 for MlmeDisassociateReqRequest
6047 {
6048 #[inline(always)]
6049 fn new_empty() -> Self {
6050 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6051 }
6052
6053 #[inline]
6054 unsafe fn decode(
6055 &mut self,
6056 decoder: &mut fidl::encoding::Decoder<'_, D>,
6057 offset: usize,
6058 _depth: fidl::encoding::Depth,
6059 ) -> fidl::Result<()> {
6060 decoder.debug_check_bounds::<Self>(offset);
6061 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6063 Ok(())
6064 }
6065 }
6066
6067 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6068 type Borrowed<'a> = &'a Self;
6069 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6070 value
6071 }
6072 }
6073
6074 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6075 type Owned = Self;
6076
6077 #[inline(always)]
6078 fn inline_align(_context: fidl::encoding::Context) -> usize {
6079 4
6080 }
6081
6082 #[inline(always)]
6083 fn inline_size(_context: fidl::encoding::Context) -> usize {
6084 12
6085 }
6086 }
6087
6088 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6089 for &MlmeEapolConfRequest
6090 {
6091 #[inline]
6092 unsafe fn encode(
6093 self,
6094 encoder: &mut fidl::encoding::Encoder<'_, D>,
6095 offset: usize,
6096 _depth: fidl::encoding::Depth,
6097 ) -> fidl::Result<()> {
6098 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6099 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6101 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6102 encoder,
6103 offset,
6104 _depth,
6105 )
6106 }
6107 }
6108 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6109 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6110 {
6111 #[inline]
6112 unsafe fn encode(
6113 self,
6114 encoder: &mut fidl::encoding::Encoder<'_, D>,
6115 offset: usize,
6116 depth: fidl::encoding::Depth,
6117 ) -> fidl::Result<()> {
6118 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6119 self.0.encode(encoder, offset + 0, depth)?;
6123 Ok(())
6124 }
6125 }
6126
6127 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6128 #[inline(always)]
6129 fn new_empty() -> Self {
6130 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6131 }
6132
6133 #[inline]
6134 unsafe fn decode(
6135 &mut self,
6136 decoder: &mut fidl::encoding::Decoder<'_, D>,
6137 offset: usize,
6138 _depth: fidl::encoding::Depth,
6139 ) -> fidl::Result<()> {
6140 decoder.debug_check_bounds::<Self>(offset);
6141 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6143 Ok(())
6144 }
6145 }
6146
6147 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6148 type Borrowed<'a> = &'a Self;
6149 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6150 value
6151 }
6152 }
6153
6154 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6155 type Owned = Self;
6156
6157 #[inline(always)]
6158 fn inline_align(_context: fidl::encoding::Context) -> usize {
6159 8
6160 }
6161
6162 #[inline(always)]
6163 fn inline_size(_context: fidl::encoding::Context) -> usize {
6164 32
6165 }
6166 }
6167
6168 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6169 for &MlmeEapolIndRequest
6170 {
6171 #[inline]
6172 unsafe fn encode(
6173 self,
6174 encoder: &mut fidl::encoding::Encoder<'_, D>,
6175 offset: usize,
6176 _depth: fidl::encoding::Depth,
6177 ) -> fidl::Result<()> {
6178 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6179 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6181 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6182 encoder,
6183 offset,
6184 _depth,
6185 )
6186 }
6187 }
6188 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6189 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6190 {
6191 #[inline]
6192 unsafe fn encode(
6193 self,
6194 encoder: &mut fidl::encoding::Encoder<'_, D>,
6195 offset: usize,
6196 depth: fidl::encoding::Depth,
6197 ) -> fidl::Result<()> {
6198 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6199 self.0.encode(encoder, offset + 0, depth)?;
6203 Ok(())
6204 }
6205 }
6206
6207 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6208 #[inline(always)]
6209 fn new_empty() -> Self {
6210 Self { ind: fidl::new_empty!(EapolIndication, D) }
6211 }
6212
6213 #[inline]
6214 unsafe fn decode(
6215 &mut self,
6216 decoder: &mut fidl::encoding::Decoder<'_, D>,
6217 offset: usize,
6218 _depth: fidl::encoding::Depth,
6219 ) -> fidl::Result<()> {
6220 decoder.debug_check_bounds::<Self>(offset);
6221 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6223 Ok(())
6224 }
6225 }
6226
6227 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6228 type Borrowed<'a> = &'a Self;
6229 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6230 value
6231 }
6232 }
6233
6234 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6235 type Owned = Self;
6236
6237 #[inline(always)]
6238 fn inline_align(_context: fidl::encoding::Context) -> usize {
6239 8
6240 }
6241
6242 #[inline(always)]
6243 fn inline_size(_context: fidl::encoding::Context) -> usize {
6244 32
6245 }
6246 }
6247
6248 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6249 for &MlmeEapolReqRequest
6250 {
6251 #[inline]
6252 unsafe fn encode(
6253 self,
6254 encoder: &mut fidl::encoding::Encoder<'_, D>,
6255 offset: usize,
6256 _depth: fidl::encoding::Depth,
6257 ) -> fidl::Result<()> {
6258 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6259 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6261 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6262 encoder,
6263 offset,
6264 _depth,
6265 )
6266 }
6267 }
6268 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6269 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6270 {
6271 #[inline]
6272 unsafe fn encode(
6273 self,
6274 encoder: &mut fidl::encoding::Encoder<'_, D>,
6275 offset: usize,
6276 depth: fidl::encoding::Depth,
6277 ) -> fidl::Result<()> {
6278 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6279 self.0.encode(encoder, offset + 0, depth)?;
6283 Ok(())
6284 }
6285 }
6286
6287 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6288 #[inline(always)]
6289 fn new_empty() -> Self {
6290 Self { req: fidl::new_empty!(EapolRequest, D) }
6291 }
6292
6293 #[inline]
6294 unsafe fn decode(
6295 &mut self,
6296 decoder: &mut fidl::encoding::Decoder<'_, D>,
6297 offset: usize,
6298 _depth: fidl::encoding::Depth,
6299 ) -> fidl::Result<()> {
6300 decoder.debug_check_bounds::<Self>(offset);
6301 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6303 Ok(())
6304 }
6305 }
6306
6307 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6308 type Borrowed<'a> = &'a Self;
6309 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6310 value
6311 }
6312 }
6313
6314 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6315 type Owned = Self;
6316
6317 #[inline(always)]
6318 fn inline_align(_context: fidl::encoding::Context) -> usize {
6319 8
6320 }
6321
6322 #[inline(always)]
6323 fn inline_size(_context: fidl::encoding::Context) -> usize {
6324 56
6325 }
6326 }
6327
6328 unsafe impl<D: fidl::encoding::ResourceDialect>
6329 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6330 for &MlmeFinalizeAssociationReqRequest
6331 {
6332 #[inline]
6333 unsafe fn encode(
6334 self,
6335 encoder: &mut fidl::encoding::Encoder<'_, D>,
6336 offset: usize,
6337 _depth: fidl::encoding::Depth,
6338 ) -> fidl::Result<()> {
6339 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6340 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6342 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6343 &self.negotiated_capabilities,
6344 ),),
6345 encoder,
6346 offset,
6347 _depth,
6348 )
6349 }
6350 }
6351 unsafe impl<
6352 D: fidl::encoding::ResourceDialect,
6353 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6354 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6355 {
6356 #[inline]
6357 unsafe fn encode(
6358 self,
6359 encoder: &mut fidl::encoding::Encoder<'_, D>,
6360 offset: usize,
6361 depth: fidl::encoding::Depth,
6362 ) -> fidl::Result<()> {
6363 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6364 self.0.encode(encoder, offset + 0, depth)?;
6368 Ok(())
6369 }
6370 }
6371
6372 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6373 for MlmeFinalizeAssociationReqRequest
6374 {
6375 #[inline(always)]
6376 fn new_empty() -> Self {
6377 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6378 }
6379
6380 #[inline]
6381 unsafe fn decode(
6382 &mut self,
6383 decoder: &mut fidl::encoding::Decoder<'_, D>,
6384 offset: usize,
6385 _depth: fidl::encoding::Depth,
6386 ) -> fidl::Result<()> {
6387 decoder.debug_check_bounds::<Self>(offset);
6388 fidl::decode!(
6390 NegotiatedCapabilities,
6391 D,
6392 &mut self.negotiated_capabilities,
6393 decoder,
6394 offset + 0,
6395 _depth
6396 )?;
6397 Ok(())
6398 }
6399 }
6400
6401 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6402 type Borrowed<'a> = &'a Self;
6403 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6404 value
6405 }
6406 }
6407
6408 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6409 type Owned = Self;
6410
6411 #[inline(always)]
6412 fn inline_align(_context: fidl::encoding::Context) -> usize {
6413 8
6414 }
6415
6416 #[inline(always)]
6417 fn inline_size(_context: fidl::encoding::Context) -> usize {
6418 16
6419 }
6420 }
6421
6422 unsafe impl<D: fidl::encoding::ResourceDialect>
6423 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6424 for &MlmeGetIfaceHistogramStatsResponse
6425 {
6426 #[inline]
6427 unsafe fn encode(
6428 self,
6429 encoder: &mut fidl::encoding::Encoder<'_, D>,
6430 offset: usize,
6431 _depth: fidl::encoding::Depth,
6432 ) -> fidl::Result<()> {
6433 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6434 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6436 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6437 &self.resp,
6438 ),),
6439 encoder,
6440 offset,
6441 _depth,
6442 )
6443 }
6444 }
6445 unsafe impl<
6446 D: fidl::encoding::ResourceDialect,
6447 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6448 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6449 {
6450 #[inline]
6451 unsafe fn encode(
6452 self,
6453 encoder: &mut fidl::encoding::Encoder<'_, D>,
6454 offset: usize,
6455 depth: fidl::encoding::Depth,
6456 ) -> fidl::Result<()> {
6457 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6458 self.0.encode(encoder, offset + 0, depth)?;
6462 Ok(())
6463 }
6464 }
6465
6466 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6467 for MlmeGetIfaceHistogramStatsResponse
6468 {
6469 #[inline(always)]
6470 fn new_empty() -> Self {
6471 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6472 }
6473
6474 #[inline]
6475 unsafe fn decode(
6476 &mut self,
6477 decoder: &mut fidl::encoding::Decoder<'_, D>,
6478 offset: usize,
6479 _depth: fidl::encoding::Depth,
6480 ) -> fidl::Result<()> {
6481 decoder.debug_check_bounds::<Self>(offset);
6482 fidl::decode!(
6484 GetIfaceHistogramStatsResponse,
6485 D,
6486 &mut self.resp,
6487 decoder,
6488 offset + 0,
6489 _depth
6490 )?;
6491 Ok(())
6492 }
6493 }
6494
6495 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6496 type Borrowed<'a> = &'a Self;
6497 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6498 value
6499 }
6500 }
6501
6502 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6503 type Owned = Self;
6504
6505 #[inline(always)]
6506 fn inline_align(_context: fidl::encoding::Context) -> usize {
6507 8
6508 }
6509
6510 #[inline(always)]
6511 fn inline_size(_context: fidl::encoding::Context) -> usize {
6512 16
6513 }
6514 }
6515
6516 unsafe impl<D: fidl::encoding::ResourceDialect>
6517 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6518 {
6519 #[inline]
6520 unsafe fn encode(
6521 self,
6522 encoder: &mut fidl::encoding::Encoder<'_, D>,
6523 offset: usize,
6524 _depth: fidl::encoding::Depth,
6525 ) -> fidl::Result<()> {
6526 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6527 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6529 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6530 encoder,
6531 offset,
6532 _depth,
6533 )
6534 }
6535 }
6536 unsafe impl<
6537 D: fidl::encoding::ResourceDialect,
6538 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6539 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
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::<MlmeGetIfaceStatsResponse>(offset);
6549 self.0.encode(encoder, offset + 0, depth)?;
6553 Ok(())
6554 }
6555 }
6556
6557 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6558 for MlmeGetIfaceStatsResponse
6559 {
6560 #[inline(always)]
6561 fn new_empty() -> Self {
6562 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6563 }
6564
6565 #[inline]
6566 unsafe fn decode(
6567 &mut self,
6568 decoder: &mut fidl::encoding::Decoder<'_, D>,
6569 offset: usize,
6570 _depth: fidl::encoding::Depth,
6571 ) -> fidl::Result<()> {
6572 decoder.debug_check_bounds::<Self>(offset);
6573 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6575 Ok(())
6576 }
6577 }
6578
6579 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6580 type Borrowed<'a> = &'a Self;
6581 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6582 value
6583 }
6584 }
6585
6586 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6587 type Owned = Self;
6588
6589 #[inline(always)]
6590 fn inline_align(_context: fidl::encoding::Context) -> usize {
6591 1
6592 }
6593
6594 #[inline(always)]
6595 fn inline_size(_context: fidl::encoding::Context) -> usize {
6596 6
6597 }
6598 #[inline(always)]
6599 fn encode_is_copy() -> bool {
6600 true
6601 }
6602
6603 #[inline(always)]
6604 fn decode_is_copy() -> bool {
6605 true
6606 }
6607 }
6608
6609 unsafe impl<D: fidl::encoding::ResourceDialect>
6610 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6611 {
6612 #[inline]
6613 unsafe fn encode(
6614 self,
6615 encoder: &mut fidl::encoding::Encoder<'_, D>,
6616 offset: usize,
6617 _depth: fidl::encoding::Depth,
6618 ) -> fidl::Result<()> {
6619 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6620 unsafe {
6621 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6623 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6624 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6625 }
6628 Ok(())
6629 }
6630 }
6631 unsafe impl<
6632 D: fidl::encoding::ResourceDialect,
6633 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6634 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
6635 {
6636 #[inline]
6637 unsafe fn encode(
6638 self,
6639 encoder: &mut fidl::encoding::Encoder<'_, D>,
6640 offset: usize,
6641 depth: fidl::encoding::Depth,
6642 ) -> fidl::Result<()> {
6643 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6644 self.0.encode(encoder, offset + 0, depth)?;
6648 Ok(())
6649 }
6650 }
6651
6652 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6653 for MlmeGetMinstrelStatsRequest
6654 {
6655 #[inline(always)]
6656 fn new_empty() -> Self {
6657 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
6658 }
6659
6660 #[inline]
6661 unsafe fn decode(
6662 &mut self,
6663 decoder: &mut fidl::encoding::Decoder<'_, D>,
6664 offset: usize,
6665 _depth: fidl::encoding::Depth,
6666 ) -> fidl::Result<()> {
6667 decoder.debug_check_bounds::<Self>(offset);
6668 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6669 unsafe {
6672 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
6673 }
6674 Ok(())
6675 }
6676 }
6677
6678 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
6679 type Borrowed<'a> = &'a Self;
6680 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6681 value
6682 }
6683 }
6684
6685 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
6686 type Owned = Self;
6687
6688 #[inline(always)]
6689 fn inline_align(_context: fidl::encoding::Context) -> usize {
6690 8
6691 }
6692
6693 #[inline(always)]
6694 fn inline_size(_context: fidl::encoding::Context) -> usize {
6695 8
6696 }
6697 }
6698
6699 unsafe impl<D: fidl::encoding::ResourceDialect>
6700 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
6701 {
6702 #[inline]
6703 unsafe fn encode(
6704 self,
6705 encoder: &mut fidl::encoding::Encoder<'_, D>,
6706 offset: usize,
6707 _depth: fidl::encoding::Depth,
6708 ) -> fidl::Result<()> {
6709 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6710 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
6712 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6713 encoder,
6714 offset,
6715 _depth,
6716 )
6717 }
6718 }
6719 unsafe impl<
6720 D: fidl::encoding::ResourceDialect,
6721 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
6722 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
6723 {
6724 #[inline]
6725 unsafe fn encode(
6726 self,
6727 encoder: &mut fidl::encoding::Encoder<'_, D>,
6728 offset: usize,
6729 depth: fidl::encoding::Depth,
6730 ) -> fidl::Result<()> {
6731 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6732 self.0.encode(encoder, offset + 0, depth)?;
6736 Ok(())
6737 }
6738 }
6739
6740 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6741 for MlmeGetMinstrelStatsResponse
6742 {
6743 #[inline(always)]
6744 fn new_empty() -> Self {
6745 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
6746 }
6747
6748 #[inline]
6749 unsafe fn decode(
6750 &mut self,
6751 decoder: &mut fidl::encoding::Decoder<'_, D>,
6752 offset: usize,
6753 _depth: fidl::encoding::Depth,
6754 ) -> fidl::Result<()> {
6755 decoder.debug_check_bounds::<Self>(offset);
6756 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6758 Ok(())
6759 }
6760 }
6761
6762 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
6763 type Borrowed<'a> = &'a Self;
6764 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6765 value
6766 }
6767 }
6768
6769 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
6770 type Owned = Self;
6771
6772 #[inline(always)]
6773 fn inline_align(_context: fidl::encoding::Context) -> usize {
6774 8
6775 }
6776
6777 #[inline(always)]
6778 fn inline_size(_context: fidl::encoding::Context) -> usize {
6779 16
6780 }
6781 }
6782
6783 unsafe impl<D: fidl::encoding::ResourceDialect>
6784 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
6785 for &MlmeListMinstrelPeersResponse
6786 {
6787 #[inline]
6788 unsafe fn encode(
6789 self,
6790 encoder: &mut fidl::encoding::Encoder<'_, D>,
6791 offset: usize,
6792 _depth: fidl::encoding::Depth,
6793 ) -> fidl::Result<()> {
6794 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6795 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
6797 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6798 encoder,
6799 offset,
6800 _depth,
6801 )
6802 }
6803 }
6804 unsafe impl<
6805 D: fidl::encoding::ResourceDialect,
6806 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
6807 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
6808 {
6809 #[inline]
6810 unsafe fn encode(
6811 self,
6812 encoder: &mut fidl::encoding::Encoder<'_, D>,
6813 offset: usize,
6814 depth: fidl::encoding::Depth,
6815 ) -> fidl::Result<()> {
6816 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6817 self.0.encode(encoder, offset + 0, depth)?;
6821 Ok(())
6822 }
6823 }
6824
6825 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6826 for MlmeListMinstrelPeersResponse
6827 {
6828 #[inline(always)]
6829 fn new_empty() -> Self {
6830 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
6831 }
6832
6833 #[inline]
6834 unsafe fn decode(
6835 &mut self,
6836 decoder: &mut fidl::encoding::Decoder<'_, D>,
6837 offset: usize,
6838 _depth: fidl::encoding::Depth,
6839 ) -> fidl::Result<()> {
6840 decoder.debug_check_bounds::<Self>(offset);
6841 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6843 Ok(())
6844 }
6845 }
6846
6847 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
6848 type Borrowed<'a> = &'a Self;
6849 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6850 value
6851 }
6852 }
6853
6854 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
6855 type Owned = Self;
6856
6857 #[inline(always)]
6858 fn inline_align(_context: fidl::encoding::Context) -> usize {
6859 1
6860 }
6861
6862 #[inline(always)]
6863 fn inline_size(_context: fidl::encoding::Context) -> usize {
6864 1
6865 }
6866 }
6867
6868 unsafe impl<D: fidl::encoding::ResourceDialect>
6869 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
6870 {
6871 #[inline]
6872 unsafe fn encode(
6873 self,
6874 encoder: &mut fidl::encoding::Encoder<'_, D>,
6875 offset: usize,
6876 _depth: fidl::encoding::Depth,
6877 ) -> fidl::Result<()> {
6878 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6879 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
6881 (
6882 <fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
6883 ),
6884 encoder, offset, _depth
6885 )
6886 }
6887 }
6888 unsafe impl<
6889 D: fidl::encoding::ResourceDialect,
6890 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D>,
6891 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
6892 {
6893 #[inline]
6894 unsafe fn encode(
6895 self,
6896 encoder: &mut fidl::encoding::Encoder<'_, D>,
6897 offset: usize,
6898 depth: fidl::encoding::Depth,
6899 ) -> fidl::Result<()> {
6900 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6901 self.0.encode(encoder, offset + 0, depth)?;
6905 Ok(())
6906 }
6907 }
6908
6909 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6910 for MlmeOnChannelSwitchedRequest
6911 {
6912 #[inline(always)]
6913 fn new_empty() -> Self {
6914 Self {
6915 info: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D),
6916 }
6917 }
6918
6919 #[inline]
6920 unsafe fn decode(
6921 &mut self,
6922 decoder: &mut fidl::encoding::Decoder<'_, D>,
6923 offset: usize,
6924 _depth: fidl::encoding::Depth,
6925 ) -> fidl::Result<()> {
6926 decoder.debug_check_bounds::<Self>(offset);
6927 fidl::decode!(
6929 fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
6930 D,
6931 &mut self.info,
6932 decoder,
6933 offset + 0,
6934 _depth
6935 )?;
6936 Ok(())
6937 }
6938 }
6939
6940 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
6941 type Borrowed<'a> = &'a Self;
6942 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6943 value
6944 }
6945 }
6946
6947 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
6948 type Owned = Self;
6949
6950 #[inline(always)]
6951 fn inline_align(_context: fidl::encoding::Context) -> usize {
6952 8
6953 }
6954
6955 #[inline(always)]
6956 fn inline_size(_context: fidl::encoding::Context) -> usize {
6957 32
6958 }
6959 }
6960
6961 unsafe impl<D: fidl::encoding::ResourceDialect>
6962 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
6963 {
6964 #[inline]
6965 unsafe fn encode(
6966 self,
6967 encoder: &mut fidl::encoding::Encoder<'_, D>,
6968 offset: usize,
6969 _depth: fidl::encoding::Depth,
6970 ) -> fidl::Result<()> {
6971 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6972 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
6974 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
6975 encoder,
6976 offset,
6977 _depth,
6978 )
6979 }
6980 }
6981 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
6982 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
6983 {
6984 #[inline]
6985 unsafe fn encode(
6986 self,
6987 encoder: &mut fidl::encoding::Encoder<'_, D>,
6988 offset: usize,
6989 depth: fidl::encoding::Depth,
6990 ) -> fidl::Result<()> {
6991 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6992 self.0.encode(encoder, offset + 0, depth)?;
6996 Ok(())
6997 }
6998 }
6999
7000 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7001 for MlmeOnPmkAvailableRequest
7002 {
7003 #[inline(always)]
7004 fn new_empty() -> Self {
7005 Self { info: fidl::new_empty!(PmkInfo, D) }
7006 }
7007
7008 #[inline]
7009 unsafe fn decode(
7010 &mut self,
7011 decoder: &mut fidl::encoding::Decoder<'_, D>,
7012 offset: usize,
7013 _depth: fidl::encoding::Depth,
7014 ) -> fidl::Result<()> {
7015 decoder.debug_check_bounds::<Self>(offset);
7016 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7018 Ok(())
7019 }
7020 }
7021
7022 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7023 type Borrowed<'a> = &'a Self;
7024 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7025 value
7026 }
7027 }
7028
7029 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7030 type Owned = Self;
7031
7032 #[inline(always)]
7033 fn inline_align(_context: fidl::encoding::Context) -> usize {
7034 8
7035 }
7036
7037 #[inline(always)]
7038 fn inline_size(_context: fidl::encoding::Context) -> usize {
7039 32
7040 }
7041 }
7042
7043 unsafe impl<D: fidl::encoding::ResourceDialect>
7044 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7045 {
7046 #[inline]
7047 unsafe fn encode(
7048 self,
7049 encoder: &mut fidl::encoding::Encoder<'_, D>,
7050 offset: usize,
7051 _depth: fidl::encoding::Depth,
7052 ) -> fidl::Result<()> {
7053 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7054 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7056 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7057 encoder,
7058 offset,
7059 _depth,
7060 )
7061 }
7062 }
7063 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7064 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7065 {
7066 #[inline]
7067 unsafe fn encode(
7068 self,
7069 encoder: &mut fidl::encoding::Encoder<'_, D>,
7070 offset: usize,
7071 depth: fidl::encoding::Depth,
7072 ) -> fidl::Result<()> {
7073 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7074 self.0.encode(encoder, offset + 0, depth)?;
7078 Ok(())
7079 }
7080 }
7081
7082 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7083 for MlmeOnSaeFrameRxRequest
7084 {
7085 #[inline(always)]
7086 fn new_empty() -> Self {
7087 Self { frame: fidl::new_empty!(SaeFrame, D) }
7088 }
7089
7090 #[inline]
7091 unsafe fn decode(
7092 &mut self,
7093 decoder: &mut fidl::encoding::Decoder<'_, D>,
7094 offset: usize,
7095 _depth: fidl::encoding::Depth,
7096 ) -> fidl::Result<()> {
7097 decoder.debug_check_bounds::<Self>(offset);
7098 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7100 Ok(())
7101 }
7102 }
7103
7104 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7105 type Borrowed<'a> = &'a Self;
7106 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7107 value
7108 }
7109 }
7110
7111 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7112 type Owned = Self;
7113
7114 #[inline(always)]
7115 fn inline_align(_context: fidl::encoding::Context) -> usize {
7116 1
7117 }
7118
7119 #[inline(always)]
7120 fn inline_size(_context: fidl::encoding::Context) -> usize {
7121 6
7122 }
7123 #[inline(always)]
7124 fn encode_is_copy() -> bool {
7125 true
7126 }
7127
7128 #[inline(always)]
7129 fn decode_is_copy() -> bool {
7130 true
7131 }
7132 }
7133
7134 unsafe impl<D: fidl::encoding::ResourceDialect>
7135 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7136 {
7137 #[inline]
7138 unsafe fn encode(
7139 self,
7140 encoder: &mut fidl::encoding::Encoder<'_, D>,
7141 offset: usize,
7142 _depth: fidl::encoding::Depth,
7143 ) -> fidl::Result<()> {
7144 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7145 unsafe {
7146 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7148 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7149 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7150 }
7153 Ok(())
7154 }
7155 }
7156 unsafe impl<
7157 D: fidl::encoding::ResourceDialect,
7158 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7159 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7160 {
7161 #[inline]
7162 unsafe fn encode(
7163 self,
7164 encoder: &mut fidl::encoding::Encoder<'_, D>,
7165 offset: usize,
7166 depth: fidl::encoding::Depth,
7167 ) -> fidl::Result<()> {
7168 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7169 self.0.encode(encoder, offset + 0, depth)?;
7173 Ok(())
7174 }
7175 }
7176
7177 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7178 for MlmeOnSaeHandshakeIndRequest
7179 {
7180 #[inline(always)]
7181 fn new_empty() -> Self {
7182 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7183 }
7184
7185 #[inline]
7186 unsafe fn decode(
7187 &mut self,
7188 decoder: &mut fidl::encoding::Decoder<'_, D>,
7189 offset: usize,
7190 _depth: fidl::encoding::Depth,
7191 ) -> fidl::Result<()> {
7192 decoder.debug_check_bounds::<Self>(offset);
7193 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7194 unsafe {
7197 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7198 }
7199 Ok(())
7200 }
7201 }
7202
7203 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7204 type Borrowed<'a> = &'a Self;
7205 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7206 value
7207 }
7208 }
7209
7210 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7211 type Owned = Self;
7212
7213 #[inline(always)]
7214 fn inline_align(_context: fidl::encoding::Context) -> usize {
7215 8
7216 }
7217
7218 #[inline(always)]
7219 fn inline_size(_context: fidl::encoding::Context) -> usize {
7220 16
7221 }
7222 }
7223
7224 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7225 for &MlmeOnScanEndRequest
7226 {
7227 #[inline]
7228 unsafe fn encode(
7229 self,
7230 encoder: &mut fidl::encoding::Encoder<'_, D>,
7231 offset: usize,
7232 _depth: fidl::encoding::Depth,
7233 ) -> fidl::Result<()> {
7234 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7235 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7237 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7238 encoder,
7239 offset,
7240 _depth,
7241 )
7242 }
7243 }
7244 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7245 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7246 {
7247 #[inline]
7248 unsafe fn encode(
7249 self,
7250 encoder: &mut fidl::encoding::Encoder<'_, D>,
7251 offset: usize,
7252 depth: fidl::encoding::Depth,
7253 ) -> fidl::Result<()> {
7254 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7255 self.0.encode(encoder, offset + 0, depth)?;
7259 Ok(())
7260 }
7261 }
7262
7263 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7264 #[inline(always)]
7265 fn new_empty() -> Self {
7266 Self { end: fidl::new_empty!(ScanEnd, D) }
7267 }
7268
7269 #[inline]
7270 unsafe fn decode(
7271 &mut self,
7272 decoder: &mut fidl::encoding::Decoder<'_, D>,
7273 offset: usize,
7274 _depth: fidl::encoding::Depth,
7275 ) -> fidl::Result<()> {
7276 decoder.debug_check_bounds::<Self>(offset);
7277 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7279 Ok(())
7280 }
7281 }
7282
7283 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7284 type Borrowed<'a> = &'a Self;
7285 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7286 value
7287 }
7288 }
7289
7290 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7291 type Owned = Self;
7292
7293 #[inline(always)]
7294 fn inline_align(_context: fidl::encoding::Context) -> usize {
7295 8
7296 }
7297
7298 #[inline(always)]
7299 fn inline_size(_context: fidl::encoding::Context) -> usize {
7300 64
7301 }
7302 }
7303
7304 unsafe impl<D: fidl::encoding::ResourceDialect>
7305 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7306 {
7307 #[inline]
7308 unsafe fn encode(
7309 self,
7310 encoder: &mut fidl::encoding::Encoder<'_, D>,
7311 offset: usize,
7312 _depth: fidl::encoding::Depth,
7313 ) -> fidl::Result<()> {
7314 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7315 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7317 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7318 encoder,
7319 offset,
7320 _depth,
7321 )
7322 }
7323 }
7324 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7325 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7326 {
7327 #[inline]
7328 unsafe fn encode(
7329 self,
7330 encoder: &mut fidl::encoding::Encoder<'_, D>,
7331 offset: usize,
7332 depth: fidl::encoding::Depth,
7333 ) -> fidl::Result<()> {
7334 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7335 self.0.encode(encoder, offset + 0, depth)?;
7339 Ok(())
7340 }
7341 }
7342
7343 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7344 for MlmeOnScanResultRequest
7345 {
7346 #[inline(always)]
7347 fn new_empty() -> Self {
7348 Self { result: fidl::new_empty!(ScanResult, D) }
7349 }
7350
7351 #[inline]
7352 unsafe fn decode(
7353 &mut self,
7354 decoder: &mut fidl::encoding::Decoder<'_, D>,
7355 offset: usize,
7356 _depth: fidl::encoding::Depth,
7357 ) -> fidl::Result<()> {
7358 decoder.debug_check_bounds::<Self>(offset);
7359 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7361 Ok(())
7362 }
7363 }
7364
7365 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
7366 type Borrowed<'a> = &'a Self;
7367 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7368 value
7369 }
7370 }
7371
7372 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
7373 type Owned = Self;
7374
7375 #[inline(always)]
7376 fn inline_align(_context: fidl::encoding::Context) -> usize {
7377 4
7378 }
7379
7380 #[inline(always)]
7381 fn inline_size(_context: fidl::encoding::Context) -> usize {
7382 40
7383 }
7384 }
7385
7386 unsafe impl<D: fidl::encoding::ResourceDialect>
7387 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
7388 {
7389 #[inline]
7390 unsafe fn encode(
7391 self,
7392 encoder: &mut fidl::encoding::Encoder<'_, D>,
7393 offset: usize,
7394 _depth: fidl::encoding::Depth,
7395 ) -> fidl::Result<()> {
7396 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7397 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
7399 (
7400 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
7401 <fidl_fuchsia_wlan_internal__common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
7402 ),
7403 encoder, offset, _depth
7404 )
7405 }
7406 }
7407 unsafe impl<
7408 D: fidl::encoding::ResourceDialect,
7409 T0: fidl::encoding::Encode<i32, D>,
7410 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D>,
7411 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
7412 {
7413 #[inline]
7414 unsafe fn encode(
7415 self,
7416 encoder: &mut fidl::encoding::Encoder<'_, D>,
7417 offset: usize,
7418 depth: fidl::encoding::Depth,
7419 ) -> fidl::Result<()> {
7420 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7421 unsafe {
7424 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
7425 (ptr as *mut u32).write_unaligned(0);
7426 }
7427 self.0.encode(encoder, offset + 0, depth)?;
7429 self.1.encode(encoder, offset + 4, depth)?;
7430 Ok(())
7431 }
7432 }
7433
7434 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7435 for MlmeOnWmmStatusRespRequest
7436 {
7437 #[inline(always)]
7438 fn new_empty() -> Self {
7439 Self {
7440 status: fidl::new_empty!(i32, D),
7441 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D),
7442 }
7443 }
7444
7445 #[inline]
7446 unsafe fn decode(
7447 &mut self,
7448 decoder: &mut fidl::encoding::Decoder<'_, D>,
7449 offset: usize,
7450 _depth: fidl::encoding::Depth,
7451 ) -> fidl::Result<()> {
7452 decoder.debug_check_bounds::<Self>(offset);
7453 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
7455 let padval = unsafe { (ptr as *const u32).read_unaligned() };
7456 let mask = 0xffff0000u32;
7457 let maskedval = padval & mask;
7458 if maskedval != 0 {
7459 return Err(fidl::Error::NonZeroPadding {
7460 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
7461 });
7462 }
7463 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
7464 fidl::decode!(
7465 fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
7466 D,
7467 &mut self.resp,
7468 decoder,
7469 offset + 4,
7470 _depth
7471 )?;
7472 Ok(())
7473 }
7474 }
7475
7476 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
7477 type Borrowed<'a> = &'a Self;
7478 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7479 value
7480 }
7481 }
7482
7483 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
7484 type Owned = Self;
7485
7486 #[inline(always)]
7487 fn inline_align(_context: fidl::encoding::Context) -> usize {
7488 8
7489 }
7490
7491 #[inline(always)]
7492 fn inline_size(_context: fidl::encoding::Context) -> usize {
7493 40
7494 }
7495 }
7496
7497 unsafe impl<D: fidl::encoding::ResourceDialect>
7498 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
7499 {
7500 #[inline]
7501 unsafe fn encode(
7502 self,
7503 encoder: &mut fidl::encoding::Encoder<'_, D>,
7504 offset: usize,
7505 _depth: fidl::encoding::Depth,
7506 ) -> fidl::Result<()> {
7507 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7508 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
7510 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7511 encoder,
7512 offset,
7513 _depth,
7514 )
7515 }
7516 }
7517 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
7518 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
7519 {
7520 #[inline]
7521 unsafe fn encode(
7522 self,
7523 encoder: &mut fidl::encoding::Encoder<'_, D>,
7524 offset: usize,
7525 depth: fidl::encoding::Depth,
7526 ) -> fidl::Result<()> {
7527 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7528 self.0.encode(encoder, offset + 0, depth)?;
7532 Ok(())
7533 }
7534 }
7535
7536 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7537 for MlmeQueryDeviceInfoResponse
7538 {
7539 #[inline(always)]
7540 fn new_empty() -> Self {
7541 Self { info: fidl::new_empty!(DeviceInfo, D) }
7542 }
7543
7544 #[inline]
7545 unsafe fn decode(
7546 &mut self,
7547 decoder: &mut fidl::encoding::Decoder<'_, D>,
7548 offset: usize,
7549 _depth: fidl::encoding::Depth,
7550 ) -> fidl::Result<()> {
7551 decoder.debug_check_bounds::<Self>(offset);
7552 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7554 Ok(())
7555 }
7556 }
7557
7558 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
7559 type Borrowed<'a> = &'a Self;
7560 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7561 value
7562 }
7563 }
7564
7565 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
7566 type Owned = Self;
7567
7568 #[inline(always)]
7569 fn inline_align(_context: fidl::encoding::Context) -> usize {
7570 1
7571 }
7572
7573 #[inline(always)]
7574 fn inline_size(_context: fidl::encoding::Context) -> usize {
7575 6
7576 }
7577 #[inline(always)]
7578 fn encode_is_copy() -> bool {
7579 true
7580 }
7581
7582 #[inline(always)]
7583 fn decode_is_copy() -> bool {
7584 true
7585 }
7586 }
7587
7588 unsafe impl<D: fidl::encoding::ResourceDialect>
7589 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
7590 {
7591 #[inline]
7592 unsafe fn encode(
7593 self,
7594 encoder: &mut fidl::encoding::Encoder<'_, D>,
7595 offset: usize,
7596 _depth: fidl::encoding::Depth,
7597 ) -> fidl::Result<()> {
7598 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7599 unsafe {
7600 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7602 (buf_ptr as *mut MlmeReconnectReqRequest)
7603 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
7604 }
7607 Ok(())
7608 }
7609 }
7610 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
7611 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
7612 {
7613 #[inline]
7614 unsafe fn encode(
7615 self,
7616 encoder: &mut fidl::encoding::Encoder<'_, D>,
7617 offset: usize,
7618 depth: fidl::encoding::Depth,
7619 ) -> fidl::Result<()> {
7620 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7621 self.0.encode(encoder, offset + 0, depth)?;
7625 Ok(())
7626 }
7627 }
7628
7629 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7630 for MlmeReconnectReqRequest
7631 {
7632 #[inline(always)]
7633 fn new_empty() -> Self {
7634 Self { req: fidl::new_empty!(ReconnectRequest, D) }
7635 }
7636
7637 #[inline]
7638 unsafe fn decode(
7639 &mut self,
7640 decoder: &mut fidl::encoding::Decoder<'_, D>,
7641 offset: usize,
7642 _depth: fidl::encoding::Depth,
7643 ) -> fidl::Result<()> {
7644 decoder.debug_check_bounds::<Self>(offset);
7645 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7646 unsafe {
7649 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7650 }
7651 Ok(())
7652 }
7653 }
7654
7655 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
7656 type Borrowed<'a> = &'a Self;
7657 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7658 value
7659 }
7660 }
7661
7662 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
7663 type Owned = Self;
7664
7665 #[inline(always)]
7666 fn inline_align(_context: fidl::encoding::Context) -> usize {
7667 8
7668 }
7669
7670 #[inline(always)]
7671 fn inline_size(_context: fidl::encoding::Context) -> usize {
7672 16
7673 }
7674 }
7675
7676 unsafe impl<D: fidl::encoding::ResourceDialect>
7677 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
7678 for &MlmeRelayCapturedFrameRequest
7679 {
7680 #[inline]
7681 unsafe fn encode(
7682 self,
7683 encoder: &mut fidl::encoding::Encoder<'_, D>,
7684 offset: usize,
7685 _depth: fidl::encoding::Depth,
7686 ) -> fidl::Result<()> {
7687 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7688 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
7690 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7691 encoder,
7692 offset,
7693 _depth,
7694 )
7695 }
7696 }
7697 unsafe impl<
7698 D: fidl::encoding::ResourceDialect,
7699 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
7700 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
7701 {
7702 #[inline]
7703 unsafe fn encode(
7704 self,
7705 encoder: &mut fidl::encoding::Encoder<'_, D>,
7706 offset: usize,
7707 depth: fidl::encoding::Depth,
7708 ) -> fidl::Result<()> {
7709 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7710 self.0.encode(encoder, offset + 0, depth)?;
7714 Ok(())
7715 }
7716 }
7717
7718 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7719 for MlmeRelayCapturedFrameRequest
7720 {
7721 #[inline(always)]
7722 fn new_empty() -> Self {
7723 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
7724 }
7725
7726 #[inline]
7727 unsafe fn decode(
7728 &mut self,
7729 decoder: &mut fidl::encoding::Decoder<'_, D>,
7730 offset: usize,
7731 _depth: fidl::encoding::Depth,
7732 ) -> fidl::Result<()> {
7733 decoder.debug_check_bounds::<Self>(offset);
7734 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7736 Ok(())
7737 }
7738 }
7739
7740 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
7741 type Borrowed<'a> = &'a Self;
7742 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7743 value
7744 }
7745 }
7746
7747 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
7748 type Owned = Self;
7749
7750 #[inline(always)]
7751 fn inline_align(_context: fidl::encoding::Context) -> usize {
7752 1
7753 }
7754
7755 #[inline(always)]
7756 fn inline_size(_context: fidl::encoding::Context) -> usize {
7757 7
7758 }
7759 }
7760
7761 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
7762 for &MlmeResetReqRequest
7763 {
7764 #[inline]
7765 unsafe fn encode(
7766 self,
7767 encoder: &mut fidl::encoding::Encoder<'_, D>,
7768 offset: usize,
7769 _depth: fidl::encoding::Depth,
7770 ) -> fidl::Result<()> {
7771 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7772 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
7774 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7775 encoder,
7776 offset,
7777 _depth,
7778 )
7779 }
7780 }
7781 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
7782 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
7783 {
7784 #[inline]
7785 unsafe fn encode(
7786 self,
7787 encoder: &mut fidl::encoding::Encoder<'_, D>,
7788 offset: usize,
7789 depth: fidl::encoding::Depth,
7790 ) -> fidl::Result<()> {
7791 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7792 self.0.encode(encoder, offset + 0, depth)?;
7796 Ok(())
7797 }
7798 }
7799
7800 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
7801 #[inline(always)]
7802 fn new_empty() -> Self {
7803 Self { req: fidl::new_empty!(ResetRequest, D) }
7804 }
7805
7806 #[inline]
7807 unsafe fn decode(
7808 &mut self,
7809 decoder: &mut fidl::encoding::Decoder<'_, D>,
7810 offset: usize,
7811 _depth: fidl::encoding::Depth,
7812 ) -> fidl::Result<()> {
7813 decoder.debug_check_bounds::<Self>(offset);
7814 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7816 Ok(())
7817 }
7818 }
7819
7820 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
7821 type Borrowed<'a> = &'a Self;
7822 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7823 value
7824 }
7825 }
7826
7827 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
7828 type Owned = Self;
7829
7830 #[inline(always)]
7831 fn inline_align(_context: fidl::encoding::Context) -> usize {
7832 8
7833 }
7834
7835 #[inline(always)]
7836 fn inline_size(_context: fidl::encoding::Context) -> usize {
7837 32
7838 }
7839 }
7840
7841 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
7842 for &MlmeRoamConfRequest
7843 {
7844 #[inline]
7845 unsafe fn encode(
7846 self,
7847 encoder: &mut fidl::encoding::Encoder<'_, D>,
7848 offset: usize,
7849 _depth: fidl::encoding::Depth,
7850 ) -> fidl::Result<()> {
7851 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7852 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
7854 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
7855 encoder,
7856 offset,
7857 _depth,
7858 )
7859 }
7860 }
7861 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
7862 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
7863 {
7864 #[inline]
7865 unsafe fn encode(
7866 self,
7867 encoder: &mut fidl::encoding::Encoder<'_, D>,
7868 offset: usize,
7869 depth: fidl::encoding::Depth,
7870 ) -> fidl::Result<()> {
7871 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7872 self.0.encode(encoder, offset + 0, depth)?;
7876 Ok(())
7877 }
7878 }
7879
7880 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
7881 #[inline(always)]
7882 fn new_empty() -> Self {
7883 Self { conf: fidl::new_empty!(RoamConfirm, D) }
7884 }
7885
7886 #[inline]
7887 unsafe fn decode(
7888 &mut self,
7889 decoder: &mut fidl::encoding::Decoder<'_, D>,
7890 offset: usize,
7891 _depth: fidl::encoding::Depth,
7892 ) -> fidl::Result<()> {
7893 decoder.debug_check_bounds::<Self>(offset);
7894 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
7896 Ok(())
7897 }
7898 }
7899
7900 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
7901 type Borrowed<'a> = &'a Self;
7902 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7903 value
7904 }
7905 }
7906
7907 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
7908 type Owned = Self;
7909
7910 #[inline(always)]
7911 fn inline_align(_context: fidl::encoding::Context) -> usize {
7912 8
7913 }
7914
7915 #[inline(always)]
7916 fn inline_size(_context: fidl::encoding::Context) -> usize {
7917 48
7918 }
7919 }
7920
7921 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
7922 for &MlmeRoamReqRequest
7923 {
7924 #[inline]
7925 unsafe fn encode(
7926 self,
7927 encoder: &mut fidl::encoding::Encoder<'_, D>,
7928 offset: usize,
7929 _depth: fidl::encoding::Depth,
7930 ) -> fidl::Result<()> {
7931 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7932 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
7934 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7935 encoder,
7936 offset,
7937 _depth,
7938 )
7939 }
7940 }
7941 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
7942 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
7943 {
7944 #[inline]
7945 unsafe fn encode(
7946 self,
7947 encoder: &mut fidl::encoding::Encoder<'_, D>,
7948 offset: usize,
7949 depth: fidl::encoding::Depth,
7950 ) -> fidl::Result<()> {
7951 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7952 self.0.encode(encoder, offset + 0, depth)?;
7956 Ok(())
7957 }
7958 }
7959
7960 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
7961 #[inline(always)]
7962 fn new_empty() -> Self {
7963 Self { req: fidl::new_empty!(RoamRequest, D) }
7964 }
7965
7966 #[inline]
7967 unsafe fn decode(
7968 &mut self,
7969 decoder: &mut fidl::encoding::Decoder<'_, D>,
7970 offset: usize,
7971 _depth: fidl::encoding::Depth,
7972 ) -> fidl::Result<()> {
7973 decoder.debug_check_bounds::<Self>(offset);
7974 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7976 Ok(())
7977 }
7978 }
7979
7980 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
7981 type Borrowed<'a> = &'a Self;
7982 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7983 value
7984 }
7985 }
7986
7987 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
7988 type Owned = Self;
7989
7990 #[inline(always)]
7991 fn inline_align(_context: fidl::encoding::Context) -> usize {
7992 8
7993 }
7994
7995 #[inline(always)]
7996 fn inline_size(_context: fidl::encoding::Context) -> usize {
7997 32
7998 }
7999 }
8000
8001 unsafe impl<D: fidl::encoding::ResourceDialect>
8002 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
8003 {
8004 #[inline]
8005 unsafe fn encode(
8006 self,
8007 encoder: &mut fidl::encoding::Encoder<'_, D>,
8008 offset: usize,
8009 _depth: fidl::encoding::Depth,
8010 ) -> fidl::Result<()> {
8011 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8012 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8014 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8015 encoder,
8016 offset,
8017 _depth,
8018 )
8019 }
8020 }
8021 unsafe impl<
8022 D: fidl::encoding::ResourceDialect,
8023 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8024 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8025 {
8026 #[inline]
8027 unsafe fn encode(
8028 self,
8029 encoder: &mut fidl::encoding::Encoder<'_, D>,
8030 offset: usize,
8031 depth: fidl::encoding::Depth,
8032 ) -> fidl::Result<()> {
8033 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8034 self.0.encode(encoder, offset + 0, depth)?;
8038 Ok(())
8039 }
8040 }
8041
8042 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8043 for MlmeRoamResultIndRequest
8044 {
8045 #[inline(always)]
8046 fn new_empty() -> Self {
8047 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8048 }
8049
8050 #[inline]
8051 unsafe fn decode(
8052 &mut self,
8053 decoder: &mut fidl::encoding::Decoder<'_, D>,
8054 offset: usize,
8055 _depth: fidl::encoding::Depth,
8056 ) -> fidl::Result<()> {
8057 decoder.debug_check_bounds::<Self>(offset);
8058 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8060 Ok(())
8061 }
8062 }
8063
8064 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8065 type Borrowed<'a> = &'a Self;
8066 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8067 value
8068 }
8069 }
8070
8071 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8072 type Owned = Self;
8073
8074 #[inline(always)]
8075 fn inline_align(_context: fidl::encoding::Context) -> usize {
8076 8
8077 }
8078
8079 #[inline(always)]
8080 fn inline_size(_context: fidl::encoding::Context) -> usize {
8081 64
8082 }
8083 }
8084
8085 unsafe impl<D: fidl::encoding::ResourceDialect>
8086 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8087 {
8088 #[inline]
8089 unsafe fn encode(
8090 self,
8091 encoder: &mut fidl::encoding::Encoder<'_, D>,
8092 offset: usize,
8093 _depth: fidl::encoding::Depth,
8094 ) -> fidl::Result<()> {
8095 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8096 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8098 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8099 encoder,
8100 offset,
8101 _depth,
8102 )
8103 }
8104 }
8105 unsafe impl<
8106 D: fidl::encoding::ResourceDialect,
8107 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8108 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8109 {
8110 #[inline]
8111 unsafe fn encode(
8112 self,
8113 encoder: &mut fidl::encoding::Encoder<'_, D>,
8114 offset: usize,
8115 depth: fidl::encoding::Depth,
8116 ) -> fidl::Result<()> {
8117 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8118 self.0.encode(encoder, offset + 0, depth)?;
8122 Ok(())
8123 }
8124 }
8125
8126 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8127 for MlmeRoamStartIndRequest
8128 {
8129 #[inline(always)]
8130 fn new_empty() -> Self {
8131 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8132 }
8133
8134 #[inline]
8135 unsafe fn decode(
8136 &mut self,
8137 decoder: &mut fidl::encoding::Decoder<'_, D>,
8138 offset: usize,
8139 _depth: fidl::encoding::Depth,
8140 ) -> fidl::Result<()> {
8141 decoder.debug_check_bounds::<Self>(offset);
8142 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8144 Ok(())
8145 }
8146 }
8147
8148 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8149 type Borrowed<'a> = &'a Self;
8150 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8151 value
8152 }
8153 }
8154
8155 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8156 type Owned = Self;
8157
8158 #[inline(always)]
8159 fn inline_align(_context: fidl::encoding::Context) -> usize {
8160 8
8161 }
8162
8163 #[inline(always)]
8164 fn inline_size(_context: fidl::encoding::Context) -> usize {
8165 32
8166 }
8167 }
8168
8169 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8170 for &MlmeSaeFrameTxRequest
8171 {
8172 #[inline]
8173 unsafe fn encode(
8174 self,
8175 encoder: &mut fidl::encoding::Encoder<'_, D>,
8176 offset: usize,
8177 _depth: fidl::encoding::Depth,
8178 ) -> fidl::Result<()> {
8179 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8180 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8182 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8183 encoder,
8184 offset,
8185 _depth,
8186 )
8187 }
8188 }
8189 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8190 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8191 {
8192 #[inline]
8193 unsafe fn encode(
8194 self,
8195 encoder: &mut fidl::encoding::Encoder<'_, D>,
8196 offset: usize,
8197 depth: fidl::encoding::Depth,
8198 ) -> fidl::Result<()> {
8199 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8200 self.0.encode(encoder, offset + 0, depth)?;
8204 Ok(())
8205 }
8206 }
8207
8208 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8209 #[inline(always)]
8210 fn new_empty() -> Self {
8211 Self { frame: fidl::new_empty!(SaeFrame, D) }
8212 }
8213
8214 #[inline]
8215 unsafe fn decode(
8216 &mut self,
8217 decoder: &mut fidl::encoding::Decoder<'_, D>,
8218 offset: usize,
8219 _depth: fidl::encoding::Depth,
8220 ) -> fidl::Result<()> {
8221 decoder.debug_check_bounds::<Self>(offset);
8222 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8224 Ok(())
8225 }
8226 }
8227
8228 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8229 type Borrowed<'a> = &'a Self;
8230 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8231 value
8232 }
8233 }
8234
8235 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8236 type Owned = Self;
8237
8238 #[inline(always)]
8239 fn inline_align(_context: fidl::encoding::Context) -> usize {
8240 2
8241 }
8242
8243 #[inline(always)]
8244 fn inline_size(_context: fidl::encoding::Context) -> usize {
8245 8
8246 }
8247 }
8248
8249 unsafe impl<D: fidl::encoding::ResourceDialect>
8250 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8251 {
8252 #[inline]
8253 unsafe fn encode(
8254 self,
8255 encoder: &mut fidl::encoding::Encoder<'_, D>,
8256 offset: usize,
8257 _depth: fidl::encoding::Depth,
8258 ) -> fidl::Result<()> {
8259 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8260 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8262 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8263 encoder,
8264 offset,
8265 _depth,
8266 )
8267 }
8268 }
8269 unsafe impl<
8270 D: fidl::encoding::ResourceDialect,
8271 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8272 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8273 {
8274 #[inline]
8275 unsafe fn encode(
8276 self,
8277 encoder: &mut fidl::encoding::Encoder<'_, D>,
8278 offset: usize,
8279 depth: fidl::encoding::Depth,
8280 ) -> fidl::Result<()> {
8281 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8282 self.0.encode(encoder, offset + 0, depth)?;
8286 Ok(())
8287 }
8288 }
8289
8290 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8291 for MlmeSaeHandshakeRespRequest
8292 {
8293 #[inline(always)]
8294 fn new_empty() -> Self {
8295 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8296 }
8297
8298 #[inline]
8299 unsafe fn decode(
8300 &mut self,
8301 decoder: &mut fidl::encoding::Decoder<'_, D>,
8302 offset: usize,
8303 _depth: fidl::encoding::Depth,
8304 ) -> fidl::Result<()> {
8305 decoder.debug_check_bounds::<Self>(offset);
8306 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8308 Ok(())
8309 }
8310 }
8311
8312 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
8313 type Borrowed<'a> = &'a Self;
8314 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8315 value
8316 }
8317 }
8318
8319 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
8320 type Owned = Self;
8321
8322 #[inline(always)]
8323 fn inline_align(_context: fidl::encoding::Context) -> usize {
8324 4
8325 }
8326
8327 #[inline(always)]
8328 fn inline_size(_context: fidl::encoding::Context) -> usize {
8329 12
8330 }
8331 }
8332
8333 unsafe impl<D: fidl::encoding::ResourceDialect>
8334 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
8335 {
8336 #[inline]
8337 unsafe fn encode(
8338 self,
8339 encoder: &mut fidl::encoding::Encoder<'_, D>,
8340 offset: usize,
8341 _depth: fidl::encoding::Depth,
8342 ) -> fidl::Result<()> {
8343 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8344 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
8346 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8347 encoder,
8348 offset,
8349 _depth,
8350 )
8351 }
8352 }
8353 unsafe impl<
8354 D: fidl::encoding::ResourceDialect,
8355 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
8356 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
8357 {
8358 #[inline]
8359 unsafe fn encode(
8360 self,
8361 encoder: &mut fidl::encoding::Encoder<'_, D>,
8362 offset: usize,
8363 depth: fidl::encoding::Depth,
8364 ) -> fidl::Result<()> {
8365 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8366 self.0.encode(encoder, offset + 0, depth)?;
8370 Ok(())
8371 }
8372 }
8373
8374 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8375 for MlmeSetControlledPortRequest
8376 {
8377 #[inline(always)]
8378 fn new_empty() -> Self {
8379 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
8380 }
8381
8382 #[inline]
8383 unsafe fn decode(
8384 &mut self,
8385 decoder: &mut fidl::encoding::Decoder<'_, D>,
8386 offset: usize,
8387 _depth: fidl::encoding::Depth,
8388 ) -> fidl::Result<()> {
8389 decoder.debug_check_bounds::<Self>(offset);
8390 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8392 Ok(())
8393 }
8394 }
8395
8396 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
8397 type Borrowed<'a> = &'a Self;
8398 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8399 value
8400 }
8401 }
8402
8403 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
8404 type Owned = Self;
8405
8406 #[inline(always)]
8407 fn inline_align(_context: fidl::encoding::Context) -> usize {
8408 8
8409 }
8410
8411 #[inline(always)]
8412 fn inline_size(_context: fidl::encoding::Context) -> usize {
8413 16
8414 }
8415 }
8416
8417 unsafe impl<D: fidl::encoding::ResourceDialect>
8418 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
8419 {
8420 #[inline]
8421 unsafe fn encode(
8422 self,
8423 encoder: &mut fidl::encoding::Encoder<'_, D>,
8424 offset: usize,
8425 _depth: fidl::encoding::Depth,
8426 ) -> fidl::Result<()> {
8427 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8428 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
8430 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8431 encoder,
8432 offset,
8433 _depth,
8434 )
8435 }
8436 }
8437 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
8438 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
8439 {
8440 #[inline]
8441 unsafe fn encode(
8442 self,
8443 encoder: &mut fidl::encoding::Encoder<'_, D>,
8444 offset: usize,
8445 depth: fidl::encoding::Depth,
8446 ) -> fidl::Result<()> {
8447 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8448 self.0.encode(encoder, offset + 0, depth)?;
8452 Ok(())
8453 }
8454 }
8455
8456 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8457 for MlmeSetKeysConfRequest
8458 {
8459 #[inline(always)]
8460 fn new_empty() -> Self {
8461 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
8462 }
8463
8464 #[inline]
8465 unsafe fn decode(
8466 &mut self,
8467 decoder: &mut fidl::encoding::Decoder<'_, D>,
8468 offset: usize,
8469 _depth: fidl::encoding::Depth,
8470 ) -> fidl::Result<()> {
8471 decoder.debug_check_bounds::<Self>(offset);
8472 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8474 Ok(())
8475 }
8476 }
8477
8478 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
8479 type Borrowed<'a> = &'a Self;
8480 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8481 value
8482 }
8483 }
8484
8485 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
8486 type Owned = Self;
8487
8488 #[inline(always)]
8489 fn inline_align(_context: fidl::encoding::Context) -> usize {
8490 8
8491 }
8492
8493 #[inline(always)]
8494 fn inline_size(_context: fidl::encoding::Context) -> usize {
8495 16
8496 }
8497 }
8498
8499 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
8500 for &MlmeSetKeysReqRequest
8501 {
8502 #[inline]
8503 unsafe fn encode(
8504 self,
8505 encoder: &mut fidl::encoding::Encoder<'_, D>,
8506 offset: usize,
8507 _depth: fidl::encoding::Depth,
8508 ) -> fidl::Result<()> {
8509 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8510 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
8512 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8513 encoder,
8514 offset,
8515 _depth,
8516 )
8517 }
8518 }
8519 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
8520 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
8521 {
8522 #[inline]
8523 unsafe fn encode(
8524 self,
8525 encoder: &mut fidl::encoding::Encoder<'_, D>,
8526 offset: usize,
8527 depth: fidl::encoding::Depth,
8528 ) -> fidl::Result<()> {
8529 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8530 self.0.encode(encoder, offset + 0, depth)?;
8534 Ok(())
8535 }
8536 }
8537
8538 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
8539 #[inline(always)]
8540 fn new_empty() -> Self {
8541 Self { req: fidl::new_empty!(SetKeysRequest, D) }
8542 }
8543
8544 #[inline]
8545 unsafe fn decode(
8546 &mut self,
8547 decoder: &mut fidl::encoding::Decoder<'_, D>,
8548 offset: usize,
8549 _depth: fidl::encoding::Depth,
8550 ) -> fidl::Result<()> {
8551 decoder.debug_check_bounds::<Self>(offset);
8552 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8554 Ok(())
8555 }
8556 }
8557
8558 impl fidl::encoding::ValueTypeMarker for MlmeSetMacAddressRequest {
8559 type Borrowed<'a> = &'a Self;
8560 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8561 value
8562 }
8563 }
8564
8565 unsafe impl fidl::encoding::TypeMarker for MlmeSetMacAddressRequest {
8566 type Owned = Self;
8567
8568 #[inline(always)]
8569 fn inline_align(_context: fidl::encoding::Context) -> usize {
8570 1
8571 }
8572
8573 #[inline(always)]
8574 fn inline_size(_context: fidl::encoding::Context) -> usize {
8575 6
8576 }
8577 #[inline(always)]
8578 fn encode_is_copy() -> bool {
8579 true
8580 }
8581
8582 #[inline(always)]
8583 fn decode_is_copy() -> bool {
8584 true
8585 }
8586 }
8587
8588 unsafe impl<D: fidl::encoding::ResourceDialect>
8589 fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for &MlmeSetMacAddressRequest
8590 {
8591 #[inline]
8592 unsafe fn encode(
8593 self,
8594 encoder: &mut fidl::encoding::Encoder<'_, D>,
8595 offset: usize,
8596 _depth: fidl::encoding::Depth,
8597 ) -> fidl::Result<()> {
8598 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
8599 unsafe {
8600 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8602 (buf_ptr as *mut MlmeSetMacAddressRequest)
8603 .write_unaligned((self as *const MlmeSetMacAddressRequest).read());
8604 }
8607 Ok(())
8608 }
8609 }
8610 unsafe impl<
8611 D: fidl::encoding::ResourceDialect,
8612 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
8613 > fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for (T0,)
8614 {
8615 #[inline]
8616 unsafe fn encode(
8617 self,
8618 encoder: &mut fidl::encoding::Encoder<'_, D>,
8619 offset: usize,
8620 depth: fidl::encoding::Depth,
8621 ) -> fidl::Result<()> {
8622 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
8623 self.0.encode(encoder, offset + 0, depth)?;
8627 Ok(())
8628 }
8629 }
8630
8631 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8632 for MlmeSetMacAddressRequest
8633 {
8634 #[inline(always)]
8635 fn new_empty() -> Self {
8636 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
8637 }
8638
8639 #[inline]
8640 unsafe fn decode(
8641 &mut self,
8642 decoder: &mut fidl::encoding::Decoder<'_, D>,
8643 offset: usize,
8644 _depth: fidl::encoding::Depth,
8645 ) -> fidl::Result<()> {
8646 decoder.debug_check_bounds::<Self>(offset);
8647 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8648 unsafe {
8651 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
8652 }
8653 Ok(())
8654 }
8655 }
8656
8657 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
8658 type Borrowed<'a> = &'a Self;
8659 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8660 value
8661 }
8662 }
8663
8664 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
8665 type Owned = Self;
8666
8667 #[inline(always)]
8668 fn inline_align(_context: fidl::encoding::Context) -> usize {
8669 1
8670 }
8671
8672 #[inline(always)]
8673 fn inline_size(_context: fidl::encoding::Context) -> usize {
8674 2
8675 }
8676 }
8677
8678 unsafe impl<D: fidl::encoding::ResourceDialect>
8679 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
8680 {
8681 #[inline]
8682 unsafe fn encode(
8683 self,
8684 encoder: &mut fidl::encoding::Encoder<'_, D>,
8685 offset: usize,
8686 _depth: fidl::encoding::Depth,
8687 ) -> fidl::Result<()> {
8688 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8689 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
8691 (
8692 <fidl_fuchsia_wlan_internal__common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
8693 ),
8694 encoder, offset, _depth
8695 )
8696 }
8697 }
8698 unsafe impl<
8699 D: fidl::encoding::ResourceDialect,
8700 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::SignalReportIndication, D>,
8701 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
8702 {
8703 #[inline]
8704 unsafe fn encode(
8705 self,
8706 encoder: &mut fidl::encoding::Encoder<'_, D>,
8707 offset: usize,
8708 depth: fidl::encoding::Depth,
8709 ) -> fidl::Result<()> {
8710 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8711 self.0.encode(encoder, offset + 0, depth)?;
8715 Ok(())
8716 }
8717 }
8718
8719 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8720 for MlmeSignalReportRequest
8721 {
8722 #[inline(always)]
8723 fn new_empty() -> Self {
8724 Self {
8725 ind: fidl::new_empty!(
8726 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8727 D
8728 ),
8729 }
8730 }
8731
8732 #[inline]
8733 unsafe fn decode(
8734 &mut self,
8735 decoder: &mut fidl::encoding::Decoder<'_, D>,
8736 offset: usize,
8737 _depth: fidl::encoding::Depth,
8738 ) -> fidl::Result<()> {
8739 decoder.debug_check_bounds::<Self>(offset);
8740 fidl::decode!(
8742 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8743 D,
8744 &mut self.ind,
8745 decoder,
8746 offset + 0,
8747 _depth
8748 )?;
8749 Ok(())
8750 }
8751 }
8752
8753 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
8754 type Borrowed<'a> = &'a Self;
8755 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8756 value
8757 }
8758 }
8759
8760 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
8761 type Owned = Self;
8762
8763 #[inline(always)]
8764 fn inline_align(_context: fidl::encoding::Context) -> usize {
8765 4
8766 }
8767
8768 #[inline(always)]
8769 fn inline_size(_context: fidl::encoding::Context) -> usize {
8770 4
8771 }
8772 }
8773
8774 unsafe impl<D: fidl::encoding::ResourceDialect>
8775 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
8776 for &MlmeStartCaptureFramesRequest
8777 {
8778 #[inline]
8779 unsafe fn encode(
8780 self,
8781 encoder: &mut fidl::encoding::Encoder<'_, D>,
8782 offset: usize,
8783 _depth: fidl::encoding::Depth,
8784 ) -> fidl::Result<()> {
8785 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8786 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
8788 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8789 encoder,
8790 offset,
8791 _depth,
8792 )
8793 }
8794 }
8795 unsafe impl<
8796 D: fidl::encoding::ResourceDialect,
8797 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
8798 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
8799 {
8800 #[inline]
8801 unsafe fn encode(
8802 self,
8803 encoder: &mut fidl::encoding::Encoder<'_, D>,
8804 offset: usize,
8805 depth: fidl::encoding::Depth,
8806 ) -> fidl::Result<()> {
8807 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8808 self.0.encode(encoder, offset + 0, depth)?;
8812 Ok(())
8813 }
8814 }
8815
8816 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8817 for MlmeStartCaptureFramesRequest
8818 {
8819 #[inline(always)]
8820 fn new_empty() -> Self {
8821 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
8822 }
8823
8824 #[inline]
8825 unsafe fn decode(
8826 &mut self,
8827 decoder: &mut fidl::encoding::Decoder<'_, D>,
8828 offset: usize,
8829 _depth: fidl::encoding::Depth,
8830 ) -> fidl::Result<()> {
8831 decoder.debug_check_bounds::<Self>(offset);
8832 fidl::decode!(
8834 StartCaptureFramesRequest,
8835 D,
8836 &mut self.req,
8837 decoder,
8838 offset + 0,
8839 _depth
8840 )?;
8841 Ok(())
8842 }
8843 }
8844
8845 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
8846 type Borrowed<'a> = &'a Self;
8847 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8848 value
8849 }
8850 }
8851
8852 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
8853 type Owned = Self;
8854
8855 #[inline(always)]
8856 fn inline_align(_context: fidl::encoding::Context) -> usize {
8857 4
8858 }
8859
8860 #[inline(always)]
8861 fn inline_size(_context: fidl::encoding::Context) -> usize {
8862 8
8863 }
8864 }
8865
8866 unsafe impl<D: fidl::encoding::ResourceDialect>
8867 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
8868 for &MlmeStartCaptureFramesResponse
8869 {
8870 #[inline]
8871 unsafe fn encode(
8872 self,
8873 encoder: &mut fidl::encoding::Encoder<'_, D>,
8874 offset: usize,
8875 _depth: fidl::encoding::Depth,
8876 ) -> fidl::Result<()> {
8877 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8878 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
8880 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
8881 &self.resp,
8882 ),),
8883 encoder,
8884 offset,
8885 _depth,
8886 )
8887 }
8888 }
8889 unsafe impl<
8890 D: fidl::encoding::ResourceDialect,
8891 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
8892 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
8893 {
8894 #[inline]
8895 unsafe fn encode(
8896 self,
8897 encoder: &mut fidl::encoding::Encoder<'_, D>,
8898 offset: usize,
8899 depth: fidl::encoding::Depth,
8900 ) -> fidl::Result<()> {
8901 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8902 self.0.encode(encoder, offset + 0, depth)?;
8906 Ok(())
8907 }
8908 }
8909
8910 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8911 for MlmeStartCaptureFramesResponse
8912 {
8913 #[inline(always)]
8914 fn new_empty() -> Self {
8915 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
8916 }
8917
8918 #[inline]
8919 unsafe fn decode(
8920 &mut self,
8921 decoder: &mut fidl::encoding::Decoder<'_, D>,
8922 offset: usize,
8923 _depth: fidl::encoding::Depth,
8924 ) -> fidl::Result<()> {
8925 decoder.debug_check_bounds::<Self>(offset);
8926 fidl::decode!(
8928 StartCaptureFramesResponse,
8929 D,
8930 &mut self.resp,
8931 decoder,
8932 offset + 0,
8933 _depth
8934 )?;
8935 Ok(())
8936 }
8937 }
8938
8939 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
8940 type Borrowed<'a> = &'a Self;
8941 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8942 value
8943 }
8944 }
8945
8946 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
8947 type Owned = Self;
8948
8949 #[inline(always)]
8950 fn inline_align(_context: fidl::encoding::Context) -> usize {
8951 4
8952 }
8953
8954 #[inline(always)]
8955 fn inline_size(_context: fidl::encoding::Context) -> usize {
8956 4
8957 }
8958 }
8959
8960 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
8961 for &MlmeStartConfRequest
8962 {
8963 #[inline]
8964 unsafe fn encode(
8965 self,
8966 encoder: &mut fidl::encoding::Encoder<'_, D>,
8967 offset: usize,
8968 _depth: fidl::encoding::Depth,
8969 ) -> fidl::Result<()> {
8970 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8971 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
8973 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8974 encoder,
8975 offset,
8976 _depth,
8977 )
8978 }
8979 }
8980 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
8981 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
8982 {
8983 #[inline]
8984 unsafe fn encode(
8985 self,
8986 encoder: &mut fidl::encoding::Encoder<'_, D>,
8987 offset: usize,
8988 depth: fidl::encoding::Depth,
8989 ) -> fidl::Result<()> {
8990 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8991 self.0.encode(encoder, offset + 0, depth)?;
8995 Ok(())
8996 }
8997 }
8998
8999 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
9000 #[inline(always)]
9001 fn new_empty() -> Self {
9002 Self { resp: fidl::new_empty!(StartConfirm, D) }
9003 }
9004
9005 #[inline]
9006 unsafe fn decode(
9007 &mut self,
9008 decoder: &mut fidl::encoding::Decoder<'_, D>,
9009 offset: usize,
9010 _depth: fidl::encoding::Depth,
9011 ) -> fidl::Result<()> {
9012 decoder.debug_check_bounds::<Self>(offset);
9013 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9015 Ok(())
9016 }
9017 }
9018
9019 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
9020 type Borrowed<'a> = &'a Self;
9021 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9022 value
9023 }
9024 }
9025
9026 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
9027 type Owned = Self;
9028
9029 #[inline(always)]
9030 fn inline_align(_context: fidl::encoding::Context) -> usize {
9031 8
9032 }
9033
9034 #[inline(always)]
9035 fn inline_size(_context: fidl::encoding::Context) -> usize {
9036 96
9037 }
9038 }
9039
9040 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
9041 for &MlmeStartReqRequest
9042 {
9043 #[inline]
9044 unsafe fn encode(
9045 self,
9046 encoder: &mut fidl::encoding::Encoder<'_, D>,
9047 offset: usize,
9048 _depth: fidl::encoding::Depth,
9049 ) -> fidl::Result<()> {
9050 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9051 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
9053 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9054 encoder,
9055 offset,
9056 _depth,
9057 )
9058 }
9059 }
9060 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
9061 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
9062 {
9063 #[inline]
9064 unsafe fn encode(
9065 self,
9066 encoder: &mut fidl::encoding::Encoder<'_, D>,
9067 offset: usize,
9068 depth: fidl::encoding::Depth,
9069 ) -> fidl::Result<()> {
9070 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9071 self.0.encode(encoder, offset + 0, depth)?;
9075 Ok(())
9076 }
9077 }
9078
9079 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
9080 #[inline(always)]
9081 fn new_empty() -> Self {
9082 Self { req: fidl::new_empty!(StartRequest, D) }
9083 }
9084
9085 #[inline]
9086 unsafe fn decode(
9087 &mut self,
9088 decoder: &mut fidl::encoding::Decoder<'_, D>,
9089 offset: usize,
9090 _depth: fidl::encoding::Depth,
9091 ) -> fidl::Result<()> {
9092 decoder.debug_check_bounds::<Self>(offset);
9093 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9095 Ok(())
9096 }
9097 }
9098
9099 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
9100 type Borrowed<'a> = &'a Self;
9101 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9102 value
9103 }
9104 }
9105
9106 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
9107 type Owned = Self;
9108
9109 #[inline(always)]
9110 fn inline_align(_context: fidl::encoding::Context) -> usize {
9111 8
9112 }
9113
9114 #[inline(always)]
9115 fn inline_size(_context: fidl::encoding::Context) -> usize {
9116 64
9117 }
9118 }
9119
9120 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
9121 for &MlmeStartScanRequest
9122 {
9123 #[inline]
9124 unsafe fn encode(
9125 self,
9126 encoder: &mut fidl::encoding::Encoder<'_, D>,
9127 offset: usize,
9128 _depth: fidl::encoding::Depth,
9129 ) -> fidl::Result<()> {
9130 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9131 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
9133 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9134 encoder,
9135 offset,
9136 _depth,
9137 )
9138 }
9139 }
9140 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
9141 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
9142 {
9143 #[inline]
9144 unsafe fn encode(
9145 self,
9146 encoder: &mut fidl::encoding::Encoder<'_, D>,
9147 offset: usize,
9148 depth: fidl::encoding::Depth,
9149 ) -> fidl::Result<()> {
9150 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9151 self.0.encode(encoder, offset + 0, depth)?;
9155 Ok(())
9156 }
9157 }
9158
9159 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
9160 #[inline(always)]
9161 fn new_empty() -> Self {
9162 Self { req: fidl::new_empty!(ScanRequest, D) }
9163 }
9164
9165 #[inline]
9166 unsafe fn decode(
9167 &mut self,
9168 decoder: &mut fidl::encoding::Decoder<'_, D>,
9169 offset: usize,
9170 _depth: fidl::encoding::Depth,
9171 ) -> fidl::Result<()> {
9172 decoder.debug_check_bounds::<Self>(offset);
9173 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9175 Ok(())
9176 }
9177 }
9178
9179 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
9180 type Borrowed<'a> = &'a Self;
9181 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9182 value
9183 }
9184 }
9185
9186 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
9187 type Owned = Self;
9188
9189 #[inline(always)]
9190 fn inline_align(_context: fidl::encoding::Context) -> usize {
9191 4
9192 }
9193
9194 #[inline(always)]
9195 fn inline_size(_context: fidl::encoding::Context) -> usize {
9196 4
9197 }
9198 }
9199
9200 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
9201 for &MlmeStopConfRequest
9202 {
9203 #[inline]
9204 unsafe fn encode(
9205 self,
9206 encoder: &mut fidl::encoding::Encoder<'_, D>,
9207 offset: usize,
9208 _depth: fidl::encoding::Depth,
9209 ) -> fidl::Result<()> {
9210 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9211 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
9213 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9214 encoder,
9215 offset,
9216 _depth,
9217 )
9218 }
9219 }
9220 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
9221 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
9222 {
9223 #[inline]
9224 unsafe fn encode(
9225 self,
9226 encoder: &mut fidl::encoding::Encoder<'_, D>,
9227 offset: usize,
9228 depth: fidl::encoding::Depth,
9229 ) -> fidl::Result<()> {
9230 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9231 self.0.encode(encoder, offset + 0, depth)?;
9235 Ok(())
9236 }
9237 }
9238
9239 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
9240 #[inline(always)]
9241 fn new_empty() -> Self {
9242 Self { resp: fidl::new_empty!(StopConfirm, D) }
9243 }
9244
9245 #[inline]
9246 unsafe fn decode(
9247 &mut self,
9248 decoder: &mut fidl::encoding::Decoder<'_, D>,
9249 offset: usize,
9250 _depth: fidl::encoding::Depth,
9251 ) -> fidl::Result<()> {
9252 decoder.debug_check_bounds::<Self>(offset);
9253 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9255 Ok(())
9256 }
9257 }
9258
9259 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
9260 type Borrowed<'a> = &'a Self;
9261 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9262 value
9263 }
9264 }
9265
9266 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
9267 type Owned = Self;
9268
9269 #[inline(always)]
9270 fn inline_align(_context: fidl::encoding::Context) -> usize {
9271 8
9272 }
9273
9274 #[inline(always)]
9275 fn inline_size(_context: fidl::encoding::Context) -> usize {
9276 16
9277 }
9278 }
9279
9280 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
9281 for &MlmeStopReqRequest
9282 {
9283 #[inline]
9284 unsafe fn encode(
9285 self,
9286 encoder: &mut fidl::encoding::Encoder<'_, D>,
9287 offset: usize,
9288 _depth: fidl::encoding::Depth,
9289 ) -> fidl::Result<()> {
9290 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9291 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
9293 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9294 encoder,
9295 offset,
9296 _depth,
9297 )
9298 }
9299 }
9300 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
9301 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
9302 {
9303 #[inline]
9304 unsafe fn encode(
9305 self,
9306 encoder: &mut fidl::encoding::Encoder<'_, D>,
9307 offset: usize,
9308 depth: fidl::encoding::Depth,
9309 ) -> fidl::Result<()> {
9310 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9311 self.0.encode(encoder, offset + 0, depth)?;
9315 Ok(())
9316 }
9317 }
9318
9319 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
9320 #[inline(always)]
9321 fn new_empty() -> Self {
9322 Self { req: fidl::new_empty!(StopRequest, D) }
9323 }
9324
9325 #[inline]
9326 unsafe fn decode(
9327 &mut self,
9328 decoder: &mut fidl::encoding::Decoder<'_, D>,
9329 offset: usize,
9330 _depth: fidl::encoding::Depth,
9331 ) -> fidl::Result<()> {
9332 decoder.debug_check_bounds::<Self>(offset);
9333 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9335 Ok(())
9336 }
9337 }
9338
9339 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
9340 type Borrowed<'a> = &'a Self;
9341 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9342 value
9343 }
9344 }
9345
9346 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
9347 type Owned = Self;
9348
9349 #[inline(always)]
9350 fn inline_align(_context: fidl::encoding::Context) -> usize {
9351 8
9352 }
9353
9354 #[inline(always)]
9355 fn inline_size(_context: fidl::encoding::Context) -> usize {
9356 56
9357 }
9358 }
9359
9360 unsafe impl<D: fidl::encoding::ResourceDialect>
9361 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
9362 {
9363 #[inline]
9364 unsafe fn encode(
9365 self,
9366 encoder: &mut fidl::encoding::Encoder<'_, D>,
9367 offset: usize,
9368 _depth: fidl::encoding::Depth,
9369 ) -> fidl::Result<()> {
9370 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9371 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
9373 (
9374 <fidl_fuchsia_wlan_ieee80211__common::WlanChannel as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
9375 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
9376 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
9377 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
9378 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
9379 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
9380 ),
9381 encoder, offset, _depth
9382 )
9383 }
9384 }
9385 unsafe impl<
9386 D: fidl::encoding::ResourceDialect,
9387 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D>,
9388 T1: fidl::encoding::Encode<u16, D>,
9389 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
9390 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
9391 T4: fidl::encoding::Encode<
9392 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9393 D,
9394 >,
9395 T5: fidl::encoding::Encode<
9396 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9397 D,
9398 >,
9399 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
9400 {
9401 #[inline]
9402 unsafe fn encode(
9403 self,
9404 encoder: &mut fidl::encoding::Encoder<'_, D>,
9405 offset: usize,
9406 depth: fidl::encoding::Depth,
9407 ) -> fidl::Result<()> {
9408 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9409 unsafe {
9412 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9413 (ptr as *mut u64).write_unaligned(0);
9414 }
9415 self.0.encode(encoder, offset + 0, depth)?;
9417 self.1.encode(encoder, offset + 12, depth)?;
9418 self.2.encode(encoder, offset + 16, depth)?;
9419 self.3.encode(encoder, offset + 32, depth)?;
9420 self.4.encode(encoder, offset + 40, depth)?;
9421 self.5.encode(encoder, offset + 48, depth)?;
9422 Ok(())
9423 }
9424 }
9425
9426 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9427 for NegotiatedCapabilities
9428 {
9429 #[inline(always)]
9430 fn new_empty() -> Self {
9431 Self {
9432 channel: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D),
9433 capability_info: fidl::new_empty!(u16, D),
9434 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
9435 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
9436 ht_cap: fidl::new_empty!(
9437 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9438 D
9439 ),
9440 vht_cap: fidl::new_empty!(
9441 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9442 D
9443 ),
9444 }
9445 }
9446
9447 #[inline]
9448 unsafe fn decode(
9449 &mut self,
9450 decoder: &mut fidl::encoding::Decoder<'_, D>,
9451 offset: usize,
9452 _depth: fidl::encoding::Depth,
9453 ) -> fidl::Result<()> {
9454 decoder.debug_check_bounds::<Self>(offset);
9455 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9457 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9458 let mask = 0xffff000000000000u64;
9459 let maskedval = padval & mask;
9460 if maskedval != 0 {
9461 return Err(fidl::Error::NonZeroPadding {
9462 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9463 });
9464 }
9465 fidl::decode!(
9466 fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
9467 D,
9468 &mut self.channel,
9469 decoder,
9470 offset + 0,
9471 _depth
9472 )?;
9473 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 12, _depth)?;
9474 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
9475 fidl::decode!(
9476 fidl::encoding::Boxed<WmmParameter>,
9477 D,
9478 &mut self.wmm_param,
9479 decoder,
9480 offset + 32,
9481 _depth
9482 )?;
9483 fidl::decode!(
9484 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9485 D,
9486 &mut self.ht_cap,
9487 decoder,
9488 offset + 40,
9489 _depth
9490 )?;
9491 fidl::decode!(
9492 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9493 D,
9494 &mut self.vht_cap,
9495 decoder,
9496 offset + 48,
9497 _depth
9498 )?;
9499 Ok(())
9500 }
9501 }
9502
9503 impl fidl::encoding::ValueTypeMarker for PmkInfo {
9504 type Borrowed<'a> = &'a Self;
9505 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9506 value
9507 }
9508 }
9509
9510 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
9511 type Owned = Self;
9512
9513 #[inline(always)]
9514 fn inline_align(_context: fidl::encoding::Context) -> usize {
9515 8
9516 }
9517
9518 #[inline(always)]
9519 fn inline_size(_context: fidl::encoding::Context) -> usize {
9520 32
9521 }
9522 }
9523
9524 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
9525 #[inline]
9526 unsafe fn encode(
9527 self,
9528 encoder: &mut fidl::encoding::Encoder<'_, D>,
9529 offset: usize,
9530 _depth: fidl::encoding::Depth,
9531 ) -> fidl::Result<()> {
9532 encoder.debug_check_bounds::<PmkInfo>(offset);
9533 fidl::encoding::Encode::<PmkInfo, D>::encode(
9535 (
9536 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
9537 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
9538 ),
9539 encoder, offset, _depth
9540 )
9541 }
9542 }
9543 unsafe impl<
9544 D: fidl::encoding::ResourceDialect,
9545 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9546 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9547 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
9548 {
9549 #[inline]
9550 unsafe fn encode(
9551 self,
9552 encoder: &mut fidl::encoding::Encoder<'_, D>,
9553 offset: usize,
9554 depth: fidl::encoding::Depth,
9555 ) -> fidl::Result<()> {
9556 encoder.debug_check_bounds::<PmkInfo>(offset);
9557 self.0.encode(encoder, offset + 0, depth)?;
9561 self.1.encode(encoder, offset + 16, depth)?;
9562 Ok(())
9563 }
9564 }
9565
9566 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
9567 #[inline(always)]
9568 fn new_empty() -> Self {
9569 Self {
9570 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9571 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9572 }
9573 }
9574
9575 #[inline]
9576 unsafe fn decode(
9577 &mut self,
9578 decoder: &mut fidl::encoding::Decoder<'_, D>,
9579 offset: usize,
9580 _depth: fidl::encoding::Depth,
9581 ) -> fidl::Result<()> {
9582 decoder.debug_check_bounds::<Self>(offset);
9583 fidl::decode!(
9585 fidl::encoding::UnboundedVector<u8>,
9586 D,
9587 &mut self.pmk,
9588 decoder,
9589 offset + 0,
9590 _depth
9591 )?;
9592 fidl::decode!(
9593 fidl::encoding::UnboundedVector<u8>,
9594 D,
9595 &mut self.pmkid,
9596 decoder,
9597 offset + 16,
9598 _depth
9599 )?;
9600 Ok(())
9601 }
9602 }
9603
9604 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
9605 type Borrowed<'a> = &'a Self;
9606 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9607 value
9608 }
9609 }
9610
9611 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
9612 type Owned = Self;
9613
9614 #[inline(always)]
9615 fn inline_align(_context: fidl::encoding::Context) -> usize {
9616 1
9617 }
9618
9619 #[inline(always)]
9620 fn inline_size(_context: fidl::encoding::Context) -> usize {
9621 6
9622 }
9623 #[inline(always)]
9624 fn encode_is_copy() -> bool {
9625 true
9626 }
9627
9628 #[inline(always)]
9629 fn decode_is_copy() -> bool {
9630 true
9631 }
9632 }
9633
9634 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
9635 for &ReconnectRequest
9636 {
9637 #[inline]
9638 unsafe fn encode(
9639 self,
9640 encoder: &mut fidl::encoding::Encoder<'_, D>,
9641 offset: usize,
9642 _depth: fidl::encoding::Depth,
9643 ) -> fidl::Result<()> {
9644 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9645 unsafe {
9646 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9648 (buf_ptr as *mut ReconnectRequest)
9649 .write_unaligned((self as *const ReconnectRequest).read());
9650 }
9653 Ok(())
9654 }
9655 }
9656 unsafe impl<
9657 D: fidl::encoding::ResourceDialect,
9658 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9659 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
9660 {
9661 #[inline]
9662 unsafe fn encode(
9663 self,
9664 encoder: &mut fidl::encoding::Encoder<'_, D>,
9665 offset: usize,
9666 depth: fidl::encoding::Depth,
9667 ) -> fidl::Result<()> {
9668 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9669 self.0.encode(encoder, offset + 0, depth)?;
9673 Ok(())
9674 }
9675 }
9676
9677 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
9678 #[inline(always)]
9679 fn new_empty() -> Self {
9680 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9681 }
9682
9683 #[inline]
9684 unsafe fn decode(
9685 &mut self,
9686 decoder: &mut fidl::encoding::Decoder<'_, D>,
9687 offset: usize,
9688 _depth: fidl::encoding::Depth,
9689 ) -> fidl::Result<()> {
9690 decoder.debug_check_bounds::<Self>(offset);
9691 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9692 unsafe {
9695 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9696 }
9697 Ok(())
9698 }
9699 }
9700
9701 impl fidl::encoding::ValueTypeMarker for ResetRequest {
9702 type Borrowed<'a> = &'a Self;
9703 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9704 value
9705 }
9706 }
9707
9708 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
9709 type Owned = Self;
9710
9711 #[inline(always)]
9712 fn inline_align(_context: fidl::encoding::Context) -> usize {
9713 1
9714 }
9715
9716 #[inline(always)]
9717 fn inline_size(_context: fidl::encoding::Context) -> usize {
9718 7
9719 }
9720 }
9721
9722 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
9723 for &ResetRequest
9724 {
9725 #[inline]
9726 unsafe fn encode(
9727 self,
9728 encoder: &mut fidl::encoding::Encoder<'_, D>,
9729 offset: usize,
9730 _depth: fidl::encoding::Depth,
9731 ) -> fidl::Result<()> {
9732 encoder.debug_check_bounds::<ResetRequest>(offset);
9733 fidl::encoding::Encode::<ResetRequest, D>::encode(
9735 (
9736 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
9737 &self.sta_address,
9738 ),
9739 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
9740 ),
9741 encoder,
9742 offset,
9743 _depth,
9744 )
9745 }
9746 }
9747 unsafe impl<
9748 D: fidl::encoding::ResourceDialect,
9749 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9750 T1: fidl::encoding::Encode<bool, D>,
9751 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
9752 {
9753 #[inline]
9754 unsafe fn encode(
9755 self,
9756 encoder: &mut fidl::encoding::Encoder<'_, D>,
9757 offset: usize,
9758 depth: fidl::encoding::Depth,
9759 ) -> fidl::Result<()> {
9760 encoder.debug_check_bounds::<ResetRequest>(offset);
9761 self.0.encode(encoder, offset + 0, depth)?;
9765 self.1.encode(encoder, offset + 6, depth)?;
9766 Ok(())
9767 }
9768 }
9769
9770 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
9771 #[inline(always)]
9772 fn new_empty() -> Self {
9773 Self {
9774 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9775 set_default_mib: fidl::new_empty!(bool, D),
9776 }
9777 }
9778
9779 #[inline]
9780 unsafe fn decode(
9781 &mut self,
9782 decoder: &mut fidl::encoding::Decoder<'_, D>,
9783 offset: usize,
9784 _depth: fidl::encoding::Depth,
9785 ) -> fidl::Result<()> {
9786 decoder.debug_check_bounds::<Self>(offset);
9787 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
9789 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
9790 Ok(())
9791 }
9792 }
9793
9794 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
9795 type Borrowed<'a> = &'a Self;
9796 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9797 value
9798 }
9799 }
9800
9801 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
9802 type Owned = Self;
9803
9804 #[inline(always)]
9805 fn inline_align(_context: fidl::encoding::Context) -> usize {
9806 8
9807 }
9808
9809 #[inline(always)]
9810 fn inline_size(_context: fidl::encoding::Context) -> usize {
9811 32
9812 }
9813 }
9814
9815 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
9816 for &RoamConfirm
9817 {
9818 #[inline]
9819 unsafe fn encode(
9820 self,
9821 encoder: &mut fidl::encoding::Encoder<'_, D>,
9822 offset: usize,
9823 _depth: fidl::encoding::Depth,
9824 ) -> fidl::Result<()> {
9825 encoder.debug_check_bounds::<RoamConfirm>(offset);
9826 fidl::encoding::Encode::<RoamConfirm, D>::encode(
9828 (
9829 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
9830 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
9831 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
9832 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
9833 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
9834 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
9835 ),
9836 encoder, offset, _depth
9837 )
9838 }
9839 }
9840 unsafe impl<
9841 D: fidl::encoding::ResourceDialect,
9842 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9843 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
9844 T2: fidl::encoding::Encode<bool, D>,
9845 T3: fidl::encoding::Encode<bool, D>,
9846 T4: fidl::encoding::Encode<u16, D>,
9847 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9848 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
9849 {
9850 #[inline]
9851 unsafe fn encode(
9852 self,
9853 encoder: &mut fidl::encoding::Encoder<'_, D>,
9854 offset: usize,
9855 depth: fidl::encoding::Depth,
9856 ) -> fidl::Result<()> {
9857 encoder.debug_check_bounds::<RoamConfirm>(offset);
9858 unsafe {
9861 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9862 (ptr as *mut u64).write_unaligned(0);
9863 }
9864 self.0.encode(encoder, offset + 0, depth)?;
9866 self.1.encode(encoder, offset + 6, depth)?;
9867 self.2.encode(encoder, offset + 8, depth)?;
9868 self.3.encode(encoder, offset + 9, depth)?;
9869 self.4.encode(encoder, offset + 10, depth)?;
9870 self.5.encode(encoder, offset + 16, depth)?;
9871 Ok(())
9872 }
9873 }
9874
9875 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
9876 #[inline(always)]
9877 fn new_empty() -> Self {
9878 Self {
9879 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9880 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
9881 original_association_maintained: fidl::new_empty!(bool, D),
9882 target_bss_authenticated: fidl::new_empty!(bool, D),
9883 association_id: fidl::new_empty!(u16, D),
9884 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9885 }
9886 }
9887
9888 #[inline]
9889 unsafe fn decode(
9890 &mut self,
9891 decoder: &mut fidl::encoding::Decoder<'_, D>,
9892 offset: usize,
9893 _depth: fidl::encoding::Depth,
9894 ) -> fidl::Result<()> {
9895 decoder.debug_check_bounds::<Self>(offset);
9896 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9898 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9899 let mask = 0xffffffff00000000u64;
9900 let maskedval = padval & mask;
9901 if maskedval != 0 {
9902 return Err(fidl::Error::NonZeroPadding {
9903 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9904 });
9905 }
9906 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
9907 fidl::decode!(
9908 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
9909 D,
9910 &mut self.status_code,
9911 decoder,
9912 offset + 6,
9913 _depth
9914 )?;
9915 fidl::decode!(
9916 bool,
9917 D,
9918 &mut self.original_association_maintained,
9919 decoder,
9920 offset + 8,
9921 _depth
9922 )?;
9923 fidl::decode!(
9924 bool,
9925 D,
9926 &mut self.target_bss_authenticated,
9927 decoder,
9928 offset + 9,
9929 _depth
9930 )?;
9931 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
9932 fidl::decode!(
9933 fidl::encoding::UnboundedVector<u8>,
9934 D,
9935 &mut self.association_ies,
9936 decoder,
9937 offset + 16,
9938 _depth
9939 )?;
9940 Ok(())
9941 }
9942 }
9943
9944 impl fidl::encoding::ValueTypeMarker for RoamRequest {
9945 type Borrowed<'a> = &'a Self;
9946 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9947 value
9948 }
9949 }
9950
9951 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
9952 type Owned = Self;
9953
9954 #[inline(always)]
9955 fn inline_align(_context: fidl::encoding::Context) -> usize {
9956 8
9957 }
9958
9959 #[inline(always)]
9960 fn inline_size(_context: fidl::encoding::Context) -> usize {
9961 48
9962 }
9963 }
9964
9965 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
9966 for &RoamRequest
9967 {
9968 #[inline]
9969 unsafe fn encode(
9970 self,
9971 encoder: &mut fidl::encoding::Encoder<'_, D>,
9972 offset: usize,
9973 _depth: fidl::encoding::Depth,
9974 ) -> fidl::Result<()> {
9975 encoder.debug_check_bounds::<RoamRequest>(offset);
9976 fidl::encoding::Encode::<RoamRequest, D>::encode(
9978 (
9979 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
9980 ),
9981 encoder, offset, _depth
9982 )
9983 }
9984 }
9985 unsafe impl<
9986 D: fidl::encoding::ResourceDialect,
9987 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
9988 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
9989 {
9990 #[inline]
9991 unsafe fn encode(
9992 self,
9993 encoder: &mut fidl::encoding::Encoder<'_, D>,
9994 offset: usize,
9995 depth: fidl::encoding::Depth,
9996 ) -> fidl::Result<()> {
9997 encoder.debug_check_bounds::<RoamRequest>(offset);
9998 self.0.encode(encoder, offset + 0, depth)?;
10002 Ok(())
10003 }
10004 }
10005
10006 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
10007 #[inline(always)]
10008 fn new_empty() -> Self {
10009 Self {
10010 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10011 }
10012 }
10013
10014 #[inline]
10015 unsafe fn decode(
10016 &mut self,
10017 decoder: &mut fidl::encoding::Decoder<'_, D>,
10018 offset: usize,
10019 _depth: fidl::encoding::Depth,
10020 ) -> fidl::Result<()> {
10021 decoder.debug_check_bounds::<Self>(offset);
10022 fidl::decode!(
10024 fidl_fuchsia_wlan_common__common::BssDescription,
10025 D,
10026 &mut self.selected_bss,
10027 decoder,
10028 offset + 0,
10029 _depth
10030 )?;
10031 Ok(())
10032 }
10033 }
10034
10035 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
10036 type Borrowed<'a> = &'a Self;
10037 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10038 value
10039 }
10040 }
10041
10042 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
10043 type Owned = Self;
10044
10045 #[inline(always)]
10046 fn inline_align(_context: fidl::encoding::Context) -> usize {
10047 8
10048 }
10049
10050 #[inline(always)]
10051 fn inline_size(_context: fidl::encoding::Context) -> usize {
10052 32
10053 }
10054 }
10055
10056 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
10057 for &RoamResultIndication
10058 {
10059 #[inline]
10060 unsafe fn encode(
10061 self,
10062 encoder: &mut fidl::encoding::Encoder<'_, D>,
10063 offset: usize,
10064 _depth: fidl::encoding::Depth,
10065 ) -> fidl::Result<()> {
10066 encoder.debug_check_bounds::<RoamResultIndication>(offset);
10067 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
10069 (
10070 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10071 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10072 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10073 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10074 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10075 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10076 ),
10077 encoder, offset, _depth
10078 )
10079 }
10080 }
10081 unsafe impl<
10082 D: fidl::encoding::ResourceDialect,
10083 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10084 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10085 T2: fidl::encoding::Encode<bool, D>,
10086 T3: fidl::encoding::Encode<bool, D>,
10087 T4: fidl::encoding::Encode<u16, D>,
10088 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10089 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
10090 {
10091 #[inline]
10092 unsafe fn encode(
10093 self,
10094 encoder: &mut fidl::encoding::Encoder<'_, D>,
10095 offset: usize,
10096 depth: fidl::encoding::Depth,
10097 ) -> fidl::Result<()> {
10098 encoder.debug_check_bounds::<RoamResultIndication>(offset);
10099 unsafe {
10102 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10103 (ptr as *mut u64).write_unaligned(0);
10104 }
10105 self.0.encode(encoder, offset + 0, depth)?;
10107 self.1.encode(encoder, offset + 6, depth)?;
10108 self.2.encode(encoder, offset + 8, depth)?;
10109 self.3.encode(encoder, offset + 9, depth)?;
10110 self.4.encode(encoder, offset + 10, depth)?;
10111 self.5.encode(encoder, offset + 16, depth)?;
10112 Ok(())
10113 }
10114 }
10115
10116 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
10117 #[inline(always)]
10118 fn new_empty() -> Self {
10119 Self {
10120 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10121 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10122 original_association_maintained: fidl::new_empty!(bool, D),
10123 target_bss_authenticated: fidl::new_empty!(bool, D),
10124 association_id: fidl::new_empty!(u16, D),
10125 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10126 }
10127 }
10128
10129 #[inline]
10130 unsafe fn decode(
10131 &mut self,
10132 decoder: &mut fidl::encoding::Decoder<'_, D>,
10133 offset: usize,
10134 _depth: fidl::encoding::Depth,
10135 ) -> fidl::Result<()> {
10136 decoder.debug_check_bounds::<Self>(offset);
10137 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10139 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10140 let mask = 0xffffffff00000000u64;
10141 let maskedval = padval & mask;
10142 if maskedval != 0 {
10143 return Err(fidl::Error::NonZeroPadding {
10144 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10145 });
10146 }
10147 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10148 fidl::decode!(
10149 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10150 D,
10151 &mut self.status_code,
10152 decoder,
10153 offset + 6,
10154 _depth
10155 )?;
10156 fidl::decode!(
10157 bool,
10158 D,
10159 &mut self.original_association_maintained,
10160 decoder,
10161 offset + 8,
10162 _depth
10163 )?;
10164 fidl::decode!(
10165 bool,
10166 D,
10167 &mut self.target_bss_authenticated,
10168 decoder,
10169 offset + 9,
10170 _depth
10171 )?;
10172 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10173 fidl::decode!(
10174 fidl::encoding::UnboundedVector<u8>,
10175 D,
10176 &mut self.association_ies,
10177 decoder,
10178 offset + 16,
10179 _depth
10180 )?;
10181 Ok(())
10182 }
10183 }
10184
10185 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
10186 type Borrowed<'a> = &'a Self;
10187 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10188 value
10189 }
10190 }
10191
10192 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
10193 type Owned = Self;
10194
10195 #[inline(always)]
10196 fn inline_align(_context: fidl::encoding::Context) -> usize {
10197 8
10198 }
10199
10200 #[inline(always)]
10201 fn inline_size(_context: fidl::encoding::Context) -> usize {
10202 64
10203 }
10204 }
10205
10206 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
10207 for &RoamStartIndication
10208 {
10209 #[inline]
10210 unsafe fn encode(
10211 self,
10212 encoder: &mut fidl::encoding::Encoder<'_, D>,
10213 offset: usize,
10214 _depth: fidl::encoding::Depth,
10215 ) -> fidl::Result<()> {
10216 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10217 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
10219 (
10220 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10221 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10222 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10223 ),
10224 encoder, offset, _depth
10225 )
10226 }
10227 }
10228 unsafe impl<
10229 D: fidl::encoding::ResourceDialect,
10230 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10231 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10232 T2: fidl::encoding::Encode<bool, D>,
10233 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
10234 {
10235 #[inline]
10236 unsafe fn encode(
10237 self,
10238 encoder: &mut fidl::encoding::Encoder<'_, D>,
10239 offset: usize,
10240 depth: fidl::encoding::Depth,
10241 ) -> fidl::Result<()> {
10242 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10243 unsafe {
10246 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10247 (ptr as *mut u64).write_unaligned(0);
10248 }
10249 unsafe {
10250 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10251 (ptr as *mut u64).write_unaligned(0);
10252 }
10253 self.0.encode(encoder, offset + 0, depth)?;
10255 self.1.encode(encoder, offset + 8, depth)?;
10256 self.2.encode(encoder, offset + 56, depth)?;
10257 Ok(())
10258 }
10259 }
10260
10261 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
10262 #[inline(always)]
10263 fn new_empty() -> Self {
10264 Self {
10265 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10266 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10267 original_association_maintained: fidl::new_empty!(bool, D),
10268 }
10269 }
10270
10271 #[inline]
10272 unsafe fn decode(
10273 &mut self,
10274 decoder: &mut fidl::encoding::Decoder<'_, D>,
10275 offset: usize,
10276 _depth: fidl::encoding::Depth,
10277 ) -> fidl::Result<()> {
10278 decoder.debug_check_bounds::<Self>(offset);
10279 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10281 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10282 let mask = 0xffff000000000000u64;
10283 let maskedval = padval & mask;
10284 if maskedval != 0 {
10285 return Err(fidl::Error::NonZeroPadding {
10286 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10287 });
10288 }
10289 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10290 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10291 let mask = 0xffffffffffffff00u64;
10292 let maskedval = padval & mask;
10293 if maskedval != 0 {
10294 return Err(fidl::Error::NonZeroPadding {
10295 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10296 });
10297 }
10298 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10299 fidl::decode!(
10300 fidl_fuchsia_wlan_common__common::BssDescription,
10301 D,
10302 &mut self.selected_bss,
10303 decoder,
10304 offset + 8,
10305 _depth
10306 )?;
10307 fidl::decode!(
10308 bool,
10309 D,
10310 &mut self.original_association_maintained,
10311 decoder,
10312 offset + 56,
10313 _depth
10314 )?;
10315 Ok(())
10316 }
10317 }
10318
10319 impl fidl::encoding::ValueTypeMarker for SaeFrame {
10320 type Borrowed<'a> = &'a Self;
10321 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10322 value
10323 }
10324 }
10325
10326 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
10327 type Owned = Self;
10328
10329 #[inline(always)]
10330 fn inline_align(_context: fidl::encoding::Context) -> usize {
10331 8
10332 }
10333
10334 #[inline(always)]
10335 fn inline_size(_context: fidl::encoding::Context) -> usize {
10336 32
10337 }
10338 }
10339
10340 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
10341 #[inline]
10342 unsafe fn encode(
10343 self,
10344 encoder: &mut fidl::encoding::Encoder<'_, D>,
10345 offset: usize,
10346 _depth: fidl::encoding::Depth,
10347 ) -> fidl::Result<()> {
10348 encoder.debug_check_bounds::<SaeFrame>(offset);
10349 fidl::encoding::Encode::<SaeFrame, D>::encode(
10351 (
10352 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10353 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10354 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
10355 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
10356 ),
10357 encoder, offset, _depth
10358 )
10359 }
10360 }
10361 unsafe impl<
10362 D: fidl::encoding::ResourceDialect,
10363 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10364 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10365 T2: fidl::encoding::Encode<u16, D>,
10366 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10367 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
10368 {
10369 #[inline]
10370 unsafe fn encode(
10371 self,
10372 encoder: &mut fidl::encoding::Encoder<'_, D>,
10373 offset: usize,
10374 depth: fidl::encoding::Depth,
10375 ) -> fidl::Result<()> {
10376 encoder.debug_check_bounds::<SaeFrame>(offset);
10377 unsafe {
10380 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10381 (ptr as *mut u64).write_unaligned(0);
10382 }
10383 self.0.encode(encoder, offset + 0, depth)?;
10385 self.1.encode(encoder, offset + 6, depth)?;
10386 self.2.encode(encoder, offset + 8, depth)?;
10387 self.3.encode(encoder, offset + 16, depth)?;
10388 Ok(())
10389 }
10390 }
10391
10392 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
10393 #[inline(always)]
10394 fn new_empty() -> Self {
10395 Self {
10396 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10397 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10398 seq_num: fidl::new_empty!(u16, D),
10399 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10400 }
10401 }
10402
10403 #[inline]
10404 unsafe fn decode(
10405 &mut self,
10406 decoder: &mut fidl::encoding::Decoder<'_, D>,
10407 offset: usize,
10408 _depth: fidl::encoding::Depth,
10409 ) -> fidl::Result<()> {
10410 decoder.debug_check_bounds::<Self>(offset);
10411 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10413 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10414 let mask = 0xffffffffffff0000u64;
10415 let maskedval = padval & mask;
10416 if maskedval != 0 {
10417 return Err(fidl::Error::NonZeroPadding {
10418 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10419 });
10420 }
10421 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10422 fidl::decode!(
10423 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10424 D,
10425 &mut self.status_code,
10426 decoder,
10427 offset + 6,
10428 _depth
10429 )?;
10430 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
10431 fidl::decode!(
10432 fidl::encoding::UnboundedVector<u8>,
10433 D,
10434 &mut self.sae_fields,
10435 decoder,
10436 offset + 16,
10437 _depth
10438 )?;
10439 Ok(())
10440 }
10441 }
10442
10443 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
10444 type Borrowed<'a> = &'a Self;
10445 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10446 value
10447 }
10448 }
10449
10450 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
10451 type Owned = Self;
10452
10453 #[inline(always)]
10454 fn inline_align(_context: fidl::encoding::Context) -> usize {
10455 1
10456 }
10457
10458 #[inline(always)]
10459 fn inline_size(_context: fidl::encoding::Context) -> usize {
10460 6
10461 }
10462 #[inline(always)]
10463 fn encode_is_copy() -> bool {
10464 true
10465 }
10466
10467 #[inline(always)]
10468 fn decode_is_copy() -> bool {
10469 true
10470 }
10471 }
10472
10473 unsafe impl<D: fidl::encoding::ResourceDialect>
10474 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
10475 {
10476 #[inline]
10477 unsafe fn encode(
10478 self,
10479 encoder: &mut fidl::encoding::Encoder<'_, D>,
10480 offset: usize,
10481 _depth: fidl::encoding::Depth,
10482 ) -> fidl::Result<()> {
10483 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10484 unsafe {
10485 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10487 (buf_ptr as *mut SaeHandshakeIndication)
10488 .write_unaligned((self as *const SaeHandshakeIndication).read());
10489 }
10492 Ok(())
10493 }
10494 }
10495 unsafe impl<
10496 D: fidl::encoding::ResourceDialect,
10497 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10498 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
10499 {
10500 #[inline]
10501 unsafe fn encode(
10502 self,
10503 encoder: &mut fidl::encoding::Encoder<'_, D>,
10504 offset: usize,
10505 depth: fidl::encoding::Depth,
10506 ) -> fidl::Result<()> {
10507 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10508 self.0.encode(encoder, offset + 0, depth)?;
10512 Ok(())
10513 }
10514 }
10515
10516 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10517 for SaeHandshakeIndication
10518 {
10519 #[inline(always)]
10520 fn new_empty() -> Self {
10521 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10522 }
10523
10524 #[inline]
10525 unsafe fn decode(
10526 &mut self,
10527 decoder: &mut fidl::encoding::Decoder<'_, D>,
10528 offset: usize,
10529 _depth: fidl::encoding::Depth,
10530 ) -> fidl::Result<()> {
10531 decoder.debug_check_bounds::<Self>(offset);
10532 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10533 unsafe {
10536 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10537 }
10538 Ok(())
10539 }
10540 }
10541
10542 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
10543 type Borrowed<'a> = &'a Self;
10544 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10545 value
10546 }
10547 }
10548
10549 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
10550 type Owned = Self;
10551
10552 #[inline(always)]
10553 fn inline_align(_context: fidl::encoding::Context) -> usize {
10554 2
10555 }
10556
10557 #[inline(always)]
10558 fn inline_size(_context: fidl::encoding::Context) -> usize {
10559 8
10560 }
10561 }
10562
10563 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
10564 for &SaeHandshakeResponse
10565 {
10566 #[inline]
10567 unsafe fn encode(
10568 self,
10569 encoder: &mut fidl::encoding::Encoder<'_, D>,
10570 offset: usize,
10571 _depth: fidl::encoding::Depth,
10572 ) -> fidl::Result<()> {
10573 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10574 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
10576 (
10577 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10578 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10579 ),
10580 encoder, offset, _depth
10581 )
10582 }
10583 }
10584 unsafe impl<
10585 D: fidl::encoding::ResourceDialect,
10586 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10587 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10588 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
10589 {
10590 #[inline]
10591 unsafe fn encode(
10592 self,
10593 encoder: &mut fidl::encoding::Encoder<'_, D>,
10594 offset: usize,
10595 depth: fidl::encoding::Depth,
10596 ) -> fidl::Result<()> {
10597 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10598 self.0.encode(encoder, offset + 0, depth)?;
10602 self.1.encode(encoder, offset + 6, depth)?;
10603 Ok(())
10604 }
10605 }
10606
10607 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
10608 #[inline(always)]
10609 fn new_empty() -> Self {
10610 Self {
10611 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10612 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10613 }
10614 }
10615
10616 #[inline]
10617 unsafe fn decode(
10618 &mut self,
10619 decoder: &mut fidl::encoding::Decoder<'_, D>,
10620 offset: usize,
10621 _depth: fidl::encoding::Depth,
10622 ) -> fidl::Result<()> {
10623 decoder.debug_check_bounds::<Self>(offset);
10624 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10626 fidl::decode!(
10627 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10628 D,
10629 &mut self.status_code,
10630 decoder,
10631 offset + 6,
10632 _depth
10633 )?;
10634 Ok(())
10635 }
10636 }
10637
10638 impl fidl::encoding::ValueTypeMarker for ScanEnd {
10639 type Borrowed<'a> = &'a Self;
10640 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10641 value
10642 }
10643 }
10644
10645 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
10646 type Owned = Self;
10647
10648 #[inline(always)]
10649 fn inline_align(_context: fidl::encoding::Context) -> usize {
10650 8
10651 }
10652
10653 #[inline(always)]
10654 fn inline_size(_context: fidl::encoding::Context) -> usize {
10655 16
10656 }
10657 }
10658
10659 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
10660 #[inline]
10661 unsafe fn encode(
10662 self,
10663 encoder: &mut fidl::encoding::Encoder<'_, D>,
10664 offset: usize,
10665 _depth: fidl::encoding::Depth,
10666 ) -> fidl::Result<()> {
10667 encoder.debug_check_bounds::<ScanEnd>(offset);
10668 fidl::encoding::Encode::<ScanEnd, D>::encode(
10670 (
10671 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10672 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
10673 ),
10674 encoder,
10675 offset,
10676 _depth,
10677 )
10678 }
10679 }
10680 unsafe impl<
10681 D: fidl::encoding::ResourceDialect,
10682 T0: fidl::encoding::Encode<u64, D>,
10683 T1: fidl::encoding::Encode<ScanResultCode, D>,
10684 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
10685 {
10686 #[inline]
10687 unsafe fn encode(
10688 self,
10689 encoder: &mut fidl::encoding::Encoder<'_, D>,
10690 offset: usize,
10691 depth: fidl::encoding::Depth,
10692 ) -> fidl::Result<()> {
10693 encoder.debug_check_bounds::<ScanEnd>(offset);
10694 unsafe {
10697 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10698 (ptr as *mut u64).write_unaligned(0);
10699 }
10700 self.0.encode(encoder, offset + 0, depth)?;
10702 self.1.encode(encoder, offset + 8, depth)?;
10703 Ok(())
10704 }
10705 }
10706
10707 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
10708 #[inline(always)]
10709 fn new_empty() -> Self {
10710 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
10711 }
10712
10713 #[inline]
10714 unsafe fn decode(
10715 &mut self,
10716 decoder: &mut fidl::encoding::Decoder<'_, D>,
10717 offset: usize,
10718 _depth: fidl::encoding::Depth,
10719 ) -> fidl::Result<()> {
10720 decoder.debug_check_bounds::<Self>(offset);
10721 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10723 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10724 let mask = 0xffffffff00000000u64;
10725 let maskedval = padval & mask;
10726 if maskedval != 0 {
10727 return Err(fidl::Error::NonZeroPadding {
10728 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10729 });
10730 }
10731 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10732 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
10733 Ok(())
10734 }
10735 }
10736
10737 impl fidl::encoding::ValueTypeMarker for ScanRequest {
10738 type Borrowed<'a> = &'a Self;
10739 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10740 value
10741 }
10742 }
10743
10744 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
10745 type Owned = Self;
10746
10747 #[inline(always)]
10748 fn inline_align(_context: fidl::encoding::Context) -> usize {
10749 8
10750 }
10751
10752 #[inline(always)]
10753 fn inline_size(_context: fidl::encoding::Context) -> usize {
10754 64
10755 }
10756 }
10757
10758 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
10759 for &ScanRequest
10760 {
10761 #[inline]
10762 unsafe fn encode(
10763 self,
10764 encoder: &mut fidl::encoding::Encoder<'_, D>,
10765 offset: usize,
10766 _depth: fidl::encoding::Depth,
10767 ) -> fidl::Result<()> {
10768 encoder.debug_check_bounds::<ScanRequest>(offset);
10769 fidl::encoding::Encode::<ScanRequest, D>::encode(
10771 (
10772 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10773 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
10774 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
10775 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
10776 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
10777 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
10778 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
10779 ),
10780 encoder, offset, _depth
10781 )
10782 }
10783 }
10784 unsafe impl<
10785 D: fidl::encoding::ResourceDialect,
10786 T0: fidl::encoding::Encode<u64, D>,
10787 T1: fidl::encoding::Encode<ScanTypes, D>,
10788 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
10789 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
10790 T4: fidl::encoding::Encode<u32, D>,
10791 T5: fidl::encoding::Encode<u32, D>,
10792 T6: fidl::encoding::Encode<u32, D>,
10793 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
10794 {
10795 #[inline]
10796 unsafe fn encode(
10797 self,
10798 encoder: &mut fidl::encoding::Encoder<'_, D>,
10799 offset: usize,
10800 depth: fidl::encoding::Depth,
10801 ) -> fidl::Result<()> {
10802 encoder.debug_check_bounds::<ScanRequest>(offset);
10803 unsafe {
10806 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10807 (ptr as *mut u64).write_unaligned(0);
10808 }
10809 unsafe {
10810 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10811 (ptr as *mut u64).write_unaligned(0);
10812 }
10813 self.0.encode(encoder, offset + 0, depth)?;
10815 self.1.encode(encoder, offset + 8, depth)?;
10816 self.2.encode(encoder, offset + 16, depth)?;
10817 self.3.encode(encoder, offset + 32, depth)?;
10818 self.4.encode(encoder, offset + 48, depth)?;
10819 self.5.encode(encoder, offset + 52, depth)?;
10820 self.6.encode(encoder, offset + 56, depth)?;
10821 Ok(())
10822 }
10823 }
10824
10825 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
10826 #[inline(always)]
10827 fn new_empty() -> Self {
10828 Self {
10829 txn_id: fidl::new_empty!(u64, D),
10830 scan_type: fidl::new_empty!(ScanTypes, D),
10831 channel_list: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
10832 ssid_list: fidl::new_empty!(
10833 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10834 D
10835 ),
10836 probe_delay: fidl::new_empty!(u32, D),
10837 min_channel_time: fidl::new_empty!(u32, D),
10838 max_channel_time: fidl::new_empty!(u32, D),
10839 }
10840 }
10841
10842 #[inline]
10843 unsafe fn decode(
10844 &mut self,
10845 decoder: &mut fidl::encoding::Decoder<'_, D>,
10846 offset: usize,
10847 _depth: fidl::encoding::Depth,
10848 ) -> fidl::Result<()> {
10849 decoder.debug_check_bounds::<Self>(offset);
10850 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10852 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10853 let mask = 0xffffffff00000000u64;
10854 let maskedval = padval & mask;
10855 if maskedval != 0 {
10856 return Err(fidl::Error::NonZeroPadding {
10857 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10858 });
10859 }
10860 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10861 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10862 let mask = 0xffffffff00000000u64;
10863 let maskedval = padval & mask;
10864 if maskedval != 0 {
10865 return Err(fidl::Error::NonZeroPadding {
10866 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10867 });
10868 }
10869 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10870 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
10871 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
10872 fidl::decode!(
10873 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10874 D,
10875 &mut self.ssid_list,
10876 decoder,
10877 offset + 32,
10878 _depth
10879 )?;
10880 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
10881 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
10882 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
10883 Ok(())
10884 }
10885 }
10886
10887 impl fidl::encoding::ValueTypeMarker for ScanResult {
10888 type Borrowed<'a> = &'a Self;
10889 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10890 value
10891 }
10892 }
10893
10894 unsafe impl fidl::encoding::TypeMarker for ScanResult {
10895 type Owned = Self;
10896
10897 #[inline(always)]
10898 fn inline_align(_context: fidl::encoding::Context) -> usize {
10899 8
10900 }
10901
10902 #[inline(always)]
10903 fn inline_size(_context: fidl::encoding::Context) -> usize {
10904 64
10905 }
10906 }
10907
10908 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
10909 for &ScanResult
10910 {
10911 #[inline]
10912 unsafe fn encode(
10913 self,
10914 encoder: &mut fidl::encoding::Encoder<'_, D>,
10915 offset: usize,
10916 _depth: fidl::encoding::Depth,
10917 ) -> fidl::Result<()> {
10918 encoder.debug_check_bounds::<ScanResult>(offset);
10919 fidl::encoding::Encode::<ScanResult, D>::encode(
10921 (
10922 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10923 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
10924 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
10925 ),
10926 encoder, offset, _depth
10927 )
10928 }
10929 }
10930 unsafe impl<
10931 D: fidl::encoding::ResourceDialect,
10932 T0: fidl::encoding::Encode<u64, D>,
10933 T1: fidl::encoding::Encode<i64, D>,
10934 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10935 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
10936 {
10937 #[inline]
10938 unsafe fn encode(
10939 self,
10940 encoder: &mut fidl::encoding::Encoder<'_, D>,
10941 offset: usize,
10942 depth: fidl::encoding::Depth,
10943 ) -> fidl::Result<()> {
10944 encoder.debug_check_bounds::<ScanResult>(offset);
10945 self.0.encode(encoder, offset + 0, depth)?;
10949 self.1.encode(encoder, offset + 8, depth)?;
10950 self.2.encode(encoder, offset + 16, depth)?;
10951 Ok(())
10952 }
10953 }
10954
10955 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
10956 #[inline(always)]
10957 fn new_empty() -> Self {
10958 Self {
10959 txn_id: fidl::new_empty!(u64, D),
10960 timestamp_nanos: fidl::new_empty!(i64, D),
10961 bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10962 }
10963 }
10964
10965 #[inline]
10966 unsafe fn decode(
10967 &mut self,
10968 decoder: &mut fidl::encoding::Decoder<'_, D>,
10969 offset: usize,
10970 _depth: fidl::encoding::Depth,
10971 ) -> fidl::Result<()> {
10972 decoder.debug_check_bounds::<Self>(offset);
10973 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10975 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
10976 fidl::decode!(
10977 fidl_fuchsia_wlan_common__common::BssDescription,
10978 D,
10979 &mut self.bss,
10980 decoder,
10981 offset + 16,
10982 _depth
10983 )?;
10984 Ok(())
10985 }
10986 }
10987
10988 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
10989 type Borrowed<'a> = &'a Self;
10990 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10991 value
10992 }
10993 }
10994
10995 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
10996 type Owned = Self;
10997
10998 #[inline(always)]
10999 fn inline_align(_context: fidl::encoding::Context) -> usize {
11000 4
11001 }
11002
11003 #[inline(always)]
11004 fn inline_size(_context: fidl::encoding::Context) -> usize {
11005 12
11006 }
11007 }
11008
11009 unsafe impl<D: fidl::encoding::ResourceDialect>
11010 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
11011 {
11012 #[inline]
11013 unsafe fn encode(
11014 self,
11015 encoder: &mut fidl::encoding::Encoder<'_, D>,
11016 offset: usize,
11017 _depth: fidl::encoding::Depth,
11018 ) -> fidl::Result<()> {
11019 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11020 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
11022 (
11023 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
11024 &self.peer_sta_address,
11025 ),
11026 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
11027 ),
11028 encoder,
11029 offset,
11030 _depth,
11031 )
11032 }
11033 }
11034 unsafe impl<
11035 D: fidl::encoding::ResourceDialect,
11036 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11037 T1: fidl::encoding::Encode<ControlledPortState, D>,
11038 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
11039 {
11040 #[inline]
11041 unsafe fn encode(
11042 self,
11043 encoder: &mut fidl::encoding::Encoder<'_, D>,
11044 offset: usize,
11045 depth: fidl::encoding::Depth,
11046 ) -> fidl::Result<()> {
11047 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11048 unsafe {
11051 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
11052 (ptr as *mut u32).write_unaligned(0);
11053 }
11054 self.0.encode(encoder, offset + 0, depth)?;
11056 self.1.encode(encoder, offset + 8, depth)?;
11057 Ok(())
11058 }
11059 }
11060
11061 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11062 for SetControlledPortRequest
11063 {
11064 #[inline(always)]
11065 fn new_empty() -> Self {
11066 Self {
11067 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11068 state: fidl::new_empty!(ControlledPortState, D),
11069 }
11070 }
11071
11072 #[inline]
11073 unsafe fn decode(
11074 &mut self,
11075 decoder: &mut fidl::encoding::Decoder<'_, D>,
11076 offset: usize,
11077 _depth: fidl::encoding::Depth,
11078 ) -> fidl::Result<()> {
11079 decoder.debug_check_bounds::<Self>(offset);
11080 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
11082 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11083 let mask = 0xffff0000u32;
11084 let maskedval = padval & mask;
11085 if maskedval != 0 {
11086 return Err(fidl::Error::NonZeroPadding {
11087 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
11088 });
11089 }
11090 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11091 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
11092 Ok(())
11093 }
11094 }
11095
11096 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
11097 type Borrowed<'a> = &'a Self;
11098 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11099 value
11100 }
11101 }
11102
11103 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
11104 type Owned = Self;
11105
11106 #[inline(always)]
11107 fn inline_align(_context: fidl::encoding::Context) -> usize {
11108 8
11109 }
11110
11111 #[inline(always)]
11112 fn inline_size(_context: fidl::encoding::Context) -> usize {
11113 48
11114 }
11115 }
11116
11117 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
11118 for &SetKeyDescriptor
11119 {
11120 #[inline]
11121 unsafe fn encode(
11122 self,
11123 encoder: &mut fidl::encoding::Encoder<'_, D>,
11124 offset: usize,
11125 _depth: fidl::encoding::Depth,
11126 ) -> fidl::Result<()> {
11127 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11128 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
11130 (
11131 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
11132 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
11133 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
11134 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
11135 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
11136 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
11137 <fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
11138 ),
11139 encoder, offset, _depth
11140 )
11141 }
11142 }
11143 unsafe impl<
11144 D: fidl::encoding::ResourceDialect,
11145 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11146 T1: fidl::encoding::Encode<u16, D>,
11147 T2: fidl::encoding::Encode<KeyType, D>,
11148 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11149 T4: fidl::encoding::Encode<u64, D>,
11150 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
11151 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType, D>,
11152 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
11153 {
11154 #[inline]
11155 unsafe fn encode(
11156 self,
11157 encoder: &mut fidl::encoding::Encoder<'_, D>,
11158 offset: usize,
11159 depth: fidl::encoding::Depth,
11160 ) -> fidl::Result<()> {
11161 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11162 unsafe {
11165 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
11166 (ptr as *mut u64).write_unaligned(0);
11167 }
11168 unsafe {
11169 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11170 (ptr as *mut u64).write_unaligned(0);
11171 }
11172 unsafe {
11173 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
11174 (ptr as *mut u64).write_unaligned(0);
11175 }
11176 self.0.encode(encoder, offset + 0, depth)?;
11178 self.1.encode(encoder, offset + 16, depth)?;
11179 self.2.encode(encoder, offset + 20, depth)?;
11180 self.3.encode(encoder, offset + 24, depth)?;
11181 self.4.encode(encoder, offset + 32, depth)?;
11182 self.5.encode(encoder, offset + 40, depth)?;
11183 self.6.encode(encoder, offset + 44, depth)?;
11184 Ok(())
11185 }
11186 }
11187
11188 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
11189 #[inline(always)]
11190 fn new_empty() -> Self {
11191 Self {
11192 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11193 key_id: fidl::new_empty!(u16, D),
11194 key_type: fidl::new_empty!(KeyType, D),
11195 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11196 rsc: fidl::new_empty!(u64, D),
11197 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
11198 cipher_suite_type: fidl::new_empty!(
11199 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11200 D
11201 ),
11202 }
11203 }
11204
11205 #[inline]
11206 unsafe fn decode(
11207 &mut self,
11208 decoder: &mut fidl::encoding::Decoder<'_, D>,
11209 offset: usize,
11210 _depth: fidl::encoding::Depth,
11211 ) -> fidl::Result<()> {
11212 decoder.debug_check_bounds::<Self>(offset);
11213 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
11215 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11216 let mask = 0xffff0000u64;
11217 let maskedval = padval & mask;
11218 if maskedval != 0 {
11219 return Err(fidl::Error::NonZeroPadding {
11220 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
11221 });
11222 }
11223 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11224 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11225 let mask = 0xffff000000000000u64;
11226 let maskedval = padval & mask;
11227 if maskedval != 0 {
11228 return Err(fidl::Error::NonZeroPadding {
11229 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11230 });
11231 }
11232 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
11233 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11234 let mask = 0xff000000u64;
11235 let maskedval = padval & mask;
11236 if maskedval != 0 {
11237 return Err(fidl::Error::NonZeroPadding {
11238 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
11239 });
11240 }
11241 fidl::decode!(
11242 fidl::encoding::UnboundedVector<u8>,
11243 D,
11244 &mut self.key,
11245 decoder,
11246 offset + 0,
11247 _depth
11248 )?;
11249 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
11250 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
11251 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
11252 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
11253 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
11254 fidl::decode!(
11255 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11256 D,
11257 &mut self.cipher_suite_type,
11258 decoder,
11259 offset + 44,
11260 _depth
11261 )?;
11262 Ok(())
11263 }
11264 }
11265
11266 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
11267 type Borrowed<'a> = &'a Self;
11268 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11269 value
11270 }
11271 }
11272
11273 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
11274 type Owned = Self;
11275
11276 #[inline(always)]
11277 fn inline_align(_context: fidl::encoding::Context) -> usize {
11278 4
11279 }
11280
11281 #[inline(always)]
11282 fn inline_size(_context: fidl::encoding::Context) -> usize {
11283 8
11284 }
11285 }
11286
11287 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
11288 for &SetKeyResult
11289 {
11290 #[inline]
11291 unsafe fn encode(
11292 self,
11293 encoder: &mut fidl::encoding::Encoder<'_, D>,
11294 offset: usize,
11295 _depth: fidl::encoding::Depth,
11296 ) -> fidl::Result<()> {
11297 encoder.debug_check_bounds::<SetKeyResult>(offset);
11298 unsafe {
11299 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11301 (buf_ptr as *mut SetKeyResult)
11302 .write_unaligned((self as *const SetKeyResult).read());
11303 let padding_ptr = buf_ptr.offset(0) as *mut u32;
11306 let padding_mask = 0xffff0000u32;
11307 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
11308 }
11309 Ok(())
11310 }
11311 }
11312 unsafe impl<
11313 D: fidl::encoding::ResourceDialect,
11314 T0: fidl::encoding::Encode<u16, D>,
11315 T1: fidl::encoding::Encode<i32, D>,
11316 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
11317 {
11318 #[inline]
11319 unsafe fn encode(
11320 self,
11321 encoder: &mut fidl::encoding::Encoder<'_, D>,
11322 offset: usize,
11323 depth: fidl::encoding::Depth,
11324 ) -> fidl::Result<()> {
11325 encoder.debug_check_bounds::<SetKeyResult>(offset);
11326 unsafe {
11329 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11330 (ptr as *mut u32).write_unaligned(0);
11331 }
11332 self.0.encode(encoder, offset + 0, depth)?;
11334 self.1.encode(encoder, offset + 4, depth)?;
11335 Ok(())
11336 }
11337 }
11338
11339 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
11340 #[inline(always)]
11341 fn new_empty() -> Self {
11342 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
11343 }
11344
11345 #[inline]
11346 unsafe fn decode(
11347 &mut self,
11348 decoder: &mut fidl::encoding::Decoder<'_, D>,
11349 offset: usize,
11350 _depth: fidl::encoding::Depth,
11351 ) -> fidl::Result<()> {
11352 decoder.debug_check_bounds::<Self>(offset);
11353 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11354 let ptr = unsafe { buf_ptr.offset(0) };
11356 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11357 let mask = 0xffff0000u32;
11358 let maskedval = padval & mask;
11359 if maskedval != 0 {
11360 return Err(fidl::Error::NonZeroPadding {
11361 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11362 });
11363 }
11364 unsafe {
11366 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
11367 }
11368 Ok(())
11369 }
11370 }
11371
11372 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
11373 type Borrowed<'a> = &'a Self;
11374 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11375 value
11376 }
11377 }
11378
11379 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
11380 type Owned = Self;
11381
11382 #[inline(always)]
11383 fn inline_align(_context: fidl::encoding::Context) -> usize {
11384 8
11385 }
11386
11387 #[inline(always)]
11388 fn inline_size(_context: fidl::encoding::Context) -> usize {
11389 16
11390 }
11391 }
11392
11393 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
11394 for &SetKeysConfirm
11395 {
11396 #[inline]
11397 unsafe fn encode(
11398 self,
11399 encoder: &mut fidl::encoding::Encoder<'_, D>,
11400 offset: usize,
11401 _depth: fidl::encoding::Depth,
11402 ) -> fidl::Result<()> {
11403 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11404 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
11406 (
11407 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
11408 ),
11409 encoder, offset, _depth
11410 )
11411 }
11412 }
11413 unsafe impl<
11414 D: fidl::encoding::ResourceDialect,
11415 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
11416 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
11417 {
11418 #[inline]
11419 unsafe fn encode(
11420 self,
11421 encoder: &mut fidl::encoding::Encoder<'_, D>,
11422 offset: usize,
11423 depth: fidl::encoding::Depth,
11424 ) -> fidl::Result<()> {
11425 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11426 self.0.encode(encoder, offset + 0, depth)?;
11430 Ok(())
11431 }
11432 }
11433
11434 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
11435 #[inline(always)]
11436 fn new_empty() -> Self {
11437 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
11438 }
11439
11440 #[inline]
11441 unsafe fn decode(
11442 &mut self,
11443 decoder: &mut fidl::encoding::Decoder<'_, D>,
11444 offset: usize,
11445 _depth: fidl::encoding::Depth,
11446 ) -> fidl::Result<()> {
11447 decoder.debug_check_bounds::<Self>(offset);
11448 fidl::decode!(
11450 fidl::encoding::UnboundedVector<SetKeyResult>,
11451 D,
11452 &mut self.results,
11453 decoder,
11454 offset + 0,
11455 _depth
11456 )?;
11457 Ok(())
11458 }
11459 }
11460
11461 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
11462 type Borrowed<'a> = &'a Self;
11463 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11464 value
11465 }
11466 }
11467
11468 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
11469 type Owned = Self;
11470
11471 #[inline(always)]
11472 fn inline_align(_context: fidl::encoding::Context) -> usize {
11473 8
11474 }
11475
11476 #[inline(always)]
11477 fn inline_size(_context: fidl::encoding::Context) -> usize {
11478 16
11479 }
11480 }
11481
11482 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
11483 for &SetKeysRequest
11484 {
11485 #[inline]
11486 unsafe fn encode(
11487 self,
11488 encoder: &mut fidl::encoding::Encoder<'_, D>,
11489 offset: usize,
11490 _depth: fidl::encoding::Depth,
11491 ) -> fidl::Result<()> {
11492 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11493 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
11495 (
11496 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
11497 ),
11498 encoder, offset, _depth
11499 )
11500 }
11501 }
11502 unsafe impl<
11503 D: fidl::encoding::ResourceDialect,
11504 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
11505 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
11506 {
11507 #[inline]
11508 unsafe fn encode(
11509 self,
11510 encoder: &mut fidl::encoding::Encoder<'_, D>,
11511 offset: usize,
11512 depth: fidl::encoding::Depth,
11513 ) -> fidl::Result<()> {
11514 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11515 self.0.encode(encoder, offset + 0, depth)?;
11519 Ok(())
11520 }
11521 }
11522
11523 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
11524 #[inline(always)]
11525 fn new_empty() -> Self {
11526 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
11527 }
11528
11529 #[inline]
11530 unsafe fn decode(
11531 &mut self,
11532 decoder: &mut fidl::encoding::Decoder<'_, D>,
11533 offset: usize,
11534 _depth: fidl::encoding::Depth,
11535 ) -> fidl::Result<()> {
11536 decoder.debug_check_bounds::<Self>(offset);
11537 fidl::decode!(
11539 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
11540 D,
11541 &mut self.keylist,
11542 decoder,
11543 offset + 0,
11544 _depth
11545 )?;
11546 Ok(())
11547 }
11548 }
11549
11550 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
11551 type Borrowed<'a> = &'a Self;
11552 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11553 value
11554 }
11555 }
11556
11557 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
11558 type Owned = Self;
11559
11560 #[inline(always)]
11561 fn inline_align(_context: fidl::encoding::Context) -> usize {
11562 4
11563 }
11564
11565 #[inline(always)]
11566 fn inline_size(_context: fidl::encoding::Context) -> usize {
11567 4
11568 }
11569 }
11570
11571 unsafe impl<D: fidl::encoding::ResourceDialect>
11572 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
11573 {
11574 #[inline]
11575 unsafe fn encode(
11576 self,
11577 encoder: &mut fidl::encoding::Encoder<'_, D>,
11578 offset: usize,
11579 _depth: fidl::encoding::Depth,
11580 ) -> fidl::Result<()> {
11581 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11582 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
11584 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11585 &self.mgmt_frame_flags,
11586 ),),
11587 encoder,
11588 offset,
11589 _depth,
11590 )
11591 }
11592 }
11593 unsafe impl<
11594 D: fidl::encoding::ResourceDialect,
11595 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11596 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
11597 {
11598 #[inline]
11599 unsafe fn encode(
11600 self,
11601 encoder: &mut fidl::encoding::Encoder<'_, D>,
11602 offset: usize,
11603 depth: fidl::encoding::Depth,
11604 ) -> fidl::Result<()> {
11605 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11606 self.0.encode(encoder, offset + 0, depth)?;
11610 Ok(())
11611 }
11612 }
11613
11614 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11615 for StartCaptureFramesRequest
11616 {
11617 #[inline(always)]
11618 fn new_empty() -> Self {
11619 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
11620 }
11621
11622 #[inline]
11623 unsafe fn decode(
11624 &mut self,
11625 decoder: &mut fidl::encoding::Decoder<'_, D>,
11626 offset: usize,
11627 _depth: fidl::encoding::Depth,
11628 ) -> fidl::Result<()> {
11629 decoder.debug_check_bounds::<Self>(offset);
11630 fidl::decode!(
11632 MgmtFrameCaptureFlags,
11633 D,
11634 &mut self.mgmt_frame_flags,
11635 decoder,
11636 offset + 0,
11637 _depth
11638 )?;
11639 Ok(())
11640 }
11641 }
11642
11643 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
11644 type Borrowed<'a> = &'a Self;
11645 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11646 value
11647 }
11648 }
11649
11650 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
11651 type Owned = Self;
11652
11653 #[inline(always)]
11654 fn inline_align(_context: fidl::encoding::Context) -> usize {
11655 4
11656 }
11657
11658 #[inline(always)]
11659 fn inline_size(_context: fidl::encoding::Context) -> usize {
11660 8
11661 }
11662 }
11663
11664 unsafe impl<D: fidl::encoding::ResourceDialect>
11665 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
11666 {
11667 #[inline]
11668 unsafe fn encode(
11669 self,
11670 encoder: &mut fidl::encoding::Encoder<'_, D>,
11671 offset: usize,
11672 _depth: fidl::encoding::Depth,
11673 ) -> fidl::Result<()> {
11674 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11675 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
11677 (
11678 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
11679 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11680 &self.supported_mgmt_frames,
11681 ),
11682 ),
11683 encoder,
11684 offset,
11685 _depth,
11686 )
11687 }
11688 }
11689 unsafe impl<
11690 D: fidl::encoding::ResourceDialect,
11691 T0: fidl::encoding::Encode<i32, D>,
11692 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11693 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
11694 {
11695 #[inline]
11696 unsafe fn encode(
11697 self,
11698 encoder: &mut fidl::encoding::Encoder<'_, D>,
11699 offset: usize,
11700 depth: fidl::encoding::Depth,
11701 ) -> fidl::Result<()> {
11702 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11703 self.0.encode(encoder, offset + 0, depth)?;
11707 self.1.encode(encoder, offset + 4, depth)?;
11708 Ok(())
11709 }
11710 }
11711
11712 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11713 for StartCaptureFramesResponse
11714 {
11715 #[inline(always)]
11716 fn new_empty() -> Self {
11717 Self {
11718 status: fidl::new_empty!(i32, D),
11719 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
11720 }
11721 }
11722
11723 #[inline]
11724 unsafe fn decode(
11725 &mut self,
11726 decoder: &mut fidl::encoding::Decoder<'_, D>,
11727 offset: usize,
11728 _depth: fidl::encoding::Depth,
11729 ) -> fidl::Result<()> {
11730 decoder.debug_check_bounds::<Self>(offset);
11731 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
11733 fidl::decode!(
11734 MgmtFrameCaptureFlags,
11735 D,
11736 &mut self.supported_mgmt_frames,
11737 decoder,
11738 offset + 4,
11739 _depth
11740 )?;
11741 Ok(())
11742 }
11743 }
11744
11745 impl fidl::encoding::ValueTypeMarker for StartConfirm {
11746 type Borrowed<'a> = &'a Self;
11747 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11748 value
11749 }
11750 }
11751
11752 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
11753 type Owned = Self;
11754
11755 #[inline(always)]
11756 fn inline_align(_context: fidl::encoding::Context) -> usize {
11757 4
11758 }
11759
11760 #[inline(always)]
11761 fn inline_size(_context: fidl::encoding::Context) -> usize {
11762 4
11763 }
11764 }
11765
11766 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
11767 for &StartConfirm
11768 {
11769 #[inline]
11770 unsafe fn encode(
11771 self,
11772 encoder: &mut fidl::encoding::Encoder<'_, D>,
11773 offset: usize,
11774 _depth: fidl::encoding::Depth,
11775 ) -> fidl::Result<()> {
11776 encoder.debug_check_bounds::<StartConfirm>(offset);
11777 fidl::encoding::Encode::<StartConfirm, D>::encode(
11779 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
11780 encoder,
11781 offset,
11782 _depth,
11783 )
11784 }
11785 }
11786 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
11787 fidl::encoding::Encode<StartConfirm, D> for (T0,)
11788 {
11789 #[inline]
11790 unsafe fn encode(
11791 self,
11792 encoder: &mut fidl::encoding::Encoder<'_, D>,
11793 offset: usize,
11794 depth: fidl::encoding::Depth,
11795 ) -> fidl::Result<()> {
11796 encoder.debug_check_bounds::<StartConfirm>(offset);
11797 self.0.encode(encoder, offset + 0, depth)?;
11801 Ok(())
11802 }
11803 }
11804
11805 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
11806 #[inline(always)]
11807 fn new_empty() -> Self {
11808 Self { result_code: fidl::new_empty!(StartResultCode, D) }
11809 }
11810
11811 #[inline]
11812 unsafe fn decode(
11813 &mut self,
11814 decoder: &mut fidl::encoding::Decoder<'_, D>,
11815 offset: usize,
11816 _depth: fidl::encoding::Depth,
11817 ) -> fidl::Result<()> {
11818 decoder.debug_check_bounds::<Self>(offset);
11819 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
11821 Ok(())
11822 }
11823 }
11824
11825 impl fidl::encoding::ValueTypeMarker for StartRequest {
11826 type Borrowed<'a> = &'a Self;
11827 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11828 value
11829 }
11830 }
11831
11832 unsafe impl fidl::encoding::TypeMarker for StartRequest {
11833 type Owned = Self;
11834
11835 #[inline(always)]
11836 fn inline_align(_context: fidl::encoding::Context) -> usize {
11837 8
11838 }
11839
11840 #[inline(always)]
11841 fn inline_size(_context: fidl::encoding::Context) -> usize {
11842 96
11843 }
11844 }
11845
11846 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
11847 for &StartRequest
11848 {
11849 #[inline]
11850 unsafe fn encode(
11851 self,
11852 encoder: &mut fidl::encoding::Encoder<'_, D>,
11853 offset: usize,
11854 _depth: fidl::encoding::Depth,
11855 ) -> fidl::Result<()> {
11856 encoder.debug_check_bounds::<StartRequest>(offset);
11857 fidl::encoding::Encode::<StartRequest, D>::encode(
11859 (
11860 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
11861 <fidl_fuchsia_wlan_common__common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
11862 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
11863 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
11864 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
11865 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
11866 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
11867 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
11868 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
11869 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
11870 <fidl_fuchsia_wlan_common__common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
11871 <fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_bandwidth),
11872 ),
11873 encoder, offset, _depth
11874 )
11875 }
11876 }
11877 unsafe impl<
11878 D: fidl::encoding::ResourceDialect,
11879 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11880 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssType, D>,
11881 T2: fidl::encoding::Encode<u16, D>,
11882 T3: fidl::encoding::Encode<u8, D>,
11883 T4: fidl::encoding::Encode<u8, D>,
11884 T5: fidl::encoding::Encode<u16, D>,
11885 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
11886 T7: fidl::encoding::Encode<Country, D>,
11887 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11888 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
11889 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanPhyType, D>,
11890 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth, D>,
11891 > fidl::encoding::Encode<StartRequest, D>
11892 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
11893 {
11894 #[inline]
11895 unsafe fn encode(
11896 self,
11897 encoder: &mut fidl::encoding::Encoder<'_, D>,
11898 offset: usize,
11899 depth: fidl::encoding::Depth,
11900 ) -> fidl::Result<()> {
11901 encoder.debug_check_bounds::<StartRequest>(offset);
11902 unsafe {
11905 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11906 (ptr as *mut u64).write_unaligned(0);
11907 }
11908 unsafe {
11909 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
11910 (ptr as *mut u64).write_unaligned(0);
11911 }
11912 self.0.encode(encoder, offset + 0, depth)?;
11914 self.1.encode(encoder, offset + 16, depth)?;
11915 self.2.encode(encoder, offset + 20, depth)?;
11916 self.3.encode(encoder, offset + 22, depth)?;
11917 self.4.encode(encoder, offset + 23, depth)?;
11918 self.5.encode(encoder, offset + 24, depth)?;
11919 self.6.encode(encoder, offset + 32, depth)?;
11920 self.7.encode(encoder, offset + 48, depth)?;
11921 self.8.encode(encoder, offset + 56, depth)?;
11922 self.9.encode(encoder, offset + 72, depth)?;
11923 self.10.encode(encoder, offset + 88, depth)?;
11924 self.11.encode(encoder, offset + 92, depth)?;
11925 Ok(())
11926 }
11927 }
11928
11929 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
11930 #[inline(always)]
11931 fn new_empty() -> Self {
11932 Self {
11933 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11934 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssType, D),
11935 beacon_period: fidl::new_empty!(u16, D),
11936 dtim_period: fidl::new_empty!(u8, D),
11937 channel: fidl::new_empty!(u8, D),
11938 capability_info: fidl::new_empty!(u16, D),
11939 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
11940 country: fidl::new_empty!(Country, D),
11941 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11942 rsne: fidl::new_empty!(
11943 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11944 D
11945 ),
11946 phy: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanPhyType, D),
11947 channel_bandwidth: fidl::new_empty!(
11948 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
11949 D
11950 ),
11951 }
11952 }
11953
11954 #[inline]
11955 unsafe fn decode(
11956 &mut self,
11957 decoder: &mut fidl::encoding::Decoder<'_, D>,
11958 offset: usize,
11959 _depth: fidl::encoding::Depth,
11960 ) -> fidl::Result<()> {
11961 decoder.debug_check_bounds::<Self>(offset);
11962 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11964 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11965 let mask = 0xffffffffffff0000u64;
11966 let maskedval = padval & mask;
11967 if maskedval != 0 {
11968 return Err(fidl::Error::NonZeroPadding {
11969 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11970 });
11971 }
11972 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
11973 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11974 let mask = 0xffffffffff000000u64;
11975 let maskedval = padval & mask;
11976 if maskedval != 0 {
11977 return Err(fidl::Error::NonZeroPadding {
11978 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
11979 });
11980 }
11981 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
11982 fidl::decode!(
11983 fidl_fuchsia_wlan_common__common::BssType,
11984 D,
11985 &mut self.bss_type,
11986 decoder,
11987 offset + 16,
11988 _depth
11989 )?;
11990 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
11991 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
11992 fidl::decode!(u8, D, &mut self.channel, decoder, offset + 23, _depth)?;
11993 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 24, _depth)?;
11994 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
11995 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
11996 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
11997 fidl::decode!(
11998 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11999 D,
12000 &mut self.rsne,
12001 decoder,
12002 offset + 72,
12003 _depth
12004 )?;
12005 fidl::decode!(
12006 fidl_fuchsia_wlan_common__common::WlanPhyType,
12007 D,
12008 &mut self.phy,
12009 decoder,
12010 offset + 88,
12011 _depth
12012 )?;
12013 fidl::decode!(
12014 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
12015 D,
12016 &mut self.channel_bandwidth,
12017 decoder,
12018 offset + 92,
12019 _depth
12020 )?;
12021 Ok(())
12022 }
12023 }
12024
12025 impl fidl::encoding::ValueTypeMarker for StopConfirm {
12026 type Borrowed<'a> = &'a Self;
12027 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12028 value
12029 }
12030 }
12031
12032 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
12033 type Owned = Self;
12034
12035 #[inline(always)]
12036 fn inline_align(_context: fidl::encoding::Context) -> usize {
12037 4
12038 }
12039
12040 #[inline(always)]
12041 fn inline_size(_context: fidl::encoding::Context) -> usize {
12042 4
12043 }
12044 }
12045
12046 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
12047 for &StopConfirm
12048 {
12049 #[inline]
12050 unsafe fn encode(
12051 self,
12052 encoder: &mut fidl::encoding::Encoder<'_, D>,
12053 offset: usize,
12054 _depth: fidl::encoding::Depth,
12055 ) -> fidl::Result<()> {
12056 encoder.debug_check_bounds::<StopConfirm>(offset);
12057 fidl::encoding::Encode::<StopConfirm, D>::encode(
12059 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12060 encoder,
12061 offset,
12062 _depth,
12063 )
12064 }
12065 }
12066 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
12067 fidl::encoding::Encode<StopConfirm, D> for (T0,)
12068 {
12069 #[inline]
12070 unsafe fn encode(
12071 self,
12072 encoder: &mut fidl::encoding::Encoder<'_, D>,
12073 offset: usize,
12074 depth: fidl::encoding::Depth,
12075 ) -> fidl::Result<()> {
12076 encoder.debug_check_bounds::<StopConfirm>(offset);
12077 self.0.encode(encoder, offset + 0, depth)?;
12081 Ok(())
12082 }
12083 }
12084
12085 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
12086 #[inline(always)]
12087 fn new_empty() -> Self {
12088 Self { result_code: fidl::new_empty!(StopResultCode, D) }
12089 }
12090
12091 #[inline]
12092 unsafe fn decode(
12093 &mut self,
12094 decoder: &mut fidl::encoding::Decoder<'_, D>,
12095 offset: usize,
12096 _depth: fidl::encoding::Depth,
12097 ) -> fidl::Result<()> {
12098 decoder.debug_check_bounds::<Self>(offset);
12099 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12101 Ok(())
12102 }
12103 }
12104
12105 impl fidl::encoding::ValueTypeMarker for StopRequest {
12106 type Borrowed<'a> = &'a Self;
12107 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12108 value
12109 }
12110 }
12111
12112 unsafe impl fidl::encoding::TypeMarker for StopRequest {
12113 type Owned = Self;
12114
12115 #[inline(always)]
12116 fn inline_align(_context: fidl::encoding::Context) -> usize {
12117 8
12118 }
12119
12120 #[inline(always)]
12121 fn inline_size(_context: fidl::encoding::Context) -> usize {
12122 16
12123 }
12124 }
12125
12126 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
12127 for &StopRequest
12128 {
12129 #[inline]
12130 unsafe fn encode(
12131 self,
12132 encoder: &mut fidl::encoding::Encoder<'_, D>,
12133 offset: usize,
12134 _depth: fidl::encoding::Depth,
12135 ) -> fidl::Result<()> {
12136 encoder.debug_check_bounds::<StopRequest>(offset);
12137 fidl::encoding::Encode::<StopRequest, D>::encode(
12139 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
12140 &self.ssid,
12141 ),),
12142 encoder,
12143 offset,
12144 _depth,
12145 )
12146 }
12147 }
12148 unsafe impl<
12149 D: fidl::encoding::ResourceDialect,
12150 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12151 > fidl::encoding::Encode<StopRequest, D> for (T0,)
12152 {
12153 #[inline]
12154 unsafe fn encode(
12155 self,
12156 encoder: &mut fidl::encoding::Encoder<'_, D>,
12157 offset: usize,
12158 depth: fidl::encoding::Depth,
12159 ) -> fidl::Result<()> {
12160 encoder.debug_check_bounds::<StopRequest>(offset);
12161 self.0.encode(encoder, offset + 0, depth)?;
12165 Ok(())
12166 }
12167 }
12168
12169 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
12170 #[inline(always)]
12171 fn new_empty() -> Self {
12172 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
12173 }
12174
12175 #[inline]
12176 unsafe fn decode(
12177 &mut self,
12178 decoder: &mut fidl::encoding::Decoder<'_, D>,
12179 offset: usize,
12180 _depth: fidl::encoding::Depth,
12181 ) -> fidl::Result<()> {
12182 decoder.debug_check_bounds::<Self>(offset);
12183 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12185 Ok(())
12186 }
12187 }
12188
12189 impl fidl::encoding::ValueTypeMarker for WmmParameter {
12190 type Borrowed<'a> = &'a Self;
12191 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12192 value
12193 }
12194 }
12195
12196 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
12197 type Owned = Self;
12198
12199 #[inline(always)]
12200 fn inline_align(_context: fidl::encoding::Context) -> usize {
12201 1
12202 }
12203
12204 #[inline(always)]
12205 fn inline_size(_context: fidl::encoding::Context) -> usize {
12206 18
12207 }
12208 #[inline(always)]
12209 fn encode_is_copy() -> bool {
12210 true
12211 }
12212
12213 #[inline(always)]
12214 fn decode_is_copy() -> bool {
12215 true
12216 }
12217 }
12218
12219 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
12220 for &WmmParameter
12221 {
12222 #[inline]
12223 unsafe fn encode(
12224 self,
12225 encoder: &mut fidl::encoding::Encoder<'_, D>,
12226 offset: usize,
12227 _depth: fidl::encoding::Depth,
12228 ) -> fidl::Result<()> {
12229 encoder.debug_check_bounds::<WmmParameter>(offset);
12230 unsafe {
12231 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12233 (buf_ptr as *mut WmmParameter)
12234 .write_unaligned((self as *const WmmParameter).read());
12235 }
12238 Ok(())
12239 }
12240 }
12241 unsafe impl<
12242 D: fidl::encoding::ResourceDialect,
12243 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
12244 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
12245 {
12246 #[inline]
12247 unsafe fn encode(
12248 self,
12249 encoder: &mut fidl::encoding::Encoder<'_, D>,
12250 offset: usize,
12251 depth: fidl::encoding::Depth,
12252 ) -> fidl::Result<()> {
12253 encoder.debug_check_bounds::<WmmParameter>(offset);
12254 self.0.encode(encoder, offset + 0, depth)?;
12258 Ok(())
12259 }
12260 }
12261
12262 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
12263 #[inline(always)]
12264 fn new_empty() -> Self {
12265 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
12266 }
12267
12268 #[inline]
12269 unsafe fn decode(
12270 &mut self,
12271 decoder: &mut fidl::encoding::Decoder<'_, D>,
12272 offset: usize,
12273 _depth: fidl::encoding::Depth,
12274 ) -> fidl::Result<()> {
12275 decoder.debug_check_bounds::<Self>(offset);
12276 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12277 unsafe {
12280 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
12281 }
12282 Ok(())
12283 }
12284 }
12285
12286 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
12287 type Borrowed<'a> = &'a Self;
12288 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12289 value
12290 }
12291 }
12292
12293 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
12294 type Owned = Self;
12295
12296 #[inline(always)]
12297 fn inline_align(_context: fidl::encoding::Context) -> usize {
12298 8
12299 }
12300
12301 #[inline(always)]
12302 fn inline_size(_context: fidl::encoding::Context) -> usize {
12303 16
12304 }
12305 }
12306
12307 unsafe impl<D: fidl::encoding::ResourceDialect>
12308 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
12309 for &GetIfaceHistogramStatsResponse
12310 {
12311 #[inline]
12312 unsafe fn encode(
12313 self,
12314 encoder: &mut fidl::encoding::Encoder<'_, D>,
12315 offset: usize,
12316 _depth: fidl::encoding::Depth,
12317 ) -> fidl::Result<()> {
12318 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
12319 encoder.write_num::<u64>(self.ordinal(), offset);
12320 match self {
12321 GetIfaceHistogramStatsResponse::Stats(ref val) => {
12322 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
12323 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12324 encoder, offset + 8, _depth
12325 )
12326 }
12327 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
12328 fidl::encoding::encode_in_envelope::<i32, D>(
12329 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12330 encoder, offset + 8, _depth
12331 )
12332 }
12333 }
12334 }
12335 }
12336
12337 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12338 for GetIfaceHistogramStatsResponse
12339 {
12340 #[inline(always)]
12341 fn new_empty() -> Self {
12342 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
12343 }
12344
12345 #[inline]
12346 unsafe fn decode(
12347 &mut self,
12348 decoder: &mut fidl::encoding::Decoder<'_, D>,
12349 offset: usize,
12350 mut depth: fidl::encoding::Depth,
12351 ) -> fidl::Result<()> {
12352 decoder.debug_check_bounds::<Self>(offset);
12353 #[allow(unused_variables)]
12354 let next_out_of_line = decoder.next_out_of_line();
12355 let handles_before = decoder.remaining_handles();
12356 let (ordinal, inlined, num_bytes, num_handles) =
12357 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12358
12359 let member_inline_size = match ordinal {
12360 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12361 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12362 _ => return Err(fidl::Error::UnknownUnionTag),
12363 };
12364
12365 if inlined != (member_inline_size <= 4) {
12366 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12367 }
12368 let _inner_offset;
12369 if inlined {
12370 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12371 _inner_offset = offset + 8;
12372 } else {
12373 depth.increment()?;
12374 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12375 }
12376 match ordinal {
12377 1 => {
12378 #[allow(irrefutable_let_patterns)]
12379 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
12380 } else {
12382 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
12384 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12385 D
12386 ));
12387 }
12388 #[allow(irrefutable_let_patterns)]
12389 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
12390 fidl::decode!(
12391 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12392 D,
12393 val,
12394 decoder,
12395 _inner_offset,
12396 depth
12397 )?;
12398 } else {
12399 unreachable!()
12400 }
12401 }
12402 2 => {
12403 #[allow(irrefutable_let_patterns)]
12404 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
12405 } else {
12407 *self =
12409 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12410 }
12411 #[allow(irrefutable_let_patterns)]
12412 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
12413 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12414 } else {
12415 unreachable!()
12416 }
12417 }
12418 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12419 }
12420 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12421 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12422 }
12423 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12424 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12425 }
12426 Ok(())
12427 }
12428 }
12429
12430 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
12431 type Borrowed<'a> = &'a Self;
12432 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12433 value
12434 }
12435 }
12436
12437 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
12438 type Owned = Self;
12439
12440 #[inline(always)]
12441 fn inline_align(_context: fidl::encoding::Context) -> usize {
12442 8
12443 }
12444
12445 #[inline(always)]
12446 fn inline_size(_context: fidl::encoding::Context) -> usize {
12447 16
12448 }
12449 }
12450
12451 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
12452 for &GetIfaceStatsResponse
12453 {
12454 #[inline]
12455 unsafe fn encode(
12456 self,
12457 encoder: &mut fidl::encoding::Encoder<'_, D>,
12458 offset: usize,
12459 _depth: fidl::encoding::Depth,
12460 ) -> fidl::Result<()> {
12461 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
12462 encoder.write_num::<u64>(self.ordinal(), offset);
12463 match self {
12464 GetIfaceStatsResponse::Stats(ref val) => {
12465 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceStats, D>(
12466 <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12467 encoder, offset + 8, _depth
12468 )
12469 }
12470 GetIfaceStatsResponse::ErrorStatus(ref val) => {
12471 fidl::encoding::encode_in_envelope::<i32, D>(
12472 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12473 encoder, offset + 8, _depth
12474 )
12475 }
12476 }
12477 }
12478 }
12479
12480 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
12481 #[inline(always)]
12482 fn new_empty() -> Self {
12483 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceStats, D))
12484 }
12485
12486 #[inline]
12487 unsafe fn decode(
12488 &mut self,
12489 decoder: &mut fidl::encoding::Decoder<'_, D>,
12490 offset: usize,
12491 mut depth: fidl::encoding::Depth,
12492 ) -> fidl::Result<()> {
12493 decoder.debug_check_bounds::<Self>(offset);
12494 #[allow(unused_variables)]
12495 let next_out_of_line = decoder.next_out_of_line();
12496 let handles_before = decoder.remaining_handles();
12497 let (ordinal, inlined, num_bytes, num_handles) =
12498 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12499
12500 let member_inline_size = match ordinal {
12501 1 => <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12502 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12503 _ => return Err(fidl::Error::UnknownUnionTag),
12504 };
12505
12506 if inlined != (member_inline_size <= 4) {
12507 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12508 }
12509 let _inner_offset;
12510 if inlined {
12511 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12512 _inner_offset = offset + 8;
12513 } else {
12514 depth.increment()?;
12515 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12516 }
12517 match ordinal {
12518 1 => {
12519 #[allow(irrefutable_let_patterns)]
12520 if let GetIfaceStatsResponse::Stats(_) = self {
12521 } else {
12523 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
12525 fidl_fuchsia_wlan_stats__common::IfaceStats,
12526 D
12527 ));
12528 }
12529 #[allow(irrefutable_let_patterns)]
12530 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
12531 fidl::decode!(
12532 fidl_fuchsia_wlan_stats__common::IfaceStats,
12533 D,
12534 val,
12535 decoder,
12536 _inner_offset,
12537 depth
12538 )?;
12539 } else {
12540 unreachable!()
12541 }
12542 }
12543 2 => {
12544 #[allow(irrefutable_let_patterns)]
12545 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
12546 } else {
12548 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12550 }
12551 #[allow(irrefutable_let_patterns)]
12552 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
12553 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12554 } else {
12555 unreachable!()
12556 }
12557 }
12558 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12559 }
12560 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12561 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12562 }
12563 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12564 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12565 }
12566 Ok(())
12567 }
12568 }
12569}