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_ieee80211_common::BssDescription,
416 pub connect_failure_timeout: u32,
417 pub auth_type: AuthenticationTypes,
419 pub sae_password: Vec<u8>,
420 pub wep_key: Option<Box<SetKeyDescriptor>>,
422 pub security_ie: Vec<u8>,
424 pub owe_public_key: Option<Box<fidl_fuchsia_wlan_internal_common::OwePublicKey>>,
427}
428
429impl fidl::Persistable for ConnectRequest {}
430
431#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
432#[repr(C)]
433pub struct Country {
434 pub alpha2: [u8; 2],
435 pub suffix: u8,
436}
437
438impl fidl::Persistable for Country {}
439
440#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
441#[repr(C)]
442pub struct DeauthenticateConfirm {
443 pub peer_sta_address: [u8; 6],
444}
445
446impl fidl::Persistable for DeauthenticateConfirm {}
447
448#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
449pub struct DeauthenticateIndication {
450 pub peer_sta_address: [u8; 6],
451 pub reason_code: fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
452 pub locally_initiated: bool,
455}
456
457impl fidl::Persistable for DeauthenticateIndication {}
458
459#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
460pub struct DeauthenticateRequest {
461 pub peer_sta_address: [u8; 6],
462 pub reason_code: fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
463}
464
465impl fidl::Persistable for DeauthenticateRequest {}
466
467#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
468pub struct DeleteKeyDescriptor {
469 pub key_id: u16,
470 pub key_type: KeyType,
471 pub address: [u8; 6],
472}
473
474impl fidl::Persistable for DeleteKeyDescriptor {}
475
476#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
477pub struct DeleteKeysRequest {
478 pub keylist: Vec<DeleteKeyDescriptor>,
479}
480
481impl fidl::Persistable for DeleteKeysRequest {}
482
483#[derive(Clone, Debug, PartialEq)]
484pub struct DeviceInfo {
485 pub sta_addr: [u8; 6],
486 pub factory_addr: [u8; 6],
487 pub role: fidl_fuchsia_wlan_common_common::WlanMacRole,
488 pub bands: Vec<BandCapability>,
489 pub softmac_hardware_capability: u32,
490 pub qos_capable: bool,
491}
492
493impl fidl::Persistable for DeviceInfo {}
494
495#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
496#[repr(C)]
497pub struct DisassociateConfirm {
498 pub status: i32,
499}
500
501impl fidl::Persistable for DisassociateConfirm {}
502
503#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
504pub struct DisassociateIndication {
505 pub peer_sta_address: [u8; 6],
506 pub reason_code: fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
507 pub locally_initiated: bool,
510}
511
512impl fidl::Persistable for DisassociateIndication {}
513
514#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
515pub struct DisassociateRequest {
516 pub peer_sta_address: [u8; 6],
517 pub reason_code: fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
518}
519
520impl fidl::Persistable for DisassociateRequest {}
521
522#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
523pub struct EapolConfirm {
524 pub result_code: EapolResultCode,
525 pub dst_addr: [u8; 6],
529}
530
531impl fidl::Persistable for EapolConfirm {}
532
533#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
534pub struct EapolIndication {
535 pub src_addr: [u8; 6],
536 pub dst_addr: [u8; 6],
537 pub data: Vec<u8>,
538}
539
540impl fidl::Persistable for EapolIndication {}
541
542#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
543pub struct EapolRequest {
544 pub src_addr: [u8; 6],
545 pub dst_addr: [u8; 6],
546 pub data: Vec<u8>,
547}
548
549impl fidl::Persistable for EapolRequest {}
550
551#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
552pub struct MlmeGetApfPacketFilterEnabledResponse {
553 pub enabled: bool,
554}
555
556impl fidl::Persistable for MlmeGetApfPacketFilterEnabledResponse {}
557
558#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
559pub struct MlmeGetScheduledScanEnabledResponse {
560 pub active_txn_ids: Vec<u64>,
561}
562
563impl fidl::Persistable for MlmeGetScheduledScanEnabledResponse {}
564
565#[derive(Clone, Debug, PartialEq)]
566pub struct MlmeGetSignalReportResponse {
567 pub resp: fidl_fuchsia_wlan_stats_common::SignalReport,
568}
569
570impl fidl::Persistable for MlmeGetSignalReportResponse {}
571
572#[derive(Clone, Debug, PartialEq)]
573pub struct MlmeQueryTelemetrySupportResponse {
574 pub resp: fidl_fuchsia_wlan_stats_common::TelemetrySupport,
575}
576
577impl fidl::Persistable for MlmeQueryTelemetrySupportResponse {}
578
579#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
580pub struct MlmeReadApfPacketFilterDataResponse {
581 pub memory: Vec<u8>,
582}
583
584impl fidl::Persistable for MlmeReadApfPacketFilterDataResponse {}
585
586#[derive(Clone, Debug, PartialEq)]
587pub struct MinstrelListResponse {
588 pub peers: fidl_fuchsia_wlan_minstrel_common::Peers,
589}
590
591impl fidl::Persistable for MinstrelListResponse {}
592
593#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
594#[repr(C)]
595pub struct MinstrelStatsRequest {
596 pub peer_addr: [u8; 6],
597}
598
599impl fidl::Persistable for MinstrelStatsRequest {}
600
601#[derive(Clone, Debug, PartialEq)]
602pub struct MinstrelStatsResponse {
603 pub peer: Option<Box<fidl_fuchsia_wlan_minstrel_common::Peer>>,
604}
605
606impl fidl::Persistable for MinstrelStatsResponse {}
607
608#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
609pub struct MlmeAssociateIndRequest {
610 pub ind: AssociateIndication,
611}
612
613impl fidl::Persistable for MlmeAssociateIndRequest {}
614
615#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
616pub struct MlmeAssociateRespRequest {
617 pub resp: AssociateResponse,
618}
619
620impl fidl::Persistable for MlmeAssociateRespRequest {}
621
622#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
623pub struct MlmeAuthenticateIndRequest {
624 pub ind: AuthenticateIndication,
625}
626
627impl fidl::Persistable for MlmeAuthenticateIndRequest {}
628
629#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
630pub struct MlmeAuthenticateRespRequest {
631 pub resp: AuthenticateResponse,
632}
633
634impl fidl::Persistable for MlmeAuthenticateRespRequest {}
635
636#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
637pub struct MlmeConnectConfRequest {
638 pub resp: ConnectConfirm,
639}
640
641impl fidl::Persistable for MlmeConnectConfRequest {}
642
643#[derive(Clone, Debug, PartialEq)]
644pub struct MlmeConnectReqRequest {
645 pub req: ConnectRequest,
646}
647
648impl fidl::Persistable for MlmeConnectReqRequest {}
649
650#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
651#[repr(C)]
652pub struct MlmeDeauthenticateConfRequest {
653 pub resp: DeauthenticateConfirm,
654}
655
656impl fidl::Persistable for MlmeDeauthenticateConfRequest {}
657
658#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
659pub struct MlmeDeauthenticateIndRequest {
660 pub ind: DeauthenticateIndication,
661}
662
663impl fidl::Persistable for MlmeDeauthenticateIndRequest {}
664
665#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
666pub struct MlmeDeauthenticateReqRequest {
667 pub req: DeauthenticateRequest,
668}
669
670impl fidl::Persistable for MlmeDeauthenticateReqRequest {}
671
672#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
673pub struct MlmeDeleteKeysReqRequest {
674 pub req: DeleteKeysRequest,
675}
676
677impl fidl::Persistable for MlmeDeleteKeysReqRequest {}
678
679#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
680#[repr(C)]
681pub struct MlmeDisassociateConfRequest {
682 pub resp: DisassociateConfirm,
683}
684
685impl fidl::Persistable for MlmeDisassociateConfRequest {}
686
687#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
688pub struct MlmeDisassociateIndRequest {
689 pub ind: DisassociateIndication,
690}
691
692impl fidl::Persistable for MlmeDisassociateIndRequest {}
693
694#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
695pub struct MlmeDisassociateReqRequest {
696 pub req: DisassociateRequest,
697}
698
699impl fidl::Persistable for MlmeDisassociateReqRequest {}
700
701#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
702pub struct MlmeEapolConfRequest {
703 pub resp: EapolConfirm,
704}
705
706impl fidl::Persistable for MlmeEapolConfRequest {}
707
708#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
709pub struct MlmeEapolIndRequest {
710 pub ind: EapolIndication,
711}
712
713impl fidl::Persistable for MlmeEapolIndRequest {}
714
715#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
716pub struct MlmeEapolReqRequest {
717 pub req: EapolRequest,
718}
719
720impl fidl::Persistable for MlmeEapolReqRequest {}
721
722#[derive(Clone, Debug, PartialEq)]
723pub struct MlmeFinalizeAssociationReqRequest {
724 pub negotiated_capabilities: NegotiatedCapabilities,
725}
726
727impl fidl::Persistable for MlmeFinalizeAssociationReqRequest {}
728
729#[derive(Clone, Debug, PartialEq)]
730pub struct MlmeGetIfaceHistogramStatsResponse {
731 pub resp: GetIfaceHistogramStatsResponse,
732}
733
734impl fidl::Persistable for MlmeGetIfaceHistogramStatsResponse {}
735
736#[derive(Clone, Debug, PartialEq)]
737pub struct MlmeGetIfaceStatsResponse {
738 pub resp: GetIfaceStatsResponse,
739}
740
741impl fidl::Persistable for MlmeGetIfaceStatsResponse {}
742
743#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
744#[repr(C)]
745pub struct MlmeGetMinstrelStatsRequest {
746 pub req: MinstrelStatsRequest,
747}
748
749impl fidl::Persistable for MlmeGetMinstrelStatsRequest {}
750
751#[derive(Clone, Debug, PartialEq)]
752pub struct MlmeGetMinstrelStatsResponse {
753 pub resp: MinstrelStatsResponse,
754}
755
756impl fidl::Persistable for MlmeGetMinstrelStatsResponse {}
757
758#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
759pub struct MlmeInstallApfPacketFilterRequest {
760 pub program: Vec<u8>,
761}
762
763impl fidl::Persistable for MlmeInstallApfPacketFilterRequest {}
764
765#[derive(Clone, Debug, PartialEq)]
766pub struct MlmeListMinstrelPeersResponse {
767 pub resp: MinstrelListResponse,
768}
769
770impl fidl::Persistable for MlmeListMinstrelPeersResponse {}
771
772#[derive(Clone, Debug, PartialEq)]
773pub struct MlmeOnChannelSwitchedRequest {
774 pub info: fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo,
775}
776
777impl fidl::Persistable for MlmeOnChannelSwitchedRequest {}
778
779#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
780pub struct MlmeOnPmkAvailableRequest {
781 pub info: PmkInfo,
782}
783
784impl fidl::Persistable for MlmeOnPmkAvailableRequest {}
785
786#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
787pub struct MlmeOnSaeFrameRxRequest {
788 pub frame: SaeFrame,
789}
790
791impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
792
793#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
794#[repr(C)]
795pub struct MlmeOnSaeHandshakeIndRequest {
796 pub ind: SaeHandshakeIndication,
797}
798
799impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
800
801#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
802pub struct MlmeOnScanEndRequest {
803 pub end: ScanEnd,
804}
805
806impl fidl::Persistable for MlmeOnScanEndRequest {}
807
808#[derive(Clone, Debug, PartialEq)]
809pub struct MlmeOnScanResultRequest {
810 pub result: ScanResult,
811}
812
813impl fidl::Persistable for MlmeOnScanResultRequest {}
814
815#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
816#[repr(C)]
817pub struct MlmeOnScheduledScanMatchesAvailableRequest {
818 pub txn_id: u64,
819}
820
821impl fidl::Persistable for MlmeOnScheduledScanMatchesAvailableRequest {}
822
823#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
824#[repr(C)]
825pub struct MlmeOnScheduledScanStoppedByFirmwareRequest {
826 pub txn_id: u64,
827}
828
829impl fidl::Persistable for MlmeOnScheduledScanStoppedByFirmwareRequest {}
830
831#[derive(Clone, Debug, PartialEq)]
832pub struct MlmeOnWmmStatusRespRequest {
833 pub status: i32,
834 pub resp: fidl_fuchsia_wlan_internal_common::WmmStatusResponse,
835}
836
837impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
838
839#[derive(Clone, Debug, PartialEq)]
840pub struct MlmeQueryDeviceInfoResponse {
841 pub info: DeviceInfo,
842}
843
844impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
845
846#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
847#[repr(C)]
848pub struct MlmeReconnectReqRequest {
849 pub req: ReconnectRequest,
850}
851
852impl fidl::Persistable for MlmeReconnectReqRequest {}
853
854#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
855pub struct MlmeRelayCapturedFrameRequest {
856 pub result: CapturedFrameResult,
857}
858
859impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
860
861#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
862pub struct MlmeResetReqRequest {
863 pub req: ResetRequest,
864}
865
866impl fidl::Persistable for MlmeResetReqRequest {}
867
868#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
869pub struct MlmeRoamConfRequest {
870 pub conf: RoamConfirm,
871}
872
873impl fidl::Persistable for MlmeRoamConfRequest {}
874
875#[derive(Clone, Debug, PartialEq)]
876pub struct MlmeRoamReqRequest {
877 pub req: RoamRequest,
878}
879
880impl fidl::Persistable for MlmeRoamReqRequest {}
881
882#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
883pub struct MlmeRoamResultIndRequest {
884 pub ind: RoamResultIndication,
885}
886
887impl fidl::Persistable for MlmeRoamResultIndRequest {}
888
889#[derive(Clone, Debug, PartialEq)]
890pub struct MlmeRoamStartIndRequest {
891 pub ind: RoamStartIndication,
892}
893
894impl fidl::Persistable for MlmeRoamStartIndRequest {}
895
896#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
897pub struct MlmeSaeFrameTxRequest {
898 pub frame: SaeFrame,
899}
900
901impl fidl::Persistable for MlmeSaeFrameTxRequest {}
902
903#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
904pub struct MlmeSaeHandshakeRespRequest {
905 pub resp: SaeHandshakeResponse,
906}
907
908impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
909
910#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
911pub struct MlmeSetApfPacketFilterEnabledRequest {
912 pub enabled: bool,
913}
914
915impl fidl::Persistable for MlmeSetApfPacketFilterEnabledRequest {}
916
917#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
918pub struct MlmeSetControlledPortRequest {
919 pub req: SetControlledPortRequest,
920}
921
922impl fidl::Persistable for MlmeSetControlledPortRequest {}
923
924#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
925pub struct MlmeSetKeysConfRequest {
926 pub conf: SetKeysConfirm,
927}
928
929impl fidl::Persistable for MlmeSetKeysConfRequest {}
930
931#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
932pub struct MlmeSetKeysReqRequest {
933 pub req: SetKeysRequest,
934}
935
936impl fidl::Persistable for MlmeSetKeysReqRequest {}
937
938#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
939#[repr(C)]
940pub struct MlmeSetMacAddressRequest {
941 pub mac_addr: [u8; 6],
942}
943
944impl fidl::Persistable for MlmeSetMacAddressRequest {}
945
946#[derive(Clone, Debug, PartialEq)]
947pub struct MlmeSignalReportRequest {
948 pub ind: fidl_fuchsia_wlan_internal_common::SignalReportIndication,
949}
950
951impl fidl::Persistable for MlmeSignalReportRequest {}
952
953#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
954pub struct MlmeStartCaptureFramesRequest {
955 pub req: StartCaptureFramesRequest,
956}
957
958impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
959
960#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
961pub struct MlmeStartCaptureFramesResponse {
962 pub resp: StartCaptureFramesResponse,
963}
964
965impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
966
967#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
968pub struct MlmeStartConfRequest {
969 pub resp: StartConfirm,
970}
971
972impl fidl::Persistable for MlmeStartConfRequest {}
973
974#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
975pub struct MlmeStartReqRequest {
976 pub req: StartRequest,
977}
978
979impl fidl::Persistable for MlmeStartReqRequest {}
980
981#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
982pub struct MlmeStartScanRequest {
983 pub req: ScanRequest,
984}
985
986impl fidl::Persistable for MlmeStartScanRequest {}
987
988#[derive(Clone, Debug, PartialEq)]
989pub struct MlmeStartScheduledScanRequest {
990 pub txn_id: u64,
991 pub req: fidl_fuchsia_wlan_common_common::ScheduledScanRequest,
992}
993
994impl fidl::Persistable for MlmeStartScheduledScanRequest {}
995
996#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
997pub struct MlmeStopConfRequest {
998 pub resp: StopConfirm,
999}
1000
1001impl fidl::Persistable for MlmeStopConfRequest {}
1002
1003#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1004pub struct MlmeStopReqRequest {
1005 pub req: StopRequest,
1006}
1007
1008impl fidl::Persistable for MlmeStopReqRequest {}
1009
1010#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1011#[repr(C)]
1012pub struct MlmeStopScheduledScanRequest {
1013 pub txn_id: u64,
1014}
1015
1016impl fidl::Persistable for MlmeStopScheduledScanRequest {}
1017
1018#[derive(Clone, Debug, PartialEq)]
1020pub struct NegotiatedCapabilities {
1021 pub channel: fidl_fuchsia_wlan_ieee80211_common::WlanChannel,
1022 pub capability_info: u16,
1023 pub rates: Vec<u8>,
1024 pub wmm_param: Option<Box<WmmParameter>>,
1025 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>>,
1026 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>>,
1027}
1028
1029impl fidl::Persistable for NegotiatedCapabilities {}
1030
1031#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1032pub struct PmkInfo {
1033 pub pmk: Vec<u8>,
1034 pub pmkid: Vec<u8>,
1035}
1036
1037impl fidl::Persistable for PmkInfo {}
1038
1039#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1040#[repr(C)]
1041pub struct ReconnectRequest {
1042 pub peer_sta_address: [u8; 6],
1043}
1044
1045impl fidl::Persistable for ReconnectRequest {}
1046
1047#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1048pub struct ResetRequest {
1049 pub sta_address: [u8; 6],
1050 pub set_default_mib: bool,
1051}
1052
1053impl fidl::Persistable for ResetRequest {}
1054
1055#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1057pub struct RoamConfirm {
1058 pub selected_bssid: [u8; 6],
1059 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1060 pub original_association_maintained: bool,
1065 pub target_bss_authenticated: bool,
1070 pub association_id: u16,
1071 pub association_ies: Vec<u8>,
1072}
1073
1074impl fidl::Persistable for RoamConfirm {}
1075
1076#[derive(Clone, Debug, PartialEq)]
1077pub struct RoamRequest {
1078 pub selected_bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1079}
1080
1081impl fidl::Persistable for RoamRequest {}
1082
1083#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1085pub struct RoamResultIndication {
1086 pub selected_bssid: [u8; 6],
1087 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1088 pub original_association_maintained: bool,
1093 pub target_bss_authenticated: bool,
1098 pub association_id: u16,
1099 pub association_ies: Vec<u8>,
1100}
1101
1102impl fidl::Persistable for RoamResultIndication {}
1103
1104#[derive(Clone, Debug, PartialEq)]
1106pub struct RoamStartIndication {
1107 pub selected_bssid: [u8; 6],
1108 pub selected_bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1109 pub original_association_maintained: bool,
1116}
1117
1118impl fidl::Persistable for RoamStartIndication {}
1119
1120#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1121pub struct SaeFrame {
1122 pub peer_sta_address: [u8; 6],
1123 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1124 pub seq_num: u16,
1125 pub sae_fields: Vec<u8>,
1126}
1127
1128impl fidl::Persistable for SaeFrame {}
1129
1130#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1131#[repr(C)]
1132pub struct SaeHandshakeIndication {
1133 pub peer_sta_address: [u8; 6],
1134}
1135
1136impl fidl::Persistable for SaeHandshakeIndication {}
1137
1138#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1139pub struct SaeHandshakeResponse {
1140 pub peer_sta_address: [u8; 6],
1141 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1142}
1143
1144impl fidl::Persistable for SaeHandshakeResponse {}
1145
1146#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1147pub struct ScanEnd {
1148 pub txn_id: u64,
1149 pub code: ScanResultCode,
1150}
1151
1152impl fidl::Persistable for ScanEnd {}
1153
1154#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1155pub struct ScanRequest {
1156 pub txn_id: u64,
1157 pub scan_type: ScanTypes,
1158 pub channel_list: Vec<u8>,
1165 pub ssid_list: Vec<Vec<u8>>,
1174 pub probe_delay: u32,
1175 pub min_channel_time: u32,
1176 pub max_channel_time: u32,
1177}
1178
1179impl fidl::Persistable for ScanRequest {}
1180
1181#[derive(Clone, Debug, PartialEq)]
1182pub struct ScanResult {
1183 pub txn_id: u64,
1184 pub timestamp_nanos: i64,
1185 pub bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1186}
1187
1188impl fidl::Persistable for ScanResult {}
1189
1190#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1191pub struct SetControlledPortRequest {
1192 pub peer_sta_address: [u8; 6],
1193 pub state: ControlledPortState,
1194}
1195
1196impl fidl::Persistable for SetControlledPortRequest {}
1197
1198#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1199pub struct SetKeyDescriptor {
1200 pub key: Vec<u8>,
1201 pub key_id: u16,
1202 pub key_type: KeyType,
1203 pub address: [u8; 6],
1204 pub rsc: u64,
1205 pub cipher_suite_oui: [u8; 3],
1206 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
1207}
1208
1209impl fidl::Persistable for SetKeyDescriptor {}
1210
1211#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1212#[repr(C)]
1213pub struct SetKeyResult {
1214 pub key_id: u16,
1215 pub status: i32,
1216}
1217
1218impl fidl::Persistable for SetKeyResult {}
1219
1220#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1221pub struct SetKeysConfirm {
1222 pub results: Vec<SetKeyResult>,
1223}
1224
1225impl fidl::Persistable for SetKeysConfirm {}
1226
1227#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1228pub struct SetKeysRequest {
1229 pub keylist: Vec<SetKeyDescriptor>,
1230}
1231
1232impl fidl::Persistable for SetKeysRequest {}
1233
1234#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1235pub struct StartCaptureFramesRequest {
1236 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1237}
1238
1239impl fidl::Persistable for StartCaptureFramesRequest {}
1240
1241#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1242pub struct StartCaptureFramesResponse {
1243 pub status: i32,
1244 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1245}
1246
1247impl fidl::Persistable for StartCaptureFramesResponse {}
1248
1249#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1250pub struct StartConfirm {
1251 pub result_code: StartResultCode,
1252}
1253
1254impl fidl::Persistable for StartConfirm {}
1255
1256#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1257pub struct StartRequest {
1258 pub ssid: Vec<u8>,
1259 pub bss_type: fidl_fuchsia_wlan_ieee80211_common::BssType,
1260 pub beacon_period: u16,
1261 pub dtim_period: u8,
1262 pub channel: u8,
1263 pub capability_info: u16,
1264 pub rates: Vec<u8>,
1265 pub country: Country,
1266 pub mesh_id: Vec<u8>,
1267 pub rsne: Option<Vec<u8>>,
1268 pub phy: fidl_fuchsia_wlan_ieee80211_common::WlanPhyType,
1269 pub channel_bandwidth: fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
1270}
1271
1272impl fidl::Persistable for StartRequest {}
1273
1274#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1275pub struct StopConfirm {
1276 pub result_code: StopResultCode,
1277}
1278
1279impl fidl::Persistable for StopConfirm {}
1280
1281#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1282pub struct StopRequest {
1283 pub ssid: Vec<u8>,
1284}
1285
1286impl fidl::Persistable for StopRequest {}
1287
1288#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1289#[repr(C)]
1290pub struct WmmParameter {
1291 pub bytes: [u8; 18],
1292}
1293
1294impl fidl::Persistable for WmmParameter {}
1295
1296#[derive(Clone, Debug, PartialEq)]
1297pub enum GetIfaceHistogramStatsResponse {
1298 Stats(fidl_fuchsia_wlan_stats_common::IfaceHistogramStats),
1299 ErrorStatus(i32),
1300}
1301
1302impl GetIfaceHistogramStatsResponse {
1303 #[inline]
1304 pub fn ordinal(&self) -> u64 {
1305 match *self {
1306 Self::Stats(_) => 1,
1307 Self::ErrorStatus(_) => 2,
1308 }
1309 }
1310}
1311
1312impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1313
1314#[derive(Clone, Debug, PartialEq)]
1315pub enum GetIfaceStatsResponse {
1316 Stats(fidl_fuchsia_wlan_stats_common::IfaceStats),
1317 ErrorStatus(i32),
1318}
1319
1320impl GetIfaceStatsResponse {
1321 #[inline]
1322 pub fn ordinal(&self) -> u64 {
1323 match *self {
1324 Self::Stats(_) => 1,
1325 Self::ErrorStatus(_) => 2,
1326 }
1327 }
1328}
1329
1330impl fidl::Persistable for GetIfaceStatsResponse {}
1331
1332pub mod connector_ordinals {
1333 pub const CONNECT: u64 = 0x42131859717af962;
1334}
1335
1336pub mod mlme_ordinals {
1337 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1338 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1339 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1340 pub const START_SCHEDULED_SCAN: u64 = 0x7fff163af4620212;
1341 pub const STOP_SCHEDULED_SCAN: u64 = 0x5fbc466f3daa4dd9;
1342 pub const GET_SCHEDULED_SCAN_ENABLED: u64 = 0x1ecc6a7fe7f9fcff;
1343 pub const ON_SCHEDULED_SCAN_MATCHES_AVAILABLE: u64 = 0x3d915df5108ec4e1;
1344 pub const ON_SCHEDULED_SCAN_STOPPED_BY_FIRMWARE: u64 = 0x4c2cb4b145163fd0;
1345 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1346 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1347 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1348 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1349 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1350 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1351 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1352 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1353 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1354 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1355 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1356 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1357 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1358 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1359 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1360 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1361 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1362 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1363 pub const START_REQ: u64 = 0x5d95885f8053654;
1364 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1365 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1366 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1367 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1368 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1369 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1370 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1371 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1372 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1373 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1374 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1375 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1376 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1377 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1378 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1379 pub const GET_SIGNAL_REPORT: u64 = 0x7e47e7ebe92acec9;
1380 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1381 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1382 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1383 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1384 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1385 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1386 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1387 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1388 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1389 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1390 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1391 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1392 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1393 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1394 pub const SET_MAC_ADDRESS: u64 = 0x476999f9bb27afe1;
1395 pub const INSTALL_APF_PACKET_FILTER: u64 = 0x267565b4916c825b;
1396 pub const READ_APF_PACKET_FILTER_DATA: u64 = 0x6040d744f1b2cb61;
1397 pub const SET_APF_PACKET_FILTER_ENABLED: u64 = 0x6d99bdca77076aea;
1398 pub const GET_APF_PACKET_FILTER_ENABLED: u64 = 0x1df408bc154be1e4;
1399}
1400
1401mod internal {
1402 use super::*;
1403 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1404 type Owned = Self;
1405
1406 #[inline(always)]
1407 fn inline_align(_context: fidl::encoding::Context) -> usize {
1408 4
1409 }
1410
1411 #[inline(always)]
1412 fn inline_size(_context: fidl::encoding::Context) -> usize {
1413 4
1414 }
1415 }
1416
1417 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1418 type Borrowed<'a> = Self;
1419 #[inline(always)]
1420 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1421 *value
1422 }
1423 }
1424
1425 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1426 for MgmtFrameCaptureFlags
1427 {
1428 #[inline]
1429 unsafe fn encode(
1430 self,
1431 encoder: &mut fidl::encoding::Encoder<'_, D>,
1432 offset: usize,
1433 _depth: fidl::encoding::Depth,
1434 ) -> fidl::Result<()> {
1435 encoder.debug_check_bounds::<Self>(offset);
1436 if self.bits() & Self::all().bits() != self.bits() {
1437 return Err(fidl::Error::InvalidBitsValue);
1438 }
1439 encoder.write_num(self.bits(), offset);
1440 Ok(())
1441 }
1442 }
1443
1444 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1445 #[inline(always)]
1446 fn new_empty() -> Self {
1447 Self::empty()
1448 }
1449
1450 #[inline]
1451 unsafe fn decode(
1452 &mut self,
1453 decoder: &mut fidl::encoding::Decoder<'_, D>,
1454 offset: usize,
1455 _depth: fidl::encoding::Depth,
1456 ) -> fidl::Result<()> {
1457 decoder.debug_check_bounds::<Self>(offset);
1458 let prim = decoder.read_num::<u32>(offset);
1459 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1460 Ok(())
1461 }
1462 }
1463 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1464 type Owned = Self;
1465
1466 #[inline(always)]
1467 fn inline_align(_context: fidl::encoding::Context) -> usize {
1468 std::mem::align_of::<u32>()
1469 }
1470
1471 #[inline(always)]
1472 fn inline_size(_context: fidl::encoding::Context) -> usize {
1473 std::mem::size_of::<u32>()
1474 }
1475
1476 #[inline(always)]
1477 fn encode_is_copy() -> bool {
1478 true
1479 }
1480
1481 #[inline(always)]
1482 fn decode_is_copy() -> bool {
1483 false
1484 }
1485 }
1486
1487 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1488 type Borrowed<'a> = Self;
1489 #[inline(always)]
1490 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1491 *value
1492 }
1493 }
1494
1495 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1496 for AssociateResultCode
1497 {
1498 #[inline]
1499 unsafe fn encode(
1500 self,
1501 encoder: &mut fidl::encoding::Encoder<'_, D>,
1502 offset: usize,
1503 _depth: fidl::encoding::Depth,
1504 ) -> fidl::Result<()> {
1505 encoder.debug_check_bounds::<Self>(offset);
1506 encoder.write_num(self.into_primitive(), offset);
1507 Ok(())
1508 }
1509 }
1510
1511 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1512 #[inline(always)]
1513 fn new_empty() -> Self {
1514 Self::Success
1515 }
1516
1517 #[inline]
1518 unsafe fn decode(
1519 &mut self,
1520 decoder: &mut fidl::encoding::Decoder<'_, D>,
1521 offset: usize,
1522 _depth: fidl::encoding::Depth,
1523 ) -> fidl::Result<()> {
1524 decoder.debug_check_bounds::<Self>(offset);
1525 let prim = decoder.read_num::<u32>(offset);
1526
1527 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1528 Ok(())
1529 }
1530 }
1531 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1532 type Owned = Self;
1533
1534 #[inline(always)]
1535 fn inline_align(_context: fidl::encoding::Context) -> usize {
1536 std::mem::align_of::<u32>()
1537 }
1538
1539 #[inline(always)]
1540 fn inline_size(_context: fidl::encoding::Context) -> usize {
1541 std::mem::size_of::<u32>()
1542 }
1543
1544 #[inline(always)]
1545 fn encode_is_copy() -> bool {
1546 true
1547 }
1548
1549 #[inline(always)]
1550 fn decode_is_copy() -> bool {
1551 false
1552 }
1553 }
1554
1555 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1556 type Borrowed<'a> = Self;
1557 #[inline(always)]
1558 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1559 *value
1560 }
1561 }
1562
1563 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1564 for AuthenticateResultCode
1565 {
1566 #[inline]
1567 unsafe fn encode(
1568 self,
1569 encoder: &mut fidl::encoding::Encoder<'_, D>,
1570 offset: usize,
1571 _depth: fidl::encoding::Depth,
1572 ) -> fidl::Result<()> {
1573 encoder.debug_check_bounds::<Self>(offset);
1574 encoder.write_num(self.into_primitive(), offset);
1575 Ok(())
1576 }
1577 }
1578
1579 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1580 for AuthenticateResultCode
1581 {
1582 #[inline(always)]
1583 fn new_empty() -> Self {
1584 Self::Success
1585 }
1586
1587 #[inline]
1588 unsafe fn decode(
1589 &mut self,
1590 decoder: &mut fidl::encoding::Decoder<'_, D>,
1591 offset: usize,
1592 _depth: fidl::encoding::Depth,
1593 ) -> fidl::Result<()> {
1594 decoder.debug_check_bounds::<Self>(offset);
1595 let prim = decoder.read_num::<u32>(offset);
1596
1597 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1598 Ok(())
1599 }
1600 }
1601 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1602 type Owned = Self;
1603
1604 #[inline(always)]
1605 fn inline_align(_context: fidl::encoding::Context) -> usize {
1606 std::mem::align_of::<u32>()
1607 }
1608
1609 #[inline(always)]
1610 fn inline_size(_context: fidl::encoding::Context) -> usize {
1611 std::mem::size_of::<u32>()
1612 }
1613
1614 #[inline(always)]
1615 fn encode_is_copy() -> bool {
1616 true
1617 }
1618
1619 #[inline(always)]
1620 fn decode_is_copy() -> bool {
1621 false
1622 }
1623 }
1624
1625 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1626 type Borrowed<'a> = Self;
1627 #[inline(always)]
1628 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1629 *value
1630 }
1631 }
1632
1633 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1634 for AuthenticationTypes
1635 {
1636 #[inline]
1637 unsafe fn encode(
1638 self,
1639 encoder: &mut fidl::encoding::Encoder<'_, D>,
1640 offset: usize,
1641 _depth: fidl::encoding::Depth,
1642 ) -> fidl::Result<()> {
1643 encoder.debug_check_bounds::<Self>(offset);
1644 encoder.write_num(self.into_primitive(), offset);
1645 Ok(())
1646 }
1647 }
1648
1649 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1650 #[inline(always)]
1651 fn new_empty() -> Self {
1652 Self::OpenSystem
1653 }
1654
1655 #[inline]
1656 unsafe fn decode(
1657 &mut self,
1658 decoder: &mut fidl::encoding::Decoder<'_, D>,
1659 offset: usize,
1660 _depth: fidl::encoding::Depth,
1661 ) -> fidl::Result<()> {
1662 decoder.debug_check_bounds::<Self>(offset);
1663 let prim = decoder.read_num::<u32>(offset);
1664
1665 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1666 Ok(())
1667 }
1668 }
1669 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1670 type Owned = Self;
1671
1672 #[inline(always)]
1673 fn inline_align(_context: fidl::encoding::Context) -> usize {
1674 std::mem::align_of::<u32>()
1675 }
1676
1677 #[inline(always)]
1678 fn inline_size(_context: fidl::encoding::Context) -> usize {
1679 std::mem::size_of::<u32>()
1680 }
1681
1682 #[inline(always)]
1683 fn encode_is_copy() -> bool {
1684 true
1685 }
1686
1687 #[inline(always)]
1688 fn decode_is_copy() -> bool {
1689 false
1690 }
1691 }
1692
1693 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1694 type Borrowed<'a> = Self;
1695 #[inline(always)]
1696 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1697 *value
1698 }
1699 }
1700
1701 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1702 for ControlledPortState
1703 {
1704 #[inline]
1705 unsafe fn encode(
1706 self,
1707 encoder: &mut fidl::encoding::Encoder<'_, D>,
1708 offset: usize,
1709 _depth: fidl::encoding::Depth,
1710 ) -> fidl::Result<()> {
1711 encoder.debug_check_bounds::<Self>(offset);
1712 encoder.write_num(self.into_primitive(), offset);
1713 Ok(())
1714 }
1715 }
1716
1717 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1718 #[inline(always)]
1719 fn new_empty() -> Self {
1720 Self::Closed
1721 }
1722
1723 #[inline]
1724 unsafe fn decode(
1725 &mut self,
1726 decoder: &mut fidl::encoding::Decoder<'_, D>,
1727 offset: usize,
1728 _depth: fidl::encoding::Depth,
1729 ) -> fidl::Result<()> {
1730 decoder.debug_check_bounds::<Self>(offset);
1731 let prim = decoder.read_num::<u32>(offset);
1732
1733 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1734 Ok(())
1735 }
1736 }
1737 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1738 type Owned = Self;
1739
1740 #[inline(always)]
1741 fn inline_align(_context: fidl::encoding::Context) -> usize {
1742 std::mem::align_of::<u32>()
1743 }
1744
1745 #[inline(always)]
1746 fn inline_size(_context: fidl::encoding::Context) -> usize {
1747 std::mem::size_of::<u32>()
1748 }
1749
1750 #[inline(always)]
1751 fn encode_is_copy() -> bool {
1752 true
1753 }
1754
1755 #[inline(always)]
1756 fn decode_is_copy() -> bool {
1757 false
1758 }
1759 }
1760
1761 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1762 type Borrowed<'a> = Self;
1763 #[inline(always)]
1764 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1765 *value
1766 }
1767 }
1768
1769 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1770 for EapolResultCode
1771 {
1772 #[inline]
1773 unsafe fn encode(
1774 self,
1775 encoder: &mut fidl::encoding::Encoder<'_, D>,
1776 offset: usize,
1777 _depth: fidl::encoding::Depth,
1778 ) -> fidl::Result<()> {
1779 encoder.debug_check_bounds::<Self>(offset);
1780 encoder.write_num(self.into_primitive(), offset);
1781 Ok(())
1782 }
1783 }
1784
1785 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1786 #[inline(always)]
1787 fn new_empty() -> Self {
1788 Self::Success
1789 }
1790
1791 #[inline]
1792 unsafe fn decode(
1793 &mut self,
1794 decoder: &mut fidl::encoding::Decoder<'_, D>,
1795 offset: usize,
1796 _depth: fidl::encoding::Depth,
1797 ) -> fidl::Result<()> {
1798 decoder.debug_check_bounds::<Self>(offset);
1799 let prim = decoder.read_num::<u32>(offset);
1800
1801 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1802 Ok(())
1803 }
1804 }
1805 unsafe impl fidl::encoding::TypeMarker for KeyType {
1806 type Owned = Self;
1807
1808 #[inline(always)]
1809 fn inline_align(_context: fidl::encoding::Context) -> usize {
1810 std::mem::align_of::<u32>()
1811 }
1812
1813 #[inline(always)]
1814 fn inline_size(_context: fidl::encoding::Context) -> usize {
1815 std::mem::size_of::<u32>()
1816 }
1817
1818 #[inline(always)]
1819 fn encode_is_copy() -> bool {
1820 true
1821 }
1822
1823 #[inline(always)]
1824 fn decode_is_copy() -> bool {
1825 false
1826 }
1827 }
1828
1829 impl fidl::encoding::ValueTypeMarker for KeyType {
1830 type Borrowed<'a> = Self;
1831 #[inline(always)]
1832 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1833 *value
1834 }
1835 }
1836
1837 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1838 #[inline]
1839 unsafe fn encode(
1840 self,
1841 encoder: &mut fidl::encoding::Encoder<'_, D>,
1842 offset: usize,
1843 _depth: fidl::encoding::Depth,
1844 ) -> fidl::Result<()> {
1845 encoder.debug_check_bounds::<Self>(offset);
1846 encoder.write_num(self.into_primitive(), offset);
1847 Ok(())
1848 }
1849 }
1850
1851 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1852 #[inline(always)]
1853 fn new_empty() -> Self {
1854 Self::Group
1855 }
1856
1857 #[inline]
1858 unsafe fn decode(
1859 &mut self,
1860 decoder: &mut fidl::encoding::Decoder<'_, D>,
1861 offset: usize,
1862 _depth: fidl::encoding::Depth,
1863 ) -> fidl::Result<()> {
1864 decoder.debug_check_bounds::<Self>(offset);
1865 let prim = decoder.read_num::<u32>(offset);
1866
1867 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1868 Ok(())
1869 }
1870 }
1871 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1872 type Owned = Self;
1873
1874 #[inline(always)]
1875 fn inline_align(_context: fidl::encoding::Context) -> usize {
1876 std::mem::align_of::<u32>()
1877 }
1878
1879 #[inline(always)]
1880 fn inline_size(_context: fidl::encoding::Context) -> usize {
1881 std::mem::size_of::<u32>()
1882 }
1883
1884 #[inline(always)]
1885 fn encode_is_copy() -> bool {
1886 true
1887 }
1888
1889 #[inline(always)]
1890 fn decode_is_copy() -> bool {
1891 false
1892 }
1893 }
1894
1895 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1896 type Borrowed<'a> = Self;
1897 #[inline(always)]
1898 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1899 *value
1900 }
1901 }
1902
1903 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1904 #[inline]
1905 unsafe fn encode(
1906 self,
1907 encoder: &mut fidl::encoding::Encoder<'_, D>,
1908 offset: usize,
1909 _depth: fidl::encoding::Depth,
1910 ) -> fidl::Result<()> {
1911 encoder.debug_check_bounds::<Self>(offset);
1912 encoder.write_num(self.into_primitive(), offset);
1913 Ok(())
1914 }
1915 }
1916
1917 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1918 #[inline(always)]
1919 fn new_empty() -> Self {
1920 Self::Success
1921 }
1922
1923 #[inline]
1924 unsafe fn decode(
1925 &mut self,
1926 decoder: &mut fidl::encoding::Decoder<'_, D>,
1927 offset: usize,
1928 _depth: fidl::encoding::Depth,
1929 ) -> fidl::Result<()> {
1930 decoder.debug_check_bounds::<Self>(offset);
1931 let prim = decoder.read_num::<u32>(offset);
1932
1933 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1934 Ok(())
1935 }
1936 }
1937 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1938 type Owned = Self;
1939
1940 #[inline(always)]
1941 fn inline_align(_context: fidl::encoding::Context) -> usize {
1942 std::mem::align_of::<u32>()
1943 }
1944
1945 #[inline(always)]
1946 fn inline_size(_context: fidl::encoding::Context) -> usize {
1947 std::mem::size_of::<u32>()
1948 }
1949
1950 #[inline(always)]
1951 fn encode_is_copy() -> bool {
1952 true
1953 }
1954
1955 #[inline(always)]
1956 fn decode_is_copy() -> bool {
1957 false
1958 }
1959 }
1960
1961 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1962 type Borrowed<'a> = Self;
1963 #[inline(always)]
1964 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1965 *value
1966 }
1967 }
1968
1969 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1970 #[inline]
1971 unsafe fn encode(
1972 self,
1973 encoder: &mut fidl::encoding::Encoder<'_, D>,
1974 offset: usize,
1975 _depth: fidl::encoding::Depth,
1976 ) -> fidl::Result<()> {
1977 encoder.debug_check_bounds::<Self>(offset);
1978 encoder.write_num(self.into_primitive(), offset);
1979 Ok(())
1980 }
1981 }
1982
1983 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
1984 #[inline(always)]
1985 fn new_empty() -> Self {
1986 Self::Active
1987 }
1988
1989 #[inline]
1990 unsafe fn decode(
1991 &mut self,
1992 decoder: &mut fidl::encoding::Decoder<'_, D>,
1993 offset: usize,
1994 _depth: fidl::encoding::Depth,
1995 ) -> fidl::Result<()> {
1996 decoder.debug_check_bounds::<Self>(offset);
1997 let prim = decoder.read_num::<u32>(offset);
1998
1999 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2000 Ok(())
2001 }
2002 }
2003 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
2004 type Owned = Self;
2005
2006 #[inline(always)]
2007 fn inline_align(_context: fidl::encoding::Context) -> usize {
2008 std::mem::align_of::<u32>()
2009 }
2010
2011 #[inline(always)]
2012 fn inline_size(_context: fidl::encoding::Context) -> usize {
2013 std::mem::size_of::<u32>()
2014 }
2015
2016 #[inline(always)]
2017 fn encode_is_copy() -> bool {
2018 true
2019 }
2020
2021 #[inline(always)]
2022 fn decode_is_copy() -> bool {
2023 false
2024 }
2025 }
2026
2027 impl fidl::encoding::ValueTypeMarker for StartResultCode {
2028 type Borrowed<'a> = Self;
2029 #[inline(always)]
2030 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2031 *value
2032 }
2033 }
2034
2035 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2036 for StartResultCode
2037 {
2038 #[inline]
2039 unsafe fn encode(
2040 self,
2041 encoder: &mut fidl::encoding::Encoder<'_, D>,
2042 offset: usize,
2043 _depth: fidl::encoding::Depth,
2044 ) -> fidl::Result<()> {
2045 encoder.debug_check_bounds::<Self>(offset);
2046 encoder.write_num(self.into_primitive(), offset);
2047 Ok(())
2048 }
2049 }
2050
2051 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
2052 #[inline(always)]
2053 fn new_empty() -> Self {
2054 Self::Success
2055 }
2056
2057 #[inline]
2058 unsafe fn decode(
2059 &mut self,
2060 decoder: &mut fidl::encoding::Decoder<'_, D>,
2061 offset: usize,
2062 _depth: fidl::encoding::Depth,
2063 ) -> fidl::Result<()> {
2064 decoder.debug_check_bounds::<Self>(offset);
2065 let prim = decoder.read_num::<u32>(offset);
2066
2067 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2068 Ok(())
2069 }
2070 }
2071 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
2072 type Owned = Self;
2073
2074 #[inline(always)]
2075 fn inline_align(_context: fidl::encoding::Context) -> usize {
2076 std::mem::align_of::<u32>()
2077 }
2078
2079 #[inline(always)]
2080 fn inline_size(_context: fidl::encoding::Context) -> usize {
2081 std::mem::size_of::<u32>()
2082 }
2083
2084 #[inline(always)]
2085 fn encode_is_copy() -> bool {
2086 true
2087 }
2088
2089 #[inline(always)]
2090 fn decode_is_copy() -> bool {
2091 false
2092 }
2093 }
2094
2095 impl fidl::encoding::ValueTypeMarker for StopResultCode {
2096 type Borrowed<'a> = Self;
2097 #[inline(always)]
2098 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2099 *value
2100 }
2101 }
2102
2103 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2104 #[inline]
2105 unsafe fn encode(
2106 self,
2107 encoder: &mut fidl::encoding::Encoder<'_, D>,
2108 offset: usize,
2109 _depth: fidl::encoding::Depth,
2110 ) -> fidl::Result<()> {
2111 encoder.debug_check_bounds::<Self>(offset);
2112 encoder.write_num(self.into_primitive(), offset);
2113 Ok(())
2114 }
2115 }
2116
2117 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2118 #[inline(always)]
2119 fn new_empty() -> Self {
2120 Self::Success
2121 }
2122
2123 #[inline]
2124 unsafe fn decode(
2125 &mut self,
2126 decoder: &mut fidl::encoding::Decoder<'_, D>,
2127 offset: usize,
2128 _depth: fidl::encoding::Depth,
2129 ) -> fidl::Result<()> {
2130 decoder.debug_check_bounds::<Self>(offset);
2131 let prim = decoder.read_num::<u32>(offset);
2132
2133 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2134 Ok(())
2135 }
2136 }
2137
2138 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2139 type Borrowed<'a> = &'a Self;
2140 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2141 value
2142 }
2143 }
2144
2145 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2146 type Owned = Self;
2147
2148 #[inline(always)]
2149 fn inline_align(_context: fidl::encoding::Context) -> usize {
2150 8
2151 }
2152
2153 #[inline(always)]
2154 fn inline_size(_context: fidl::encoding::Context) -> usize {
2155 64
2156 }
2157 }
2158
2159 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2160 for &AssociateIndication
2161 {
2162 #[inline]
2163 unsafe fn encode(
2164 self,
2165 encoder: &mut fidl::encoding::Encoder<'_, D>,
2166 offset: usize,
2167 _depth: fidl::encoding::Depth,
2168 ) -> fidl::Result<()> {
2169 encoder.debug_check_bounds::<AssociateIndication>(offset);
2170 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2172 (
2173 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2174 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2175 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2176 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2177 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2178 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2179 ),
2180 encoder, offset, _depth
2181 )
2182 }
2183 }
2184 unsafe impl<
2185 D: fidl::encoding::ResourceDialect,
2186 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2187 T1: fidl::encoding::Encode<u16, D>,
2188 T2: fidl::encoding::Encode<u16, D>,
2189 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2190 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2191 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2192 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
2193 {
2194 #[inline]
2195 unsafe fn encode(
2196 self,
2197 encoder: &mut fidl::encoding::Encoder<'_, D>,
2198 offset: usize,
2199 depth: fidl::encoding::Depth,
2200 ) -> fidl::Result<()> {
2201 encoder.debug_check_bounds::<AssociateIndication>(offset);
2202 unsafe {
2205 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2206 (ptr as *mut u64).write_unaligned(0);
2207 }
2208 self.0.encode(encoder, offset + 0, depth)?;
2210 self.1.encode(encoder, offset + 6, depth)?;
2211 self.2.encode(encoder, offset + 8, depth)?;
2212 self.3.encode(encoder, offset + 16, depth)?;
2213 self.4.encode(encoder, offset + 32, depth)?;
2214 self.5.encode(encoder, offset + 48, depth)?;
2215 Ok(())
2216 }
2217 }
2218
2219 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2220 #[inline(always)]
2221 fn new_empty() -> Self {
2222 Self {
2223 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2224 capability_info: fidl::new_empty!(u16, D),
2225 listen_interval: fidl::new_empty!(u16, D),
2226 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2227 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2228 rsne: fidl::new_empty!(
2229 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2230 D
2231 ),
2232 }
2233 }
2234
2235 #[inline]
2236 unsafe fn decode(
2237 &mut self,
2238 decoder: &mut fidl::encoding::Decoder<'_, D>,
2239 offset: usize,
2240 _depth: fidl::encoding::Depth,
2241 ) -> fidl::Result<()> {
2242 decoder.debug_check_bounds::<Self>(offset);
2243 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2245 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2246 let mask = 0xffffffffffff0000u64;
2247 let maskedval = padval & mask;
2248 if maskedval != 0 {
2249 return Err(fidl::Error::NonZeroPadding {
2250 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2251 });
2252 }
2253 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2254 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2255 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2256 fidl::decode!(
2257 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2258 D,
2259 &mut self.ssid,
2260 decoder,
2261 offset + 16,
2262 _depth
2263 )?;
2264 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2265 fidl::decode!(
2266 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2267 D,
2268 &mut self.rsne,
2269 decoder,
2270 offset + 48,
2271 _depth
2272 )?;
2273 Ok(())
2274 }
2275 }
2276
2277 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2278 type Borrowed<'a> = &'a Self;
2279 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2280 value
2281 }
2282 }
2283
2284 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2285 type Owned = Self;
2286
2287 #[inline(always)]
2288 fn inline_align(_context: fidl::encoding::Context) -> usize {
2289 8
2290 }
2291
2292 #[inline(always)]
2293 fn inline_size(_context: fidl::encoding::Context) -> usize {
2294 32
2295 }
2296 }
2297
2298 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2299 for &AssociateResponse
2300 {
2301 #[inline]
2302 unsafe fn encode(
2303 self,
2304 encoder: &mut fidl::encoding::Encoder<'_, D>,
2305 offset: usize,
2306 _depth: fidl::encoding::Depth,
2307 ) -> fidl::Result<()> {
2308 encoder.debug_check_bounds::<AssociateResponse>(offset);
2309 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2311 (
2312 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2313 &self.peer_sta_address,
2314 ),
2315 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2316 &self.result_code,
2317 ),
2318 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2319 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2320 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2321 &self.rates,
2322 ),
2323 ),
2324 encoder,
2325 offset,
2326 _depth,
2327 )
2328 }
2329 }
2330 unsafe impl<
2331 D: fidl::encoding::ResourceDialect,
2332 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2333 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2334 T2: fidl::encoding::Encode<u16, D>,
2335 T3: fidl::encoding::Encode<u16, D>,
2336 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2337 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2338 {
2339 #[inline]
2340 unsafe fn encode(
2341 self,
2342 encoder: &mut fidl::encoding::Encoder<'_, D>,
2343 offset: usize,
2344 depth: fidl::encoding::Depth,
2345 ) -> fidl::Result<()> {
2346 encoder.debug_check_bounds::<AssociateResponse>(offset);
2347 unsafe {
2350 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2351 (ptr as *mut u64).write_unaligned(0);
2352 }
2353 self.0.encode(encoder, offset + 0, depth)?;
2355 self.1.encode(encoder, offset + 8, depth)?;
2356 self.2.encode(encoder, offset + 12, depth)?;
2357 self.3.encode(encoder, offset + 14, depth)?;
2358 self.4.encode(encoder, offset + 16, depth)?;
2359 Ok(())
2360 }
2361 }
2362
2363 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2364 #[inline(always)]
2365 fn new_empty() -> Self {
2366 Self {
2367 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2368 result_code: fidl::new_empty!(AssociateResultCode, D),
2369 association_id: fidl::new_empty!(u16, D),
2370 capability_info: fidl::new_empty!(u16, D),
2371 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2372 }
2373 }
2374
2375 #[inline]
2376 unsafe fn decode(
2377 &mut self,
2378 decoder: &mut fidl::encoding::Decoder<'_, D>,
2379 offset: usize,
2380 _depth: fidl::encoding::Depth,
2381 ) -> fidl::Result<()> {
2382 decoder.debug_check_bounds::<Self>(offset);
2383 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2385 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2386 let mask = 0xffff000000000000u64;
2387 let maskedval = padval & mask;
2388 if maskedval != 0 {
2389 return Err(fidl::Error::NonZeroPadding {
2390 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2391 });
2392 }
2393 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2394 fidl::decode!(
2395 AssociateResultCode,
2396 D,
2397 &mut self.result_code,
2398 decoder,
2399 offset + 8,
2400 _depth
2401 )?;
2402 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2403 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2404 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2405 Ok(())
2406 }
2407 }
2408
2409 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2410 type Borrowed<'a> = &'a Self;
2411 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2412 value
2413 }
2414 }
2415
2416 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2417 type Owned = Self;
2418
2419 #[inline(always)]
2420 fn inline_align(_context: fidl::encoding::Context) -> usize {
2421 4
2422 }
2423
2424 #[inline(always)]
2425 fn inline_size(_context: fidl::encoding::Context) -> usize {
2426 12
2427 }
2428 }
2429
2430 unsafe impl<D: fidl::encoding::ResourceDialect>
2431 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2432 {
2433 #[inline]
2434 unsafe fn encode(
2435 self,
2436 encoder: &mut fidl::encoding::Encoder<'_, D>,
2437 offset: usize,
2438 _depth: fidl::encoding::Depth,
2439 ) -> fidl::Result<()> {
2440 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2441 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2443 (
2444 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2445 &self.peer_sta_address,
2446 ),
2447 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2448 &self.auth_type,
2449 ),
2450 ),
2451 encoder,
2452 offset,
2453 _depth,
2454 )
2455 }
2456 }
2457 unsafe impl<
2458 D: fidl::encoding::ResourceDialect,
2459 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2460 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2461 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2462 {
2463 #[inline]
2464 unsafe fn encode(
2465 self,
2466 encoder: &mut fidl::encoding::Encoder<'_, D>,
2467 offset: usize,
2468 depth: fidl::encoding::Depth,
2469 ) -> fidl::Result<()> {
2470 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2471 unsafe {
2474 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2475 (ptr as *mut u32).write_unaligned(0);
2476 }
2477 self.0.encode(encoder, offset + 0, depth)?;
2479 self.1.encode(encoder, offset + 8, depth)?;
2480 Ok(())
2481 }
2482 }
2483
2484 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2485 for AuthenticateIndication
2486 {
2487 #[inline(always)]
2488 fn new_empty() -> Self {
2489 Self {
2490 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2491 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2492 }
2493 }
2494
2495 #[inline]
2496 unsafe fn decode(
2497 &mut self,
2498 decoder: &mut fidl::encoding::Decoder<'_, D>,
2499 offset: usize,
2500 _depth: fidl::encoding::Depth,
2501 ) -> fidl::Result<()> {
2502 decoder.debug_check_bounds::<Self>(offset);
2503 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2505 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2506 let mask = 0xffff0000u32;
2507 let maskedval = padval & mask;
2508 if maskedval != 0 {
2509 return Err(fidl::Error::NonZeroPadding {
2510 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2511 });
2512 }
2513 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2514 fidl::decode!(
2515 AuthenticationTypes,
2516 D,
2517 &mut self.auth_type,
2518 decoder,
2519 offset + 8,
2520 _depth
2521 )?;
2522 Ok(())
2523 }
2524 }
2525
2526 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2527 type Borrowed<'a> = &'a Self;
2528 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2529 value
2530 }
2531 }
2532
2533 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2534 type Owned = Self;
2535
2536 #[inline(always)]
2537 fn inline_align(_context: fidl::encoding::Context) -> usize {
2538 4
2539 }
2540
2541 #[inline(always)]
2542 fn inline_size(_context: fidl::encoding::Context) -> usize {
2543 12
2544 }
2545 }
2546
2547 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2548 for &AuthenticateResponse
2549 {
2550 #[inline]
2551 unsafe fn encode(
2552 self,
2553 encoder: &mut fidl::encoding::Encoder<'_, D>,
2554 offset: usize,
2555 _depth: fidl::encoding::Depth,
2556 ) -> fidl::Result<()> {
2557 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2558 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2560 (
2561 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2562 &self.peer_sta_address,
2563 ),
2564 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2565 &self.result_code,
2566 ),
2567 ),
2568 encoder,
2569 offset,
2570 _depth,
2571 )
2572 }
2573 }
2574 unsafe impl<
2575 D: fidl::encoding::ResourceDialect,
2576 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2577 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2578 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2579 {
2580 #[inline]
2581 unsafe fn encode(
2582 self,
2583 encoder: &mut fidl::encoding::Encoder<'_, D>,
2584 offset: usize,
2585 depth: fidl::encoding::Depth,
2586 ) -> fidl::Result<()> {
2587 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2588 unsafe {
2591 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2592 (ptr as *mut u32).write_unaligned(0);
2593 }
2594 self.0.encode(encoder, offset + 0, depth)?;
2596 self.1.encode(encoder, offset + 8, depth)?;
2597 Ok(())
2598 }
2599 }
2600
2601 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2602 #[inline(always)]
2603 fn new_empty() -> Self {
2604 Self {
2605 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2606 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2607 }
2608 }
2609
2610 #[inline]
2611 unsafe fn decode(
2612 &mut self,
2613 decoder: &mut fidl::encoding::Decoder<'_, D>,
2614 offset: usize,
2615 _depth: fidl::encoding::Depth,
2616 ) -> fidl::Result<()> {
2617 decoder.debug_check_bounds::<Self>(offset);
2618 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2620 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2621 let mask = 0xffff0000u32;
2622 let maskedval = padval & mask;
2623 if maskedval != 0 {
2624 return Err(fidl::Error::NonZeroPadding {
2625 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2626 });
2627 }
2628 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2629 fidl::decode!(
2630 AuthenticateResultCode,
2631 D,
2632 &mut self.result_code,
2633 decoder,
2634 offset + 8,
2635 _depth
2636 )?;
2637 Ok(())
2638 }
2639 }
2640
2641 impl fidl::encoding::ValueTypeMarker for BandCapability {
2642 type Borrowed<'a> = &'a Self;
2643 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2644 value
2645 }
2646 }
2647
2648 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2649 type Owned = Self;
2650
2651 #[inline(always)]
2652 fn inline_align(_context: fidl::encoding::Context) -> usize {
2653 8
2654 }
2655
2656 #[inline(always)]
2657 fn inline_size(_context: fidl::encoding::Context) -> usize {
2658 56
2659 }
2660 }
2661
2662 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2663 for &BandCapability
2664 {
2665 #[inline]
2666 unsafe fn encode(
2667 self,
2668 encoder: &mut fidl::encoding::Encoder<'_, D>,
2669 offset: usize,
2670 _depth: fidl::encoding::Depth,
2671 ) -> fidl::Result<()> {
2672 encoder.debug_check_bounds::<BandCapability>(offset);
2673 fidl::encoding::Encode::<BandCapability, D>::encode(
2675 (
2676 <fidl_fuchsia_wlan_ieee80211_common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2677 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2678 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2679 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2680 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.operating_channels),
2681 ),
2682 encoder, offset, _depth
2683 )
2684 }
2685 }
2686 unsafe impl<
2687 D: fidl::encoding::ResourceDialect,
2688 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanBand, D>,
2689 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2690 T2: fidl::encoding::Encode<
2691 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2692 D,
2693 >,
2694 T3: fidl::encoding::Encode<
2695 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2696 D,
2697 >,
2698 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
2699 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2700 {
2701 #[inline]
2702 unsafe fn encode(
2703 self,
2704 encoder: &mut fidl::encoding::Encoder<'_, D>,
2705 offset: usize,
2706 depth: fidl::encoding::Depth,
2707 ) -> fidl::Result<()> {
2708 encoder.debug_check_bounds::<BandCapability>(offset);
2709 unsafe {
2712 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2713 (ptr as *mut u64).write_unaligned(0);
2714 }
2715 self.0.encode(encoder, offset + 0, depth)?;
2717 self.1.encode(encoder, offset + 8, depth)?;
2718 self.2.encode(encoder, offset + 24, depth)?;
2719 self.3.encode(encoder, offset + 32, depth)?;
2720 self.4.encode(encoder, offset + 40, depth)?;
2721 Ok(())
2722 }
2723 }
2724
2725 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2726 #[inline(always)]
2727 fn new_empty() -> Self {
2728 Self {
2729 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanBand, D),
2730 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2731 ht_cap: fidl::new_empty!(
2732 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2733 D
2734 ),
2735 vht_cap: fidl::new_empty!(
2736 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2737 D
2738 ),
2739 operating_channels: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
2740 }
2741 }
2742
2743 #[inline]
2744 unsafe fn decode(
2745 &mut self,
2746 decoder: &mut fidl::encoding::Decoder<'_, D>,
2747 offset: usize,
2748 _depth: fidl::encoding::Depth,
2749 ) -> fidl::Result<()> {
2750 decoder.debug_check_bounds::<Self>(offset);
2751 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2753 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2754 let mask = 0xffffffffffffff00u64;
2755 let maskedval = padval & mask;
2756 if maskedval != 0 {
2757 return Err(fidl::Error::NonZeroPadding {
2758 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2759 });
2760 }
2761 fidl::decode!(
2762 fidl_fuchsia_wlan_ieee80211_common::WlanBand,
2763 D,
2764 &mut self.band,
2765 decoder,
2766 offset + 0,
2767 _depth
2768 )?;
2769 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2770 fidl::decode!(
2771 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2772 D,
2773 &mut self.ht_cap,
2774 decoder,
2775 offset + 24,
2776 _depth
2777 )?;
2778 fidl::decode!(
2779 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2780 D,
2781 &mut self.vht_cap,
2782 decoder,
2783 offset + 32,
2784 _depth
2785 )?;
2786 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.operating_channels, decoder, offset + 40, _depth)?;
2787 Ok(())
2788 }
2789 }
2790
2791 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2792 type Borrowed<'a> = &'a Self;
2793 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2794 value
2795 }
2796 }
2797
2798 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2799 type Owned = Self;
2800
2801 #[inline(always)]
2802 fn inline_align(_context: fidl::encoding::Context) -> usize {
2803 8
2804 }
2805
2806 #[inline(always)]
2807 fn inline_size(_context: fidl::encoding::Context) -> usize {
2808 16
2809 }
2810 }
2811
2812 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2813 for &CapturedFrameResult
2814 {
2815 #[inline]
2816 unsafe fn encode(
2817 self,
2818 encoder: &mut fidl::encoding::Encoder<'_, D>,
2819 offset: usize,
2820 _depth: fidl::encoding::Depth,
2821 ) -> fidl::Result<()> {
2822 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2823 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2825 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2826 &self.frame,
2827 ),),
2828 encoder,
2829 offset,
2830 _depth,
2831 )
2832 }
2833 }
2834 unsafe impl<
2835 D: fidl::encoding::ResourceDialect,
2836 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2837 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2838 {
2839 #[inline]
2840 unsafe fn encode(
2841 self,
2842 encoder: &mut fidl::encoding::Encoder<'_, D>,
2843 offset: usize,
2844 depth: fidl::encoding::Depth,
2845 ) -> fidl::Result<()> {
2846 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2847 self.0.encode(encoder, offset + 0, depth)?;
2851 Ok(())
2852 }
2853 }
2854
2855 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2856 #[inline(always)]
2857 fn new_empty() -> Self {
2858 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2859 }
2860
2861 #[inline]
2862 unsafe fn decode(
2863 &mut self,
2864 decoder: &mut fidl::encoding::Decoder<'_, D>,
2865 offset: usize,
2866 _depth: fidl::encoding::Depth,
2867 ) -> fidl::Result<()> {
2868 decoder.debug_check_bounds::<Self>(offset);
2869 fidl::decode!(
2871 fidl::encoding::UnboundedVector<u8>,
2872 D,
2873 &mut self.frame,
2874 decoder,
2875 offset + 0,
2876 _depth
2877 )?;
2878 Ok(())
2879 }
2880 }
2881
2882 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2883 type Borrowed<'a> = &'a Self;
2884 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2885 value
2886 }
2887 }
2888
2889 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2890 type Owned = Self;
2891
2892 #[inline(always)]
2893 fn inline_align(_context: fidl::encoding::Context) -> usize {
2894 8
2895 }
2896
2897 #[inline(always)]
2898 fn inline_size(_context: fidl::encoding::Context) -> usize {
2899 32
2900 }
2901 }
2902
2903 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2904 for &ConnectConfirm
2905 {
2906 #[inline]
2907 unsafe fn encode(
2908 self,
2909 encoder: &mut fidl::encoding::Encoder<'_, D>,
2910 offset: usize,
2911 _depth: fidl::encoding::Depth,
2912 ) -> fidl::Result<()> {
2913 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2914 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2916 (
2917 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2918 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2919 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2920 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2921 ),
2922 encoder, offset, _depth
2923 )
2924 }
2925 }
2926 unsafe impl<
2927 D: fidl::encoding::ResourceDialect,
2928 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2929 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
2930 T2: fidl::encoding::Encode<u16, D>,
2931 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2932 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2933 {
2934 #[inline]
2935 unsafe fn encode(
2936 self,
2937 encoder: &mut fidl::encoding::Encoder<'_, D>,
2938 offset: usize,
2939 depth: fidl::encoding::Depth,
2940 ) -> fidl::Result<()> {
2941 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2942 unsafe {
2945 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2946 (ptr as *mut u64).write_unaligned(0);
2947 }
2948 self.0.encode(encoder, offset + 0, depth)?;
2950 self.1.encode(encoder, offset + 6, depth)?;
2951 self.2.encode(encoder, offset + 8, depth)?;
2952 self.3.encode(encoder, offset + 16, depth)?;
2953 Ok(())
2954 }
2955 }
2956
2957 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2958 #[inline(always)]
2959 fn new_empty() -> Self {
2960 Self {
2961 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2962 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
2963 association_id: fidl::new_empty!(u16, D),
2964 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2965 }
2966 }
2967
2968 #[inline]
2969 unsafe fn decode(
2970 &mut self,
2971 decoder: &mut fidl::encoding::Decoder<'_, D>,
2972 offset: usize,
2973 _depth: fidl::encoding::Depth,
2974 ) -> fidl::Result<()> {
2975 decoder.debug_check_bounds::<Self>(offset);
2976 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2978 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2979 let mask = 0xffffffffffff0000u64;
2980 let maskedval = padval & mask;
2981 if maskedval != 0 {
2982 return Err(fidl::Error::NonZeroPadding {
2983 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2984 });
2985 }
2986 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2987 fidl::decode!(
2988 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
2989 D,
2990 &mut self.result_code,
2991 decoder,
2992 offset + 6,
2993 _depth
2994 )?;
2995 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2996 fidl::decode!(
2997 fidl::encoding::UnboundedVector<u8>,
2998 D,
2999 &mut self.association_ies,
3000 decoder,
3001 offset + 16,
3002 _depth
3003 )?;
3004 Ok(())
3005 }
3006 }
3007
3008 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
3009 type Borrowed<'a> = &'a Self;
3010 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3011 value
3012 }
3013 }
3014
3015 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
3016 type Owned = Self;
3017
3018 #[inline(always)]
3019 fn inline_align(_context: fidl::encoding::Context) -> usize {
3020 8
3021 }
3022
3023 #[inline(always)]
3024 fn inline_size(_context: fidl::encoding::Context) -> usize {
3025 104
3026 }
3027 }
3028
3029 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
3030 for &ConnectRequest
3031 {
3032 #[inline]
3033 unsafe fn encode(
3034 self,
3035 encoder: &mut fidl::encoding::Encoder<'_, D>,
3036 offset: usize,
3037 _depth: fidl::encoding::Depth,
3038 ) -> fidl::Result<()> {
3039 encoder.debug_check_bounds::<ConnectRequest>(offset);
3040 fidl::encoding::Encode::<ConnectRequest, D>::encode(
3042 (
3043 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
3044 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
3045 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
3046 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
3047 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
3048 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
3049 <fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey> as fidl::encoding::ValueTypeMarker>::borrow(&self.owe_public_key),
3050 ),
3051 encoder, offset, _depth
3052 )
3053 }
3054 }
3055 unsafe impl<
3056 D: fidl::encoding::ResourceDialect,
3057 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
3058 T1: fidl::encoding::Encode<u32, D>,
3059 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
3060 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
3061 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
3062 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
3063 T6: fidl::encoding::Encode<
3064 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3065 D,
3066 >,
3067 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
3068 {
3069 #[inline]
3070 unsafe fn encode(
3071 self,
3072 encoder: &mut fidl::encoding::Encoder<'_, D>,
3073 offset: usize,
3074 depth: fidl::encoding::Depth,
3075 ) -> fidl::Result<()> {
3076 encoder.debug_check_bounds::<ConnectRequest>(offset);
3077 self.0.encode(encoder, offset + 0, depth)?;
3081 self.1.encode(encoder, offset + 48, depth)?;
3082 self.2.encode(encoder, offset + 52, depth)?;
3083 self.3.encode(encoder, offset + 56, depth)?;
3084 self.4.encode(encoder, offset + 72, depth)?;
3085 self.5.encode(encoder, offset + 80, depth)?;
3086 self.6.encode(encoder, offset + 96, depth)?;
3087 Ok(())
3088 }
3089 }
3090
3091 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
3092 #[inline(always)]
3093 fn new_empty() -> Self {
3094 Self {
3095 selected_bss: fidl::new_empty!(
3096 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3097 D
3098 ),
3099 connect_failure_timeout: fidl::new_empty!(u32, D),
3100 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3101 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3102 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3103 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3104 owe_public_key: fidl::new_empty!(
3105 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3106 D
3107 ),
3108 }
3109 }
3110
3111 #[inline]
3112 unsafe fn decode(
3113 &mut self,
3114 decoder: &mut fidl::encoding::Decoder<'_, D>,
3115 offset: usize,
3116 _depth: fidl::encoding::Depth,
3117 ) -> fidl::Result<()> {
3118 decoder.debug_check_bounds::<Self>(offset);
3119 fidl::decode!(
3121 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3122 D,
3123 &mut self.selected_bss,
3124 decoder,
3125 offset + 0,
3126 _depth
3127 )?;
3128 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3129 fidl::decode!(
3130 AuthenticationTypes,
3131 D,
3132 &mut self.auth_type,
3133 decoder,
3134 offset + 52,
3135 _depth
3136 )?;
3137 fidl::decode!(
3138 fidl::encoding::UnboundedVector<u8>,
3139 D,
3140 &mut self.sae_password,
3141 decoder,
3142 offset + 56,
3143 _depth
3144 )?;
3145 fidl::decode!(
3146 fidl::encoding::Boxed<SetKeyDescriptor>,
3147 D,
3148 &mut self.wep_key,
3149 decoder,
3150 offset + 72,
3151 _depth
3152 )?;
3153 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3154 fidl::decode!(
3155 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3156 D,
3157 &mut self.owe_public_key,
3158 decoder,
3159 offset + 96,
3160 _depth
3161 )?;
3162 Ok(())
3163 }
3164 }
3165
3166 impl fidl::encoding::ValueTypeMarker for Country {
3167 type Borrowed<'a> = &'a Self;
3168 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3169 value
3170 }
3171 }
3172
3173 unsafe impl fidl::encoding::TypeMarker for Country {
3174 type Owned = Self;
3175
3176 #[inline(always)]
3177 fn inline_align(_context: fidl::encoding::Context) -> usize {
3178 1
3179 }
3180
3181 #[inline(always)]
3182 fn inline_size(_context: fidl::encoding::Context) -> usize {
3183 3
3184 }
3185 #[inline(always)]
3186 fn encode_is_copy() -> bool {
3187 true
3188 }
3189
3190 #[inline(always)]
3191 fn decode_is_copy() -> bool {
3192 true
3193 }
3194 }
3195
3196 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3197 #[inline]
3198 unsafe fn encode(
3199 self,
3200 encoder: &mut fidl::encoding::Encoder<'_, D>,
3201 offset: usize,
3202 _depth: fidl::encoding::Depth,
3203 ) -> fidl::Result<()> {
3204 encoder.debug_check_bounds::<Country>(offset);
3205 unsafe {
3206 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3208 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3209 }
3212 Ok(())
3213 }
3214 }
3215 unsafe impl<
3216 D: fidl::encoding::ResourceDialect,
3217 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3218 T1: fidl::encoding::Encode<u8, D>,
3219 > fidl::encoding::Encode<Country, D> for (T0, T1)
3220 {
3221 #[inline]
3222 unsafe fn encode(
3223 self,
3224 encoder: &mut fidl::encoding::Encoder<'_, D>,
3225 offset: usize,
3226 depth: fidl::encoding::Depth,
3227 ) -> fidl::Result<()> {
3228 encoder.debug_check_bounds::<Country>(offset);
3229 self.0.encode(encoder, offset + 0, depth)?;
3233 self.1.encode(encoder, offset + 2, depth)?;
3234 Ok(())
3235 }
3236 }
3237
3238 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3239 #[inline(always)]
3240 fn new_empty() -> Self {
3241 Self {
3242 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3243 suffix: fidl::new_empty!(u8, D),
3244 }
3245 }
3246
3247 #[inline]
3248 unsafe fn decode(
3249 &mut self,
3250 decoder: &mut fidl::encoding::Decoder<'_, D>,
3251 offset: usize,
3252 _depth: fidl::encoding::Depth,
3253 ) -> fidl::Result<()> {
3254 decoder.debug_check_bounds::<Self>(offset);
3255 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3256 unsafe {
3259 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3260 }
3261 Ok(())
3262 }
3263 }
3264
3265 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3266 type Borrowed<'a> = &'a Self;
3267 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3268 value
3269 }
3270 }
3271
3272 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3273 type Owned = Self;
3274
3275 #[inline(always)]
3276 fn inline_align(_context: fidl::encoding::Context) -> usize {
3277 1
3278 }
3279
3280 #[inline(always)]
3281 fn inline_size(_context: fidl::encoding::Context) -> usize {
3282 6
3283 }
3284 #[inline(always)]
3285 fn encode_is_copy() -> bool {
3286 true
3287 }
3288
3289 #[inline(always)]
3290 fn decode_is_copy() -> bool {
3291 true
3292 }
3293 }
3294
3295 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3296 for &DeauthenticateConfirm
3297 {
3298 #[inline]
3299 unsafe fn encode(
3300 self,
3301 encoder: &mut fidl::encoding::Encoder<'_, D>,
3302 offset: usize,
3303 _depth: fidl::encoding::Depth,
3304 ) -> fidl::Result<()> {
3305 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3306 unsafe {
3307 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3309 (buf_ptr as *mut DeauthenticateConfirm)
3310 .write_unaligned((self as *const DeauthenticateConfirm).read());
3311 }
3314 Ok(())
3315 }
3316 }
3317 unsafe impl<
3318 D: fidl::encoding::ResourceDialect,
3319 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3320 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3321 {
3322 #[inline]
3323 unsafe fn encode(
3324 self,
3325 encoder: &mut fidl::encoding::Encoder<'_, D>,
3326 offset: usize,
3327 depth: fidl::encoding::Depth,
3328 ) -> fidl::Result<()> {
3329 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3330 self.0.encode(encoder, offset + 0, depth)?;
3334 Ok(())
3335 }
3336 }
3337
3338 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3339 #[inline(always)]
3340 fn new_empty() -> Self {
3341 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3342 }
3343
3344 #[inline]
3345 unsafe fn decode(
3346 &mut self,
3347 decoder: &mut fidl::encoding::Decoder<'_, D>,
3348 offset: usize,
3349 _depth: fidl::encoding::Depth,
3350 ) -> fidl::Result<()> {
3351 decoder.debug_check_bounds::<Self>(offset);
3352 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3353 unsafe {
3356 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3357 }
3358 Ok(())
3359 }
3360 }
3361
3362 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3363 type Borrowed<'a> = &'a Self;
3364 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3365 value
3366 }
3367 }
3368
3369 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3370 type Owned = Self;
3371
3372 #[inline(always)]
3373 fn inline_align(_context: fidl::encoding::Context) -> usize {
3374 2
3375 }
3376
3377 #[inline(always)]
3378 fn inline_size(_context: fidl::encoding::Context) -> usize {
3379 10
3380 }
3381 }
3382
3383 unsafe impl<D: fidl::encoding::ResourceDialect>
3384 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3385 {
3386 #[inline]
3387 unsafe fn encode(
3388 self,
3389 encoder: &mut fidl::encoding::Encoder<'_, D>,
3390 offset: usize,
3391 _depth: fidl::encoding::Depth,
3392 ) -> fidl::Result<()> {
3393 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3394 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3396 (
3397 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3398 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3399 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3400 ),
3401 encoder, offset, _depth
3402 )
3403 }
3404 }
3405 unsafe impl<
3406 D: fidl::encoding::ResourceDialect,
3407 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3408 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3409 T2: fidl::encoding::Encode<bool, D>,
3410 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3411 {
3412 #[inline]
3413 unsafe fn encode(
3414 self,
3415 encoder: &mut fidl::encoding::Encoder<'_, D>,
3416 offset: usize,
3417 depth: fidl::encoding::Depth,
3418 ) -> fidl::Result<()> {
3419 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3420 unsafe {
3423 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3424 (ptr as *mut u16).write_unaligned(0);
3425 }
3426 self.0.encode(encoder, offset + 0, depth)?;
3428 self.1.encode(encoder, offset + 6, depth)?;
3429 self.2.encode(encoder, offset + 8, depth)?;
3430 Ok(())
3431 }
3432 }
3433
3434 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3435 for DeauthenticateIndication
3436 {
3437 #[inline(always)]
3438 fn new_empty() -> Self {
3439 Self {
3440 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3441 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3442 locally_initiated: fidl::new_empty!(bool, D),
3443 }
3444 }
3445
3446 #[inline]
3447 unsafe fn decode(
3448 &mut self,
3449 decoder: &mut fidl::encoding::Decoder<'_, D>,
3450 offset: usize,
3451 _depth: fidl::encoding::Depth,
3452 ) -> fidl::Result<()> {
3453 decoder.debug_check_bounds::<Self>(offset);
3454 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3456 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3457 let mask = 0xff00u16;
3458 let maskedval = padval & mask;
3459 if maskedval != 0 {
3460 return Err(fidl::Error::NonZeroPadding {
3461 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3462 });
3463 }
3464 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3465 fidl::decode!(
3466 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3467 D,
3468 &mut self.reason_code,
3469 decoder,
3470 offset + 6,
3471 _depth
3472 )?;
3473 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3474 Ok(())
3475 }
3476 }
3477
3478 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3479 type Borrowed<'a> = &'a Self;
3480 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3481 value
3482 }
3483 }
3484
3485 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3486 type Owned = Self;
3487
3488 #[inline(always)]
3489 fn inline_align(_context: fidl::encoding::Context) -> usize {
3490 2
3491 }
3492
3493 #[inline(always)]
3494 fn inline_size(_context: fidl::encoding::Context) -> usize {
3495 8
3496 }
3497 }
3498
3499 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3500 for &DeauthenticateRequest
3501 {
3502 #[inline]
3503 unsafe fn encode(
3504 self,
3505 encoder: &mut fidl::encoding::Encoder<'_, D>,
3506 offset: usize,
3507 _depth: fidl::encoding::Depth,
3508 ) -> fidl::Result<()> {
3509 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3510 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3512 (
3513 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3514 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3515 ),
3516 encoder, offset, _depth
3517 )
3518 }
3519 }
3520 unsafe impl<
3521 D: fidl::encoding::ResourceDialect,
3522 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3523 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3524 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3525 {
3526 #[inline]
3527 unsafe fn encode(
3528 self,
3529 encoder: &mut fidl::encoding::Encoder<'_, D>,
3530 offset: usize,
3531 depth: fidl::encoding::Depth,
3532 ) -> fidl::Result<()> {
3533 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3534 self.0.encode(encoder, offset + 0, depth)?;
3538 self.1.encode(encoder, offset + 6, depth)?;
3539 Ok(())
3540 }
3541 }
3542
3543 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3544 #[inline(always)]
3545 fn new_empty() -> Self {
3546 Self {
3547 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3548 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3549 }
3550 }
3551
3552 #[inline]
3553 unsafe fn decode(
3554 &mut self,
3555 decoder: &mut fidl::encoding::Decoder<'_, D>,
3556 offset: usize,
3557 _depth: fidl::encoding::Depth,
3558 ) -> fidl::Result<()> {
3559 decoder.debug_check_bounds::<Self>(offset);
3560 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3562 fidl::decode!(
3563 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3564 D,
3565 &mut self.reason_code,
3566 decoder,
3567 offset + 6,
3568 _depth
3569 )?;
3570 Ok(())
3571 }
3572 }
3573
3574 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3575 type Borrowed<'a> = &'a Self;
3576 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3577 value
3578 }
3579 }
3580
3581 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3582 type Owned = Self;
3583
3584 #[inline(always)]
3585 fn inline_align(_context: fidl::encoding::Context) -> usize {
3586 4
3587 }
3588
3589 #[inline(always)]
3590 fn inline_size(_context: fidl::encoding::Context) -> usize {
3591 16
3592 }
3593 }
3594
3595 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3596 for &DeleteKeyDescriptor
3597 {
3598 #[inline]
3599 unsafe fn encode(
3600 self,
3601 encoder: &mut fidl::encoding::Encoder<'_, D>,
3602 offset: usize,
3603 _depth: fidl::encoding::Depth,
3604 ) -> fidl::Result<()> {
3605 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3606 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3608 (
3609 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3610 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3611 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3612 &self.address,
3613 ),
3614 ),
3615 encoder,
3616 offset,
3617 _depth,
3618 )
3619 }
3620 }
3621 unsafe impl<
3622 D: fidl::encoding::ResourceDialect,
3623 T0: fidl::encoding::Encode<u16, D>,
3624 T1: fidl::encoding::Encode<KeyType, D>,
3625 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3626 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3627 {
3628 #[inline]
3629 unsafe fn encode(
3630 self,
3631 encoder: &mut fidl::encoding::Encoder<'_, D>,
3632 offset: usize,
3633 depth: fidl::encoding::Depth,
3634 ) -> fidl::Result<()> {
3635 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3636 unsafe {
3639 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3640 (ptr as *mut u32).write_unaligned(0);
3641 }
3642 unsafe {
3643 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3644 (ptr as *mut u32).write_unaligned(0);
3645 }
3646 self.0.encode(encoder, offset + 0, depth)?;
3648 self.1.encode(encoder, offset + 4, depth)?;
3649 self.2.encode(encoder, offset + 8, depth)?;
3650 Ok(())
3651 }
3652 }
3653
3654 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3655 #[inline(always)]
3656 fn new_empty() -> Self {
3657 Self {
3658 key_id: fidl::new_empty!(u16, D),
3659 key_type: fidl::new_empty!(KeyType, D),
3660 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3661 }
3662 }
3663
3664 #[inline]
3665 unsafe fn decode(
3666 &mut self,
3667 decoder: &mut fidl::encoding::Decoder<'_, D>,
3668 offset: usize,
3669 _depth: fidl::encoding::Depth,
3670 ) -> fidl::Result<()> {
3671 decoder.debug_check_bounds::<Self>(offset);
3672 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3674 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3675 let mask = 0xffff0000u32;
3676 let maskedval = padval & mask;
3677 if maskedval != 0 {
3678 return Err(fidl::Error::NonZeroPadding {
3679 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3680 });
3681 }
3682 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3683 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3684 let mask = 0xffff0000u32;
3685 let maskedval = padval & mask;
3686 if maskedval != 0 {
3687 return Err(fidl::Error::NonZeroPadding {
3688 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3689 });
3690 }
3691 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3692 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3693 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3694 Ok(())
3695 }
3696 }
3697
3698 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3699 type Borrowed<'a> = &'a Self;
3700 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3701 value
3702 }
3703 }
3704
3705 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3706 type Owned = Self;
3707
3708 #[inline(always)]
3709 fn inline_align(_context: fidl::encoding::Context) -> usize {
3710 8
3711 }
3712
3713 #[inline(always)]
3714 fn inline_size(_context: fidl::encoding::Context) -> usize {
3715 16
3716 }
3717 }
3718
3719 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3720 for &DeleteKeysRequest
3721 {
3722 #[inline]
3723 unsafe fn encode(
3724 self,
3725 encoder: &mut fidl::encoding::Encoder<'_, D>,
3726 offset: usize,
3727 _depth: fidl::encoding::Depth,
3728 ) -> fidl::Result<()> {
3729 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3730 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3732 (
3733 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3734 ),
3735 encoder, offset, _depth
3736 )
3737 }
3738 }
3739 unsafe impl<
3740 D: fidl::encoding::ResourceDialect,
3741 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3742 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3743 {
3744 #[inline]
3745 unsafe fn encode(
3746 self,
3747 encoder: &mut fidl::encoding::Encoder<'_, D>,
3748 offset: usize,
3749 depth: fidl::encoding::Depth,
3750 ) -> fidl::Result<()> {
3751 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3752 self.0.encode(encoder, offset + 0, depth)?;
3756 Ok(())
3757 }
3758 }
3759
3760 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3761 #[inline(always)]
3762 fn new_empty() -> Self {
3763 Self {
3764 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3765 }
3766 }
3767
3768 #[inline]
3769 unsafe fn decode(
3770 &mut self,
3771 decoder: &mut fidl::encoding::Decoder<'_, D>,
3772 offset: usize,
3773 _depth: fidl::encoding::Depth,
3774 ) -> fidl::Result<()> {
3775 decoder.debug_check_bounds::<Self>(offset);
3776 fidl::decode!(
3778 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3779 D,
3780 &mut self.keylist,
3781 decoder,
3782 offset + 0,
3783 _depth
3784 )?;
3785 Ok(())
3786 }
3787 }
3788
3789 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3790 type Borrowed<'a> = &'a Self;
3791 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3792 value
3793 }
3794 }
3795
3796 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3797 type Owned = Self;
3798
3799 #[inline(always)]
3800 fn inline_align(_context: fidl::encoding::Context) -> usize {
3801 8
3802 }
3803
3804 #[inline(always)]
3805 fn inline_size(_context: fidl::encoding::Context) -> usize {
3806 40
3807 }
3808 }
3809
3810 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3811 for &DeviceInfo
3812 {
3813 #[inline]
3814 unsafe fn encode(
3815 self,
3816 encoder: &mut fidl::encoding::Encoder<'_, D>,
3817 offset: usize,
3818 _depth: fidl::encoding::Depth,
3819 ) -> fidl::Result<()> {
3820 encoder.debug_check_bounds::<DeviceInfo>(offset);
3821 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3823 (
3824 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3825 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.factory_addr),
3826 <fidl_fuchsia_wlan_common_common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3827 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3828 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3829 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3830 ),
3831 encoder, offset, _depth
3832 )
3833 }
3834 }
3835 unsafe impl<
3836 D: fidl::encoding::ResourceDialect,
3837 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3838 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3839 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::WlanMacRole, D>,
3840 T3: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3841 T4: fidl::encoding::Encode<u32, D>,
3842 T5: fidl::encoding::Encode<bool, D>,
3843 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4, T5)
3844 {
3845 #[inline]
3846 unsafe fn encode(
3847 self,
3848 encoder: &mut fidl::encoding::Encoder<'_, D>,
3849 offset: usize,
3850 depth: fidl::encoding::Depth,
3851 ) -> fidl::Result<()> {
3852 encoder.debug_check_bounds::<DeviceInfo>(offset);
3853 unsafe {
3856 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3857 (ptr as *mut u64).write_unaligned(0);
3858 }
3859 self.0.encode(encoder, offset + 0, depth)?;
3861 self.1.encode(encoder, offset + 6, depth)?;
3862 self.2.encode(encoder, offset + 12, depth)?;
3863 self.3.encode(encoder, offset + 16, depth)?;
3864 self.4.encode(encoder, offset + 32, depth)?;
3865 self.5.encode(encoder, offset + 36, depth)?;
3866 Ok(())
3867 }
3868 }
3869
3870 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3871 #[inline(always)]
3872 fn new_empty() -> Self {
3873 Self {
3874 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3875 factory_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3876 role: fidl::new_empty!(fidl_fuchsia_wlan_common_common::WlanMacRole, D),
3877 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3878 softmac_hardware_capability: fidl::new_empty!(u32, D),
3879 qos_capable: fidl::new_empty!(bool, D),
3880 }
3881 }
3882
3883 #[inline]
3884 unsafe fn decode(
3885 &mut self,
3886 decoder: &mut fidl::encoding::Decoder<'_, D>,
3887 offset: usize,
3888 _depth: fidl::encoding::Depth,
3889 ) -> fidl::Result<()> {
3890 decoder.debug_check_bounds::<Self>(offset);
3891 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3893 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3894 let mask = 0xffffff0000000000u64;
3895 let maskedval = padval & mask;
3896 if maskedval != 0 {
3897 return Err(fidl::Error::NonZeroPadding {
3898 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3899 });
3900 }
3901 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3902 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.factory_addr, decoder, offset + 6, _depth)?;
3903 fidl::decode!(
3904 fidl_fuchsia_wlan_common_common::WlanMacRole,
3905 D,
3906 &mut self.role,
3907 decoder,
3908 offset + 12,
3909 _depth
3910 )?;
3911 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3912 fidl::decode!(
3913 u32,
3914 D,
3915 &mut self.softmac_hardware_capability,
3916 decoder,
3917 offset + 32,
3918 _depth
3919 )?;
3920 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3921 Ok(())
3922 }
3923 }
3924
3925 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3926 type Borrowed<'a> = &'a Self;
3927 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3928 value
3929 }
3930 }
3931
3932 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3933 type Owned = Self;
3934
3935 #[inline(always)]
3936 fn inline_align(_context: fidl::encoding::Context) -> usize {
3937 4
3938 }
3939
3940 #[inline(always)]
3941 fn inline_size(_context: fidl::encoding::Context) -> usize {
3942 4
3943 }
3944 #[inline(always)]
3945 fn encode_is_copy() -> bool {
3946 true
3947 }
3948
3949 #[inline(always)]
3950 fn decode_is_copy() -> bool {
3951 true
3952 }
3953 }
3954
3955 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3956 for &DisassociateConfirm
3957 {
3958 #[inline]
3959 unsafe fn encode(
3960 self,
3961 encoder: &mut fidl::encoding::Encoder<'_, D>,
3962 offset: usize,
3963 _depth: fidl::encoding::Depth,
3964 ) -> fidl::Result<()> {
3965 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3966 unsafe {
3967 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3969 (buf_ptr as *mut DisassociateConfirm)
3970 .write_unaligned((self as *const DisassociateConfirm).read());
3971 }
3974 Ok(())
3975 }
3976 }
3977 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3978 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3979 {
3980 #[inline]
3981 unsafe fn encode(
3982 self,
3983 encoder: &mut fidl::encoding::Encoder<'_, D>,
3984 offset: usize,
3985 depth: fidl::encoding::Depth,
3986 ) -> fidl::Result<()> {
3987 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3988 self.0.encode(encoder, offset + 0, depth)?;
3992 Ok(())
3993 }
3994 }
3995
3996 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
3997 #[inline(always)]
3998 fn new_empty() -> Self {
3999 Self { status: fidl::new_empty!(i32, D) }
4000 }
4001
4002 #[inline]
4003 unsafe fn decode(
4004 &mut self,
4005 decoder: &mut fidl::encoding::Decoder<'_, D>,
4006 offset: usize,
4007 _depth: fidl::encoding::Depth,
4008 ) -> fidl::Result<()> {
4009 decoder.debug_check_bounds::<Self>(offset);
4010 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4011 unsafe {
4014 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
4015 }
4016 Ok(())
4017 }
4018 }
4019
4020 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
4021 type Borrowed<'a> = &'a Self;
4022 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4023 value
4024 }
4025 }
4026
4027 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
4028 type Owned = Self;
4029
4030 #[inline(always)]
4031 fn inline_align(_context: fidl::encoding::Context) -> usize {
4032 2
4033 }
4034
4035 #[inline(always)]
4036 fn inline_size(_context: fidl::encoding::Context) -> usize {
4037 10
4038 }
4039 }
4040
4041 unsafe impl<D: fidl::encoding::ResourceDialect>
4042 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
4043 {
4044 #[inline]
4045 unsafe fn encode(
4046 self,
4047 encoder: &mut fidl::encoding::Encoder<'_, D>,
4048 offset: usize,
4049 _depth: fidl::encoding::Depth,
4050 ) -> fidl::Result<()> {
4051 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4052 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
4054 (
4055 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4056 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4057 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
4058 ),
4059 encoder, offset, _depth
4060 )
4061 }
4062 }
4063 unsafe impl<
4064 D: fidl::encoding::ResourceDialect,
4065 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4066 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4067 T2: fidl::encoding::Encode<bool, D>,
4068 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
4069 {
4070 #[inline]
4071 unsafe fn encode(
4072 self,
4073 encoder: &mut fidl::encoding::Encoder<'_, D>,
4074 offset: usize,
4075 depth: fidl::encoding::Depth,
4076 ) -> fidl::Result<()> {
4077 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4078 unsafe {
4081 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4082 (ptr as *mut u16).write_unaligned(0);
4083 }
4084 self.0.encode(encoder, offset + 0, depth)?;
4086 self.1.encode(encoder, offset + 6, depth)?;
4087 self.2.encode(encoder, offset + 8, depth)?;
4088 Ok(())
4089 }
4090 }
4091
4092 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4093 for DisassociateIndication
4094 {
4095 #[inline(always)]
4096 fn new_empty() -> Self {
4097 Self {
4098 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4099 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4100 locally_initiated: fidl::new_empty!(bool, D),
4101 }
4102 }
4103
4104 #[inline]
4105 unsafe fn decode(
4106 &mut self,
4107 decoder: &mut fidl::encoding::Decoder<'_, D>,
4108 offset: usize,
4109 _depth: fidl::encoding::Depth,
4110 ) -> fidl::Result<()> {
4111 decoder.debug_check_bounds::<Self>(offset);
4112 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4114 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4115 let mask = 0xff00u16;
4116 let maskedval = padval & mask;
4117 if maskedval != 0 {
4118 return Err(fidl::Error::NonZeroPadding {
4119 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4120 });
4121 }
4122 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4123 fidl::decode!(
4124 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4125 D,
4126 &mut self.reason_code,
4127 decoder,
4128 offset + 6,
4129 _depth
4130 )?;
4131 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4132 Ok(())
4133 }
4134 }
4135
4136 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4137 type Borrowed<'a> = &'a Self;
4138 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4139 value
4140 }
4141 }
4142
4143 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4144 type Owned = Self;
4145
4146 #[inline(always)]
4147 fn inline_align(_context: fidl::encoding::Context) -> usize {
4148 2
4149 }
4150
4151 #[inline(always)]
4152 fn inline_size(_context: fidl::encoding::Context) -> usize {
4153 8
4154 }
4155 }
4156
4157 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4158 for &DisassociateRequest
4159 {
4160 #[inline]
4161 unsafe fn encode(
4162 self,
4163 encoder: &mut fidl::encoding::Encoder<'_, D>,
4164 offset: usize,
4165 _depth: fidl::encoding::Depth,
4166 ) -> fidl::Result<()> {
4167 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4168 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4170 (
4171 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4172 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4173 ),
4174 encoder, offset, _depth
4175 )
4176 }
4177 }
4178 unsafe impl<
4179 D: fidl::encoding::ResourceDialect,
4180 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4181 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4182 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4183 {
4184 #[inline]
4185 unsafe fn encode(
4186 self,
4187 encoder: &mut fidl::encoding::Encoder<'_, D>,
4188 offset: usize,
4189 depth: fidl::encoding::Depth,
4190 ) -> fidl::Result<()> {
4191 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4192 self.0.encode(encoder, offset + 0, depth)?;
4196 self.1.encode(encoder, offset + 6, depth)?;
4197 Ok(())
4198 }
4199 }
4200
4201 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4202 #[inline(always)]
4203 fn new_empty() -> Self {
4204 Self {
4205 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4206 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4207 }
4208 }
4209
4210 #[inline]
4211 unsafe fn decode(
4212 &mut self,
4213 decoder: &mut fidl::encoding::Decoder<'_, D>,
4214 offset: usize,
4215 _depth: fidl::encoding::Depth,
4216 ) -> fidl::Result<()> {
4217 decoder.debug_check_bounds::<Self>(offset);
4218 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4220 fidl::decode!(
4221 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4222 D,
4223 &mut self.reason_code,
4224 decoder,
4225 offset + 6,
4226 _depth
4227 )?;
4228 Ok(())
4229 }
4230 }
4231
4232 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4233 type Borrowed<'a> = &'a Self;
4234 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4235 value
4236 }
4237 }
4238
4239 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4240 type Owned = Self;
4241
4242 #[inline(always)]
4243 fn inline_align(_context: fidl::encoding::Context) -> usize {
4244 4
4245 }
4246
4247 #[inline(always)]
4248 fn inline_size(_context: fidl::encoding::Context) -> usize {
4249 12
4250 }
4251 }
4252
4253 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4254 for &EapolConfirm
4255 {
4256 #[inline]
4257 unsafe fn encode(
4258 self,
4259 encoder: &mut fidl::encoding::Encoder<'_, D>,
4260 offset: usize,
4261 _depth: fidl::encoding::Depth,
4262 ) -> fidl::Result<()> {
4263 encoder.debug_check_bounds::<EapolConfirm>(offset);
4264 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4266 (
4267 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4268 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4269 &self.dst_addr,
4270 ),
4271 ),
4272 encoder,
4273 offset,
4274 _depth,
4275 )
4276 }
4277 }
4278 unsafe impl<
4279 D: fidl::encoding::ResourceDialect,
4280 T0: fidl::encoding::Encode<EapolResultCode, D>,
4281 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4282 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4283 {
4284 #[inline]
4285 unsafe fn encode(
4286 self,
4287 encoder: &mut fidl::encoding::Encoder<'_, D>,
4288 offset: usize,
4289 depth: fidl::encoding::Depth,
4290 ) -> fidl::Result<()> {
4291 encoder.debug_check_bounds::<EapolConfirm>(offset);
4292 unsafe {
4295 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4296 (ptr as *mut u32).write_unaligned(0);
4297 }
4298 self.0.encode(encoder, offset + 0, depth)?;
4300 self.1.encode(encoder, offset + 4, depth)?;
4301 Ok(())
4302 }
4303 }
4304
4305 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4306 #[inline(always)]
4307 fn new_empty() -> Self {
4308 Self {
4309 result_code: fidl::new_empty!(EapolResultCode, D),
4310 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4311 }
4312 }
4313
4314 #[inline]
4315 unsafe fn decode(
4316 &mut self,
4317 decoder: &mut fidl::encoding::Decoder<'_, D>,
4318 offset: usize,
4319 _depth: fidl::encoding::Depth,
4320 ) -> fidl::Result<()> {
4321 decoder.debug_check_bounds::<Self>(offset);
4322 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4324 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4325 let mask = 0xffff0000u32;
4326 let maskedval = padval & mask;
4327 if maskedval != 0 {
4328 return Err(fidl::Error::NonZeroPadding {
4329 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4330 });
4331 }
4332 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4333 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4334 Ok(())
4335 }
4336 }
4337
4338 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4339 type Borrowed<'a> = &'a Self;
4340 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4341 value
4342 }
4343 }
4344
4345 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4346 type Owned = Self;
4347
4348 #[inline(always)]
4349 fn inline_align(_context: fidl::encoding::Context) -> usize {
4350 8
4351 }
4352
4353 #[inline(always)]
4354 fn inline_size(_context: fidl::encoding::Context) -> usize {
4355 32
4356 }
4357 }
4358
4359 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4360 for &EapolIndication
4361 {
4362 #[inline]
4363 unsafe fn encode(
4364 self,
4365 encoder: &mut fidl::encoding::Encoder<'_, D>,
4366 offset: usize,
4367 _depth: fidl::encoding::Depth,
4368 ) -> fidl::Result<()> {
4369 encoder.debug_check_bounds::<EapolIndication>(offset);
4370 fidl::encoding::Encode::<EapolIndication, D>::encode(
4372 (
4373 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4374 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4375 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4376 ),
4377 encoder, offset, _depth
4378 )
4379 }
4380 }
4381 unsafe impl<
4382 D: fidl::encoding::ResourceDialect,
4383 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4384 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4385 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4386 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4387 {
4388 #[inline]
4389 unsafe fn encode(
4390 self,
4391 encoder: &mut fidl::encoding::Encoder<'_, D>,
4392 offset: usize,
4393 depth: fidl::encoding::Depth,
4394 ) -> fidl::Result<()> {
4395 encoder.debug_check_bounds::<EapolIndication>(offset);
4396 unsafe {
4399 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4400 (ptr as *mut u64).write_unaligned(0);
4401 }
4402 self.0.encode(encoder, offset + 0, depth)?;
4404 self.1.encode(encoder, offset + 6, depth)?;
4405 self.2.encode(encoder, offset + 16, depth)?;
4406 Ok(())
4407 }
4408 }
4409
4410 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4411 #[inline(always)]
4412 fn new_empty() -> Self {
4413 Self {
4414 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4415 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4416 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4417 }
4418 }
4419
4420 #[inline]
4421 unsafe fn decode(
4422 &mut self,
4423 decoder: &mut fidl::encoding::Decoder<'_, D>,
4424 offset: usize,
4425 _depth: fidl::encoding::Depth,
4426 ) -> fidl::Result<()> {
4427 decoder.debug_check_bounds::<Self>(offset);
4428 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4430 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4431 let mask = 0xffffffff00000000u64;
4432 let maskedval = padval & mask;
4433 if maskedval != 0 {
4434 return Err(fidl::Error::NonZeroPadding {
4435 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4436 });
4437 }
4438 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4439 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4440 fidl::decode!(
4441 fidl::encoding::UnboundedVector<u8>,
4442 D,
4443 &mut self.data,
4444 decoder,
4445 offset + 16,
4446 _depth
4447 )?;
4448 Ok(())
4449 }
4450 }
4451
4452 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4453 type Borrowed<'a> = &'a Self;
4454 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4455 value
4456 }
4457 }
4458
4459 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4460 type Owned = Self;
4461
4462 #[inline(always)]
4463 fn inline_align(_context: fidl::encoding::Context) -> usize {
4464 8
4465 }
4466
4467 #[inline(always)]
4468 fn inline_size(_context: fidl::encoding::Context) -> usize {
4469 32
4470 }
4471 }
4472
4473 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4474 for &EapolRequest
4475 {
4476 #[inline]
4477 unsafe fn encode(
4478 self,
4479 encoder: &mut fidl::encoding::Encoder<'_, D>,
4480 offset: usize,
4481 _depth: fidl::encoding::Depth,
4482 ) -> fidl::Result<()> {
4483 encoder.debug_check_bounds::<EapolRequest>(offset);
4484 fidl::encoding::Encode::<EapolRequest, D>::encode(
4486 (
4487 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4488 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4489 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4490 ),
4491 encoder, offset, _depth
4492 )
4493 }
4494 }
4495 unsafe impl<
4496 D: fidl::encoding::ResourceDialect,
4497 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4498 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4499 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4500 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4501 {
4502 #[inline]
4503 unsafe fn encode(
4504 self,
4505 encoder: &mut fidl::encoding::Encoder<'_, D>,
4506 offset: usize,
4507 depth: fidl::encoding::Depth,
4508 ) -> fidl::Result<()> {
4509 encoder.debug_check_bounds::<EapolRequest>(offset);
4510 unsafe {
4513 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4514 (ptr as *mut u64).write_unaligned(0);
4515 }
4516 self.0.encode(encoder, offset + 0, depth)?;
4518 self.1.encode(encoder, offset + 6, depth)?;
4519 self.2.encode(encoder, offset + 16, depth)?;
4520 Ok(())
4521 }
4522 }
4523
4524 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4525 #[inline(always)]
4526 fn new_empty() -> Self {
4527 Self {
4528 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4529 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4530 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4531 }
4532 }
4533
4534 #[inline]
4535 unsafe fn decode(
4536 &mut self,
4537 decoder: &mut fidl::encoding::Decoder<'_, D>,
4538 offset: usize,
4539 _depth: fidl::encoding::Depth,
4540 ) -> fidl::Result<()> {
4541 decoder.debug_check_bounds::<Self>(offset);
4542 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4544 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4545 let mask = 0xffffffff00000000u64;
4546 let maskedval = padval & mask;
4547 if maskedval != 0 {
4548 return Err(fidl::Error::NonZeroPadding {
4549 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4550 });
4551 }
4552 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4553 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4554 fidl::decode!(
4555 fidl::encoding::UnboundedVector<u8>,
4556 D,
4557 &mut self.data,
4558 decoder,
4559 offset + 16,
4560 _depth
4561 )?;
4562 Ok(())
4563 }
4564 }
4565
4566 impl fidl::encoding::ValueTypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4567 type Borrowed<'a> = &'a Self;
4568 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4569 value
4570 }
4571 }
4572
4573 unsafe impl fidl::encoding::TypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4574 type Owned = Self;
4575
4576 #[inline(always)]
4577 fn inline_align(_context: fidl::encoding::Context) -> usize {
4578 1
4579 }
4580
4581 #[inline(always)]
4582 fn inline_size(_context: fidl::encoding::Context) -> usize {
4583 1
4584 }
4585 }
4586
4587 unsafe impl<D: fidl::encoding::ResourceDialect>
4588 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D>
4589 for &MlmeGetApfPacketFilterEnabledResponse
4590 {
4591 #[inline]
4592 unsafe fn encode(
4593 self,
4594 encoder: &mut fidl::encoding::Encoder<'_, D>,
4595 offset: usize,
4596 _depth: fidl::encoding::Depth,
4597 ) -> fidl::Result<()> {
4598 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4599 fidl::encoding::Encode::<MlmeGetApfPacketFilterEnabledResponse, D>::encode(
4601 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
4602 encoder,
4603 offset,
4604 _depth,
4605 )
4606 }
4607 }
4608 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
4609 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D> for (T0,)
4610 {
4611 #[inline]
4612 unsafe fn encode(
4613 self,
4614 encoder: &mut fidl::encoding::Encoder<'_, D>,
4615 offset: usize,
4616 depth: fidl::encoding::Depth,
4617 ) -> fidl::Result<()> {
4618 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4619 self.0.encode(encoder, offset + 0, depth)?;
4623 Ok(())
4624 }
4625 }
4626
4627 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4628 for MlmeGetApfPacketFilterEnabledResponse
4629 {
4630 #[inline(always)]
4631 fn new_empty() -> Self {
4632 Self { enabled: fidl::new_empty!(bool, D) }
4633 }
4634
4635 #[inline]
4636 unsafe fn decode(
4637 &mut self,
4638 decoder: &mut fidl::encoding::Decoder<'_, D>,
4639 offset: usize,
4640 _depth: fidl::encoding::Depth,
4641 ) -> fidl::Result<()> {
4642 decoder.debug_check_bounds::<Self>(offset);
4643 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
4645 Ok(())
4646 }
4647 }
4648
4649 impl fidl::encoding::ValueTypeMarker for MlmeGetScheduledScanEnabledResponse {
4650 type Borrowed<'a> = &'a Self;
4651 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4652 value
4653 }
4654 }
4655
4656 unsafe impl fidl::encoding::TypeMarker for MlmeGetScheduledScanEnabledResponse {
4657 type Owned = Self;
4658
4659 #[inline(always)]
4660 fn inline_align(_context: fidl::encoding::Context) -> usize {
4661 8
4662 }
4663
4664 #[inline(always)]
4665 fn inline_size(_context: fidl::encoding::Context) -> usize {
4666 16
4667 }
4668 }
4669
4670 unsafe impl<D: fidl::encoding::ResourceDialect>
4671 fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D>
4672 for &MlmeGetScheduledScanEnabledResponse
4673 {
4674 #[inline]
4675 unsafe fn encode(
4676 self,
4677 encoder: &mut fidl::encoding::Encoder<'_, D>,
4678 offset: usize,
4679 _depth: fidl::encoding::Depth,
4680 ) -> fidl::Result<()> {
4681 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4682 fidl::encoding::Encode::<MlmeGetScheduledScanEnabledResponse, D>::encode(
4684 (
4685 <fidl::encoding::UnboundedVector<u64> as fidl::encoding::ValueTypeMarker>::borrow(&self.active_txn_ids),
4686 ),
4687 encoder, offset, _depth
4688 )
4689 }
4690 }
4691 unsafe impl<
4692 D: fidl::encoding::ResourceDialect,
4693 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u64>, D>,
4694 > fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D> for (T0,)
4695 {
4696 #[inline]
4697 unsafe fn encode(
4698 self,
4699 encoder: &mut fidl::encoding::Encoder<'_, D>,
4700 offset: usize,
4701 depth: fidl::encoding::Depth,
4702 ) -> fidl::Result<()> {
4703 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4704 self.0.encode(encoder, offset + 0, depth)?;
4708 Ok(())
4709 }
4710 }
4711
4712 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4713 for MlmeGetScheduledScanEnabledResponse
4714 {
4715 #[inline(always)]
4716 fn new_empty() -> Self {
4717 Self { active_txn_ids: fidl::new_empty!(fidl::encoding::UnboundedVector<u64>, D) }
4718 }
4719
4720 #[inline]
4721 unsafe fn decode(
4722 &mut self,
4723 decoder: &mut fidl::encoding::Decoder<'_, D>,
4724 offset: usize,
4725 _depth: fidl::encoding::Depth,
4726 ) -> fidl::Result<()> {
4727 decoder.debug_check_bounds::<Self>(offset);
4728 fidl::decode!(
4730 fidl::encoding::UnboundedVector<u64>,
4731 D,
4732 &mut self.active_txn_ids,
4733 decoder,
4734 offset + 0,
4735 _depth
4736 )?;
4737 Ok(())
4738 }
4739 }
4740
4741 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4742 type Borrowed<'a> = &'a Self;
4743 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4744 value
4745 }
4746 }
4747
4748 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4749 type Owned = Self;
4750
4751 #[inline(always)]
4752 fn inline_align(_context: fidl::encoding::Context) -> usize {
4753 8
4754 }
4755
4756 #[inline(always)]
4757 fn inline_size(_context: fidl::encoding::Context) -> usize {
4758 16
4759 }
4760 }
4761
4762 unsafe impl<D: fidl::encoding::ResourceDialect>
4763 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4764 {
4765 #[inline]
4766 unsafe fn encode(
4767 self,
4768 encoder: &mut fidl::encoding::Encoder<'_, D>,
4769 offset: usize,
4770 _depth: fidl::encoding::Depth,
4771 ) -> fidl::Result<()> {
4772 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4773 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4775 (
4776 <fidl_fuchsia_wlan_stats_common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4777 ),
4778 encoder, offset, _depth
4779 )
4780 }
4781 }
4782 unsafe impl<
4783 D: fidl::encoding::ResourceDialect,
4784 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::SignalReport, D>,
4785 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4786 {
4787 #[inline]
4788 unsafe fn encode(
4789 self,
4790 encoder: &mut fidl::encoding::Encoder<'_, D>,
4791 offset: usize,
4792 depth: fidl::encoding::Depth,
4793 ) -> fidl::Result<()> {
4794 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4795 self.0.encode(encoder, offset + 0, depth)?;
4799 Ok(())
4800 }
4801 }
4802
4803 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4804 for MlmeGetSignalReportResponse
4805 {
4806 #[inline(always)]
4807 fn new_empty() -> Self {
4808 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::SignalReport, D) }
4809 }
4810
4811 #[inline]
4812 unsafe fn decode(
4813 &mut self,
4814 decoder: &mut fidl::encoding::Decoder<'_, D>,
4815 offset: usize,
4816 _depth: fidl::encoding::Depth,
4817 ) -> fidl::Result<()> {
4818 decoder.debug_check_bounds::<Self>(offset);
4819 fidl::decode!(
4821 fidl_fuchsia_wlan_stats_common::SignalReport,
4822 D,
4823 &mut self.resp,
4824 decoder,
4825 offset + 0,
4826 _depth
4827 )?;
4828 Ok(())
4829 }
4830 }
4831
4832 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4833 type Borrowed<'a> = &'a Self;
4834 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4835 value
4836 }
4837 }
4838
4839 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4840 type Owned = Self;
4841
4842 #[inline(always)]
4843 fn inline_align(_context: fidl::encoding::Context) -> usize {
4844 8
4845 }
4846
4847 #[inline(always)]
4848 fn inline_size(_context: fidl::encoding::Context) -> usize {
4849 16
4850 }
4851 }
4852
4853 unsafe impl<D: fidl::encoding::ResourceDialect>
4854 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4855 for &MlmeQueryTelemetrySupportResponse
4856 {
4857 #[inline]
4858 unsafe fn encode(
4859 self,
4860 encoder: &mut fidl::encoding::Encoder<'_, D>,
4861 offset: usize,
4862 _depth: fidl::encoding::Depth,
4863 ) -> fidl::Result<()> {
4864 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4865 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4867 (
4868 <fidl_fuchsia_wlan_stats_common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4869 ),
4870 encoder, offset, _depth
4871 )
4872 }
4873 }
4874 unsafe impl<
4875 D: fidl::encoding::ResourceDialect,
4876 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::TelemetrySupport, D>,
4877 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4878 {
4879 #[inline]
4880 unsafe fn encode(
4881 self,
4882 encoder: &mut fidl::encoding::Encoder<'_, D>,
4883 offset: usize,
4884 depth: fidl::encoding::Depth,
4885 ) -> fidl::Result<()> {
4886 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4887 self.0.encode(encoder, offset + 0, depth)?;
4891 Ok(())
4892 }
4893 }
4894
4895 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4896 for MlmeQueryTelemetrySupportResponse
4897 {
4898 #[inline(always)]
4899 fn new_empty() -> Self {
4900 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::TelemetrySupport, D) }
4901 }
4902
4903 #[inline]
4904 unsafe fn decode(
4905 &mut self,
4906 decoder: &mut fidl::encoding::Decoder<'_, D>,
4907 offset: usize,
4908 _depth: fidl::encoding::Depth,
4909 ) -> fidl::Result<()> {
4910 decoder.debug_check_bounds::<Self>(offset);
4911 fidl::decode!(
4913 fidl_fuchsia_wlan_stats_common::TelemetrySupport,
4914 D,
4915 &mut self.resp,
4916 decoder,
4917 offset + 0,
4918 _depth
4919 )?;
4920 Ok(())
4921 }
4922 }
4923
4924 impl fidl::encoding::ValueTypeMarker for MlmeReadApfPacketFilterDataResponse {
4925 type Borrowed<'a> = &'a Self;
4926 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4927 value
4928 }
4929 }
4930
4931 unsafe impl fidl::encoding::TypeMarker for MlmeReadApfPacketFilterDataResponse {
4932 type Owned = Self;
4933
4934 #[inline(always)]
4935 fn inline_align(_context: fidl::encoding::Context) -> usize {
4936 8
4937 }
4938
4939 #[inline(always)]
4940 fn inline_size(_context: fidl::encoding::Context) -> usize {
4941 16
4942 }
4943 }
4944
4945 unsafe impl<D: fidl::encoding::ResourceDialect>
4946 fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D>
4947 for &MlmeReadApfPacketFilterDataResponse
4948 {
4949 #[inline]
4950 unsafe fn encode(
4951 self,
4952 encoder: &mut fidl::encoding::Encoder<'_, D>,
4953 offset: usize,
4954 _depth: fidl::encoding::Depth,
4955 ) -> fidl::Result<()> {
4956 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4957 fidl::encoding::Encode::<MlmeReadApfPacketFilterDataResponse, D>::encode(
4959 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
4960 &self.memory,
4961 ),),
4962 encoder,
4963 offset,
4964 _depth,
4965 )
4966 }
4967 }
4968 unsafe impl<
4969 D: fidl::encoding::ResourceDialect,
4970 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4971 > fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D> for (T0,)
4972 {
4973 #[inline]
4974 unsafe fn encode(
4975 self,
4976 encoder: &mut fidl::encoding::Encoder<'_, D>,
4977 offset: usize,
4978 depth: fidl::encoding::Depth,
4979 ) -> fidl::Result<()> {
4980 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4981 self.0.encode(encoder, offset + 0, depth)?;
4985 Ok(())
4986 }
4987 }
4988
4989 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4990 for MlmeReadApfPacketFilterDataResponse
4991 {
4992 #[inline(always)]
4993 fn new_empty() -> Self {
4994 Self { memory: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
4995 }
4996
4997 #[inline]
4998 unsafe fn decode(
4999 &mut self,
5000 decoder: &mut fidl::encoding::Decoder<'_, D>,
5001 offset: usize,
5002 _depth: fidl::encoding::Depth,
5003 ) -> fidl::Result<()> {
5004 decoder.debug_check_bounds::<Self>(offset);
5005 fidl::decode!(
5007 fidl::encoding::UnboundedVector<u8>,
5008 D,
5009 &mut self.memory,
5010 decoder,
5011 offset + 0,
5012 _depth
5013 )?;
5014 Ok(())
5015 }
5016 }
5017
5018 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
5019 type Borrowed<'a> = &'a Self;
5020 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5021 value
5022 }
5023 }
5024
5025 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
5026 type Owned = Self;
5027
5028 #[inline(always)]
5029 fn inline_align(_context: fidl::encoding::Context) -> usize {
5030 8
5031 }
5032
5033 #[inline(always)]
5034 fn inline_size(_context: fidl::encoding::Context) -> usize {
5035 16
5036 }
5037 }
5038
5039 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
5040 for &MinstrelListResponse
5041 {
5042 #[inline]
5043 unsafe fn encode(
5044 self,
5045 encoder: &mut fidl::encoding::Encoder<'_, D>,
5046 offset: usize,
5047 _depth: fidl::encoding::Depth,
5048 ) -> fidl::Result<()> {
5049 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5050 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
5052 (
5053 <fidl_fuchsia_wlan_minstrel_common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
5054 ),
5055 encoder, offset, _depth
5056 )
5057 }
5058 }
5059 unsafe impl<
5060 D: fidl::encoding::ResourceDialect,
5061 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel_common::Peers, D>,
5062 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
5063 {
5064 #[inline]
5065 unsafe fn encode(
5066 self,
5067 encoder: &mut fidl::encoding::Encoder<'_, D>,
5068 offset: usize,
5069 depth: fidl::encoding::Depth,
5070 ) -> fidl::Result<()> {
5071 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5072 self.0.encode(encoder, offset + 0, depth)?;
5076 Ok(())
5077 }
5078 }
5079
5080 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
5081 #[inline(always)]
5082 fn new_empty() -> Self {
5083 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel_common::Peers, D) }
5084 }
5085
5086 #[inline]
5087 unsafe fn decode(
5088 &mut self,
5089 decoder: &mut fidl::encoding::Decoder<'_, D>,
5090 offset: usize,
5091 _depth: fidl::encoding::Depth,
5092 ) -> fidl::Result<()> {
5093 decoder.debug_check_bounds::<Self>(offset);
5094 fidl::decode!(
5096 fidl_fuchsia_wlan_minstrel_common::Peers,
5097 D,
5098 &mut self.peers,
5099 decoder,
5100 offset + 0,
5101 _depth
5102 )?;
5103 Ok(())
5104 }
5105 }
5106
5107 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
5108 type Borrowed<'a> = &'a Self;
5109 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5110 value
5111 }
5112 }
5113
5114 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
5115 type Owned = Self;
5116
5117 #[inline(always)]
5118 fn inline_align(_context: fidl::encoding::Context) -> usize {
5119 1
5120 }
5121
5122 #[inline(always)]
5123 fn inline_size(_context: fidl::encoding::Context) -> usize {
5124 6
5125 }
5126 #[inline(always)]
5127 fn encode_is_copy() -> bool {
5128 true
5129 }
5130
5131 #[inline(always)]
5132 fn decode_is_copy() -> bool {
5133 true
5134 }
5135 }
5136
5137 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
5138 for &MinstrelStatsRequest
5139 {
5140 #[inline]
5141 unsafe fn encode(
5142 self,
5143 encoder: &mut fidl::encoding::Encoder<'_, D>,
5144 offset: usize,
5145 _depth: fidl::encoding::Depth,
5146 ) -> fidl::Result<()> {
5147 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5148 unsafe {
5149 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5151 (buf_ptr as *mut MinstrelStatsRequest)
5152 .write_unaligned((self as *const MinstrelStatsRequest).read());
5153 }
5156 Ok(())
5157 }
5158 }
5159 unsafe impl<
5160 D: fidl::encoding::ResourceDialect,
5161 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
5162 > fidl::encoding::Encode<MinstrelStatsRequest, 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::<MinstrelStatsRequest>(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> for MinstrelStatsRequest {
5181 #[inline(always)]
5182 fn new_empty() -> Self {
5183 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
5184 }
5185
5186 #[inline]
5187 unsafe fn decode(
5188 &mut self,
5189 decoder: &mut fidl::encoding::Decoder<'_, D>,
5190 offset: usize,
5191 _depth: fidl::encoding::Depth,
5192 ) -> fidl::Result<()> {
5193 decoder.debug_check_bounds::<Self>(offset);
5194 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5195 unsafe {
5198 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5199 }
5200 Ok(())
5201 }
5202 }
5203
5204 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
5205 type Borrowed<'a> = &'a Self;
5206 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5207 value
5208 }
5209 }
5210
5211 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
5212 type Owned = Self;
5213
5214 #[inline(always)]
5215 fn inline_align(_context: fidl::encoding::Context) -> usize {
5216 8
5217 }
5218
5219 #[inline(always)]
5220 fn inline_size(_context: fidl::encoding::Context) -> usize {
5221 8
5222 }
5223 }
5224
5225 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
5226 for &MinstrelStatsResponse
5227 {
5228 #[inline]
5229 unsafe fn encode(
5230 self,
5231 encoder: &mut fidl::encoding::Encoder<'_, D>,
5232 offset: usize,
5233 _depth: fidl::encoding::Depth,
5234 ) -> fidl::Result<()> {
5235 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5236 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
5238 (
5239 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
5240 ),
5241 encoder, offset, _depth
5242 )
5243 }
5244 }
5245 unsafe impl<
5246 D: fidl::encoding::ResourceDialect,
5247 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>, D>,
5248 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
5249 {
5250 #[inline]
5251 unsafe fn encode(
5252 self,
5253 encoder: &mut fidl::encoding::Encoder<'_, D>,
5254 offset: usize,
5255 depth: fidl::encoding::Depth,
5256 ) -> fidl::Result<()> {
5257 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5258 self.0.encode(encoder, offset + 0, depth)?;
5262 Ok(())
5263 }
5264 }
5265
5266 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
5267 #[inline(always)]
5268 fn new_empty() -> Self {
5269 Self {
5270 peer: fidl::new_empty!(
5271 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5272 D
5273 ),
5274 }
5275 }
5276
5277 #[inline]
5278 unsafe fn decode(
5279 &mut self,
5280 decoder: &mut fidl::encoding::Decoder<'_, D>,
5281 offset: usize,
5282 _depth: fidl::encoding::Depth,
5283 ) -> fidl::Result<()> {
5284 decoder.debug_check_bounds::<Self>(offset);
5285 fidl::decode!(
5287 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5288 D,
5289 &mut self.peer,
5290 decoder,
5291 offset + 0,
5292 _depth
5293 )?;
5294 Ok(())
5295 }
5296 }
5297
5298 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
5299 type Borrowed<'a> = &'a Self;
5300 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5301 value
5302 }
5303 }
5304
5305 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
5306 type Owned = Self;
5307
5308 #[inline(always)]
5309 fn inline_align(_context: fidl::encoding::Context) -> usize {
5310 8
5311 }
5312
5313 #[inline(always)]
5314 fn inline_size(_context: fidl::encoding::Context) -> usize {
5315 64
5316 }
5317 }
5318
5319 unsafe impl<D: fidl::encoding::ResourceDialect>
5320 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
5321 {
5322 #[inline]
5323 unsafe fn encode(
5324 self,
5325 encoder: &mut fidl::encoding::Encoder<'_, D>,
5326 offset: usize,
5327 _depth: fidl::encoding::Depth,
5328 ) -> fidl::Result<()> {
5329 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5330 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
5332 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5333 encoder,
5334 offset,
5335 _depth,
5336 )
5337 }
5338 }
5339 unsafe impl<
5340 D: fidl::encoding::ResourceDialect,
5341 T0: fidl::encoding::Encode<AssociateIndication, D>,
5342 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
5343 {
5344 #[inline]
5345 unsafe fn encode(
5346 self,
5347 encoder: &mut fidl::encoding::Encoder<'_, D>,
5348 offset: usize,
5349 depth: fidl::encoding::Depth,
5350 ) -> fidl::Result<()> {
5351 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5352 self.0.encode(encoder, offset + 0, depth)?;
5356 Ok(())
5357 }
5358 }
5359
5360 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5361 for MlmeAssociateIndRequest
5362 {
5363 #[inline(always)]
5364 fn new_empty() -> Self {
5365 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5366 }
5367
5368 #[inline]
5369 unsafe fn decode(
5370 &mut self,
5371 decoder: &mut fidl::encoding::Decoder<'_, D>,
5372 offset: usize,
5373 _depth: fidl::encoding::Depth,
5374 ) -> fidl::Result<()> {
5375 decoder.debug_check_bounds::<Self>(offset);
5376 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5378 Ok(())
5379 }
5380 }
5381
5382 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5383 type Borrowed<'a> = &'a Self;
5384 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5385 value
5386 }
5387 }
5388
5389 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5390 type Owned = Self;
5391
5392 #[inline(always)]
5393 fn inline_align(_context: fidl::encoding::Context) -> usize {
5394 8
5395 }
5396
5397 #[inline(always)]
5398 fn inline_size(_context: fidl::encoding::Context) -> usize {
5399 32
5400 }
5401 }
5402
5403 unsafe impl<D: fidl::encoding::ResourceDialect>
5404 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5405 {
5406 #[inline]
5407 unsafe fn encode(
5408 self,
5409 encoder: &mut fidl::encoding::Encoder<'_, D>,
5410 offset: usize,
5411 _depth: fidl::encoding::Depth,
5412 ) -> fidl::Result<()> {
5413 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5414 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5416 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5417 encoder,
5418 offset,
5419 _depth,
5420 )
5421 }
5422 }
5423 unsafe impl<
5424 D: fidl::encoding::ResourceDialect,
5425 T0: fidl::encoding::Encode<AssociateResponse, D>,
5426 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5427 {
5428 #[inline]
5429 unsafe fn encode(
5430 self,
5431 encoder: &mut fidl::encoding::Encoder<'_, D>,
5432 offset: usize,
5433 depth: fidl::encoding::Depth,
5434 ) -> fidl::Result<()> {
5435 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5436 self.0.encode(encoder, offset + 0, depth)?;
5440 Ok(())
5441 }
5442 }
5443
5444 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5445 for MlmeAssociateRespRequest
5446 {
5447 #[inline(always)]
5448 fn new_empty() -> Self {
5449 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5450 }
5451
5452 #[inline]
5453 unsafe fn decode(
5454 &mut self,
5455 decoder: &mut fidl::encoding::Decoder<'_, D>,
5456 offset: usize,
5457 _depth: fidl::encoding::Depth,
5458 ) -> fidl::Result<()> {
5459 decoder.debug_check_bounds::<Self>(offset);
5460 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5462 Ok(())
5463 }
5464 }
5465
5466 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5467 type Borrowed<'a> = &'a Self;
5468 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5469 value
5470 }
5471 }
5472
5473 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5474 type Owned = Self;
5475
5476 #[inline(always)]
5477 fn inline_align(_context: fidl::encoding::Context) -> usize {
5478 4
5479 }
5480
5481 #[inline(always)]
5482 fn inline_size(_context: fidl::encoding::Context) -> usize {
5483 12
5484 }
5485 }
5486
5487 unsafe impl<D: fidl::encoding::ResourceDialect>
5488 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5489 {
5490 #[inline]
5491 unsafe fn encode(
5492 self,
5493 encoder: &mut fidl::encoding::Encoder<'_, D>,
5494 offset: usize,
5495 _depth: fidl::encoding::Depth,
5496 ) -> fidl::Result<()> {
5497 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5498 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5500 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5501 encoder,
5502 offset,
5503 _depth,
5504 )
5505 }
5506 }
5507 unsafe impl<
5508 D: fidl::encoding::ResourceDialect,
5509 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5510 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5511 {
5512 #[inline]
5513 unsafe fn encode(
5514 self,
5515 encoder: &mut fidl::encoding::Encoder<'_, D>,
5516 offset: usize,
5517 depth: fidl::encoding::Depth,
5518 ) -> fidl::Result<()> {
5519 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5520 self.0.encode(encoder, offset + 0, depth)?;
5524 Ok(())
5525 }
5526 }
5527
5528 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5529 for MlmeAuthenticateIndRequest
5530 {
5531 #[inline(always)]
5532 fn new_empty() -> Self {
5533 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5534 }
5535
5536 #[inline]
5537 unsafe fn decode(
5538 &mut self,
5539 decoder: &mut fidl::encoding::Decoder<'_, D>,
5540 offset: usize,
5541 _depth: fidl::encoding::Depth,
5542 ) -> fidl::Result<()> {
5543 decoder.debug_check_bounds::<Self>(offset);
5544 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5546 Ok(())
5547 }
5548 }
5549
5550 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5551 type Borrowed<'a> = &'a Self;
5552 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5553 value
5554 }
5555 }
5556
5557 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5558 type Owned = Self;
5559
5560 #[inline(always)]
5561 fn inline_align(_context: fidl::encoding::Context) -> usize {
5562 4
5563 }
5564
5565 #[inline(always)]
5566 fn inline_size(_context: fidl::encoding::Context) -> usize {
5567 12
5568 }
5569 }
5570
5571 unsafe impl<D: fidl::encoding::ResourceDialect>
5572 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5573 {
5574 #[inline]
5575 unsafe fn encode(
5576 self,
5577 encoder: &mut fidl::encoding::Encoder<'_, D>,
5578 offset: usize,
5579 _depth: fidl::encoding::Depth,
5580 ) -> fidl::Result<()> {
5581 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5582 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5584 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5585 encoder,
5586 offset,
5587 _depth,
5588 )
5589 }
5590 }
5591 unsafe impl<
5592 D: fidl::encoding::ResourceDialect,
5593 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5594 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5595 {
5596 #[inline]
5597 unsafe fn encode(
5598 self,
5599 encoder: &mut fidl::encoding::Encoder<'_, D>,
5600 offset: usize,
5601 depth: fidl::encoding::Depth,
5602 ) -> fidl::Result<()> {
5603 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5604 self.0.encode(encoder, offset + 0, depth)?;
5608 Ok(())
5609 }
5610 }
5611
5612 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5613 for MlmeAuthenticateRespRequest
5614 {
5615 #[inline(always)]
5616 fn new_empty() -> Self {
5617 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5618 }
5619
5620 #[inline]
5621 unsafe fn decode(
5622 &mut self,
5623 decoder: &mut fidl::encoding::Decoder<'_, D>,
5624 offset: usize,
5625 _depth: fidl::encoding::Depth,
5626 ) -> fidl::Result<()> {
5627 decoder.debug_check_bounds::<Self>(offset);
5628 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5630 Ok(())
5631 }
5632 }
5633
5634 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5635 type Borrowed<'a> = &'a Self;
5636 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5637 value
5638 }
5639 }
5640
5641 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5642 type Owned = Self;
5643
5644 #[inline(always)]
5645 fn inline_align(_context: fidl::encoding::Context) -> usize {
5646 8
5647 }
5648
5649 #[inline(always)]
5650 fn inline_size(_context: fidl::encoding::Context) -> usize {
5651 32
5652 }
5653 }
5654
5655 unsafe impl<D: fidl::encoding::ResourceDialect>
5656 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5657 {
5658 #[inline]
5659 unsafe fn encode(
5660 self,
5661 encoder: &mut fidl::encoding::Encoder<'_, D>,
5662 offset: usize,
5663 _depth: fidl::encoding::Depth,
5664 ) -> fidl::Result<()> {
5665 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5666 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5668 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5669 encoder,
5670 offset,
5671 _depth,
5672 )
5673 }
5674 }
5675 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5676 fidl::encoding::Encode<MlmeConnectConfRequest, 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::<MlmeConnectConfRequest>(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 MlmeConnectConfRequest
5696 {
5697 #[inline(always)]
5698 fn new_empty() -> Self {
5699 Self { resp: fidl::new_empty!(ConnectConfirm, 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!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5712 Ok(())
5713 }
5714 }
5715
5716 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
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 MlmeConnectReqRequest {
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 104
5734 }
5735 }
5736
5737 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5738 for &MlmeConnectReqRequest
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::<MlmeConnectReqRequest>(offset);
5748 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5750 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5751 encoder,
5752 offset,
5753 _depth,
5754 )
5755 }
5756 }
5757 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5758 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5759 {
5760 #[inline]
5761 unsafe fn encode(
5762 self,
5763 encoder: &mut fidl::encoding::Encoder<'_, D>,
5764 offset: usize,
5765 depth: fidl::encoding::Depth,
5766 ) -> fidl::Result<()> {
5767 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5768 self.0.encode(encoder, offset + 0, depth)?;
5772 Ok(())
5773 }
5774 }
5775
5776 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5777 #[inline(always)]
5778 fn new_empty() -> Self {
5779 Self { req: fidl::new_empty!(ConnectRequest, D) }
5780 }
5781
5782 #[inline]
5783 unsafe fn decode(
5784 &mut self,
5785 decoder: &mut fidl::encoding::Decoder<'_, D>,
5786 offset: usize,
5787 _depth: fidl::encoding::Depth,
5788 ) -> fidl::Result<()> {
5789 decoder.debug_check_bounds::<Self>(offset);
5790 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5792 Ok(())
5793 }
5794 }
5795
5796 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5797 type Borrowed<'a> = &'a Self;
5798 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5799 value
5800 }
5801 }
5802
5803 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5804 type Owned = Self;
5805
5806 #[inline(always)]
5807 fn inline_align(_context: fidl::encoding::Context) -> usize {
5808 1
5809 }
5810
5811 #[inline(always)]
5812 fn inline_size(_context: fidl::encoding::Context) -> usize {
5813 6
5814 }
5815 #[inline(always)]
5816 fn encode_is_copy() -> bool {
5817 true
5818 }
5819
5820 #[inline(always)]
5821 fn decode_is_copy() -> bool {
5822 true
5823 }
5824 }
5825
5826 unsafe impl<D: fidl::encoding::ResourceDialect>
5827 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5828 for &MlmeDeauthenticateConfRequest
5829 {
5830 #[inline]
5831 unsafe fn encode(
5832 self,
5833 encoder: &mut fidl::encoding::Encoder<'_, D>,
5834 offset: usize,
5835 _depth: fidl::encoding::Depth,
5836 ) -> fidl::Result<()> {
5837 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5838 unsafe {
5839 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5841 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5842 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5843 }
5846 Ok(())
5847 }
5848 }
5849 unsafe impl<
5850 D: fidl::encoding::ResourceDialect,
5851 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5852 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5853 {
5854 #[inline]
5855 unsafe fn encode(
5856 self,
5857 encoder: &mut fidl::encoding::Encoder<'_, D>,
5858 offset: usize,
5859 depth: fidl::encoding::Depth,
5860 ) -> fidl::Result<()> {
5861 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5862 self.0.encode(encoder, offset + 0, depth)?;
5866 Ok(())
5867 }
5868 }
5869
5870 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5871 for MlmeDeauthenticateConfRequest
5872 {
5873 #[inline(always)]
5874 fn new_empty() -> Self {
5875 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5876 }
5877
5878 #[inline]
5879 unsafe fn decode(
5880 &mut self,
5881 decoder: &mut fidl::encoding::Decoder<'_, D>,
5882 offset: usize,
5883 _depth: fidl::encoding::Depth,
5884 ) -> fidl::Result<()> {
5885 decoder.debug_check_bounds::<Self>(offset);
5886 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5887 unsafe {
5890 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5891 }
5892 Ok(())
5893 }
5894 }
5895
5896 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5897 type Borrowed<'a> = &'a Self;
5898 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5899 value
5900 }
5901 }
5902
5903 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5904 type Owned = Self;
5905
5906 #[inline(always)]
5907 fn inline_align(_context: fidl::encoding::Context) -> usize {
5908 2
5909 }
5910
5911 #[inline(always)]
5912 fn inline_size(_context: fidl::encoding::Context) -> usize {
5913 10
5914 }
5915 }
5916
5917 unsafe impl<D: fidl::encoding::ResourceDialect>
5918 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5919 {
5920 #[inline]
5921 unsafe fn encode(
5922 self,
5923 encoder: &mut fidl::encoding::Encoder<'_, D>,
5924 offset: usize,
5925 _depth: fidl::encoding::Depth,
5926 ) -> fidl::Result<()> {
5927 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5928 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5930 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5931 encoder,
5932 offset,
5933 _depth,
5934 )
5935 }
5936 }
5937 unsafe impl<
5938 D: fidl::encoding::ResourceDialect,
5939 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5940 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5941 {
5942 #[inline]
5943 unsafe fn encode(
5944 self,
5945 encoder: &mut fidl::encoding::Encoder<'_, D>,
5946 offset: usize,
5947 depth: fidl::encoding::Depth,
5948 ) -> fidl::Result<()> {
5949 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5950 self.0.encode(encoder, offset + 0, depth)?;
5954 Ok(())
5955 }
5956 }
5957
5958 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5959 for MlmeDeauthenticateIndRequest
5960 {
5961 #[inline(always)]
5962 fn new_empty() -> Self {
5963 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5964 }
5965
5966 #[inline]
5967 unsafe fn decode(
5968 &mut self,
5969 decoder: &mut fidl::encoding::Decoder<'_, D>,
5970 offset: usize,
5971 _depth: fidl::encoding::Depth,
5972 ) -> fidl::Result<()> {
5973 decoder.debug_check_bounds::<Self>(offset);
5974 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5976 Ok(())
5977 }
5978 }
5979
5980 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5981 type Borrowed<'a> = &'a Self;
5982 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5983 value
5984 }
5985 }
5986
5987 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5988 type Owned = Self;
5989
5990 #[inline(always)]
5991 fn inline_align(_context: fidl::encoding::Context) -> usize {
5992 2
5993 }
5994
5995 #[inline(always)]
5996 fn inline_size(_context: fidl::encoding::Context) -> usize {
5997 8
5998 }
5999 }
6000
6001 unsafe impl<D: fidl::encoding::ResourceDialect>
6002 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
6003 {
6004 #[inline]
6005 unsafe fn encode(
6006 self,
6007 encoder: &mut fidl::encoding::Encoder<'_, D>,
6008 offset: usize,
6009 _depth: fidl::encoding::Depth,
6010 ) -> fidl::Result<()> {
6011 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6012 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
6014 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6015 encoder,
6016 offset,
6017 _depth,
6018 )
6019 }
6020 }
6021 unsafe impl<
6022 D: fidl::encoding::ResourceDialect,
6023 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
6024 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
6025 {
6026 #[inline]
6027 unsafe fn encode(
6028 self,
6029 encoder: &mut fidl::encoding::Encoder<'_, D>,
6030 offset: usize,
6031 depth: fidl::encoding::Depth,
6032 ) -> fidl::Result<()> {
6033 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6034 self.0.encode(encoder, offset + 0, depth)?;
6038 Ok(())
6039 }
6040 }
6041
6042 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6043 for MlmeDeauthenticateReqRequest
6044 {
6045 #[inline(always)]
6046 fn new_empty() -> Self {
6047 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
6048 }
6049
6050 #[inline]
6051 unsafe fn decode(
6052 &mut self,
6053 decoder: &mut fidl::encoding::Decoder<'_, D>,
6054 offset: usize,
6055 _depth: fidl::encoding::Depth,
6056 ) -> fidl::Result<()> {
6057 decoder.debug_check_bounds::<Self>(offset);
6058 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6060 Ok(())
6061 }
6062 }
6063
6064 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
6065 type Borrowed<'a> = &'a Self;
6066 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6067 value
6068 }
6069 }
6070
6071 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
6072 type Owned = Self;
6073
6074 #[inline(always)]
6075 fn inline_align(_context: fidl::encoding::Context) -> usize {
6076 8
6077 }
6078
6079 #[inline(always)]
6080 fn inline_size(_context: fidl::encoding::Context) -> usize {
6081 16
6082 }
6083 }
6084
6085 unsafe impl<D: fidl::encoding::ResourceDialect>
6086 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
6087 {
6088 #[inline]
6089 unsafe fn encode(
6090 self,
6091 encoder: &mut fidl::encoding::Encoder<'_, D>,
6092 offset: usize,
6093 _depth: fidl::encoding::Depth,
6094 ) -> fidl::Result<()> {
6095 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6096 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
6098 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6099 encoder,
6100 offset,
6101 _depth,
6102 )
6103 }
6104 }
6105 unsafe impl<
6106 D: fidl::encoding::ResourceDialect,
6107 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
6108 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
6109 {
6110 #[inline]
6111 unsafe fn encode(
6112 self,
6113 encoder: &mut fidl::encoding::Encoder<'_, D>,
6114 offset: usize,
6115 depth: fidl::encoding::Depth,
6116 ) -> fidl::Result<()> {
6117 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6118 self.0.encode(encoder, offset + 0, depth)?;
6122 Ok(())
6123 }
6124 }
6125
6126 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6127 for MlmeDeleteKeysReqRequest
6128 {
6129 #[inline(always)]
6130 fn new_empty() -> Self {
6131 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
6132 }
6133
6134 #[inline]
6135 unsafe fn decode(
6136 &mut self,
6137 decoder: &mut fidl::encoding::Decoder<'_, D>,
6138 offset: usize,
6139 _depth: fidl::encoding::Depth,
6140 ) -> fidl::Result<()> {
6141 decoder.debug_check_bounds::<Self>(offset);
6142 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6144 Ok(())
6145 }
6146 }
6147
6148 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
6149 type Borrowed<'a> = &'a Self;
6150 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6151 value
6152 }
6153 }
6154
6155 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
6156 type Owned = Self;
6157
6158 #[inline(always)]
6159 fn inline_align(_context: fidl::encoding::Context) -> usize {
6160 4
6161 }
6162
6163 #[inline(always)]
6164 fn inline_size(_context: fidl::encoding::Context) -> usize {
6165 4
6166 }
6167 #[inline(always)]
6168 fn encode_is_copy() -> bool {
6169 true
6170 }
6171
6172 #[inline(always)]
6173 fn decode_is_copy() -> bool {
6174 true
6175 }
6176 }
6177
6178 unsafe impl<D: fidl::encoding::ResourceDialect>
6179 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
6180 {
6181 #[inline]
6182 unsafe fn encode(
6183 self,
6184 encoder: &mut fidl::encoding::Encoder<'_, D>,
6185 offset: usize,
6186 _depth: fidl::encoding::Depth,
6187 ) -> fidl::Result<()> {
6188 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6189 unsafe {
6190 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6192 (buf_ptr as *mut MlmeDisassociateConfRequest)
6193 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
6194 }
6197 Ok(())
6198 }
6199 }
6200 unsafe impl<
6201 D: fidl::encoding::ResourceDialect,
6202 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
6203 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
6204 {
6205 #[inline]
6206 unsafe fn encode(
6207 self,
6208 encoder: &mut fidl::encoding::Encoder<'_, D>,
6209 offset: usize,
6210 depth: fidl::encoding::Depth,
6211 ) -> fidl::Result<()> {
6212 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6213 self.0.encode(encoder, offset + 0, depth)?;
6217 Ok(())
6218 }
6219 }
6220
6221 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6222 for MlmeDisassociateConfRequest
6223 {
6224 #[inline(always)]
6225 fn new_empty() -> Self {
6226 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
6227 }
6228
6229 #[inline]
6230 unsafe fn decode(
6231 &mut self,
6232 decoder: &mut fidl::encoding::Decoder<'_, D>,
6233 offset: usize,
6234 _depth: fidl::encoding::Depth,
6235 ) -> fidl::Result<()> {
6236 decoder.debug_check_bounds::<Self>(offset);
6237 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6238 unsafe {
6241 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
6242 }
6243 Ok(())
6244 }
6245 }
6246
6247 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
6248 type Borrowed<'a> = &'a Self;
6249 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6250 value
6251 }
6252 }
6253
6254 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
6255 type Owned = Self;
6256
6257 #[inline(always)]
6258 fn inline_align(_context: fidl::encoding::Context) -> usize {
6259 2
6260 }
6261
6262 #[inline(always)]
6263 fn inline_size(_context: fidl::encoding::Context) -> usize {
6264 10
6265 }
6266 }
6267
6268 unsafe impl<D: fidl::encoding::ResourceDialect>
6269 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
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::<MlmeDisassociateIndRequest>(offset);
6279 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
6281 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6282 encoder,
6283 offset,
6284 _depth,
6285 )
6286 }
6287 }
6288 unsafe impl<
6289 D: fidl::encoding::ResourceDialect,
6290 T0: fidl::encoding::Encode<DisassociateIndication, D>,
6291 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
6292 {
6293 #[inline]
6294 unsafe fn encode(
6295 self,
6296 encoder: &mut fidl::encoding::Encoder<'_, D>,
6297 offset: usize,
6298 depth: fidl::encoding::Depth,
6299 ) -> fidl::Result<()> {
6300 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6301 self.0.encode(encoder, offset + 0, depth)?;
6305 Ok(())
6306 }
6307 }
6308
6309 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6310 for MlmeDisassociateIndRequest
6311 {
6312 #[inline(always)]
6313 fn new_empty() -> Self {
6314 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
6315 }
6316
6317 #[inline]
6318 unsafe fn decode(
6319 &mut self,
6320 decoder: &mut fidl::encoding::Decoder<'_, D>,
6321 offset: usize,
6322 _depth: fidl::encoding::Depth,
6323 ) -> fidl::Result<()> {
6324 decoder.debug_check_bounds::<Self>(offset);
6325 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6327 Ok(())
6328 }
6329 }
6330
6331 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
6332 type Borrowed<'a> = &'a Self;
6333 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6334 value
6335 }
6336 }
6337
6338 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
6339 type Owned = Self;
6340
6341 #[inline(always)]
6342 fn inline_align(_context: fidl::encoding::Context) -> usize {
6343 2
6344 }
6345
6346 #[inline(always)]
6347 fn inline_size(_context: fidl::encoding::Context) -> usize {
6348 8
6349 }
6350 }
6351
6352 unsafe impl<D: fidl::encoding::ResourceDialect>
6353 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
6354 {
6355 #[inline]
6356 unsafe fn encode(
6357 self,
6358 encoder: &mut fidl::encoding::Encoder<'_, D>,
6359 offset: usize,
6360 _depth: fidl::encoding::Depth,
6361 ) -> fidl::Result<()> {
6362 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6363 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6365 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6366 encoder,
6367 offset,
6368 _depth,
6369 )
6370 }
6371 }
6372 unsafe impl<
6373 D: fidl::encoding::ResourceDialect,
6374 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6375 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6376 {
6377 #[inline]
6378 unsafe fn encode(
6379 self,
6380 encoder: &mut fidl::encoding::Encoder<'_, D>,
6381 offset: usize,
6382 depth: fidl::encoding::Depth,
6383 ) -> fidl::Result<()> {
6384 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6385 self.0.encode(encoder, offset + 0, depth)?;
6389 Ok(())
6390 }
6391 }
6392
6393 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6394 for MlmeDisassociateReqRequest
6395 {
6396 #[inline(always)]
6397 fn new_empty() -> Self {
6398 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6399 }
6400
6401 #[inline]
6402 unsafe fn decode(
6403 &mut self,
6404 decoder: &mut fidl::encoding::Decoder<'_, D>,
6405 offset: usize,
6406 _depth: fidl::encoding::Depth,
6407 ) -> fidl::Result<()> {
6408 decoder.debug_check_bounds::<Self>(offset);
6409 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6411 Ok(())
6412 }
6413 }
6414
6415 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6416 type Borrowed<'a> = &'a Self;
6417 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6418 value
6419 }
6420 }
6421
6422 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6423 type Owned = Self;
6424
6425 #[inline(always)]
6426 fn inline_align(_context: fidl::encoding::Context) -> usize {
6427 4
6428 }
6429
6430 #[inline(always)]
6431 fn inline_size(_context: fidl::encoding::Context) -> usize {
6432 12
6433 }
6434 }
6435
6436 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6437 for &MlmeEapolConfRequest
6438 {
6439 #[inline]
6440 unsafe fn encode(
6441 self,
6442 encoder: &mut fidl::encoding::Encoder<'_, D>,
6443 offset: usize,
6444 _depth: fidl::encoding::Depth,
6445 ) -> fidl::Result<()> {
6446 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6447 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6449 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6450 encoder,
6451 offset,
6452 _depth,
6453 )
6454 }
6455 }
6456 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6457 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6458 {
6459 #[inline]
6460 unsafe fn encode(
6461 self,
6462 encoder: &mut fidl::encoding::Encoder<'_, D>,
6463 offset: usize,
6464 depth: fidl::encoding::Depth,
6465 ) -> fidl::Result<()> {
6466 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6467 self.0.encode(encoder, offset + 0, depth)?;
6471 Ok(())
6472 }
6473 }
6474
6475 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6476 #[inline(always)]
6477 fn new_empty() -> Self {
6478 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6479 }
6480
6481 #[inline]
6482 unsafe fn decode(
6483 &mut self,
6484 decoder: &mut fidl::encoding::Decoder<'_, D>,
6485 offset: usize,
6486 _depth: fidl::encoding::Depth,
6487 ) -> fidl::Result<()> {
6488 decoder.debug_check_bounds::<Self>(offset);
6489 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6491 Ok(())
6492 }
6493 }
6494
6495 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
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 MlmeEapolIndRequest {
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 32
6513 }
6514 }
6515
6516 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6517 for &MlmeEapolIndRequest
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::<MlmeEapolIndRequest>(offset);
6527 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6529 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6530 encoder,
6531 offset,
6532 _depth,
6533 )
6534 }
6535 }
6536 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6537 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6538 {
6539 #[inline]
6540 unsafe fn encode(
6541 self,
6542 encoder: &mut fidl::encoding::Encoder<'_, D>,
6543 offset: usize,
6544 depth: fidl::encoding::Depth,
6545 ) -> fidl::Result<()> {
6546 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6547 self.0.encode(encoder, offset + 0, depth)?;
6551 Ok(())
6552 }
6553 }
6554
6555 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6556 #[inline(always)]
6557 fn new_empty() -> Self {
6558 Self { ind: fidl::new_empty!(EapolIndication, D) }
6559 }
6560
6561 #[inline]
6562 unsafe fn decode(
6563 &mut self,
6564 decoder: &mut fidl::encoding::Decoder<'_, D>,
6565 offset: usize,
6566 _depth: fidl::encoding::Depth,
6567 ) -> fidl::Result<()> {
6568 decoder.debug_check_bounds::<Self>(offset);
6569 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6571 Ok(())
6572 }
6573 }
6574
6575 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6576 type Borrowed<'a> = &'a Self;
6577 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6578 value
6579 }
6580 }
6581
6582 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6583 type Owned = Self;
6584
6585 #[inline(always)]
6586 fn inline_align(_context: fidl::encoding::Context) -> usize {
6587 8
6588 }
6589
6590 #[inline(always)]
6591 fn inline_size(_context: fidl::encoding::Context) -> usize {
6592 32
6593 }
6594 }
6595
6596 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6597 for &MlmeEapolReqRequest
6598 {
6599 #[inline]
6600 unsafe fn encode(
6601 self,
6602 encoder: &mut fidl::encoding::Encoder<'_, D>,
6603 offset: usize,
6604 _depth: fidl::encoding::Depth,
6605 ) -> fidl::Result<()> {
6606 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6607 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6609 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6610 encoder,
6611 offset,
6612 _depth,
6613 )
6614 }
6615 }
6616 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6617 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6618 {
6619 #[inline]
6620 unsafe fn encode(
6621 self,
6622 encoder: &mut fidl::encoding::Encoder<'_, D>,
6623 offset: usize,
6624 depth: fidl::encoding::Depth,
6625 ) -> fidl::Result<()> {
6626 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6627 self.0.encode(encoder, offset + 0, depth)?;
6631 Ok(())
6632 }
6633 }
6634
6635 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6636 #[inline(always)]
6637 fn new_empty() -> Self {
6638 Self { req: fidl::new_empty!(EapolRequest, D) }
6639 }
6640
6641 #[inline]
6642 unsafe fn decode(
6643 &mut self,
6644 decoder: &mut fidl::encoding::Decoder<'_, D>,
6645 offset: usize,
6646 _depth: fidl::encoding::Depth,
6647 ) -> fidl::Result<()> {
6648 decoder.debug_check_bounds::<Self>(offset);
6649 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6651 Ok(())
6652 }
6653 }
6654
6655 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6656 type Borrowed<'a> = &'a Self;
6657 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6658 value
6659 }
6660 }
6661
6662 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6663 type Owned = Self;
6664
6665 #[inline(always)]
6666 fn inline_align(_context: fidl::encoding::Context) -> usize {
6667 8
6668 }
6669
6670 #[inline(always)]
6671 fn inline_size(_context: fidl::encoding::Context) -> usize {
6672 56
6673 }
6674 }
6675
6676 unsafe impl<D: fidl::encoding::ResourceDialect>
6677 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6678 for &MlmeFinalizeAssociationReqRequest
6679 {
6680 #[inline]
6681 unsafe fn encode(
6682 self,
6683 encoder: &mut fidl::encoding::Encoder<'_, D>,
6684 offset: usize,
6685 _depth: fidl::encoding::Depth,
6686 ) -> fidl::Result<()> {
6687 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6688 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6690 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6691 &self.negotiated_capabilities,
6692 ),),
6693 encoder,
6694 offset,
6695 _depth,
6696 )
6697 }
6698 }
6699 unsafe impl<
6700 D: fidl::encoding::ResourceDialect,
6701 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6702 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6703 {
6704 #[inline]
6705 unsafe fn encode(
6706 self,
6707 encoder: &mut fidl::encoding::Encoder<'_, D>,
6708 offset: usize,
6709 depth: fidl::encoding::Depth,
6710 ) -> fidl::Result<()> {
6711 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6712 self.0.encode(encoder, offset + 0, depth)?;
6716 Ok(())
6717 }
6718 }
6719
6720 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6721 for MlmeFinalizeAssociationReqRequest
6722 {
6723 #[inline(always)]
6724 fn new_empty() -> Self {
6725 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6726 }
6727
6728 #[inline]
6729 unsafe fn decode(
6730 &mut self,
6731 decoder: &mut fidl::encoding::Decoder<'_, D>,
6732 offset: usize,
6733 _depth: fidl::encoding::Depth,
6734 ) -> fidl::Result<()> {
6735 decoder.debug_check_bounds::<Self>(offset);
6736 fidl::decode!(
6738 NegotiatedCapabilities,
6739 D,
6740 &mut self.negotiated_capabilities,
6741 decoder,
6742 offset + 0,
6743 _depth
6744 )?;
6745 Ok(())
6746 }
6747 }
6748
6749 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6750 type Borrowed<'a> = &'a Self;
6751 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6752 value
6753 }
6754 }
6755
6756 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6757 type Owned = Self;
6758
6759 #[inline(always)]
6760 fn inline_align(_context: fidl::encoding::Context) -> usize {
6761 8
6762 }
6763
6764 #[inline(always)]
6765 fn inline_size(_context: fidl::encoding::Context) -> usize {
6766 16
6767 }
6768 }
6769
6770 unsafe impl<D: fidl::encoding::ResourceDialect>
6771 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6772 for &MlmeGetIfaceHistogramStatsResponse
6773 {
6774 #[inline]
6775 unsafe fn encode(
6776 self,
6777 encoder: &mut fidl::encoding::Encoder<'_, D>,
6778 offset: usize,
6779 _depth: fidl::encoding::Depth,
6780 ) -> fidl::Result<()> {
6781 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6782 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6784 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6785 &self.resp,
6786 ),),
6787 encoder,
6788 offset,
6789 _depth,
6790 )
6791 }
6792 }
6793 unsafe impl<
6794 D: fidl::encoding::ResourceDialect,
6795 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6796 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6797 {
6798 #[inline]
6799 unsafe fn encode(
6800 self,
6801 encoder: &mut fidl::encoding::Encoder<'_, D>,
6802 offset: usize,
6803 depth: fidl::encoding::Depth,
6804 ) -> fidl::Result<()> {
6805 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6806 self.0.encode(encoder, offset + 0, depth)?;
6810 Ok(())
6811 }
6812 }
6813
6814 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6815 for MlmeGetIfaceHistogramStatsResponse
6816 {
6817 #[inline(always)]
6818 fn new_empty() -> Self {
6819 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6820 }
6821
6822 #[inline]
6823 unsafe fn decode(
6824 &mut self,
6825 decoder: &mut fidl::encoding::Decoder<'_, D>,
6826 offset: usize,
6827 _depth: fidl::encoding::Depth,
6828 ) -> fidl::Result<()> {
6829 decoder.debug_check_bounds::<Self>(offset);
6830 fidl::decode!(
6832 GetIfaceHistogramStatsResponse,
6833 D,
6834 &mut self.resp,
6835 decoder,
6836 offset + 0,
6837 _depth
6838 )?;
6839 Ok(())
6840 }
6841 }
6842
6843 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6844 type Borrowed<'a> = &'a Self;
6845 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6846 value
6847 }
6848 }
6849
6850 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6851 type Owned = Self;
6852
6853 #[inline(always)]
6854 fn inline_align(_context: fidl::encoding::Context) -> usize {
6855 8
6856 }
6857
6858 #[inline(always)]
6859 fn inline_size(_context: fidl::encoding::Context) -> usize {
6860 16
6861 }
6862 }
6863
6864 unsafe impl<D: fidl::encoding::ResourceDialect>
6865 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6866 {
6867 #[inline]
6868 unsafe fn encode(
6869 self,
6870 encoder: &mut fidl::encoding::Encoder<'_, D>,
6871 offset: usize,
6872 _depth: fidl::encoding::Depth,
6873 ) -> fidl::Result<()> {
6874 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6875 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6877 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6878 encoder,
6879 offset,
6880 _depth,
6881 )
6882 }
6883 }
6884 unsafe impl<
6885 D: fidl::encoding::ResourceDialect,
6886 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6887 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6888 {
6889 #[inline]
6890 unsafe fn encode(
6891 self,
6892 encoder: &mut fidl::encoding::Encoder<'_, D>,
6893 offset: usize,
6894 depth: fidl::encoding::Depth,
6895 ) -> fidl::Result<()> {
6896 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6897 self.0.encode(encoder, offset + 0, depth)?;
6901 Ok(())
6902 }
6903 }
6904
6905 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6906 for MlmeGetIfaceStatsResponse
6907 {
6908 #[inline(always)]
6909 fn new_empty() -> Self {
6910 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6911 }
6912
6913 #[inline]
6914 unsafe fn decode(
6915 &mut self,
6916 decoder: &mut fidl::encoding::Decoder<'_, D>,
6917 offset: usize,
6918 _depth: fidl::encoding::Depth,
6919 ) -> fidl::Result<()> {
6920 decoder.debug_check_bounds::<Self>(offset);
6921 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6923 Ok(())
6924 }
6925 }
6926
6927 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6928 type Borrowed<'a> = &'a Self;
6929 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6930 value
6931 }
6932 }
6933
6934 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6935 type Owned = Self;
6936
6937 #[inline(always)]
6938 fn inline_align(_context: fidl::encoding::Context) -> usize {
6939 1
6940 }
6941
6942 #[inline(always)]
6943 fn inline_size(_context: fidl::encoding::Context) -> usize {
6944 6
6945 }
6946 #[inline(always)]
6947 fn encode_is_copy() -> bool {
6948 true
6949 }
6950
6951 #[inline(always)]
6952 fn decode_is_copy() -> bool {
6953 true
6954 }
6955 }
6956
6957 unsafe impl<D: fidl::encoding::ResourceDialect>
6958 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6959 {
6960 #[inline]
6961 unsafe fn encode(
6962 self,
6963 encoder: &mut fidl::encoding::Encoder<'_, D>,
6964 offset: usize,
6965 _depth: fidl::encoding::Depth,
6966 ) -> fidl::Result<()> {
6967 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6968 unsafe {
6969 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6971 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6972 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6973 }
6976 Ok(())
6977 }
6978 }
6979 unsafe impl<
6980 D: fidl::encoding::ResourceDialect,
6981 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6982 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, 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::<MlmeGetMinstrelStatsRequest>(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 MlmeGetMinstrelStatsRequest
7002 {
7003 #[inline(always)]
7004 fn new_empty() -> Self {
7005 Self { req: fidl::new_empty!(MinstrelStatsRequest, 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 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7017 unsafe {
7020 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7021 }
7022 Ok(())
7023 }
7024 }
7025
7026 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
7027 type Borrowed<'a> = &'a Self;
7028 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7029 value
7030 }
7031 }
7032
7033 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
7034 type Owned = Self;
7035
7036 #[inline(always)]
7037 fn inline_align(_context: fidl::encoding::Context) -> usize {
7038 8
7039 }
7040
7041 #[inline(always)]
7042 fn inline_size(_context: fidl::encoding::Context) -> usize {
7043 8
7044 }
7045 }
7046
7047 unsafe impl<D: fidl::encoding::ResourceDialect>
7048 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
7049 {
7050 #[inline]
7051 unsafe fn encode(
7052 self,
7053 encoder: &mut fidl::encoding::Encoder<'_, D>,
7054 offset: usize,
7055 _depth: fidl::encoding::Depth,
7056 ) -> fidl::Result<()> {
7057 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7058 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
7060 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7061 encoder,
7062 offset,
7063 _depth,
7064 )
7065 }
7066 }
7067 unsafe impl<
7068 D: fidl::encoding::ResourceDialect,
7069 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
7070 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
7071 {
7072 #[inline]
7073 unsafe fn encode(
7074 self,
7075 encoder: &mut fidl::encoding::Encoder<'_, D>,
7076 offset: usize,
7077 depth: fidl::encoding::Depth,
7078 ) -> fidl::Result<()> {
7079 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7080 self.0.encode(encoder, offset + 0, depth)?;
7084 Ok(())
7085 }
7086 }
7087
7088 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7089 for MlmeGetMinstrelStatsResponse
7090 {
7091 #[inline(always)]
7092 fn new_empty() -> Self {
7093 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
7094 }
7095
7096 #[inline]
7097 unsafe fn decode(
7098 &mut self,
7099 decoder: &mut fidl::encoding::Decoder<'_, D>,
7100 offset: usize,
7101 _depth: fidl::encoding::Depth,
7102 ) -> fidl::Result<()> {
7103 decoder.debug_check_bounds::<Self>(offset);
7104 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7106 Ok(())
7107 }
7108 }
7109
7110 impl fidl::encoding::ValueTypeMarker for MlmeInstallApfPacketFilterRequest {
7111 type Borrowed<'a> = &'a Self;
7112 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7113 value
7114 }
7115 }
7116
7117 unsafe impl fidl::encoding::TypeMarker for MlmeInstallApfPacketFilterRequest {
7118 type Owned = Self;
7119
7120 #[inline(always)]
7121 fn inline_align(_context: fidl::encoding::Context) -> usize {
7122 8
7123 }
7124
7125 #[inline(always)]
7126 fn inline_size(_context: fidl::encoding::Context) -> usize {
7127 16
7128 }
7129 }
7130
7131 unsafe impl<D: fidl::encoding::ResourceDialect>
7132 fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D>
7133 for &MlmeInstallApfPacketFilterRequest
7134 {
7135 #[inline]
7136 unsafe fn encode(
7137 self,
7138 encoder: &mut fidl::encoding::Encoder<'_, D>,
7139 offset: usize,
7140 _depth: fidl::encoding::Depth,
7141 ) -> fidl::Result<()> {
7142 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7143 fidl::encoding::Encode::<MlmeInstallApfPacketFilterRequest, D>::encode(
7145 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
7146 &self.program,
7147 ),),
7148 encoder,
7149 offset,
7150 _depth,
7151 )
7152 }
7153 }
7154 unsafe impl<
7155 D: fidl::encoding::ResourceDialect,
7156 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
7157 > fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D> for (T0,)
7158 {
7159 #[inline]
7160 unsafe fn encode(
7161 self,
7162 encoder: &mut fidl::encoding::Encoder<'_, D>,
7163 offset: usize,
7164 depth: fidl::encoding::Depth,
7165 ) -> fidl::Result<()> {
7166 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7167 self.0.encode(encoder, offset + 0, depth)?;
7171 Ok(())
7172 }
7173 }
7174
7175 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7176 for MlmeInstallApfPacketFilterRequest
7177 {
7178 #[inline(always)]
7179 fn new_empty() -> Self {
7180 Self { program: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
7181 }
7182
7183 #[inline]
7184 unsafe fn decode(
7185 &mut self,
7186 decoder: &mut fidl::encoding::Decoder<'_, D>,
7187 offset: usize,
7188 _depth: fidl::encoding::Depth,
7189 ) -> fidl::Result<()> {
7190 decoder.debug_check_bounds::<Self>(offset);
7191 fidl::decode!(
7193 fidl::encoding::UnboundedVector<u8>,
7194 D,
7195 &mut self.program,
7196 decoder,
7197 offset + 0,
7198 _depth
7199 )?;
7200 Ok(())
7201 }
7202 }
7203
7204 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
7205 type Borrowed<'a> = &'a Self;
7206 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7207 value
7208 }
7209 }
7210
7211 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
7212 type Owned = Self;
7213
7214 #[inline(always)]
7215 fn inline_align(_context: fidl::encoding::Context) -> usize {
7216 8
7217 }
7218
7219 #[inline(always)]
7220 fn inline_size(_context: fidl::encoding::Context) -> usize {
7221 16
7222 }
7223 }
7224
7225 unsafe impl<D: fidl::encoding::ResourceDialect>
7226 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
7227 for &MlmeListMinstrelPeersResponse
7228 {
7229 #[inline]
7230 unsafe fn encode(
7231 self,
7232 encoder: &mut fidl::encoding::Encoder<'_, D>,
7233 offset: usize,
7234 _depth: fidl::encoding::Depth,
7235 ) -> fidl::Result<()> {
7236 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7237 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
7239 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7240 encoder,
7241 offset,
7242 _depth,
7243 )
7244 }
7245 }
7246 unsafe impl<
7247 D: fidl::encoding::ResourceDialect,
7248 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
7249 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
7250 {
7251 #[inline]
7252 unsafe fn encode(
7253 self,
7254 encoder: &mut fidl::encoding::Encoder<'_, D>,
7255 offset: usize,
7256 depth: fidl::encoding::Depth,
7257 ) -> fidl::Result<()> {
7258 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7259 self.0.encode(encoder, offset + 0, depth)?;
7263 Ok(())
7264 }
7265 }
7266
7267 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7268 for MlmeListMinstrelPeersResponse
7269 {
7270 #[inline(always)]
7271 fn new_empty() -> Self {
7272 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
7273 }
7274
7275 #[inline]
7276 unsafe fn decode(
7277 &mut self,
7278 decoder: &mut fidl::encoding::Decoder<'_, D>,
7279 offset: usize,
7280 _depth: fidl::encoding::Depth,
7281 ) -> fidl::Result<()> {
7282 decoder.debug_check_bounds::<Self>(offset);
7283 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7285 Ok(())
7286 }
7287 }
7288
7289 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
7290 type Borrowed<'a> = &'a Self;
7291 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7292 value
7293 }
7294 }
7295
7296 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
7297 type Owned = Self;
7298
7299 #[inline(always)]
7300 fn inline_align(_context: fidl::encoding::Context) -> usize {
7301 1
7302 }
7303
7304 #[inline(always)]
7305 fn inline_size(_context: fidl::encoding::Context) -> usize {
7306 1
7307 }
7308 }
7309
7310 unsafe impl<D: fidl::encoding::ResourceDialect>
7311 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
7312 {
7313 #[inline]
7314 unsafe fn encode(
7315 self,
7316 encoder: &mut fidl::encoding::Encoder<'_, D>,
7317 offset: usize,
7318 _depth: fidl::encoding::Depth,
7319 ) -> fidl::Result<()> {
7320 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7321 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
7323 (
7324 <fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
7325 ),
7326 encoder, offset, _depth
7327 )
7328 }
7329 }
7330 unsafe impl<
7331 D: fidl::encoding::ResourceDialect,
7332 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D>,
7333 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
7334 {
7335 #[inline]
7336 unsafe fn encode(
7337 self,
7338 encoder: &mut fidl::encoding::Encoder<'_, D>,
7339 offset: usize,
7340 depth: fidl::encoding::Depth,
7341 ) -> fidl::Result<()> {
7342 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7343 self.0.encode(encoder, offset + 0, depth)?;
7347 Ok(())
7348 }
7349 }
7350
7351 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7352 for MlmeOnChannelSwitchedRequest
7353 {
7354 #[inline(always)]
7355 fn new_empty() -> Self {
7356 Self { info: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D) }
7357 }
7358
7359 #[inline]
7360 unsafe fn decode(
7361 &mut self,
7362 decoder: &mut fidl::encoding::Decoder<'_, D>,
7363 offset: usize,
7364 _depth: fidl::encoding::Depth,
7365 ) -> fidl::Result<()> {
7366 decoder.debug_check_bounds::<Self>(offset);
7367 fidl::decode!(
7369 fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo,
7370 D,
7371 &mut self.info,
7372 decoder,
7373 offset + 0,
7374 _depth
7375 )?;
7376 Ok(())
7377 }
7378 }
7379
7380 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
7381 type Borrowed<'a> = &'a Self;
7382 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7383 value
7384 }
7385 }
7386
7387 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
7388 type Owned = Self;
7389
7390 #[inline(always)]
7391 fn inline_align(_context: fidl::encoding::Context) -> usize {
7392 8
7393 }
7394
7395 #[inline(always)]
7396 fn inline_size(_context: fidl::encoding::Context) -> usize {
7397 32
7398 }
7399 }
7400
7401 unsafe impl<D: fidl::encoding::ResourceDialect>
7402 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
7403 {
7404 #[inline]
7405 unsafe fn encode(
7406 self,
7407 encoder: &mut fidl::encoding::Encoder<'_, D>,
7408 offset: usize,
7409 _depth: fidl::encoding::Depth,
7410 ) -> fidl::Result<()> {
7411 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7412 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
7414 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7415 encoder,
7416 offset,
7417 _depth,
7418 )
7419 }
7420 }
7421 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
7422 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
7423 {
7424 #[inline]
7425 unsafe fn encode(
7426 self,
7427 encoder: &mut fidl::encoding::Encoder<'_, D>,
7428 offset: usize,
7429 depth: fidl::encoding::Depth,
7430 ) -> fidl::Result<()> {
7431 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7432 self.0.encode(encoder, offset + 0, depth)?;
7436 Ok(())
7437 }
7438 }
7439
7440 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7441 for MlmeOnPmkAvailableRequest
7442 {
7443 #[inline(always)]
7444 fn new_empty() -> Self {
7445 Self { info: fidl::new_empty!(PmkInfo, D) }
7446 }
7447
7448 #[inline]
7449 unsafe fn decode(
7450 &mut self,
7451 decoder: &mut fidl::encoding::Decoder<'_, D>,
7452 offset: usize,
7453 _depth: fidl::encoding::Depth,
7454 ) -> fidl::Result<()> {
7455 decoder.debug_check_bounds::<Self>(offset);
7456 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7458 Ok(())
7459 }
7460 }
7461
7462 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7463 type Borrowed<'a> = &'a Self;
7464 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7465 value
7466 }
7467 }
7468
7469 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7470 type Owned = Self;
7471
7472 #[inline(always)]
7473 fn inline_align(_context: fidl::encoding::Context) -> usize {
7474 8
7475 }
7476
7477 #[inline(always)]
7478 fn inline_size(_context: fidl::encoding::Context) -> usize {
7479 32
7480 }
7481 }
7482
7483 unsafe impl<D: fidl::encoding::ResourceDialect>
7484 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7485 {
7486 #[inline]
7487 unsafe fn encode(
7488 self,
7489 encoder: &mut fidl::encoding::Encoder<'_, D>,
7490 offset: usize,
7491 _depth: fidl::encoding::Depth,
7492 ) -> fidl::Result<()> {
7493 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7494 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7496 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7497 encoder,
7498 offset,
7499 _depth,
7500 )
7501 }
7502 }
7503 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7504 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7505 {
7506 #[inline]
7507 unsafe fn encode(
7508 self,
7509 encoder: &mut fidl::encoding::Encoder<'_, D>,
7510 offset: usize,
7511 depth: fidl::encoding::Depth,
7512 ) -> fidl::Result<()> {
7513 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7514 self.0.encode(encoder, offset + 0, depth)?;
7518 Ok(())
7519 }
7520 }
7521
7522 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7523 for MlmeOnSaeFrameRxRequest
7524 {
7525 #[inline(always)]
7526 fn new_empty() -> Self {
7527 Self { frame: fidl::new_empty!(SaeFrame, D) }
7528 }
7529
7530 #[inline]
7531 unsafe fn decode(
7532 &mut self,
7533 decoder: &mut fidl::encoding::Decoder<'_, D>,
7534 offset: usize,
7535 _depth: fidl::encoding::Depth,
7536 ) -> fidl::Result<()> {
7537 decoder.debug_check_bounds::<Self>(offset);
7538 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7540 Ok(())
7541 }
7542 }
7543
7544 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7545 type Borrowed<'a> = &'a Self;
7546 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7547 value
7548 }
7549 }
7550
7551 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7552 type Owned = Self;
7553
7554 #[inline(always)]
7555 fn inline_align(_context: fidl::encoding::Context) -> usize {
7556 1
7557 }
7558
7559 #[inline(always)]
7560 fn inline_size(_context: fidl::encoding::Context) -> usize {
7561 6
7562 }
7563 #[inline(always)]
7564 fn encode_is_copy() -> bool {
7565 true
7566 }
7567
7568 #[inline(always)]
7569 fn decode_is_copy() -> bool {
7570 true
7571 }
7572 }
7573
7574 unsafe impl<D: fidl::encoding::ResourceDialect>
7575 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7576 {
7577 #[inline]
7578 unsafe fn encode(
7579 self,
7580 encoder: &mut fidl::encoding::Encoder<'_, D>,
7581 offset: usize,
7582 _depth: fidl::encoding::Depth,
7583 ) -> fidl::Result<()> {
7584 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7585 unsafe {
7586 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7588 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7589 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7590 }
7593 Ok(())
7594 }
7595 }
7596 unsafe impl<
7597 D: fidl::encoding::ResourceDialect,
7598 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7599 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7600 {
7601 #[inline]
7602 unsafe fn encode(
7603 self,
7604 encoder: &mut fidl::encoding::Encoder<'_, D>,
7605 offset: usize,
7606 depth: fidl::encoding::Depth,
7607 ) -> fidl::Result<()> {
7608 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7609 self.0.encode(encoder, offset + 0, depth)?;
7613 Ok(())
7614 }
7615 }
7616
7617 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7618 for MlmeOnSaeHandshakeIndRequest
7619 {
7620 #[inline(always)]
7621 fn new_empty() -> Self {
7622 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7623 }
7624
7625 #[inline]
7626 unsafe fn decode(
7627 &mut self,
7628 decoder: &mut fidl::encoding::Decoder<'_, D>,
7629 offset: usize,
7630 _depth: fidl::encoding::Depth,
7631 ) -> fidl::Result<()> {
7632 decoder.debug_check_bounds::<Self>(offset);
7633 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7634 unsafe {
7637 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7638 }
7639 Ok(())
7640 }
7641 }
7642
7643 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7644 type Borrowed<'a> = &'a Self;
7645 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7646 value
7647 }
7648 }
7649
7650 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7651 type Owned = Self;
7652
7653 #[inline(always)]
7654 fn inline_align(_context: fidl::encoding::Context) -> usize {
7655 8
7656 }
7657
7658 #[inline(always)]
7659 fn inline_size(_context: fidl::encoding::Context) -> usize {
7660 16
7661 }
7662 }
7663
7664 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7665 for &MlmeOnScanEndRequest
7666 {
7667 #[inline]
7668 unsafe fn encode(
7669 self,
7670 encoder: &mut fidl::encoding::Encoder<'_, D>,
7671 offset: usize,
7672 _depth: fidl::encoding::Depth,
7673 ) -> fidl::Result<()> {
7674 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7675 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7677 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7678 encoder,
7679 offset,
7680 _depth,
7681 )
7682 }
7683 }
7684 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7685 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7686 {
7687 #[inline]
7688 unsafe fn encode(
7689 self,
7690 encoder: &mut fidl::encoding::Encoder<'_, D>,
7691 offset: usize,
7692 depth: fidl::encoding::Depth,
7693 ) -> fidl::Result<()> {
7694 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7695 self.0.encode(encoder, offset + 0, depth)?;
7699 Ok(())
7700 }
7701 }
7702
7703 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7704 #[inline(always)]
7705 fn new_empty() -> Self {
7706 Self { end: fidl::new_empty!(ScanEnd, D) }
7707 }
7708
7709 #[inline]
7710 unsafe fn decode(
7711 &mut self,
7712 decoder: &mut fidl::encoding::Decoder<'_, D>,
7713 offset: usize,
7714 _depth: fidl::encoding::Depth,
7715 ) -> fidl::Result<()> {
7716 decoder.debug_check_bounds::<Self>(offset);
7717 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7719 Ok(())
7720 }
7721 }
7722
7723 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7724 type Borrowed<'a> = &'a Self;
7725 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7726 value
7727 }
7728 }
7729
7730 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7731 type Owned = Self;
7732
7733 #[inline(always)]
7734 fn inline_align(_context: fidl::encoding::Context) -> usize {
7735 8
7736 }
7737
7738 #[inline(always)]
7739 fn inline_size(_context: fidl::encoding::Context) -> usize {
7740 64
7741 }
7742 }
7743
7744 unsafe impl<D: fidl::encoding::ResourceDialect>
7745 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7746 {
7747 #[inline]
7748 unsafe fn encode(
7749 self,
7750 encoder: &mut fidl::encoding::Encoder<'_, D>,
7751 offset: usize,
7752 _depth: fidl::encoding::Depth,
7753 ) -> fidl::Result<()> {
7754 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7755 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7757 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7758 encoder,
7759 offset,
7760 _depth,
7761 )
7762 }
7763 }
7764 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7765 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7766 {
7767 #[inline]
7768 unsafe fn encode(
7769 self,
7770 encoder: &mut fidl::encoding::Encoder<'_, D>,
7771 offset: usize,
7772 depth: fidl::encoding::Depth,
7773 ) -> fidl::Result<()> {
7774 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7775 self.0.encode(encoder, offset + 0, depth)?;
7779 Ok(())
7780 }
7781 }
7782
7783 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7784 for MlmeOnScanResultRequest
7785 {
7786 #[inline(always)]
7787 fn new_empty() -> Self {
7788 Self { result: fidl::new_empty!(ScanResult, D) }
7789 }
7790
7791 #[inline]
7792 unsafe fn decode(
7793 &mut self,
7794 decoder: &mut fidl::encoding::Decoder<'_, D>,
7795 offset: usize,
7796 _depth: fidl::encoding::Depth,
7797 ) -> fidl::Result<()> {
7798 decoder.debug_check_bounds::<Self>(offset);
7799 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7801 Ok(())
7802 }
7803 }
7804
7805 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7806 type Borrowed<'a> = &'a Self;
7807 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7808 value
7809 }
7810 }
7811
7812 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7813 type Owned = Self;
7814
7815 #[inline(always)]
7816 fn inline_align(_context: fidl::encoding::Context) -> usize {
7817 8
7818 }
7819
7820 #[inline(always)]
7821 fn inline_size(_context: fidl::encoding::Context) -> usize {
7822 8
7823 }
7824 #[inline(always)]
7825 fn encode_is_copy() -> bool {
7826 true
7827 }
7828
7829 #[inline(always)]
7830 fn decode_is_copy() -> bool {
7831 true
7832 }
7833 }
7834
7835 unsafe impl<D: fidl::encoding::ResourceDialect>
7836 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D>
7837 for &MlmeOnScheduledScanMatchesAvailableRequest
7838 {
7839 #[inline]
7840 unsafe fn encode(
7841 self,
7842 encoder: &mut fidl::encoding::Encoder<'_, D>,
7843 offset: usize,
7844 _depth: fidl::encoding::Depth,
7845 ) -> fidl::Result<()> {
7846 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7847 unsafe {
7848 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7850 (buf_ptr as *mut MlmeOnScheduledScanMatchesAvailableRequest).write_unaligned(
7851 (self as *const MlmeOnScheduledScanMatchesAvailableRequest).read(),
7852 );
7853 }
7856 Ok(())
7857 }
7858 }
7859 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
7860 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D> for (T0,)
7861 {
7862 #[inline]
7863 unsafe fn encode(
7864 self,
7865 encoder: &mut fidl::encoding::Encoder<'_, D>,
7866 offset: usize,
7867 depth: fidl::encoding::Depth,
7868 ) -> fidl::Result<()> {
7869 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7870 self.0.encode(encoder, offset + 0, depth)?;
7874 Ok(())
7875 }
7876 }
7877
7878 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7879 for MlmeOnScheduledScanMatchesAvailableRequest
7880 {
7881 #[inline(always)]
7882 fn new_empty() -> Self {
7883 Self { txn_id: fidl::new_empty!(u64, 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 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7895 unsafe {
7898 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
7899 }
7900 Ok(())
7901 }
7902 }
7903
7904 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
7905 type Borrowed<'a> = &'a Self;
7906 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7907 value
7908 }
7909 }
7910
7911 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
7912 type Owned = Self;
7913
7914 #[inline(always)]
7915 fn inline_align(_context: fidl::encoding::Context) -> usize {
7916 8
7917 }
7918
7919 #[inline(always)]
7920 fn inline_size(_context: fidl::encoding::Context) -> usize {
7921 8
7922 }
7923 #[inline(always)]
7924 fn encode_is_copy() -> bool {
7925 true
7926 }
7927
7928 #[inline(always)]
7929 fn decode_is_copy() -> bool {
7930 true
7931 }
7932 }
7933
7934 unsafe impl<D: fidl::encoding::ResourceDialect>
7935 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D>
7936 for &MlmeOnScheduledScanStoppedByFirmwareRequest
7937 {
7938 #[inline]
7939 unsafe fn encode(
7940 self,
7941 encoder: &mut fidl::encoding::Encoder<'_, D>,
7942 offset: usize,
7943 _depth: fidl::encoding::Depth,
7944 ) -> fidl::Result<()> {
7945 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
7946 unsafe {
7947 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7949 (buf_ptr as *mut MlmeOnScheduledScanStoppedByFirmwareRequest).write_unaligned(
7950 (self as *const MlmeOnScheduledScanStoppedByFirmwareRequest).read(),
7951 );
7952 }
7955 Ok(())
7956 }
7957 }
7958 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
7959 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D> for (T0,)
7960 {
7961 #[inline]
7962 unsafe fn encode(
7963 self,
7964 encoder: &mut fidl::encoding::Encoder<'_, D>,
7965 offset: usize,
7966 depth: fidl::encoding::Depth,
7967 ) -> fidl::Result<()> {
7968 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
7969 self.0.encode(encoder, offset + 0, depth)?;
7973 Ok(())
7974 }
7975 }
7976
7977 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7978 for MlmeOnScheduledScanStoppedByFirmwareRequest
7979 {
7980 #[inline(always)]
7981 fn new_empty() -> Self {
7982 Self { txn_id: fidl::new_empty!(u64, D) }
7983 }
7984
7985 #[inline]
7986 unsafe fn decode(
7987 &mut self,
7988 decoder: &mut fidl::encoding::Decoder<'_, D>,
7989 offset: usize,
7990 _depth: fidl::encoding::Depth,
7991 ) -> fidl::Result<()> {
7992 decoder.debug_check_bounds::<Self>(offset);
7993 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7994 unsafe {
7997 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
7998 }
7999 Ok(())
8000 }
8001 }
8002
8003 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
8004 type Borrowed<'a> = &'a Self;
8005 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8006 value
8007 }
8008 }
8009
8010 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
8011 type Owned = Self;
8012
8013 #[inline(always)]
8014 fn inline_align(_context: fidl::encoding::Context) -> usize {
8015 4
8016 }
8017
8018 #[inline(always)]
8019 fn inline_size(_context: fidl::encoding::Context) -> usize {
8020 40
8021 }
8022 }
8023
8024 unsafe impl<D: fidl::encoding::ResourceDialect>
8025 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
8026 {
8027 #[inline]
8028 unsafe fn encode(
8029 self,
8030 encoder: &mut fidl::encoding::Encoder<'_, D>,
8031 offset: usize,
8032 _depth: fidl::encoding::Depth,
8033 ) -> fidl::Result<()> {
8034 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8035 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
8037 (
8038 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
8039 <fidl_fuchsia_wlan_internal_common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
8040 ),
8041 encoder, offset, _depth
8042 )
8043 }
8044 }
8045 unsafe impl<
8046 D: fidl::encoding::ResourceDialect,
8047 T0: fidl::encoding::Encode<i32, D>,
8048 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D>,
8049 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
8050 {
8051 #[inline]
8052 unsafe fn encode(
8053 self,
8054 encoder: &mut fidl::encoding::Encoder<'_, D>,
8055 offset: usize,
8056 depth: fidl::encoding::Depth,
8057 ) -> fidl::Result<()> {
8058 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8059 unsafe {
8062 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
8063 (ptr as *mut u32).write_unaligned(0);
8064 }
8065 self.0.encode(encoder, offset + 0, depth)?;
8067 self.1.encode(encoder, offset + 4, depth)?;
8068 Ok(())
8069 }
8070 }
8071
8072 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8073 for MlmeOnWmmStatusRespRequest
8074 {
8075 #[inline(always)]
8076 fn new_empty() -> Self {
8077 Self {
8078 status: fidl::new_empty!(i32, D),
8079 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D),
8080 }
8081 }
8082
8083 #[inline]
8084 unsafe fn decode(
8085 &mut self,
8086 decoder: &mut fidl::encoding::Decoder<'_, D>,
8087 offset: usize,
8088 _depth: fidl::encoding::Depth,
8089 ) -> fidl::Result<()> {
8090 decoder.debug_check_bounds::<Self>(offset);
8091 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
8093 let padval = unsafe { (ptr as *const u32).read_unaligned() };
8094 let mask = 0xffff0000u32;
8095 let maskedval = padval & mask;
8096 if maskedval != 0 {
8097 return Err(fidl::Error::NonZeroPadding {
8098 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
8099 });
8100 }
8101 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
8102 fidl::decode!(
8103 fidl_fuchsia_wlan_internal_common::WmmStatusResponse,
8104 D,
8105 &mut self.resp,
8106 decoder,
8107 offset + 4,
8108 _depth
8109 )?;
8110 Ok(())
8111 }
8112 }
8113
8114 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
8115 type Borrowed<'a> = &'a Self;
8116 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8117 value
8118 }
8119 }
8120
8121 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
8122 type Owned = Self;
8123
8124 #[inline(always)]
8125 fn inline_align(_context: fidl::encoding::Context) -> usize {
8126 8
8127 }
8128
8129 #[inline(always)]
8130 fn inline_size(_context: fidl::encoding::Context) -> usize {
8131 40
8132 }
8133 }
8134
8135 unsafe impl<D: fidl::encoding::ResourceDialect>
8136 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
8137 {
8138 #[inline]
8139 unsafe fn encode(
8140 self,
8141 encoder: &mut fidl::encoding::Encoder<'_, D>,
8142 offset: usize,
8143 _depth: fidl::encoding::Depth,
8144 ) -> fidl::Result<()> {
8145 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8146 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
8148 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
8149 encoder,
8150 offset,
8151 _depth,
8152 )
8153 }
8154 }
8155 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
8156 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
8157 {
8158 #[inline]
8159 unsafe fn encode(
8160 self,
8161 encoder: &mut fidl::encoding::Encoder<'_, D>,
8162 offset: usize,
8163 depth: fidl::encoding::Depth,
8164 ) -> fidl::Result<()> {
8165 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8166 self.0.encode(encoder, offset + 0, depth)?;
8170 Ok(())
8171 }
8172 }
8173
8174 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8175 for MlmeQueryDeviceInfoResponse
8176 {
8177 #[inline(always)]
8178 fn new_empty() -> Self {
8179 Self { info: fidl::new_empty!(DeviceInfo, D) }
8180 }
8181
8182 #[inline]
8183 unsafe fn decode(
8184 &mut self,
8185 decoder: &mut fidl::encoding::Decoder<'_, D>,
8186 offset: usize,
8187 _depth: fidl::encoding::Depth,
8188 ) -> fidl::Result<()> {
8189 decoder.debug_check_bounds::<Self>(offset);
8190 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
8192 Ok(())
8193 }
8194 }
8195
8196 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
8197 type Borrowed<'a> = &'a Self;
8198 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8199 value
8200 }
8201 }
8202
8203 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
8204 type Owned = Self;
8205
8206 #[inline(always)]
8207 fn inline_align(_context: fidl::encoding::Context) -> usize {
8208 1
8209 }
8210
8211 #[inline(always)]
8212 fn inline_size(_context: fidl::encoding::Context) -> usize {
8213 6
8214 }
8215 #[inline(always)]
8216 fn encode_is_copy() -> bool {
8217 true
8218 }
8219
8220 #[inline(always)]
8221 fn decode_is_copy() -> bool {
8222 true
8223 }
8224 }
8225
8226 unsafe impl<D: fidl::encoding::ResourceDialect>
8227 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
8228 {
8229 #[inline]
8230 unsafe fn encode(
8231 self,
8232 encoder: &mut fidl::encoding::Encoder<'_, D>,
8233 offset: usize,
8234 _depth: fidl::encoding::Depth,
8235 ) -> fidl::Result<()> {
8236 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8237 unsafe {
8238 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8240 (buf_ptr as *mut MlmeReconnectReqRequest)
8241 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
8242 }
8245 Ok(())
8246 }
8247 }
8248 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
8249 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
8250 {
8251 #[inline]
8252 unsafe fn encode(
8253 self,
8254 encoder: &mut fidl::encoding::Encoder<'_, D>,
8255 offset: usize,
8256 depth: fidl::encoding::Depth,
8257 ) -> fidl::Result<()> {
8258 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8259 self.0.encode(encoder, offset + 0, depth)?;
8263 Ok(())
8264 }
8265 }
8266
8267 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8268 for MlmeReconnectReqRequest
8269 {
8270 #[inline(always)]
8271 fn new_empty() -> Self {
8272 Self { req: fidl::new_empty!(ReconnectRequest, D) }
8273 }
8274
8275 #[inline]
8276 unsafe fn decode(
8277 &mut self,
8278 decoder: &mut fidl::encoding::Decoder<'_, D>,
8279 offset: usize,
8280 _depth: fidl::encoding::Depth,
8281 ) -> fidl::Result<()> {
8282 decoder.debug_check_bounds::<Self>(offset);
8283 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8284 unsafe {
8287 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
8288 }
8289 Ok(())
8290 }
8291 }
8292
8293 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
8294 type Borrowed<'a> = &'a Self;
8295 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8296 value
8297 }
8298 }
8299
8300 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
8301 type Owned = Self;
8302
8303 #[inline(always)]
8304 fn inline_align(_context: fidl::encoding::Context) -> usize {
8305 8
8306 }
8307
8308 #[inline(always)]
8309 fn inline_size(_context: fidl::encoding::Context) -> usize {
8310 16
8311 }
8312 }
8313
8314 unsafe impl<D: fidl::encoding::ResourceDialect>
8315 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
8316 for &MlmeRelayCapturedFrameRequest
8317 {
8318 #[inline]
8319 unsafe fn encode(
8320 self,
8321 encoder: &mut fidl::encoding::Encoder<'_, D>,
8322 offset: usize,
8323 _depth: fidl::encoding::Depth,
8324 ) -> fidl::Result<()> {
8325 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8326 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
8328 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
8329 encoder,
8330 offset,
8331 _depth,
8332 )
8333 }
8334 }
8335 unsafe impl<
8336 D: fidl::encoding::ResourceDialect,
8337 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
8338 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
8339 {
8340 #[inline]
8341 unsafe fn encode(
8342 self,
8343 encoder: &mut fidl::encoding::Encoder<'_, D>,
8344 offset: usize,
8345 depth: fidl::encoding::Depth,
8346 ) -> fidl::Result<()> {
8347 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8348 self.0.encode(encoder, offset + 0, depth)?;
8352 Ok(())
8353 }
8354 }
8355
8356 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8357 for MlmeRelayCapturedFrameRequest
8358 {
8359 #[inline(always)]
8360 fn new_empty() -> Self {
8361 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
8362 }
8363
8364 #[inline]
8365 unsafe fn decode(
8366 &mut self,
8367 decoder: &mut fidl::encoding::Decoder<'_, D>,
8368 offset: usize,
8369 _depth: fidl::encoding::Depth,
8370 ) -> fidl::Result<()> {
8371 decoder.debug_check_bounds::<Self>(offset);
8372 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
8374 Ok(())
8375 }
8376 }
8377
8378 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
8379 type Borrowed<'a> = &'a Self;
8380 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8381 value
8382 }
8383 }
8384
8385 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
8386 type Owned = Self;
8387
8388 #[inline(always)]
8389 fn inline_align(_context: fidl::encoding::Context) -> usize {
8390 1
8391 }
8392
8393 #[inline(always)]
8394 fn inline_size(_context: fidl::encoding::Context) -> usize {
8395 7
8396 }
8397 }
8398
8399 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
8400 for &MlmeResetReqRequest
8401 {
8402 #[inline]
8403 unsafe fn encode(
8404 self,
8405 encoder: &mut fidl::encoding::Encoder<'_, D>,
8406 offset: usize,
8407 _depth: fidl::encoding::Depth,
8408 ) -> fidl::Result<()> {
8409 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8410 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
8412 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8413 encoder,
8414 offset,
8415 _depth,
8416 )
8417 }
8418 }
8419 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
8420 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
8421 {
8422 #[inline]
8423 unsafe fn encode(
8424 self,
8425 encoder: &mut fidl::encoding::Encoder<'_, D>,
8426 offset: usize,
8427 depth: fidl::encoding::Depth,
8428 ) -> fidl::Result<()> {
8429 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8430 self.0.encode(encoder, offset + 0, depth)?;
8434 Ok(())
8435 }
8436 }
8437
8438 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
8439 #[inline(always)]
8440 fn new_empty() -> Self {
8441 Self { req: fidl::new_empty!(ResetRequest, D) }
8442 }
8443
8444 #[inline]
8445 unsafe fn decode(
8446 &mut self,
8447 decoder: &mut fidl::encoding::Decoder<'_, D>,
8448 offset: usize,
8449 _depth: fidl::encoding::Depth,
8450 ) -> fidl::Result<()> {
8451 decoder.debug_check_bounds::<Self>(offset);
8452 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8454 Ok(())
8455 }
8456 }
8457
8458 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
8459 type Borrowed<'a> = &'a Self;
8460 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8461 value
8462 }
8463 }
8464
8465 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
8466 type Owned = Self;
8467
8468 #[inline(always)]
8469 fn inline_align(_context: fidl::encoding::Context) -> usize {
8470 8
8471 }
8472
8473 #[inline(always)]
8474 fn inline_size(_context: fidl::encoding::Context) -> usize {
8475 32
8476 }
8477 }
8478
8479 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
8480 for &MlmeRoamConfRequest
8481 {
8482 #[inline]
8483 unsafe fn encode(
8484 self,
8485 encoder: &mut fidl::encoding::Encoder<'_, D>,
8486 offset: usize,
8487 _depth: fidl::encoding::Depth,
8488 ) -> fidl::Result<()> {
8489 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8490 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
8492 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8493 encoder,
8494 offset,
8495 _depth,
8496 )
8497 }
8498 }
8499 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
8500 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
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::<MlmeRoamConfRequest>(offset);
8510 self.0.encode(encoder, offset + 0, depth)?;
8514 Ok(())
8515 }
8516 }
8517
8518 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
8519 #[inline(always)]
8520 fn new_empty() -> Self {
8521 Self { conf: fidl::new_empty!(RoamConfirm, D) }
8522 }
8523
8524 #[inline]
8525 unsafe fn decode(
8526 &mut self,
8527 decoder: &mut fidl::encoding::Decoder<'_, D>,
8528 offset: usize,
8529 _depth: fidl::encoding::Depth,
8530 ) -> fidl::Result<()> {
8531 decoder.debug_check_bounds::<Self>(offset);
8532 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8534 Ok(())
8535 }
8536 }
8537
8538 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
8539 type Borrowed<'a> = &'a Self;
8540 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8541 value
8542 }
8543 }
8544
8545 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
8546 type Owned = Self;
8547
8548 #[inline(always)]
8549 fn inline_align(_context: fidl::encoding::Context) -> usize {
8550 8
8551 }
8552
8553 #[inline(always)]
8554 fn inline_size(_context: fidl::encoding::Context) -> usize {
8555 48
8556 }
8557 }
8558
8559 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
8560 for &MlmeRoamReqRequest
8561 {
8562 #[inline]
8563 unsafe fn encode(
8564 self,
8565 encoder: &mut fidl::encoding::Encoder<'_, D>,
8566 offset: usize,
8567 _depth: fidl::encoding::Depth,
8568 ) -> fidl::Result<()> {
8569 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8570 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
8572 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8573 encoder,
8574 offset,
8575 _depth,
8576 )
8577 }
8578 }
8579 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
8580 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
8581 {
8582 #[inline]
8583 unsafe fn encode(
8584 self,
8585 encoder: &mut fidl::encoding::Encoder<'_, D>,
8586 offset: usize,
8587 depth: fidl::encoding::Depth,
8588 ) -> fidl::Result<()> {
8589 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8590 self.0.encode(encoder, offset + 0, depth)?;
8594 Ok(())
8595 }
8596 }
8597
8598 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
8599 #[inline(always)]
8600 fn new_empty() -> Self {
8601 Self { req: fidl::new_empty!(RoamRequest, D) }
8602 }
8603
8604 #[inline]
8605 unsafe fn decode(
8606 &mut self,
8607 decoder: &mut fidl::encoding::Decoder<'_, D>,
8608 offset: usize,
8609 _depth: fidl::encoding::Depth,
8610 ) -> fidl::Result<()> {
8611 decoder.debug_check_bounds::<Self>(offset);
8612 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8614 Ok(())
8615 }
8616 }
8617
8618 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
8619 type Borrowed<'a> = &'a Self;
8620 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8621 value
8622 }
8623 }
8624
8625 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
8626 type Owned = Self;
8627
8628 #[inline(always)]
8629 fn inline_align(_context: fidl::encoding::Context) -> usize {
8630 8
8631 }
8632
8633 #[inline(always)]
8634 fn inline_size(_context: fidl::encoding::Context) -> usize {
8635 32
8636 }
8637 }
8638
8639 unsafe impl<D: fidl::encoding::ResourceDialect>
8640 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
8641 {
8642 #[inline]
8643 unsafe fn encode(
8644 self,
8645 encoder: &mut fidl::encoding::Encoder<'_, D>,
8646 offset: usize,
8647 _depth: fidl::encoding::Depth,
8648 ) -> fidl::Result<()> {
8649 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8650 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8652 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8653 encoder,
8654 offset,
8655 _depth,
8656 )
8657 }
8658 }
8659 unsafe impl<
8660 D: fidl::encoding::ResourceDialect,
8661 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8662 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8663 {
8664 #[inline]
8665 unsafe fn encode(
8666 self,
8667 encoder: &mut fidl::encoding::Encoder<'_, D>,
8668 offset: usize,
8669 depth: fidl::encoding::Depth,
8670 ) -> fidl::Result<()> {
8671 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8672 self.0.encode(encoder, offset + 0, depth)?;
8676 Ok(())
8677 }
8678 }
8679
8680 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8681 for MlmeRoamResultIndRequest
8682 {
8683 #[inline(always)]
8684 fn new_empty() -> Self {
8685 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8686 }
8687
8688 #[inline]
8689 unsafe fn decode(
8690 &mut self,
8691 decoder: &mut fidl::encoding::Decoder<'_, D>,
8692 offset: usize,
8693 _depth: fidl::encoding::Depth,
8694 ) -> fidl::Result<()> {
8695 decoder.debug_check_bounds::<Self>(offset);
8696 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8698 Ok(())
8699 }
8700 }
8701
8702 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8703 type Borrowed<'a> = &'a Self;
8704 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8705 value
8706 }
8707 }
8708
8709 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8710 type Owned = Self;
8711
8712 #[inline(always)]
8713 fn inline_align(_context: fidl::encoding::Context) -> usize {
8714 8
8715 }
8716
8717 #[inline(always)]
8718 fn inline_size(_context: fidl::encoding::Context) -> usize {
8719 64
8720 }
8721 }
8722
8723 unsafe impl<D: fidl::encoding::ResourceDialect>
8724 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8725 {
8726 #[inline]
8727 unsafe fn encode(
8728 self,
8729 encoder: &mut fidl::encoding::Encoder<'_, D>,
8730 offset: usize,
8731 _depth: fidl::encoding::Depth,
8732 ) -> fidl::Result<()> {
8733 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8734 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8736 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8737 encoder,
8738 offset,
8739 _depth,
8740 )
8741 }
8742 }
8743 unsafe impl<
8744 D: fidl::encoding::ResourceDialect,
8745 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8746 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8747 {
8748 #[inline]
8749 unsafe fn encode(
8750 self,
8751 encoder: &mut fidl::encoding::Encoder<'_, D>,
8752 offset: usize,
8753 depth: fidl::encoding::Depth,
8754 ) -> fidl::Result<()> {
8755 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8756 self.0.encode(encoder, offset + 0, depth)?;
8760 Ok(())
8761 }
8762 }
8763
8764 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8765 for MlmeRoamStartIndRequest
8766 {
8767 #[inline(always)]
8768 fn new_empty() -> Self {
8769 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8770 }
8771
8772 #[inline]
8773 unsafe fn decode(
8774 &mut self,
8775 decoder: &mut fidl::encoding::Decoder<'_, D>,
8776 offset: usize,
8777 _depth: fidl::encoding::Depth,
8778 ) -> fidl::Result<()> {
8779 decoder.debug_check_bounds::<Self>(offset);
8780 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8782 Ok(())
8783 }
8784 }
8785
8786 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8787 type Borrowed<'a> = &'a Self;
8788 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8789 value
8790 }
8791 }
8792
8793 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8794 type Owned = Self;
8795
8796 #[inline(always)]
8797 fn inline_align(_context: fidl::encoding::Context) -> usize {
8798 8
8799 }
8800
8801 #[inline(always)]
8802 fn inline_size(_context: fidl::encoding::Context) -> usize {
8803 32
8804 }
8805 }
8806
8807 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8808 for &MlmeSaeFrameTxRequest
8809 {
8810 #[inline]
8811 unsafe fn encode(
8812 self,
8813 encoder: &mut fidl::encoding::Encoder<'_, D>,
8814 offset: usize,
8815 _depth: fidl::encoding::Depth,
8816 ) -> fidl::Result<()> {
8817 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8818 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8820 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8821 encoder,
8822 offset,
8823 _depth,
8824 )
8825 }
8826 }
8827 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8828 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8829 {
8830 #[inline]
8831 unsafe fn encode(
8832 self,
8833 encoder: &mut fidl::encoding::Encoder<'_, D>,
8834 offset: usize,
8835 depth: fidl::encoding::Depth,
8836 ) -> fidl::Result<()> {
8837 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8838 self.0.encode(encoder, offset + 0, depth)?;
8842 Ok(())
8843 }
8844 }
8845
8846 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8847 #[inline(always)]
8848 fn new_empty() -> Self {
8849 Self { frame: fidl::new_empty!(SaeFrame, D) }
8850 }
8851
8852 #[inline]
8853 unsafe fn decode(
8854 &mut self,
8855 decoder: &mut fidl::encoding::Decoder<'_, D>,
8856 offset: usize,
8857 _depth: fidl::encoding::Depth,
8858 ) -> fidl::Result<()> {
8859 decoder.debug_check_bounds::<Self>(offset);
8860 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8862 Ok(())
8863 }
8864 }
8865
8866 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8867 type Borrowed<'a> = &'a Self;
8868 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8869 value
8870 }
8871 }
8872
8873 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8874 type Owned = Self;
8875
8876 #[inline(always)]
8877 fn inline_align(_context: fidl::encoding::Context) -> usize {
8878 2
8879 }
8880
8881 #[inline(always)]
8882 fn inline_size(_context: fidl::encoding::Context) -> usize {
8883 8
8884 }
8885 }
8886
8887 unsafe impl<D: fidl::encoding::ResourceDialect>
8888 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8889 {
8890 #[inline]
8891 unsafe fn encode(
8892 self,
8893 encoder: &mut fidl::encoding::Encoder<'_, D>,
8894 offset: usize,
8895 _depth: fidl::encoding::Depth,
8896 ) -> fidl::Result<()> {
8897 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8898 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8900 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8901 encoder,
8902 offset,
8903 _depth,
8904 )
8905 }
8906 }
8907 unsafe impl<
8908 D: fidl::encoding::ResourceDialect,
8909 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8910 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8911 {
8912 #[inline]
8913 unsafe fn encode(
8914 self,
8915 encoder: &mut fidl::encoding::Encoder<'_, D>,
8916 offset: usize,
8917 depth: fidl::encoding::Depth,
8918 ) -> fidl::Result<()> {
8919 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8920 self.0.encode(encoder, offset + 0, depth)?;
8924 Ok(())
8925 }
8926 }
8927
8928 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8929 for MlmeSaeHandshakeRespRequest
8930 {
8931 #[inline(always)]
8932 fn new_empty() -> Self {
8933 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8934 }
8935
8936 #[inline]
8937 unsafe fn decode(
8938 &mut self,
8939 decoder: &mut fidl::encoding::Decoder<'_, D>,
8940 offset: usize,
8941 _depth: fidl::encoding::Depth,
8942 ) -> fidl::Result<()> {
8943 decoder.debug_check_bounds::<Self>(offset);
8944 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8946 Ok(())
8947 }
8948 }
8949
8950 impl fidl::encoding::ValueTypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8951 type Borrowed<'a> = &'a Self;
8952 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8953 value
8954 }
8955 }
8956
8957 unsafe impl fidl::encoding::TypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8958 type Owned = Self;
8959
8960 #[inline(always)]
8961 fn inline_align(_context: fidl::encoding::Context) -> usize {
8962 1
8963 }
8964
8965 #[inline(always)]
8966 fn inline_size(_context: fidl::encoding::Context) -> usize {
8967 1
8968 }
8969 }
8970
8971 unsafe impl<D: fidl::encoding::ResourceDialect>
8972 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D>
8973 for &MlmeSetApfPacketFilterEnabledRequest
8974 {
8975 #[inline]
8976 unsafe fn encode(
8977 self,
8978 encoder: &mut fidl::encoding::Encoder<'_, D>,
8979 offset: usize,
8980 _depth: fidl::encoding::Depth,
8981 ) -> fidl::Result<()> {
8982 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
8983 fidl::encoding::Encode::<MlmeSetApfPacketFilterEnabledRequest, D>::encode(
8985 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
8986 encoder,
8987 offset,
8988 _depth,
8989 )
8990 }
8991 }
8992 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
8993 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D> for (T0,)
8994 {
8995 #[inline]
8996 unsafe fn encode(
8997 self,
8998 encoder: &mut fidl::encoding::Encoder<'_, D>,
8999 offset: usize,
9000 depth: fidl::encoding::Depth,
9001 ) -> fidl::Result<()> {
9002 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
9003 self.0.encode(encoder, offset + 0, depth)?;
9007 Ok(())
9008 }
9009 }
9010
9011 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9012 for MlmeSetApfPacketFilterEnabledRequest
9013 {
9014 #[inline(always)]
9015 fn new_empty() -> Self {
9016 Self { enabled: fidl::new_empty!(bool, D) }
9017 }
9018
9019 #[inline]
9020 unsafe fn decode(
9021 &mut self,
9022 decoder: &mut fidl::encoding::Decoder<'_, D>,
9023 offset: usize,
9024 _depth: fidl::encoding::Depth,
9025 ) -> fidl::Result<()> {
9026 decoder.debug_check_bounds::<Self>(offset);
9027 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
9029 Ok(())
9030 }
9031 }
9032
9033 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
9034 type Borrowed<'a> = &'a Self;
9035 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9036 value
9037 }
9038 }
9039
9040 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
9041 type Owned = Self;
9042
9043 #[inline(always)]
9044 fn inline_align(_context: fidl::encoding::Context) -> usize {
9045 4
9046 }
9047
9048 #[inline(always)]
9049 fn inline_size(_context: fidl::encoding::Context) -> usize {
9050 12
9051 }
9052 }
9053
9054 unsafe impl<D: fidl::encoding::ResourceDialect>
9055 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
9056 {
9057 #[inline]
9058 unsafe fn encode(
9059 self,
9060 encoder: &mut fidl::encoding::Encoder<'_, D>,
9061 offset: usize,
9062 _depth: fidl::encoding::Depth,
9063 ) -> fidl::Result<()> {
9064 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9065 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
9067 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9068 encoder,
9069 offset,
9070 _depth,
9071 )
9072 }
9073 }
9074 unsafe impl<
9075 D: fidl::encoding::ResourceDialect,
9076 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
9077 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
9078 {
9079 #[inline]
9080 unsafe fn encode(
9081 self,
9082 encoder: &mut fidl::encoding::Encoder<'_, D>,
9083 offset: usize,
9084 depth: fidl::encoding::Depth,
9085 ) -> fidl::Result<()> {
9086 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9087 self.0.encode(encoder, offset + 0, depth)?;
9091 Ok(())
9092 }
9093 }
9094
9095 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9096 for MlmeSetControlledPortRequest
9097 {
9098 #[inline(always)]
9099 fn new_empty() -> Self {
9100 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
9101 }
9102
9103 #[inline]
9104 unsafe fn decode(
9105 &mut self,
9106 decoder: &mut fidl::encoding::Decoder<'_, D>,
9107 offset: usize,
9108 _depth: fidl::encoding::Depth,
9109 ) -> fidl::Result<()> {
9110 decoder.debug_check_bounds::<Self>(offset);
9111 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9113 Ok(())
9114 }
9115 }
9116
9117 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
9118 type Borrowed<'a> = &'a Self;
9119 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9120 value
9121 }
9122 }
9123
9124 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
9125 type Owned = Self;
9126
9127 #[inline(always)]
9128 fn inline_align(_context: fidl::encoding::Context) -> usize {
9129 8
9130 }
9131
9132 #[inline(always)]
9133 fn inline_size(_context: fidl::encoding::Context) -> usize {
9134 16
9135 }
9136 }
9137
9138 unsafe impl<D: fidl::encoding::ResourceDialect>
9139 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
9140 {
9141 #[inline]
9142 unsafe fn encode(
9143 self,
9144 encoder: &mut fidl::encoding::Encoder<'_, D>,
9145 offset: usize,
9146 _depth: fidl::encoding::Depth,
9147 ) -> fidl::Result<()> {
9148 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9149 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
9151 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
9152 encoder,
9153 offset,
9154 _depth,
9155 )
9156 }
9157 }
9158 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
9159 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
9160 {
9161 #[inline]
9162 unsafe fn encode(
9163 self,
9164 encoder: &mut fidl::encoding::Encoder<'_, D>,
9165 offset: usize,
9166 depth: fidl::encoding::Depth,
9167 ) -> fidl::Result<()> {
9168 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9169 self.0.encode(encoder, offset + 0, depth)?;
9173 Ok(())
9174 }
9175 }
9176
9177 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9178 for MlmeSetKeysConfRequest
9179 {
9180 #[inline(always)]
9181 fn new_empty() -> Self {
9182 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
9183 }
9184
9185 #[inline]
9186 unsafe fn decode(
9187 &mut self,
9188 decoder: &mut fidl::encoding::Decoder<'_, D>,
9189 offset: usize,
9190 _depth: fidl::encoding::Depth,
9191 ) -> fidl::Result<()> {
9192 decoder.debug_check_bounds::<Self>(offset);
9193 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
9195 Ok(())
9196 }
9197 }
9198
9199 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
9200 type Borrowed<'a> = &'a Self;
9201 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9202 value
9203 }
9204 }
9205
9206 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
9207 type Owned = Self;
9208
9209 #[inline(always)]
9210 fn inline_align(_context: fidl::encoding::Context) -> usize {
9211 8
9212 }
9213
9214 #[inline(always)]
9215 fn inline_size(_context: fidl::encoding::Context) -> usize {
9216 16
9217 }
9218 }
9219
9220 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
9221 for &MlmeSetKeysReqRequest
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::<MlmeSetKeysReqRequest>(offset);
9231 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
9233 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9234 encoder,
9235 offset,
9236 _depth,
9237 )
9238 }
9239 }
9240 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
9241 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
9242 {
9243 #[inline]
9244 unsafe fn encode(
9245 self,
9246 encoder: &mut fidl::encoding::Encoder<'_, D>,
9247 offset: usize,
9248 depth: fidl::encoding::Depth,
9249 ) -> fidl::Result<()> {
9250 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
9251 self.0.encode(encoder, offset + 0, depth)?;
9255 Ok(())
9256 }
9257 }
9258
9259 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
9260 #[inline(always)]
9261 fn new_empty() -> Self {
9262 Self { req: fidl::new_empty!(SetKeysRequest, D) }
9263 }
9264
9265 #[inline]
9266 unsafe fn decode(
9267 &mut self,
9268 decoder: &mut fidl::encoding::Decoder<'_, D>,
9269 offset: usize,
9270 _depth: fidl::encoding::Depth,
9271 ) -> fidl::Result<()> {
9272 decoder.debug_check_bounds::<Self>(offset);
9273 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9275 Ok(())
9276 }
9277 }
9278
9279 impl fidl::encoding::ValueTypeMarker for MlmeSetMacAddressRequest {
9280 type Borrowed<'a> = &'a Self;
9281 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9282 value
9283 }
9284 }
9285
9286 unsafe impl fidl::encoding::TypeMarker for MlmeSetMacAddressRequest {
9287 type Owned = Self;
9288
9289 #[inline(always)]
9290 fn inline_align(_context: fidl::encoding::Context) -> usize {
9291 1
9292 }
9293
9294 #[inline(always)]
9295 fn inline_size(_context: fidl::encoding::Context) -> usize {
9296 6
9297 }
9298 #[inline(always)]
9299 fn encode_is_copy() -> bool {
9300 true
9301 }
9302
9303 #[inline(always)]
9304 fn decode_is_copy() -> bool {
9305 true
9306 }
9307 }
9308
9309 unsafe impl<D: fidl::encoding::ResourceDialect>
9310 fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for &MlmeSetMacAddressRequest
9311 {
9312 #[inline]
9313 unsafe fn encode(
9314 self,
9315 encoder: &mut fidl::encoding::Encoder<'_, D>,
9316 offset: usize,
9317 _depth: fidl::encoding::Depth,
9318 ) -> fidl::Result<()> {
9319 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9320 unsafe {
9321 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9323 (buf_ptr as *mut MlmeSetMacAddressRequest)
9324 .write_unaligned((self as *const MlmeSetMacAddressRequest).read());
9325 }
9328 Ok(())
9329 }
9330 }
9331 unsafe impl<
9332 D: fidl::encoding::ResourceDialect,
9333 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9334 > fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for (T0,)
9335 {
9336 #[inline]
9337 unsafe fn encode(
9338 self,
9339 encoder: &mut fidl::encoding::Encoder<'_, D>,
9340 offset: usize,
9341 depth: fidl::encoding::Depth,
9342 ) -> fidl::Result<()> {
9343 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9344 self.0.encode(encoder, offset + 0, depth)?;
9348 Ok(())
9349 }
9350 }
9351
9352 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9353 for MlmeSetMacAddressRequest
9354 {
9355 #[inline(always)]
9356 fn new_empty() -> Self {
9357 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9358 }
9359
9360 #[inline]
9361 unsafe fn decode(
9362 &mut self,
9363 decoder: &mut fidl::encoding::Decoder<'_, D>,
9364 offset: usize,
9365 _depth: fidl::encoding::Depth,
9366 ) -> fidl::Result<()> {
9367 decoder.debug_check_bounds::<Self>(offset);
9368 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9369 unsafe {
9372 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9373 }
9374 Ok(())
9375 }
9376 }
9377
9378 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
9379 type Borrowed<'a> = &'a Self;
9380 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9381 value
9382 }
9383 }
9384
9385 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
9386 type Owned = Self;
9387
9388 #[inline(always)]
9389 fn inline_align(_context: fidl::encoding::Context) -> usize {
9390 1
9391 }
9392
9393 #[inline(always)]
9394 fn inline_size(_context: fidl::encoding::Context) -> usize {
9395 2
9396 }
9397 }
9398
9399 unsafe impl<D: fidl::encoding::ResourceDialect>
9400 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
9401 {
9402 #[inline]
9403 unsafe fn encode(
9404 self,
9405 encoder: &mut fidl::encoding::Encoder<'_, D>,
9406 offset: usize,
9407 _depth: fidl::encoding::Depth,
9408 ) -> fidl::Result<()> {
9409 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9410 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
9412 (
9413 <fidl_fuchsia_wlan_internal_common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
9414 ),
9415 encoder, offset, _depth
9416 )
9417 }
9418 }
9419 unsafe impl<
9420 D: fidl::encoding::ResourceDialect,
9421 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::SignalReportIndication, D>,
9422 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
9423 {
9424 #[inline]
9425 unsafe fn encode(
9426 self,
9427 encoder: &mut fidl::encoding::Encoder<'_, D>,
9428 offset: usize,
9429 depth: fidl::encoding::Depth,
9430 ) -> fidl::Result<()> {
9431 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9432 self.0.encode(encoder, offset + 0, depth)?;
9436 Ok(())
9437 }
9438 }
9439
9440 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9441 for MlmeSignalReportRequest
9442 {
9443 #[inline(always)]
9444 fn new_empty() -> Self {
9445 Self {
9446 ind: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::SignalReportIndication, D),
9447 }
9448 }
9449
9450 #[inline]
9451 unsafe fn decode(
9452 &mut self,
9453 decoder: &mut fidl::encoding::Decoder<'_, D>,
9454 offset: usize,
9455 _depth: fidl::encoding::Depth,
9456 ) -> fidl::Result<()> {
9457 decoder.debug_check_bounds::<Self>(offset);
9458 fidl::decode!(
9460 fidl_fuchsia_wlan_internal_common::SignalReportIndication,
9461 D,
9462 &mut self.ind,
9463 decoder,
9464 offset + 0,
9465 _depth
9466 )?;
9467 Ok(())
9468 }
9469 }
9470
9471 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
9472 type Borrowed<'a> = &'a Self;
9473 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9474 value
9475 }
9476 }
9477
9478 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
9479 type Owned = Self;
9480
9481 #[inline(always)]
9482 fn inline_align(_context: fidl::encoding::Context) -> usize {
9483 4
9484 }
9485
9486 #[inline(always)]
9487 fn inline_size(_context: fidl::encoding::Context) -> usize {
9488 4
9489 }
9490 }
9491
9492 unsafe impl<D: fidl::encoding::ResourceDialect>
9493 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
9494 for &MlmeStartCaptureFramesRequest
9495 {
9496 #[inline]
9497 unsafe fn encode(
9498 self,
9499 encoder: &mut fidl::encoding::Encoder<'_, D>,
9500 offset: usize,
9501 _depth: fidl::encoding::Depth,
9502 ) -> fidl::Result<()> {
9503 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9504 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
9506 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9507 encoder,
9508 offset,
9509 _depth,
9510 )
9511 }
9512 }
9513 unsafe impl<
9514 D: fidl::encoding::ResourceDialect,
9515 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
9516 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
9517 {
9518 #[inline]
9519 unsafe fn encode(
9520 self,
9521 encoder: &mut fidl::encoding::Encoder<'_, D>,
9522 offset: usize,
9523 depth: fidl::encoding::Depth,
9524 ) -> fidl::Result<()> {
9525 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9526 self.0.encode(encoder, offset + 0, depth)?;
9530 Ok(())
9531 }
9532 }
9533
9534 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9535 for MlmeStartCaptureFramesRequest
9536 {
9537 #[inline(always)]
9538 fn new_empty() -> Self {
9539 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
9540 }
9541
9542 #[inline]
9543 unsafe fn decode(
9544 &mut self,
9545 decoder: &mut fidl::encoding::Decoder<'_, D>,
9546 offset: usize,
9547 _depth: fidl::encoding::Depth,
9548 ) -> fidl::Result<()> {
9549 decoder.debug_check_bounds::<Self>(offset);
9550 fidl::decode!(
9552 StartCaptureFramesRequest,
9553 D,
9554 &mut self.req,
9555 decoder,
9556 offset + 0,
9557 _depth
9558 )?;
9559 Ok(())
9560 }
9561 }
9562
9563 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
9564 type Borrowed<'a> = &'a Self;
9565 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9566 value
9567 }
9568 }
9569
9570 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
9571 type Owned = Self;
9572
9573 #[inline(always)]
9574 fn inline_align(_context: fidl::encoding::Context) -> usize {
9575 4
9576 }
9577
9578 #[inline(always)]
9579 fn inline_size(_context: fidl::encoding::Context) -> usize {
9580 8
9581 }
9582 }
9583
9584 unsafe impl<D: fidl::encoding::ResourceDialect>
9585 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
9586 for &MlmeStartCaptureFramesResponse
9587 {
9588 #[inline]
9589 unsafe fn encode(
9590 self,
9591 encoder: &mut fidl::encoding::Encoder<'_, D>,
9592 offset: usize,
9593 _depth: fidl::encoding::Depth,
9594 ) -> fidl::Result<()> {
9595 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9596 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
9598 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
9599 &self.resp,
9600 ),),
9601 encoder,
9602 offset,
9603 _depth,
9604 )
9605 }
9606 }
9607 unsafe impl<
9608 D: fidl::encoding::ResourceDialect,
9609 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
9610 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
9611 {
9612 #[inline]
9613 unsafe fn encode(
9614 self,
9615 encoder: &mut fidl::encoding::Encoder<'_, D>,
9616 offset: usize,
9617 depth: fidl::encoding::Depth,
9618 ) -> fidl::Result<()> {
9619 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9620 self.0.encode(encoder, offset + 0, depth)?;
9624 Ok(())
9625 }
9626 }
9627
9628 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9629 for MlmeStartCaptureFramesResponse
9630 {
9631 #[inline(always)]
9632 fn new_empty() -> Self {
9633 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
9634 }
9635
9636 #[inline]
9637 unsafe fn decode(
9638 &mut self,
9639 decoder: &mut fidl::encoding::Decoder<'_, D>,
9640 offset: usize,
9641 _depth: fidl::encoding::Depth,
9642 ) -> fidl::Result<()> {
9643 decoder.debug_check_bounds::<Self>(offset);
9644 fidl::decode!(
9646 StartCaptureFramesResponse,
9647 D,
9648 &mut self.resp,
9649 decoder,
9650 offset + 0,
9651 _depth
9652 )?;
9653 Ok(())
9654 }
9655 }
9656
9657 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
9658 type Borrowed<'a> = &'a Self;
9659 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9660 value
9661 }
9662 }
9663
9664 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
9665 type Owned = Self;
9666
9667 #[inline(always)]
9668 fn inline_align(_context: fidl::encoding::Context) -> usize {
9669 4
9670 }
9671
9672 #[inline(always)]
9673 fn inline_size(_context: fidl::encoding::Context) -> usize {
9674 4
9675 }
9676 }
9677
9678 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
9679 for &MlmeStartConfRequest
9680 {
9681 #[inline]
9682 unsafe fn encode(
9683 self,
9684 encoder: &mut fidl::encoding::Encoder<'_, D>,
9685 offset: usize,
9686 _depth: fidl::encoding::Depth,
9687 ) -> fidl::Result<()> {
9688 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9689 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
9691 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9692 encoder,
9693 offset,
9694 _depth,
9695 )
9696 }
9697 }
9698 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
9699 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
9700 {
9701 #[inline]
9702 unsafe fn encode(
9703 self,
9704 encoder: &mut fidl::encoding::Encoder<'_, D>,
9705 offset: usize,
9706 depth: fidl::encoding::Depth,
9707 ) -> fidl::Result<()> {
9708 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9709 self.0.encode(encoder, offset + 0, depth)?;
9713 Ok(())
9714 }
9715 }
9716
9717 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
9718 #[inline(always)]
9719 fn new_empty() -> Self {
9720 Self { resp: fidl::new_empty!(StartConfirm, D) }
9721 }
9722
9723 #[inline]
9724 unsafe fn decode(
9725 &mut self,
9726 decoder: &mut fidl::encoding::Decoder<'_, D>,
9727 offset: usize,
9728 _depth: fidl::encoding::Depth,
9729 ) -> fidl::Result<()> {
9730 decoder.debug_check_bounds::<Self>(offset);
9731 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9733 Ok(())
9734 }
9735 }
9736
9737 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
9738 type Borrowed<'a> = &'a Self;
9739 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9740 value
9741 }
9742 }
9743
9744 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
9745 type Owned = Self;
9746
9747 #[inline(always)]
9748 fn inline_align(_context: fidl::encoding::Context) -> usize {
9749 8
9750 }
9751
9752 #[inline(always)]
9753 fn inline_size(_context: fidl::encoding::Context) -> usize {
9754 96
9755 }
9756 }
9757
9758 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
9759 for &MlmeStartReqRequest
9760 {
9761 #[inline]
9762 unsafe fn encode(
9763 self,
9764 encoder: &mut fidl::encoding::Encoder<'_, D>,
9765 offset: usize,
9766 _depth: fidl::encoding::Depth,
9767 ) -> fidl::Result<()> {
9768 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9769 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
9771 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9772 encoder,
9773 offset,
9774 _depth,
9775 )
9776 }
9777 }
9778 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
9779 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
9780 {
9781 #[inline]
9782 unsafe fn encode(
9783 self,
9784 encoder: &mut fidl::encoding::Encoder<'_, D>,
9785 offset: usize,
9786 depth: fidl::encoding::Depth,
9787 ) -> fidl::Result<()> {
9788 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9789 self.0.encode(encoder, offset + 0, depth)?;
9793 Ok(())
9794 }
9795 }
9796
9797 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
9798 #[inline(always)]
9799 fn new_empty() -> Self {
9800 Self { req: fidl::new_empty!(StartRequest, D) }
9801 }
9802
9803 #[inline]
9804 unsafe fn decode(
9805 &mut self,
9806 decoder: &mut fidl::encoding::Decoder<'_, D>,
9807 offset: usize,
9808 _depth: fidl::encoding::Depth,
9809 ) -> fidl::Result<()> {
9810 decoder.debug_check_bounds::<Self>(offset);
9811 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9813 Ok(())
9814 }
9815 }
9816
9817 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
9818 type Borrowed<'a> = &'a Self;
9819 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9820 value
9821 }
9822 }
9823
9824 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
9825 type Owned = Self;
9826
9827 #[inline(always)]
9828 fn inline_align(_context: fidl::encoding::Context) -> usize {
9829 8
9830 }
9831
9832 #[inline(always)]
9833 fn inline_size(_context: fidl::encoding::Context) -> usize {
9834 64
9835 }
9836 }
9837
9838 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
9839 for &MlmeStartScanRequest
9840 {
9841 #[inline]
9842 unsafe fn encode(
9843 self,
9844 encoder: &mut fidl::encoding::Encoder<'_, D>,
9845 offset: usize,
9846 _depth: fidl::encoding::Depth,
9847 ) -> fidl::Result<()> {
9848 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9849 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
9851 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9852 encoder,
9853 offset,
9854 _depth,
9855 )
9856 }
9857 }
9858 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
9859 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
9860 {
9861 #[inline]
9862 unsafe fn encode(
9863 self,
9864 encoder: &mut fidl::encoding::Encoder<'_, D>,
9865 offset: usize,
9866 depth: fidl::encoding::Depth,
9867 ) -> fidl::Result<()> {
9868 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9869 self.0.encode(encoder, offset + 0, depth)?;
9873 Ok(())
9874 }
9875 }
9876
9877 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
9878 #[inline(always)]
9879 fn new_empty() -> Self {
9880 Self { req: fidl::new_empty!(ScanRequest, D) }
9881 }
9882
9883 #[inline]
9884 unsafe fn decode(
9885 &mut self,
9886 decoder: &mut fidl::encoding::Decoder<'_, D>,
9887 offset: usize,
9888 _depth: fidl::encoding::Depth,
9889 ) -> fidl::Result<()> {
9890 decoder.debug_check_bounds::<Self>(offset);
9891 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9893 Ok(())
9894 }
9895 }
9896
9897 impl fidl::encoding::ValueTypeMarker for MlmeStartScheduledScanRequest {
9898 type Borrowed<'a> = &'a Self;
9899 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9900 value
9901 }
9902 }
9903
9904 unsafe impl fidl::encoding::TypeMarker for MlmeStartScheduledScanRequest {
9905 type Owned = Self;
9906
9907 #[inline(always)]
9908 fn inline_align(_context: fidl::encoding::Context) -> usize {
9909 8
9910 }
9911
9912 #[inline(always)]
9913 fn inline_size(_context: fidl::encoding::Context) -> usize {
9914 24
9915 }
9916 }
9917
9918 unsafe impl<D: fidl::encoding::ResourceDialect>
9919 fidl::encoding::Encode<MlmeStartScheduledScanRequest, D>
9920 for &MlmeStartScheduledScanRequest
9921 {
9922 #[inline]
9923 unsafe fn encode(
9924 self,
9925 encoder: &mut fidl::encoding::Encoder<'_, D>,
9926 offset: usize,
9927 _depth: fidl::encoding::Depth,
9928 ) -> fidl::Result<()> {
9929 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
9930 fidl::encoding::Encode::<MlmeStartScheduledScanRequest, D>::encode(
9932 (
9933 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
9934 <fidl_fuchsia_wlan_common_common::ScheduledScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),
9935 ),
9936 encoder, offset, _depth
9937 )
9938 }
9939 }
9940 unsafe impl<
9941 D: fidl::encoding::ResourceDialect,
9942 T0: fidl::encoding::Encode<u64, D>,
9943 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D>,
9944 > fidl::encoding::Encode<MlmeStartScheduledScanRequest, D> for (T0, T1)
9945 {
9946 #[inline]
9947 unsafe fn encode(
9948 self,
9949 encoder: &mut fidl::encoding::Encoder<'_, D>,
9950 offset: usize,
9951 depth: fidl::encoding::Depth,
9952 ) -> fidl::Result<()> {
9953 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
9954 self.0.encode(encoder, offset + 0, depth)?;
9958 self.1.encode(encoder, offset + 8, depth)?;
9959 Ok(())
9960 }
9961 }
9962
9963 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9964 for MlmeStartScheduledScanRequest
9965 {
9966 #[inline(always)]
9967 fn new_empty() -> Self {
9968 Self {
9969 txn_id: fidl::new_empty!(u64, D),
9970 req: fidl::new_empty!(fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D),
9971 }
9972 }
9973
9974 #[inline]
9975 unsafe fn decode(
9976 &mut self,
9977 decoder: &mut fidl::encoding::Decoder<'_, D>,
9978 offset: usize,
9979 _depth: fidl::encoding::Depth,
9980 ) -> fidl::Result<()> {
9981 decoder.debug_check_bounds::<Self>(offset);
9982 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
9984 fidl::decode!(
9985 fidl_fuchsia_wlan_common_common::ScheduledScanRequest,
9986 D,
9987 &mut self.req,
9988 decoder,
9989 offset + 8,
9990 _depth
9991 )?;
9992 Ok(())
9993 }
9994 }
9995
9996 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
9997 type Borrowed<'a> = &'a Self;
9998 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9999 value
10000 }
10001 }
10002
10003 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
10004 type Owned = Self;
10005
10006 #[inline(always)]
10007 fn inline_align(_context: fidl::encoding::Context) -> usize {
10008 4
10009 }
10010
10011 #[inline(always)]
10012 fn inline_size(_context: fidl::encoding::Context) -> usize {
10013 4
10014 }
10015 }
10016
10017 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
10018 for &MlmeStopConfRequest
10019 {
10020 #[inline]
10021 unsafe fn encode(
10022 self,
10023 encoder: &mut fidl::encoding::Encoder<'_, D>,
10024 offset: usize,
10025 _depth: fidl::encoding::Depth,
10026 ) -> fidl::Result<()> {
10027 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10028 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
10030 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
10031 encoder,
10032 offset,
10033 _depth,
10034 )
10035 }
10036 }
10037 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
10038 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
10039 {
10040 #[inline]
10041 unsafe fn encode(
10042 self,
10043 encoder: &mut fidl::encoding::Encoder<'_, D>,
10044 offset: usize,
10045 depth: fidl::encoding::Depth,
10046 ) -> fidl::Result<()> {
10047 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10048 self.0.encode(encoder, offset + 0, depth)?;
10052 Ok(())
10053 }
10054 }
10055
10056 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
10057 #[inline(always)]
10058 fn new_empty() -> Self {
10059 Self { resp: fidl::new_empty!(StopConfirm, D) }
10060 }
10061
10062 #[inline]
10063 unsafe fn decode(
10064 &mut self,
10065 decoder: &mut fidl::encoding::Decoder<'_, D>,
10066 offset: usize,
10067 _depth: fidl::encoding::Depth,
10068 ) -> fidl::Result<()> {
10069 decoder.debug_check_bounds::<Self>(offset);
10070 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
10072 Ok(())
10073 }
10074 }
10075
10076 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
10077 type Borrowed<'a> = &'a Self;
10078 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10079 value
10080 }
10081 }
10082
10083 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
10084 type Owned = Self;
10085
10086 #[inline(always)]
10087 fn inline_align(_context: fidl::encoding::Context) -> usize {
10088 8
10089 }
10090
10091 #[inline(always)]
10092 fn inline_size(_context: fidl::encoding::Context) -> usize {
10093 16
10094 }
10095 }
10096
10097 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
10098 for &MlmeStopReqRequest
10099 {
10100 #[inline]
10101 unsafe fn encode(
10102 self,
10103 encoder: &mut fidl::encoding::Encoder<'_, D>,
10104 offset: usize,
10105 _depth: fidl::encoding::Depth,
10106 ) -> fidl::Result<()> {
10107 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10108 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
10110 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
10111 encoder,
10112 offset,
10113 _depth,
10114 )
10115 }
10116 }
10117 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
10118 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
10119 {
10120 #[inline]
10121 unsafe fn encode(
10122 self,
10123 encoder: &mut fidl::encoding::Encoder<'_, D>,
10124 offset: usize,
10125 depth: fidl::encoding::Depth,
10126 ) -> fidl::Result<()> {
10127 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10128 self.0.encode(encoder, offset + 0, depth)?;
10132 Ok(())
10133 }
10134 }
10135
10136 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
10137 #[inline(always)]
10138 fn new_empty() -> Self {
10139 Self { req: fidl::new_empty!(StopRequest, D) }
10140 }
10141
10142 #[inline]
10143 unsafe fn decode(
10144 &mut self,
10145 decoder: &mut fidl::encoding::Decoder<'_, D>,
10146 offset: usize,
10147 _depth: fidl::encoding::Depth,
10148 ) -> fidl::Result<()> {
10149 decoder.debug_check_bounds::<Self>(offset);
10150 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
10152 Ok(())
10153 }
10154 }
10155
10156 impl fidl::encoding::ValueTypeMarker for MlmeStopScheduledScanRequest {
10157 type Borrowed<'a> = &'a Self;
10158 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10159 value
10160 }
10161 }
10162
10163 unsafe impl fidl::encoding::TypeMarker for MlmeStopScheduledScanRequest {
10164 type Owned = Self;
10165
10166 #[inline(always)]
10167 fn inline_align(_context: fidl::encoding::Context) -> usize {
10168 8
10169 }
10170
10171 #[inline(always)]
10172 fn inline_size(_context: fidl::encoding::Context) -> usize {
10173 8
10174 }
10175 #[inline(always)]
10176 fn encode_is_copy() -> bool {
10177 true
10178 }
10179
10180 #[inline(always)]
10181 fn decode_is_copy() -> bool {
10182 true
10183 }
10184 }
10185
10186 unsafe impl<D: fidl::encoding::ResourceDialect>
10187 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for &MlmeStopScheduledScanRequest
10188 {
10189 #[inline]
10190 unsafe fn encode(
10191 self,
10192 encoder: &mut fidl::encoding::Encoder<'_, D>,
10193 offset: usize,
10194 _depth: fidl::encoding::Depth,
10195 ) -> fidl::Result<()> {
10196 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10197 unsafe {
10198 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10200 (buf_ptr as *mut MlmeStopScheduledScanRequest)
10201 .write_unaligned((self as *const MlmeStopScheduledScanRequest).read());
10202 }
10205 Ok(())
10206 }
10207 }
10208 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
10209 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for (T0,)
10210 {
10211 #[inline]
10212 unsafe fn encode(
10213 self,
10214 encoder: &mut fidl::encoding::Encoder<'_, D>,
10215 offset: usize,
10216 depth: fidl::encoding::Depth,
10217 ) -> fidl::Result<()> {
10218 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10219 self.0.encode(encoder, offset + 0, depth)?;
10223 Ok(())
10224 }
10225 }
10226
10227 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10228 for MlmeStopScheduledScanRequest
10229 {
10230 #[inline(always)]
10231 fn new_empty() -> Self {
10232 Self { txn_id: fidl::new_empty!(u64, D) }
10233 }
10234
10235 #[inline]
10236 unsafe fn decode(
10237 &mut self,
10238 decoder: &mut fidl::encoding::Decoder<'_, D>,
10239 offset: usize,
10240 _depth: fidl::encoding::Depth,
10241 ) -> fidl::Result<()> {
10242 decoder.debug_check_bounds::<Self>(offset);
10243 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10244 unsafe {
10247 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
10248 }
10249 Ok(())
10250 }
10251 }
10252
10253 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
10254 type Borrowed<'a> = &'a Self;
10255 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10256 value
10257 }
10258 }
10259
10260 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
10261 type Owned = Self;
10262
10263 #[inline(always)]
10264 fn inline_align(_context: fidl::encoding::Context) -> usize {
10265 8
10266 }
10267
10268 #[inline(always)]
10269 fn inline_size(_context: fidl::encoding::Context) -> usize {
10270 56
10271 }
10272 }
10273
10274 unsafe impl<D: fidl::encoding::ResourceDialect>
10275 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
10276 {
10277 #[inline]
10278 unsafe fn encode(
10279 self,
10280 encoder: &mut fidl::encoding::Encoder<'_, D>,
10281 offset: usize,
10282 _depth: fidl::encoding::Depth,
10283 ) -> fidl::Result<()> {
10284 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10285 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
10287 (
10288 <fidl_fuchsia_wlan_ieee80211_common::WlanChannel as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
10289 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
10290 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
10291 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
10292 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
10293 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
10294 ),
10295 encoder, offset, _depth
10296 )
10297 }
10298 }
10299 unsafe impl<
10300 D: fidl::encoding::ResourceDialect,
10301 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanChannel, D>,
10302 T1: fidl::encoding::Encode<u16, D>,
10303 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
10304 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
10305 T4: fidl::encoding::Encode<
10306 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10307 D,
10308 >,
10309 T5: fidl::encoding::Encode<
10310 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10311 D,
10312 >,
10313 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
10314 {
10315 #[inline]
10316 unsafe fn encode(
10317 self,
10318 encoder: &mut fidl::encoding::Encoder<'_, D>,
10319 offset: usize,
10320 depth: fidl::encoding::Depth,
10321 ) -> fidl::Result<()> {
10322 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10323 unsafe {
10326 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10327 (ptr as *mut u64).write_unaligned(0);
10328 }
10329 self.0.encode(encoder, offset + 0, depth)?;
10331 self.1.encode(encoder, offset + 12, depth)?;
10332 self.2.encode(encoder, offset + 16, depth)?;
10333 self.3.encode(encoder, offset + 32, depth)?;
10334 self.4.encode(encoder, offset + 40, depth)?;
10335 self.5.encode(encoder, offset + 48, depth)?;
10336 Ok(())
10337 }
10338 }
10339
10340 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10341 for NegotiatedCapabilities
10342 {
10343 #[inline(always)]
10344 fn new_empty() -> Self {
10345 Self {
10346 channel: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanChannel, D),
10347 capability_info: fidl::new_empty!(u16, D),
10348 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
10349 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
10350 ht_cap: fidl::new_empty!(
10351 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10352 D
10353 ),
10354 vht_cap: fidl::new_empty!(
10355 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10356 D
10357 ),
10358 }
10359 }
10360
10361 #[inline]
10362 unsafe fn decode(
10363 &mut self,
10364 decoder: &mut fidl::encoding::Decoder<'_, D>,
10365 offset: usize,
10366 _depth: fidl::encoding::Depth,
10367 ) -> fidl::Result<()> {
10368 decoder.debug_check_bounds::<Self>(offset);
10369 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10371 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10372 let mask = 0xffff000000000000u64;
10373 let maskedval = padval & mask;
10374 if maskedval != 0 {
10375 return Err(fidl::Error::NonZeroPadding {
10376 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10377 });
10378 }
10379 fidl::decode!(
10380 fidl_fuchsia_wlan_ieee80211_common::WlanChannel,
10381 D,
10382 &mut self.channel,
10383 decoder,
10384 offset + 0,
10385 _depth
10386 )?;
10387 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 12, _depth)?;
10388 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
10389 fidl::decode!(
10390 fidl::encoding::Boxed<WmmParameter>,
10391 D,
10392 &mut self.wmm_param,
10393 decoder,
10394 offset + 32,
10395 _depth
10396 )?;
10397 fidl::decode!(
10398 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10399 D,
10400 &mut self.ht_cap,
10401 decoder,
10402 offset + 40,
10403 _depth
10404 )?;
10405 fidl::decode!(
10406 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10407 D,
10408 &mut self.vht_cap,
10409 decoder,
10410 offset + 48,
10411 _depth
10412 )?;
10413 Ok(())
10414 }
10415 }
10416
10417 impl fidl::encoding::ValueTypeMarker for PmkInfo {
10418 type Borrowed<'a> = &'a Self;
10419 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10420 value
10421 }
10422 }
10423
10424 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
10425 type Owned = Self;
10426
10427 #[inline(always)]
10428 fn inline_align(_context: fidl::encoding::Context) -> usize {
10429 8
10430 }
10431
10432 #[inline(always)]
10433 fn inline_size(_context: fidl::encoding::Context) -> usize {
10434 32
10435 }
10436 }
10437
10438 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
10439 #[inline]
10440 unsafe fn encode(
10441 self,
10442 encoder: &mut fidl::encoding::Encoder<'_, D>,
10443 offset: usize,
10444 _depth: fidl::encoding::Depth,
10445 ) -> fidl::Result<()> {
10446 encoder.debug_check_bounds::<PmkInfo>(offset);
10447 fidl::encoding::Encode::<PmkInfo, D>::encode(
10449 (
10450 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
10451 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
10452 ),
10453 encoder, offset, _depth
10454 )
10455 }
10456 }
10457 unsafe impl<
10458 D: fidl::encoding::ResourceDialect,
10459 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10460 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10461 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
10462 {
10463 #[inline]
10464 unsafe fn encode(
10465 self,
10466 encoder: &mut fidl::encoding::Encoder<'_, D>,
10467 offset: usize,
10468 depth: fidl::encoding::Depth,
10469 ) -> fidl::Result<()> {
10470 encoder.debug_check_bounds::<PmkInfo>(offset);
10471 self.0.encode(encoder, offset + 0, depth)?;
10475 self.1.encode(encoder, offset + 16, depth)?;
10476 Ok(())
10477 }
10478 }
10479
10480 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
10481 #[inline(always)]
10482 fn new_empty() -> Self {
10483 Self {
10484 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10485 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10486 }
10487 }
10488
10489 #[inline]
10490 unsafe fn decode(
10491 &mut self,
10492 decoder: &mut fidl::encoding::Decoder<'_, D>,
10493 offset: usize,
10494 _depth: fidl::encoding::Depth,
10495 ) -> fidl::Result<()> {
10496 decoder.debug_check_bounds::<Self>(offset);
10497 fidl::decode!(
10499 fidl::encoding::UnboundedVector<u8>,
10500 D,
10501 &mut self.pmk,
10502 decoder,
10503 offset + 0,
10504 _depth
10505 )?;
10506 fidl::decode!(
10507 fidl::encoding::UnboundedVector<u8>,
10508 D,
10509 &mut self.pmkid,
10510 decoder,
10511 offset + 16,
10512 _depth
10513 )?;
10514 Ok(())
10515 }
10516 }
10517
10518 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
10519 type Borrowed<'a> = &'a Self;
10520 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10521 value
10522 }
10523 }
10524
10525 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
10526 type Owned = Self;
10527
10528 #[inline(always)]
10529 fn inline_align(_context: fidl::encoding::Context) -> usize {
10530 1
10531 }
10532
10533 #[inline(always)]
10534 fn inline_size(_context: fidl::encoding::Context) -> usize {
10535 6
10536 }
10537 #[inline(always)]
10538 fn encode_is_copy() -> bool {
10539 true
10540 }
10541
10542 #[inline(always)]
10543 fn decode_is_copy() -> bool {
10544 true
10545 }
10546 }
10547
10548 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
10549 for &ReconnectRequest
10550 {
10551 #[inline]
10552 unsafe fn encode(
10553 self,
10554 encoder: &mut fidl::encoding::Encoder<'_, D>,
10555 offset: usize,
10556 _depth: fidl::encoding::Depth,
10557 ) -> fidl::Result<()> {
10558 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10559 unsafe {
10560 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10562 (buf_ptr as *mut ReconnectRequest)
10563 .write_unaligned((self as *const ReconnectRequest).read());
10564 }
10567 Ok(())
10568 }
10569 }
10570 unsafe impl<
10571 D: fidl::encoding::ResourceDialect,
10572 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10573 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
10574 {
10575 #[inline]
10576 unsafe fn encode(
10577 self,
10578 encoder: &mut fidl::encoding::Encoder<'_, D>,
10579 offset: usize,
10580 depth: fidl::encoding::Depth,
10581 ) -> fidl::Result<()> {
10582 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10583 self.0.encode(encoder, offset + 0, depth)?;
10587 Ok(())
10588 }
10589 }
10590
10591 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
10592 #[inline(always)]
10593 fn new_empty() -> Self {
10594 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10595 }
10596
10597 #[inline]
10598 unsafe fn decode(
10599 &mut self,
10600 decoder: &mut fidl::encoding::Decoder<'_, D>,
10601 offset: usize,
10602 _depth: fidl::encoding::Depth,
10603 ) -> fidl::Result<()> {
10604 decoder.debug_check_bounds::<Self>(offset);
10605 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10606 unsafe {
10609 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10610 }
10611 Ok(())
10612 }
10613 }
10614
10615 impl fidl::encoding::ValueTypeMarker for ResetRequest {
10616 type Borrowed<'a> = &'a Self;
10617 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10618 value
10619 }
10620 }
10621
10622 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
10623 type Owned = Self;
10624
10625 #[inline(always)]
10626 fn inline_align(_context: fidl::encoding::Context) -> usize {
10627 1
10628 }
10629
10630 #[inline(always)]
10631 fn inline_size(_context: fidl::encoding::Context) -> usize {
10632 7
10633 }
10634 }
10635
10636 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
10637 for &ResetRequest
10638 {
10639 #[inline]
10640 unsafe fn encode(
10641 self,
10642 encoder: &mut fidl::encoding::Encoder<'_, D>,
10643 offset: usize,
10644 _depth: fidl::encoding::Depth,
10645 ) -> fidl::Result<()> {
10646 encoder.debug_check_bounds::<ResetRequest>(offset);
10647 fidl::encoding::Encode::<ResetRequest, D>::encode(
10649 (
10650 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10651 &self.sta_address,
10652 ),
10653 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
10654 ),
10655 encoder,
10656 offset,
10657 _depth,
10658 )
10659 }
10660 }
10661 unsafe impl<
10662 D: fidl::encoding::ResourceDialect,
10663 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10664 T1: fidl::encoding::Encode<bool, D>,
10665 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
10666 {
10667 #[inline]
10668 unsafe fn encode(
10669 self,
10670 encoder: &mut fidl::encoding::Encoder<'_, D>,
10671 offset: usize,
10672 depth: fidl::encoding::Depth,
10673 ) -> fidl::Result<()> {
10674 encoder.debug_check_bounds::<ResetRequest>(offset);
10675 self.0.encode(encoder, offset + 0, depth)?;
10679 self.1.encode(encoder, offset + 6, depth)?;
10680 Ok(())
10681 }
10682 }
10683
10684 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
10685 #[inline(always)]
10686 fn new_empty() -> Self {
10687 Self {
10688 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10689 set_default_mib: fidl::new_empty!(bool, D),
10690 }
10691 }
10692
10693 #[inline]
10694 unsafe fn decode(
10695 &mut self,
10696 decoder: &mut fidl::encoding::Decoder<'_, D>,
10697 offset: usize,
10698 _depth: fidl::encoding::Depth,
10699 ) -> fidl::Result<()> {
10700 decoder.debug_check_bounds::<Self>(offset);
10701 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
10703 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
10704 Ok(())
10705 }
10706 }
10707
10708 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
10709 type Borrowed<'a> = &'a Self;
10710 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10711 value
10712 }
10713 }
10714
10715 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
10716 type Owned = Self;
10717
10718 #[inline(always)]
10719 fn inline_align(_context: fidl::encoding::Context) -> usize {
10720 8
10721 }
10722
10723 #[inline(always)]
10724 fn inline_size(_context: fidl::encoding::Context) -> usize {
10725 32
10726 }
10727 }
10728
10729 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
10730 for &RoamConfirm
10731 {
10732 #[inline]
10733 unsafe fn encode(
10734 self,
10735 encoder: &mut fidl::encoding::Encoder<'_, D>,
10736 offset: usize,
10737 _depth: fidl::encoding::Depth,
10738 ) -> fidl::Result<()> {
10739 encoder.debug_check_bounds::<RoamConfirm>(offset);
10740 fidl::encoding::Encode::<RoamConfirm, D>::encode(
10742 (
10743 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10744 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10745 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10746 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10747 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10748 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10749 ),
10750 encoder, offset, _depth
10751 )
10752 }
10753 }
10754 unsafe impl<
10755 D: fidl::encoding::ResourceDialect,
10756 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10757 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
10758 T2: fidl::encoding::Encode<bool, D>,
10759 T3: fidl::encoding::Encode<bool, D>,
10760 T4: fidl::encoding::Encode<u16, D>,
10761 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10762 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
10763 {
10764 #[inline]
10765 unsafe fn encode(
10766 self,
10767 encoder: &mut fidl::encoding::Encoder<'_, D>,
10768 offset: usize,
10769 depth: fidl::encoding::Depth,
10770 ) -> fidl::Result<()> {
10771 encoder.debug_check_bounds::<RoamConfirm>(offset);
10772 unsafe {
10775 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10776 (ptr as *mut u64).write_unaligned(0);
10777 }
10778 self.0.encode(encoder, offset + 0, depth)?;
10780 self.1.encode(encoder, offset + 6, depth)?;
10781 self.2.encode(encoder, offset + 8, depth)?;
10782 self.3.encode(encoder, offset + 9, depth)?;
10783 self.4.encode(encoder, offset + 10, depth)?;
10784 self.5.encode(encoder, offset + 16, depth)?;
10785 Ok(())
10786 }
10787 }
10788
10789 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
10790 #[inline(always)]
10791 fn new_empty() -> Self {
10792 Self {
10793 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10794 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
10795 original_association_maintained: fidl::new_empty!(bool, D),
10796 target_bss_authenticated: fidl::new_empty!(bool, D),
10797 association_id: fidl::new_empty!(u16, D),
10798 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10799 }
10800 }
10801
10802 #[inline]
10803 unsafe fn decode(
10804 &mut self,
10805 decoder: &mut fidl::encoding::Decoder<'_, D>,
10806 offset: usize,
10807 _depth: fidl::encoding::Depth,
10808 ) -> fidl::Result<()> {
10809 decoder.debug_check_bounds::<Self>(offset);
10810 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10812 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10813 let mask = 0xffffffff00000000u64;
10814 let maskedval = padval & mask;
10815 if maskedval != 0 {
10816 return Err(fidl::Error::NonZeroPadding {
10817 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10818 });
10819 }
10820 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10821 fidl::decode!(
10822 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
10823 D,
10824 &mut self.status_code,
10825 decoder,
10826 offset + 6,
10827 _depth
10828 )?;
10829 fidl::decode!(
10830 bool,
10831 D,
10832 &mut self.original_association_maintained,
10833 decoder,
10834 offset + 8,
10835 _depth
10836 )?;
10837 fidl::decode!(
10838 bool,
10839 D,
10840 &mut self.target_bss_authenticated,
10841 decoder,
10842 offset + 9,
10843 _depth
10844 )?;
10845 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10846 fidl::decode!(
10847 fidl::encoding::UnboundedVector<u8>,
10848 D,
10849 &mut self.association_ies,
10850 decoder,
10851 offset + 16,
10852 _depth
10853 )?;
10854 Ok(())
10855 }
10856 }
10857
10858 impl fidl::encoding::ValueTypeMarker for RoamRequest {
10859 type Borrowed<'a> = &'a Self;
10860 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10861 value
10862 }
10863 }
10864
10865 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
10866 type Owned = Self;
10867
10868 #[inline(always)]
10869 fn inline_align(_context: fidl::encoding::Context) -> usize {
10870 8
10871 }
10872
10873 #[inline(always)]
10874 fn inline_size(_context: fidl::encoding::Context) -> usize {
10875 48
10876 }
10877 }
10878
10879 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
10880 for &RoamRequest
10881 {
10882 #[inline]
10883 unsafe fn encode(
10884 self,
10885 encoder: &mut fidl::encoding::Encoder<'_, D>,
10886 offset: usize,
10887 _depth: fidl::encoding::Depth,
10888 ) -> fidl::Result<()> {
10889 encoder.debug_check_bounds::<RoamRequest>(offset);
10890 fidl::encoding::Encode::<RoamRequest, D>::encode(
10892 (
10893 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10894 ),
10895 encoder, offset, _depth
10896 )
10897 }
10898 }
10899 unsafe impl<
10900 D: fidl::encoding::ResourceDialect,
10901 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
10902 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
10903 {
10904 #[inline]
10905 unsafe fn encode(
10906 self,
10907 encoder: &mut fidl::encoding::Encoder<'_, D>,
10908 offset: usize,
10909 depth: fidl::encoding::Depth,
10910 ) -> fidl::Result<()> {
10911 encoder.debug_check_bounds::<RoamRequest>(offset);
10912 self.0.encode(encoder, offset + 0, depth)?;
10916 Ok(())
10917 }
10918 }
10919
10920 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
10921 #[inline(always)]
10922 fn new_empty() -> Self {
10923 Self {
10924 selected_bss: fidl::new_empty!(
10925 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
10926 D
10927 ),
10928 }
10929 }
10930
10931 #[inline]
10932 unsafe fn decode(
10933 &mut self,
10934 decoder: &mut fidl::encoding::Decoder<'_, D>,
10935 offset: usize,
10936 _depth: fidl::encoding::Depth,
10937 ) -> fidl::Result<()> {
10938 decoder.debug_check_bounds::<Self>(offset);
10939 fidl::decode!(
10941 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
10942 D,
10943 &mut self.selected_bss,
10944 decoder,
10945 offset + 0,
10946 _depth
10947 )?;
10948 Ok(())
10949 }
10950 }
10951
10952 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
10953 type Borrowed<'a> = &'a Self;
10954 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10955 value
10956 }
10957 }
10958
10959 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
10960 type Owned = Self;
10961
10962 #[inline(always)]
10963 fn inline_align(_context: fidl::encoding::Context) -> usize {
10964 8
10965 }
10966
10967 #[inline(always)]
10968 fn inline_size(_context: fidl::encoding::Context) -> usize {
10969 32
10970 }
10971 }
10972
10973 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
10974 for &RoamResultIndication
10975 {
10976 #[inline]
10977 unsafe fn encode(
10978 self,
10979 encoder: &mut fidl::encoding::Encoder<'_, D>,
10980 offset: usize,
10981 _depth: fidl::encoding::Depth,
10982 ) -> fidl::Result<()> {
10983 encoder.debug_check_bounds::<RoamResultIndication>(offset);
10984 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
10986 (
10987 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10988 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10989 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10990 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10991 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10992 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10993 ),
10994 encoder, offset, _depth
10995 )
10996 }
10997 }
10998 unsafe impl<
10999 D: fidl::encoding::ResourceDialect,
11000 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11001 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11002 T2: fidl::encoding::Encode<bool, D>,
11003 T3: fidl::encoding::Encode<bool, D>,
11004 T4: fidl::encoding::Encode<u16, D>,
11005 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11006 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
11007 {
11008 #[inline]
11009 unsafe fn encode(
11010 self,
11011 encoder: &mut fidl::encoding::Encoder<'_, D>,
11012 offset: usize,
11013 depth: fidl::encoding::Depth,
11014 ) -> fidl::Result<()> {
11015 encoder.debug_check_bounds::<RoamResultIndication>(offset);
11016 unsafe {
11019 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11020 (ptr as *mut u64).write_unaligned(0);
11021 }
11022 self.0.encode(encoder, offset + 0, depth)?;
11024 self.1.encode(encoder, offset + 6, depth)?;
11025 self.2.encode(encoder, offset + 8, depth)?;
11026 self.3.encode(encoder, offset + 9, depth)?;
11027 self.4.encode(encoder, offset + 10, depth)?;
11028 self.5.encode(encoder, offset + 16, depth)?;
11029 Ok(())
11030 }
11031 }
11032
11033 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
11034 #[inline(always)]
11035 fn new_empty() -> Self {
11036 Self {
11037 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11038 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11039 original_association_maintained: fidl::new_empty!(bool, D),
11040 target_bss_authenticated: fidl::new_empty!(bool, D),
11041 association_id: fidl::new_empty!(u16, D),
11042 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11043 }
11044 }
11045
11046 #[inline]
11047 unsafe fn decode(
11048 &mut self,
11049 decoder: &mut fidl::encoding::Decoder<'_, D>,
11050 offset: usize,
11051 _depth: fidl::encoding::Depth,
11052 ) -> fidl::Result<()> {
11053 decoder.debug_check_bounds::<Self>(offset);
11054 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11056 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11057 let mask = 0xffffffff00000000u64;
11058 let maskedval = padval & mask;
11059 if maskedval != 0 {
11060 return Err(fidl::Error::NonZeroPadding {
11061 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11062 });
11063 }
11064 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11065 fidl::decode!(
11066 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11067 D,
11068 &mut self.status_code,
11069 decoder,
11070 offset + 6,
11071 _depth
11072 )?;
11073 fidl::decode!(
11074 bool,
11075 D,
11076 &mut self.original_association_maintained,
11077 decoder,
11078 offset + 8,
11079 _depth
11080 )?;
11081 fidl::decode!(
11082 bool,
11083 D,
11084 &mut self.target_bss_authenticated,
11085 decoder,
11086 offset + 9,
11087 _depth
11088 )?;
11089 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
11090 fidl::decode!(
11091 fidl::encoding::UnboundedVector<u8>,
11092 D,
11093 &mut self.association_ies,
11094 decoder,
11095 offset + 16,
11096 _depth
11097 )?;
11098 Ok(())
11099 }
11100 }
11101
11102 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
11103 type Borrowed<'a> = &'a Self;
11104 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11105 value
11106 }
11107 }
11108
11109 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
11110 type Owned = Self;
11111
11112 #[inline(always)]
11113 fn inline_align(_context: fidl::encoding::Context) -> usize {
11114 8
11115 }
11116
11117 #[inline(always)]
11118 fn inline_size(_context: fidl::encoding::Context) -> usize {
11119 64
11120 }
11121 }
11122
11123 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
11124 for &RoamStartIndication
11125 {
11126 #[inline]
11127 unsafe fn encode(
11128 self,
11129 encoder: &mut fidl::encoding::Encoder<'_, D>,
11130 offset: usize,
11131 _depth: fidl::encoding::Depth,
11132 ) -> fidl::Result<()> {
11133 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11134 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
11136 (
11137 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
11138 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
11139 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
11140 ),
11141 encoder, offset, _depth
11142 )
11143 }
11144 }
11145 unsafe impl<
11146 D: fidl::encoding::ResourceDialect,
11147 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11148 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11149 T2: fidl::encoding::Encode<bool, D>,
11150 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
11151 {
11152 #[inline]
11153 unsafe fn encode(
11154 self,
11155 encoder: &mut fidl::encoding::Encoder<'_, D>,
11156 offset: usize,
11157 depth: fidl::encoding::Depth,
11158 ) -> fidl::Result<()> {
11159 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11160 unsafe {
11163 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11164 (ptr as *mut u64).write_unaligned(0);
11165 }
11166 unsafe {
11167 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11168 (ptr as *mut u64).write_unaligned(0);
11169 }
11170 self.0.encode(encoder, offset + 0, depth)?;
11172 self.1.encode(encoder, offset + 8, depth)?;
11173 self.2.encode(encoder, offset + 56, depth)?;
11174 Ok(())
11175 }
11176 }
11177
11178 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
11179 #[inline(always)]
11180 fn new_empty() -> Self {
11181 Self {
11182 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11183 selected_bss: fidl::new_empty!(
11184 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11185 D
11186 ),
11187 original_association_maintained: fidl::new_empty!(bool, D),
11188 }
11189 }
11190
11191 #[inline]
11192 unsafe fn decode(
11193 &mut self,
11194 decoder: &mut fidl::encoding::Decoder<'_, D>,
11195 offset: usize,
11196 _depth: fidl::encoding::Depth,
11197 ) -> fidl::Result<()> {
11198 decoder.debug_check_bounds::<Self>(offset);
11199 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
11201 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11202 let mask = 0xffff000000000000u64;
11203 let maskedval = padval & mask;
11204 if maskedval != 0 {
11205 return Err(fidl::Error::NonZeroPadding {
11206 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11207 });
11208 }
11209 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11210 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11211 let mask = 0xffffffffffffff00u64;
11212 let maskedval = padval & mask;
11213 if maskedval != 0 {
11214 return Err(fidl::Error::NonZeroPadding {
11215 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11216 });
11217 }
11218 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11219 fidl::decode!(
11220 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11221 D,
11222 &mut self.selected_bss,
11223 decoder,
11224 offset + 8,
11225 _depth
11226 )?;
11227 fidl::decode!(
11228 bool,
11229 D,
11230 &mut self.original_association_maintained,
11231 decoder,
11232 offset + 56,
11233 _depth
11234 )?;
11235 Ok(())
11236 }
11237 }
11238
11239 impl fidl::encoding::ValueTypeMarker for SaeFrame {
11240 type Borrowed<'a> = &'a Self;
11241 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11242 value
11243 }
11244 }
11245
11246 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
11247 type Owned = Self;
11248
11249 #[inline(always)]
11250 fn inline_align(_context: fidl::encoding::Context) -> usize {
11251 8
11252 }
11253
11254 #[inline(always)]
11255 fn inline_size(_context: fidl::encoding::Context) -> usize {
11256 32
11257 }
11258 }
11259
11260 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
11261 #[inline]
11262 unsafe fn encode(
11263 self,
11264 encoder: &mut fidl::encoding::Encoder<'_, D>,
11265 offset: usize,
11266 _depth: fidl::encoding::Depth,
11267 ) -> fidl::Result<()> {
11268 encoder.debug_check_bounds::<SaeFrame>(offset);
11269 fidl::encoding::Encode::<SaeFrame, D>::encode(
11271 (
11272 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11273 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11274 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
11275 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
11276 ),
11277 encoder, offset, _depth
11278 )
11279 }
11280 }
11281 unsafe impl<
11282 D: fidl::encoding::ResourceDialect,
11283 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11284 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11285 T2: fidl::encoding::Encode<u16, D>,
11286 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11287 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
11288 {
11289 #[inline]
11290 unsafe fn encode(
11291 self,
11292 encoder: &mut fidl::encoding::Encoder<'_, D>,
11293 offset: usize,
11294 depth: fidl::encoding::Depth,
11295 ) -> fidl::Result<()> {
11296 encoder.debug_check_bounds::<SaeFrame>(offset);
11297 unsafe {
11300 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11301 (ptr as *mut u64).write_unaligned(0);
11302 }
11303 self.0.encode(encoder, offset + 0, depth)?;
11305 self.1.encode(encoder, offset + 6, depth)?;
11306 self.2.encode(encoder, offset + 8, depth)?;
11307 self.3.encode(encoder, offset + 16, depth)?;
11308 Ok(())
11309 }
11310 }
11311
11312 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
11313 #[inline(always)]
11314 fn new_empty() -> Self {
11315 Self {
11316 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11317 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11318 seq_num: fidl::new_empty!(u16, D),
11319 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11320 }
11321 }
11322
11323 #[inline]
11324 unsafe fn decode(
11325 &mut self,
11326 decoder: &mut fidl::encoding::Decoder<'_, D>,
11327 offset: usize,
11328 _depth: fidl::encoding::Depth,
11329 ) -> fidl::Result<()> {
11330 decoder.debug_check_bounds::<Self>(offset);
11331 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11333 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11334 let mask = 0xffffffffffff0000u64;
11335 let maskedval = padval & mask;
11336 if maskedval != 0 {
11337 return Err(fidl::Error::NonZeroPadding {
11338 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11339 });
11340 }
11341 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11342 fidl::decode!(
11343 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11344 D,
11345 &mut self.status_code,
11346 decoder,
11347 offset + 6,
11348 _depth
11349 )?;
11350 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
11351 fidl::decode!(
11352 fidl::encoding::UnboundedVector<u8>,
11353 D,
11354 &mut self.sae_fields,
11355 decoder,
11356 offset + 16,
11357 _depth
11358 )?;
11359 Ok(())
11360 }
11361 }
11362
11363 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
11364 type Borrowed<'a> = &'a Self;
11365 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11366 value
11367 }
11368 }
11369
11370 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
11371 type Owned = Self;
11372
11373 #[inline(always)]
11374 fn inline_align(_context: fidl::encoding::Context) -> usize {
11375 1
11376 }
11377
11378 #[inline(always)]
11379 fn inline_size(_context: fidl::encoding::Context) -> usize {
11380 6
11381 }
11382 #[inline(always)]
11383 fn encode_is_copy() -> bool {
11384 true
11385 }
11386
11387 #[inline(always)]
11388 fn decode_is_copy() -> bool {
11389 true
11390 }
11391 }
11392
11393 unsafe impl<D: fidl::encoding::ResourceDialect>
11394 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
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::<SaeHandshakeIndication>(offset);
11404 unsafe {
11405 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11407 (buf_ptr as *mut SaeHandshakeIndication)
11408 .write_unaligned((self as *const SaeHandshakeIndication).read());
11409 }
11412 Ok(())
11413 }
11414 }
11415 unsafe impl<
11416 D: fidl::encoding::ResourceDialect,
11417 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11418 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
11419 {
11420 #[inline]
11421 unsafe fn encode(
11422 self,
11423 encoder: &mut fidl::encoding::Encoder<'_, D>,
11424 offset: usize,
11425 depth: fidl::encoding::Depth,
11426 ) -> fidl::Result<()> {
11427 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
11428 self.0.encode(encoder, offset + 0, depth)?;
11432 Ok(())
11433 }
11434 }
11435
11436 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11437 for SaeHandshakeIndication
11438 {
11439 #[inline(always)]
11440 fn new_empty() -> Self {
11441 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
11442 }
11443
11444 #[inline]
11445 unsafe fn decode(
11446 &mut self,
11447 decoder: &mut fidl::encoding::Decoder<'_, D>,
11448 offset: usize,
11449 _depth: fidl::encoding::Depth,
11450 ) -> fidl::Result<()> {
11451 decoder.debug_check_bounds::<Self>(offset);
11452 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11453 unsafe {
11456 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
11457 }
11458 Ok(())
11459 }
11460 }
11461
11462 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
11463 type Borrowed<'a> = &'a Self;
11464 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11465 value
11466 }
11467 }
11468
11469 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
11470 type Owned = Self;
11471
11472 #[inline(always)]
11473 fn inline_align(_context: fidl::encoding::Context) -> usize {
11474 2
11475 }
11476
11477 #[inline(always)]
11478 fn inline_size(_context: fidl::encoding::Context) -> usize {
11479 8
11480 }
11481 }
11482
11483 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
11484 for &SaeHandshakeResponse
11485 {
11486 #[inline]
11487 unsafe fn encode(
11488 self,
11489 encoder: &mut fidl::encoding::Encoder<'_, D>,
11490 offset: usize,
11491 _depth: fidl::encoding::Depth,
11492 ) -> fidl::Result<()> {
11493 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11494 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
11496 (
11497 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11498 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11499 ),
11500 encoder, offset, _depth
11501 )
11502 }
11503 }
11504 unsafe impl<
11505 D: fidl::encoding::ResourceDialect,
11506 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11507 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11508 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
11509 {
11510 #[inline]
11511 unsafe fn encode(
11512 self,
11513 encoder: &mut fidl::encoding::Encoder<'_, D>,
11514 offset: usize,
11515 depth: fidl::encoding::Depth,
11516 ) -> fidl::Result<()> {
11517 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11518 self.0.encode(encoder, offset + 0, depth)?;
11522 self.1.encode(encoder, offset + 6, depth)?;
11523 Ok(())
11524 }
11525 }
11526
11527 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
11528 #[inline(always)]
11529 fn new_empty() -> Self {
11530 Self {
11531 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11532 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11533 }
11534 }
11535
11536 #[inline]
11537 unsafe fn decode(
11538 &mut self,
11539 decoder: &mut fidl::encoding::Decoder<'_, D>,
11540 offset: usize,
11541 _depth: fidl::encoding::Depth,
11542 ) -> fidl::Result<()> {
11543 decoder.debug_check_bounds::<Self>(offset);
11544 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11546 fidl::decode!(
11547 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11548 D,
11549 &mut self.status_code,
11550 decoder,
11551 offset + 6,
11552 _depth
11553 )?;
11554 Ok(())
11555 }
11556 }
11557
11558 impl fidl::encoding::ValueTypeMarker for ScanEnd {
11559 type Borrowed<'a> = &'a Self;
11560 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11561 value
11562 }
11563 }
11564
11565 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
11566 type Owned = Self;
11567
11568 #[inline(always)]
11569 fn inline_align(_context: fidl::encoding::Context) -> usize {
11570 8
11571 }
11572
11573 #[inline(always)]
11574 fn inline_size(_context: fidl::encoding::Context) -> usize {
11575 16
11576 }
11577 }
11578
11579 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
11580 #[inline]
11581 unsafe fn encode(
11582 self,
11583 encoder: &mut fidl::encoding::Encoder<'_, D>,
11584 offset: usize,
11585 _depth: fidl::encoding::Depth,
11586 ) -> fidl::Result<()> {
11587 encoder.debug_check_bounds::<ScanEnd>(offset);
11588 fidl::encoding::Encode::<ScanEnd, D>::encode(
11590 (
11591 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11592 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
11593 ),
11594 encoder,
11595 offset,
11596 _depth,
11597 )
11598 }
11599 }
11600 unsafe impl<
11601 D: fidl::encoding::ResourceDialect,
11602 T0: fidl::encoding::Encode<u64, D>,
11603 T1: fidl::encoding::Encode<ScanResultCode, D>,
11604 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
11605 {
11606 #[inline]
11607 unsafe fn encode(
11608 self,
11609 encoder: &mut fidl::encoding::Encoder<'_, D>,
11610 offset: usize,
11611 depth: fidl::encoding::Depth,
11612 ) -> fidl::Result<()> {
11613 encoder.debug_check_bounds::<ScanEnd>(offset);
11614 unsafe {
11617 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11618 (ptr as *mut u64).write_unaligned(0);
11619 }
11620 self.0.encode(encoder, offset + 0, depth)?;
11622 self.1.encode(encoder, offset + 8, depth)?;
11623 Ok(())
11624 }
11625 }
11626
11627 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
11628 #[inline(always)]
11629 fn new_empty() -> Self {
11630 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
11631 }
11632
11633 #[inline]
11634 unsafe fn decode(
11635 &mut self,
11636 decoder: &mut fidl::encoding::Decoder<'_, D>,
11637 offset: usize,
11638 _depth: fidl::encoding::Depth,
11639 ) -> fidl::Result<()> {
11640 decoder.debug_check_bounds::<Self>(offset);
11641 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11643 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11644 let mask = 0xffffffff00000000u64;
11645 let maskedval = padval & mask;
11646 if maskedval != 0 {
11647 return Err(fidl::Error::NonZeroPadding {
11648 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11649 });
11650 }
11651 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11652 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
11653 Ok(())
11654 }
11655 }
11656
11657 impl fidl::encoding::ValueTypeMarker for ScanRequest {
11658 type Borrowed<'a> = &'a Self;
11659 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11660 value
11661 }
11662 }
11663
11664 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
11665 type Owned = Self;
11666
11667 #[inline(always)]
11668 fn inline_align(_context: fidl::encoding::Context) -> usize {
11669 8
11670 }
11671
11672 #[inline(always)]
11673 fn inline_size(_context: fidl::encoding::Context) -> usize {
11674 64
11675 }
11676 }
11677
11678 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
11679 for &ScanRequest
11680 {
11681 #[inline]
11682 unsafe fn encode(
11683 self,
11684 encoder: &mut fidl::encoding::Encoder<'_, D>,
11685 offset: usize,
11686 _depth: fidl::encoding::Depth,
11687 ) -> fidl::Result<()> {
11688 encoder.debug_check_bounds::<ScanRequest>(offset);
11689 fidl::encoding::Encode::<ScanRequest, D>::encode(
11691 (
11692 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11693 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
11694 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
11695 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
11696 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
11697 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
11698 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
11699 ),
11700 encoder, offset, _depth
11701 )
11702 }
11703 }
11704 unsafe impl<
11705 D: fidl::encoding::ResourceDialect,
11706 T0: fidl::encoding::Encode<u64, D>,
11707 T1: fidl::encoding::Encode<ScanTypes, D>,
11708 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
11709 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
11710 T4: fidl::encoding::Encode<u32, D>,
11711 T5: fidl::encoding::Encode<u32, D>,
11712 T6: fidl::encoding::Encode<u32, D>,
11713 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
11714 {
11715 #[inline]
11716 unsafe fn encode(
11717 self,
11718 encoder: &mut fidl::encoding::Encoder<'_, D>,
11719 offset: usize,
11720 depth: fidl::encoding::Depth,
11721 ) -> fidl::Result<()> {
11722 encoder.debug_check_bounds::<ScanRequest>(offset);
11723 unsafe {
11726 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11727 (ptr as *mut u64).write_unaligned(0);
11728 }
11729 unsafe {
11730 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11731 (ptr as *mut u64).write_unaligned(0);
11732 }
11733 self.0.encode(encoder, offset + 0, depth)?;
11735 self.1.encode(encoder, offset + 8, depth)?;
11736 self.2.encode(encoder, offset + 16, depth)?;
11737 self.3.encode(encoder, offset + 32, depth)?;
11738 self.4.encode(encoder, offset + 48, depth)?;
11739 self.5.encode(encoder, offset + 52, depth)?;
11740 self.6.encode(encoder, offset + 56, depth)?;
11741 Ok(())
11742 }
11743 }
11744
11745 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
11746 #[inline(always)]
11747 fn new_empty() -> Self {
11748 Self {
11749 txn_id: fidl::new_empty!(u64, D),
11750 scan_type: fidl::new_empty!(ScanTypes, D),
11751 channel_list: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
11752 ssid_list: fidl::new_empty!(
11753 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11754 D
11755 ),
11756 probe_delay: fidl::new_empty!(u32, D),
11757 min_channel_time: fidl::new_empty!(u32, D),
11758 max_channel_time: fidl::new_empty!(u32, D),
11759 }
11760 }
11761
11762 #[inline]
11763 unsafe fn decode(
11764 &mut self,
11765 decoder: &mut fidl::encoding::Decoder<'_, D>,
11766 offset: usize,
11767 _depth: fidl::encoding::Depth,
11768 ) -> fidl::Result<()> {
11769 decoder.debug_check_bounds::<Self>(offset);
11770 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11772 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11773 let mask = 0xffffffff00000000u64;
11774 let maskedval = padval & mask;
11775 if maskedval != 0 {
11776 return Err(fidl::Error::NonZeroPadding {
11777 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11778 });
11779 }
11780 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11781 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11782 let mask = 0xffffffff00000000u64;
11783 let maskedval = padval & mask;
11784 if maskedval != 0 {
11785 return Err(fidl::Error::NonZeroPadding {
11786 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11787 });
11788 }
11789 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11790 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
11791 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
11792 fidl::decode!(
11793 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11794 D,
11795 &mut self.ssid_list,
11796 decoder,
11797 offset + 32,
11798 _depth
11799 )?;
11800 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
11801 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
11802 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
11803 Ok(())
11804 }
11805 }
11806
11807 impl fidl::encoding::ValueTypeMarker for ScanResult {
11808 type Borrowed<'a> = &'a Self;
11809 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11810 value
11811 }
11812 }
11813
11814 unsafe impl fidl::encoding::TypeMarker for ScanResult {
11815 type Owned = Self;
11816
11817 #[inline(always)]
11818 fn inline_align(_context: fidl::encoding::Context) -> usize {
11819 8
11820 }
11821
11822 #[inline(always)]
11823 fn inline_size(_context: fidl::encoding::Context) -> usize {
11824 64
11825 }
11826 }
11827
11828 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
11829 for &ScanResult
11830 {
11831 #[inline]
11832 unsafe fn encode(
11833 self,
11834 encoder: &mut fidl::encoding::Encoder<'_, D>,
11835 offset: usize,
11836 _depth: fidl::encoding::Depth,
11837 ) -> fidl::Result<()> {
11838 encoder.debug_check_bounds::<ScanResult>(offset);
11839 fidl::encoding::Encode::<ScanResult, D>::encode(
11841 (
11842 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11843 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
11844 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
11845 ),
11846 encoder, offset, _depth
11847 )
11848 }
11849 }
11850 unsafe impl<
11851 D: fidl::encoding::ResourceDialect,
11852 T0: fidl::encoding::Encode<u64, D>,
11853 T1: fidl::encoding::Encode<i64, D>,
11854 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11855 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
11856 {
11857 #[inline]
11858 unsafe fn encode(
11859 self,
11860 encoder: &mut fidl::encoding::Encoder<'_, D>,
11861 offset: usize,
11862 depth: fidl::encoding::Depth,
11863 ) -> fidl::Result<()> {
11864 encoder.debug_check_bounds::<ScanResult>(offset);
11865 self.0.encode(encoder, offset + 0, depth)?;
11869 self.1.encode(encoder, offset + 8, depth)?;
11870 self.2.encode(encoder, offset + 16, depth)?;
11871 Ok(())
11872 }
11873 }
11874
11875 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
11876 #[inline(always)]
11877 fn new_empty() -> Self {
11878 Self {
11879 txn_id: fidl::new_empty!(u64, D),
11880 timestamp_nanos: fidl::new_empty!(i64, D),
11881 bss: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssDescription, D),
11882 }
11883 }
11884
11885 #[inline]
11886 unsafe fn decode(
11887 &mut self,
11888 decoder: &mut fidl::encoding::Decoder<'_, D>,
11889 offset: usize,
11890 _depth: fidl::encoding::Depth,
11891 ) -> fidl::Result<()> {
11892 decoder.debug_check_bounds::<Self>(offset);
11893 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11895 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
11896 fidl::decode!(
11897 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11898 D,
11899 &mut self.bss,
11900 decoder,
11901 offset + 16,
11902 _depth
11903 )?;
11904 Ok(())
11905 }
11906 }
11907
11908 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
11909 type Borrowed<'a> = &'a Self;
11910 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11911 value
11912 }
11913 }
11914
11915 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
11916 type Owned = Self;
11917
11918 #[inline(always)]
11919 fn inline_align(_context: fidl::encoding::Context) -> usize {
11920 4
11921 }
11922
11923 #[inline(always)]
11924 fn inline_size(_context: fidl::encoding::Context) -> usize {
11925 12
11926 }
11927 }
11928
11929 unsafe impl<D: fidl::encoding::ResourceDialect>
11930 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
11931 {
11932 #[inline]
11933 unsafe fn encode(
11934 self,
11935 encoder: &mut fidl::encoding::Encoder<'_, D>,
11936 offset: usize,
11937 _depth: fidl::encoding::Depth,
11938 ) -> fidl::Result<()> {
11939 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11940 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
11942 (
11943 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
11944 &self.peer_sta_address,
11945 ),
11946 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
11947 ),
11948 encoder,
11949 offset,
11950 _depth,
11951 )
11952 }
11953 }
11954 unsafe impl<
11955 D: fidl::encoding::ResourceDialect,
11956 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11957 T1: fidl::encoding::Encode<ControlledPortState, D>,
11958 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
11959 {
11960 #[inline]
11961 unsafe fn encode(
11962 self,
11963 encoder: &mut fidl::encoding::Encoder<'_, D>,
11964 offset: usize,
11965 depth: fidl::encoding::Depth,
11966 ) -> fidl::Result<()> {
11967 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11968 unsafe {
11971 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
11972 (ptr as *mut u32).write_unaligned(0);
11973 }
11974 self.0.encode(encoder, offset + 0, depth)?;
11976 self.1.encode(encoder, offset + 8, depth)?;
11977 Ok(())
11978 }
11979 }
11980
11981 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11982 for SetControlledPortRequest
11983 {
11984 #[inline(always)]
11985 fn new_empty() -> Self {
11986 Self {
11987 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11988 state: fidl::new_empty!(ControlledPortState, D),
11989 }
11990 }
11991
11992 #[inline]
11993 unsafe fn decode(
11994 &mut self,
11995 decoder: &mut fidl::encoding::Decoder<'_, D>,
11996 offset: usize,
11997 _depth: fidl::encoding::Depth,
11998 ) -> fidl::Result<()> {
11999 decoder.debug_check_bounds::<Self>(offset);
12000 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
12002 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12003 let mask = 0xffff0000u32;
12004 let maskedval = padval & mask;
12005 if maskedval != 0 {
12006 return Err(fidl::Error::NonZeroPadding {
12007 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
12008 });
12009 }
12010 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
12011 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
12012 Ok(())
12013 }
12014 }
12015
12016 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
12017 type Borrowed<'a> = &'a Self;
12018 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12019 value
12020 }
12021 }
12022
12023 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
12024 type Owned = Self;
12025
12026 #[inline(always)]
12027 fn inline_align(_context: fidl::encoding::Context) -> usize {
12028 8
12029 }
12030
12031 #[inline(always)]
12032 fn inline_size(_context: fidl::encoding::Context) -> usize {
12033 48
12034 }
12035 }
12036
12037 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
12038 for &SetKeyDescriptor
12039 {
12040 #[inline]
12041 unsafe fn encode(
12042 self,
12043 encoder: &mut fidl::encoding::Encoder<'_, D>,
12044 offset: usize,
12045 _depth: fidl::encoding::Depth,
12046 ) -> fidl::Result<()> {
12047 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12048 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
12050 (
12051 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
12052 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
12053 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
12054 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
12055 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
12056 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
12057 <fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
12058 ),
12059 encoder, offset, _depth
12060 )
12061 }
12062 }
12063 unsafe impl<
12064 D: fidl::encoding::ResourceDialect,
12065 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
12066 T1: fidl::encoding::Encode<u16, D>,
12067 T2: fidl::encoding::Encode<KeyType, D>,
12068 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
12069 T4: fidl::encoding::Encode<u64, D>,
12070 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
12071 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType, D>,
12072 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
12073 {
12074 #[inline]
12075 unsafe fn encode(
12076 self,
12077 encoder: &mut fidl::encoding::Encoder<'_, D>,
12078 offset: usize,
12079 depth: fidl::encoding::Depth,
12080 ) -> fidl::Result<()> {
12081 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12082 unsafe {
12085 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
12086 (ptr as *mut u64).write_unaligned(0);
12087 }
12088 unsafe {
12089 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12090 (ptr as *mut u64).write_unaligned(0);
12091 }
12092 unsafe {
12093 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
12094 (ptr as *mut u64).write_unaligned(0);
12095 }
12096 self.0.encode(encoder, offset + 0, depth)?;
12098 self.1.encode(encoder, offset + 16, depth)?;
12099 self.2.encode(encoder, offset + 20, depth)?;
12100 self.3.encode(encoder, offset + 24, depth)?;
12101 self.4.encode(encoder, offset + 32, depth)?;
12102 self.5.encode(encoder, offset + 40, depth)?;
12103 self.6.encode(encoder, offset + 44, depth)?;
12104 Ok(())
12105 }
12106 }
12107
12108 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
12109 #[inline(always)]
12110 fn new_empty() -> Self {
12111 Self {
12112 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
12113 key_id: fidl::new_empty!(u16, D),
12114 key_type: fidl::new_empty!(KeyType, D),
12115 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
12116 rsc: fidl::new_empty!(u64, D),
12117 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
12118 cipher_suite_type: fidl::new_empty!(
12119 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12120 D
12121 ),
12122 }
12123 }
12124
12125 #[inline]
12126 unsafe fn decode(
12127 &mut self,
12128 decoder: &mut fidl::encoding::Decoder<'_, D>,
12129 offset: usize,
12130 _depth: fidl::encoding::Depth,
12131 ) -> fidl::Result<()> {
12132 decoder.debug_check_bounds::<Self>(offset);
12133 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
12135 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12136 let mask = 0xffff0000u64;
12137 let maskedval = padval & mask;
12138 if maskedval != 0 {
12139 return Err(fidl::Error::NonZeroPadding {
12140 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
12141 });
12142 }
12143 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12144 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12145 let mask = 0xffff000000000000u64;
12146 let maskedval = padval & mask;
12147 if maskedval != 0 {
12148 return Err(fidl::Error::NonZeroPadding {
12149 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12150 });
12151 }
12152 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
12153 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12154 let mask = 0xff000000u64;
12155 let maskedval = padval & mask;
12156 if maskedval != 0 {
12157 return Err(fidl::Error::NonZeroPadding {
12158 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
12159 });
12160 }
12161 fidl::decode!(
12162 fidl::encoding::UnboundedVector<u8>,
12163 D,
12164 &mut self.key,
12165 decoder,
12166 offset + 0,
12167 _depth
12168 )?;
12169 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
12170 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
12171 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
12172 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
12173 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
12174 fidl::decode!(
12175 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12176 D,
12177 &mut self.cipher_suite_type,
12178 decoder,
12179 offset + 44,
12180 _depth
12181 )?;
12182 Ok(())
12183 }
12184 }
12185
12186 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
12187 type Borrowed<'a> = &'a Self;
12188 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12189 value
12190 }
12191 }
12192
12193 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
12194 type Owned = Self;
12195
12196 #[inline(always)]
12197 fn inline_align(_context: fidl::encoding::Context) -> usize {
12198 4
12199 }
12200
12201 #[inline(always)]
12202 fn inline_size(_context: fidl::encoding::Context) -> usize {
12203 8
12204 }
12205 }
12206
12207 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
12208 for &SetKeyResult
12209 {
12210 #[inline]
12211 unsafe fn encode(
12212 self,
12213 encoder: &mut fidl::encoding::Encoder<'_, D>,
12214 offset: usize,
12215 _depth: fidl::encoding::Depth,
12216 ) -> fidl::Result<()> {
12217 encoder.debug_check_bounds::<SetKeyResult>(offset);
12218 unsafe {
12219 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12221 (buf_ptr as *mut SetKeyResult)
12222 .write_unaligned((self as *const SetKeyResult).read());
12223 let padding_ptr = buf_ptr.offset(0) as *mut u32;
12226 let padding_mask = 0xffff0000u32;
12227 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
12228 }
12229 Ok(())
12230 }
12231 }
12232 unsafe impl<
12233 D: fidl::encoding::ResourceDialect,
12234 T0: fidl::encoding::Encode<u16, D>,
12235 T1: fidl::encoding::Encode<i32, D>,
12236 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
12237 {
12238 #[inline]
12239 unsafe fn encode(
12240 self,
12241 encoder: &mut fidl::encoding::Encoder<'_, D>,
12242 offset: usize,
12243 depth: fidl::encoding::Depth,
12244 ) -> fidl::Result<()> {
12245 encoder.debug_check_bounds::<SetKeyResult>(offset);
12246 unsafe {
12249 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
12250 (ptr as *mut u32).write_unaligned(0);
12251 }
12252 self.0.encode(encoder, offset + 0, depth)?;
12254 self.1.encode(encoder, offset + 4, depth)?;
12255 Ok(())
12256 }
12257 }
12258
12259 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
12260 #[inline(always)]
12261 fn new_empty() -> Self {
12262 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
12263 }
12264
12265 #[inline]
12266 unsafe fn decode(
12267 &mut self,
12268 decoder: &mut fidl::encoding::Decoder<'_, D>,
12269 offset: usize,
12270 _depth: fidl::encoding::Depth,
12271 ) -> fidl::Result<()> {
12272 decoder.debug_check_bounds::<Self>(offset);
12273 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12274 let ptr = unsafe { buf_ptr.offset(0) };
12276 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12277 let mask = 0xffff0000u32;
12278 let maskedval = padval & mask;
12279 if maskedval != 0 {
12280 return Err(fidl::Error::NonZeroPadding {
12281 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
12282 });
12283 }
12284 unsafe {
12286 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
12287 }
12288 Ok(())
12289 }
12290 }
12291
12292 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
12293 type Borrowed<'a> = &'a Self;
12294 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12295 value
12296 }
12297 }
12298
12299 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
12300 type Owned = Self;
12301
12302 #[inline(always)]
12303 fn inline_align(_context: fidl::encoding::Context) -> usize {
12304 8
12305 }
12306
12307 #[inline(always)]
12308 fn inline_size(_context: fidl::encoding::Context) -> usize {
12309 16
12310 }
12311 }
12312
12313 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
12314 for &SetKeysConfirm
12315 {
12316 #[inline]
12317 unsafe fn encode(
12318 self,
12319 encoder: &mut fidl::encoding::Encoder<'_, D>,
12320 offset: usize,
12321 _depth: fidl::encoding::Depth,
12322 ) -> fidl::Result<()> {
12323 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12324 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
12326 (
12327 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
12328 ),
12329 encoder, offset, _depth
12330 )
12331 }
12332 }
12333 unsafe impl<
12334 D: fidl::encoding::ResourceDialect,
12335 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
12336 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
12337 {
12338 #[inline]
12339 unsafe fn encode(
12340 self,
12341 encoder: &mut fidl::encoding::Encoder<'_, D>,
12342 offset: usize,
12343 depth: fidl::encoding::Depth,
12344 ) -> fidl::Result<()> {
12345 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12346 self.0.encode(encoder, offset + 0, depth)?;
12350 Ok(())
12351 }
12352 }
12353
12354 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
12355 #[inline(always)]
12356 fn new_empty() -> Self {
12357 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
12358 }
12359
12360 #[inline]
12361 unsafe fn decode(
12362 &mut self,
12363 decoder: &mut fidl::encoding::Decoder<'_, D>,
12364 offset: usize,
12365 _depth: fidl::encoding::Depth,
12366 ) -> fidl::Result<()> {
12367 decoder.debug_check_bounds::<Self>(offset);
12368 fidl::decode!(
12370 fidl::encoding::UnboundedVector<SetKeyResult>,
12371 D,
12372 &mut self.results,
12373 decoder,
12374 offset + 0,
12375 _depth
12376 )?;
12377 Ok(())
12378 }
12379 }
12380
12381 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
12382 type Borrowed<'a> = &'a Self;
12383 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12384 value
12385 }
12386 }
12387
12388 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
12389 type Owned = Self;
12390
12391 #[inline(always)]
12392 fn inline_align(_context: fidl::encoding::Context) -> usize {
12393 8
12394 }
12395
12396 #[inline(always)]
12397 fn inline_size(_context: fidl::encoding::Context) -> usize {
12398 16
12399 }
12400 }
12401
12402 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
12403 for &SetKeysRequest
12404 {
12405 #[inline]
12406 unsafe fn encode(
12407 self,
12408 encoder: &mut fidl::encoding::Encoder<'_, D>,
12409 offset: usize,
12410 _depth: fidl::encoding::Depth,
12411 ) -> fidl::Result<()> {
12412 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12413 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
12415 (
12416 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
12417 ),
12418 encoder, offset, _depth
12419 )
12420 }
12421 }
12422 unsafe impl<
12423 D: fidl::encoding::ResourceDialect,
12424 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
12425 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
12426 {
12427 #[inline]
12428 unsafe fn encode(
12429 self,
12430 encoder: &mut fidl::encoding::Encoder<'_, D>,
12431 offset: usize,
12432 depth: fidl::encoding::Depth,
12433 ) -> fidl::Result<()> {
12434 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12435 self.0.encode(encoder, offset + 0, depth)?;
12439 Ok(())
12440 }
12441 }
12442
12443 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
12444 #[inline(always)]
12445 fn new_empty() -> Self {
12446 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
12447 }
12448
12449 #[inline]
12450 unsafe fn decode(
12451 &mut self,
12452 decoder: &mut fidl::encoding::Decoder<'_, D>,
12453 offset: usize,
12454 _depth: fidl::encoding::Depth,
12455 ) -> fidl::Result<()> {
12456 decoder.debug_check_bounds::<Self>(offset);
12457 fidl::decode!(
12459 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
12460 D,
12461 &mut self.keylist,
12462 decoder,
12463 offset + 0,
12464 _depth
12465 )?;
12466 Ok(())
12467 }
12468 }
12469
12470 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
12471 type Borrowed<'a> = &'a Self;
12472 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12473 value
12474 }
12475 }
12476
12477 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
12478 type Owned = Self;
12479
12480 #[inline(always)]
12481 fn inline_align(_context: fidl::encoding::Context) -> usize {
12482 4
12483 }
12484
12485 #[inline(always)]
12486 fn inline_size(_context: fidl::encoding::Context) -> usize {
12487 4
12488 }
12489 }
12490
12491 unsafe impl<D: fidl::encoding::ResourceDialect>
12492 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
12493 {
12494 #[inline]
12495 unsafe fn encode(
12496 self,
12497 encoder: &mut fidl::encoding::Encoder<'_, D>,
12498 offset: usize,
12499 _depth: fidl::encoding::Depth,
12500 ) -> fidl::Result<()> {
12501 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12502 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
12504 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12505 &self.mgmt_frame_flags,
12506 ),),
12507 encoder,
12508 offset,
12509 _depth,
12510 )
12511 }
12512 }
12513 unsafe impl<
12514 D: fidl::encoding::ResourceDialect,
12515 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12516 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
12517 {
12518 #[inline]
12519 unsafe fn encode(
12520 self,
12521 encoder: &mut fidl::encoding::Encoder<'_, D>,
12522 offset: usize,
12523 depth: fidl::encoding::Depth,
12524 ) -> fidl::Result<()> {
12525 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12526 self.0.encode(encoder, offset + 0, depth)?;
12530 Ok(())
12531 }
12532 }
12533
12534 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12535 for StartCaptureFramesRequest
12536 {
12537 #[inline(always)]
12538 fn new_empty() -> Self {
12539 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
12540 }
12541
12542 #[inline]
12543 unsafe fn decode(
12544 &mut self,
12545 decoder: &mut fidl::encoding::Decoder<'_, D>,
12546 offset: usize,
12547 _depth: fidl::encoding::Depth,
12548 ) -> fidl::Result<()> {
12549 decoder.debug_check_bounds::<Self>(offset);
12550 fidl::decode!(
12552 MgmtFrameCaptureFlags,
12553 D,
12554 &mut self.mgmt_frame_flags,
12555 decoder,
12556 offset + 0,
12557 _depth
12558 )?;
12559 Ok(())
12560 }
12561 }
12562
12563 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
12564 type Borrowed<'a> = &'a Self;
12565 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12566 value
12567 }
12568 }
12569
12570 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
12571 type Owned = Self;
12572
12573 #[inline(always)]
12574 fn inline_align(_context: fidl::encoding::Context) -> usize {
12575 4
12576 }
12577
12578 #[inline(always)]
12579 fn inline_size(_context: fidl::encoding::Context) -> usize {
12580 8
12581 }
12582 }
12583
12584 unsafe impl<D: fidl::encoding::ResourceDialect>
12585 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
12586 {
12587 #[inline]
12588 unsafe fn encode(
12589 self,
12590 encoder: &mut fidl::encoding::Encoder<'_, D>,
12591 offset: usize,
12592 _depth: fidl::encoding::Depth,
12593 ) -> fidl::Result<()> {
12594 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12595 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
12597 (
12598 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
12599 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12600 &self.supported_mgmt_frames,
12601 ),
12602 ),
12603 encoder,
12604 offset,
12605 _depth,
12606 )
12607 }
12608 }
12609 unsafe impl<
12610 D: fidl::encoding::ResourceDialect,
12611 T0: fidl::encoding::Encode<i32, D>,
12612 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12613 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
12614 {
12615 #[inline]
12616 unsafe fn encode(
12617 self,
12618 encoder: &mut fidl::encoding::Encoder<'_, D>,
12619 offset: usize,
12620 depth: fidl::encoding::Depth,
12621 ) -> fidl::Result<()> {
12622 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12623 self.0.encode(encoder, offset + 0, depth)?;
12627 self.1.encode(encoder, offset + 4, depth)?;
12628 Ok(())
12629 }
12630 }
12631
12632 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12633 for StartCaptureFramesResponse
12634 {
12635 #[inline(always)]
12636 fn new_empty() -> Self {
12637 Self {
12638 status: fidl::new_empty!(i32, D),
12639 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
12640 }
12641 }
12642
12643 #[inline]
12644 unsafe fn decode(
12645 &mut self,
12646 decoder: &mut fidl::encoding::Decoder<'_, D>,
12647 offset: usize,
12648 _depth: fidl::encoding::Depth,
12649 ) -> fidl::Result<()> {
12650 decoder.debug_check_bounds::<Self>(offset);
12651 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
12653 fidl::decode!(
12654 MgmtFrameCaptureFlags,
12655 D,
12656 &mut self.supported_mgmt_frames,
12657 decoder,
12658 offset + 4,
12659 _depth
12660 )?;
12661 Ok(())
12662 }
12663 }
12664
12665 impl fidl::encoding::ValueTypeMarker for StartConfirm {
12666 type Borrowed<'a> = &'a Self;
12667 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12668 value
12669 }
12670 }
12671
12672 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
12673 type Owned = Self;
12674
12675 #[inline(always)]
12676 fn inline_align(_context: fidl::encoding::Context) -> usize {
12677 4
12678 }
12679
12680 #[inline(always)]
12681 fn inline_size(_context: fidl::encoding::Context) -> usize {
12682 4
12683 }
12684 }
12685
12686 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
12687 for &StartConfirm
12688 {
12689 #[inline]
12690 unsafe fn encode(
12691 self,
12692 encoder: &mut fidl::encoding::Encoder<'_, D>,
12693 offset: usize,
12694 _depth: fidl::encoding::Depth,
12695 ) -> fidl::Result<()> {
12696 encoder.debug_check_bounds::<StartConfirm>(offset);
12697 fidl::encoding::Encode::<StartConfirm, D>::encode(
12699 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12700 encoder,
12701 offset,
12702 _depth,
12703 )
12704 }
12705 }
12706 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
12707 fidl::encoding::Encode<StartConfirm, D> for (T0,)
12708 {
12709 #[inline]
12710 unsafe fn encode(
12711 self,
12712 encoder: &mut fidl::encoding::Encoder<'_, D>,
12713 offset: usize,
12714 depth: fidl::encoding::Depth,
12715 ) -> fidl::Result<()> {
12716 encoder.debug_check_bounds::<StartConfirm>(offset);
12717 self.0.encode(encoder, offset + 0, depth)?;
12721 Ok(())
12722 }
12723 }
12724
12725 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
12726 #[inline(always)]
12727 fn new_empty() -> Self {
12728 Self { result_code: fidl::new_empty!(StartResultCode, D) }
12729 }
12730
12731 #[inline]
12732 unsafe fn decode(
12733 &mut self,
12734 decoder: &mut fidl::encoding::Decoder<'_, D>,
12735 offset: usize,
12736 _depth: fidl::encoding::Depth,
12737 ) -> fidl::Result<()> {
12738 decoder.debug_check_bounds::<Self>(offset);
12739 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12741 Ok(())
12742 }
12743 }
12744
12745 impl fidl::encoding::ValueTypeMarker for StartRequest {
12746 type Borrowed<'a> = &'a Self;
12747 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12748 value
12749 }
12750 }
12751
12752 unsafe impl fidl::encoding::TypeMarker for StartRequest {
12753 type Owned = Self;
12754
12755 #[inline(always)]
12756 fn inline_align(_context: fidl::encoding::Context) -> usize {
12757 8
12758 }
12759
12760 #[inline(always)]
12761 fn inline_size(_context: fidl::encoding::Context) -> usize {
12762 96
12763 }
12764 }
12765
12766 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
12767 for &StartRequest
12768 {
12769 #[inline]
12770 unsafe fn encode(
12771 self,
12772 encoder: &mut fidl::encoding::Encoder<'_, D>,
12773 offset: usize,
12774 _depth: fidl::encoding::Depth,
12775 ) -> fidl::Result<()> {
12776 encoder.debug_check_bounds::<StartRequest>(offset);
12777 fidl::encoding::Encode::<StartRequest, D>::encode(
12779 (
12780 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
12781 <fidl_fuchsia_wlan_ieee80211_common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
12782 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
12783 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
12784 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
12785 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
12786 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
12787 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
12788 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
12789 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
12790 <fidl_fuchsia_wlan_ieee80211_common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
12791 <fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_bandwidth),
12792 ),
12793 encoder, offset, _depth
12794 )
12795 }
12796 }
12797 unsafe impl<
12798 D: fidl::encoding::ResourceDialect,
12799 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12800 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssType, D>,
12801 T2: fidl::encoding::Encode<u16, D>,
12802 T3: fidl::encoding::Encode<u8, D>,
12803 T4: fidl::encoding::Encode<u8, D>,
12804 T5: fidl::encoding::Encode<u16, D>,
12805 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
12806 T7: fidl::encoding::Encode<Country, D>,
12807 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12808 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
12809 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D>,
12810 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth, D>,
12811 > fidl::encoding::Encode<StartRequest, D>
12812 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
12813 {
12814 #[inline]
12815 unsafe fn encode(
12816 self,
12817 encoder: &mut fidl::encoding::Encoder<'_, D>,
12818 offset: usize,
12819 depth: fidl::encoding::Depth,
12820 ) -> fidl::Result<()> {
12821 encoder.debug_check_bounds::<StartRequest>(offset);
12822 unsafe {
12825 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12826 (ptr as *mut u64).write_unaligned(0);
12827 }
12828 unsafe {
12829 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
12830 (ptr as *mut u64).write_unaligned(0);
12831 }
12832 self.0.encode(encoder, offset + 0, depth)?;
12834 self.1.encode(encoder, offset + 16, depth)?;
12835 self.2.encode(encoder, offset + 20, depth)?;
12836 self.3.encode(encoder, offset + 22, depth)?;
12837 self.4.encode(encoder, offset + 23, depth)?;
12838 self.5.encode(encoder, offset + 24, depth)?;
12839 self.6.encode(encoder, offset + 32, depth)?;
12840 self.7.encode(encoder, offset + 48, depth)?;
12841 self.8.encode(encoder, offset + 56, depth)?;
12842 self.9.encode(encoder, offset + 72, depth)?;
12843 self.10.encode(encoder, offset + 88, depth)?;
12844 self.11.encode(encoder, offset + 92, depth)?;
12845 Ok(())
12846 }
12847 }
12848
12849 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
12850 #[inline(always)]
12851 fn new_empty() -> Self {
12852 Self {
12853 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12854 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssType, D),
12855 beacon_period: fidl::new_empty!(u16, D),
12856 dtim_period: fidl::new_empty!(u8, D),
12857 channel: fidl::new_empty!(u8, D),
12858 capability_info: fidl::new_empty!(u16, D),
12859 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
12860 country: fidl::new_empty!(Country, D),
12861 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12862 rsne: fidl::new_empty!(
12863 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12864 D
12865 ),
12866 phy: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D),
12867 channel_bandwidth: fidl::new_empty!(
12868 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
12869 D
12870 ),
12871 }
12872 }
12873
12874 #[inline]
12875 unsafe fn decode(
12876 &mut self,
12877 decoder: &mut fidl::encoding::Decoder<'_, D>,
12878 offset: usize,
12879 _depth: fidl::encoding::Depth,
12880 ) -> fidl::Result<()> {
12881 decoder.debug_check_bounds::<Self>(offset);
12882 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12884 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12885 let mask = 0xffffffffffff0000u64;
12886 let maskedval = padval & mask;
12887 if maskedval != 0 {
12888 return Err(fidl::Error::NonZeroPadding {
12889 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12890 });
12891 }
12892 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
12893 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12894 let mask = 0xffffffffff000000u64;
12895 let maskedval = padval & mask;
12896 if maskedval != 0 {
12897 return Err(fidl::Error::NonZeroPadding {
12898 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
12899 });
12900 }
12901 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12902 fidl::decode!(
12903 fidl_fuchsia_wlan_ieee80211_common::BssType,
12904 D,
12905 &mut self.bss_type,
12906 decoder,
12907 offset + 16,
12908 _depth
12909 )?;
12910 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
12911 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
12912 fidl::decode!(u8, D, &mut self.channel, decoder, offset + 23, _depth)?;
12913 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 24, _depth)?;
12914 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
12915 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
12916 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
12917 fidl::decode!(
12918 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12919 D,
12920 &mut self.rsne,
12921 decoder,
12922 offset + 72,
12923 _depth
12924 )?;
12925 fidl::decode!(
12926 fidl_fuchsia_wlan_ieee80211_common::WlanPhyType,
12927 D,
12928 &mut self.phy,
12929 decoder,
12930 offset + 88,
12931 _depth
12932 )?;
12933 fidl::decode!(
12934 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
12935 D,
12936 &mut self.channel_bandwidth,
12937 decoder,
12938 offset + 92,
12939 _depth
12940 )?;
12941 Ok(())
12942 }
12943 }
12944
12945 impl fidl::encoding::ValueTypeMarker for StopConfirm {
12946 type Borrowed<'a> = &'a Self;
12947 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12948 value
12949 }
12950 }
12951
12952 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
12953 type Owned = Self;
12954
12955 #[inline(always)]
12956 fn inline_align(_context: fidl::encoding::Context) -> usize {
12957 4
12958 }
12959
12960 #[inline(always)]
12961 fn inline_size(_context: fidl::encoding::Context) -> usize {
12962 4
12963 }
12964 }
12965
12966 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
12967 for &StopConfirm
12968 {
12969 #[inline]
12970 unsafe fn encode(
12971 self,
12972 encoder: &mut fidl::encoding::Encoder<'_, D>,
12973 offset: usize,
12974 _depth: fidl::encoding::Depth,
12975 ) -> fidl::Result<()> {
12976 encoder.debug_check_bounds::<StopConfirm>(offset);
12977 fidl::encoding::Encode::<StopConfirm, D>::encode(
12979 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12980 encoder,
12981 offset,
12982 _depth,
12983 )
12984 }
12985 }
12986 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
12987 fidl::encoding::Encode<StopConfirm, D> for (T0,)
12988 {
12989 #[inline]
12990 unsafe fn encode(
12991 self,
12992 encoder: &mut fidl::encoding::Encoder<'_, D>,
12993 offset: usize,
12994 depth: fidl::encoding::Depth,
12995 ) -> fidl::Result<()> {
12996 encoder.debug_check_bounds::<StopConfirm>(offset);
12997 self.0.encode(encoder, offset + 0, depth)?;
13001 Ok(())
13002 }
13003 }
13004
13005 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
13006 #[inline(always)]
13007 fn new_empty() -> Self {
13008 Self { result_code: fidl::new_empty!(StopResultCode, D) }
13009 }
13010
13011 #[inline]
13012 unsafe fn decode(
13013 &mut self,
13014 decoder: &mut fidl::encoding::Decoder<'_, D>,
13015 offset: usize,
13016 _depth: fidl::encoding::Depth,
13017 ) -> fidl::Result<()> {
13018 decoder.debug_check_bounds::<Self>(offset);
13019 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
13021 Ok(())
13022 }
13023 }
13024
13025 impl fidl::encoding::ValueTypeMarker for StopRequest {
13026 type Borrowed<'a> = &'a Self;
13027 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13028 value
13029 }
13030 }
13031
13032 unsafe impl fidl::encoding::TypeMarker for StopRequest {
13033 type Owned = Self;
13034
13035 #[inline(always)]
13036 fn inline_align(_context: fidl::encoding::Context) -> usize {
13037 8
13038 }
13039
13040 #[inline(always)]
13041 fn inline_size(_context: fidl::encoding::Context) -> usize {
13042 16
13043 }
13044 }
13045
13046 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
13047 for &StopRequest
13048 {
13049 #[inline]
13050 unsafe fn encode(
13051 self,
13052 encoder: &mut fidl::encoding::Encoder<'_, D>,
13053 offset: usize,
13054 _depth: fidl::encoding::Depth,
13055 ) -> fidl::Result<()> {
13056 encoder.debug_check_bounds::<StopRequest>(offset);
13057 fidl::encoding::Encode::<StopRequest, D>::encode(
13059 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
13060 &self.ssid,
13061 ),),
13062 encoder,
13063 offset,
13064 _depth,
13065 )
13066 }
13067 }
13068 unsafe impl<
13069 D: fidl::encoding::ResourceDialect,
13070 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
13071 > fidl::encoding::Encode<StopRequest, D> for (T0,)
13072 {
13073 #[inline]
13074 unsafe fn encode(
13075 self,
13076 encoder: &mut fidl::encoding::Encoder<'_, D>,
13077 offset: usize,
13078 depth: fidl::encoding::Depth,
13079 ) -> fidl::Result<()> {
13080 encoder.debug_check_bounds::<StopRequest>(offset);
13081 self.0.encode(encoder, offset + 0, depth)?;
13085 Ok(())
13086 }
13087 }
13088
13089 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
13090 #[inline(always)]
13091 fn new_empty() -> Self {
13092 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
13093 }
13094
13095 #[inline]
13096 unsafe fn decode(
13097 &mut self,
13098 decoder: &mut fidl::encoding::Decoder<'_, D>,
13099 offset: usize,
13100 _depth: fidl::encoding::Depth,
13101 ) -> fidl::Result<()> {
13102 decoder.debug_check_bounds::<Self>(offset);
13103 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
13105 Ok(())
13106 }
13107 }
13108
13109 impl fidl::encoding::ValueTypeMarker for WmmParameter {
13110 type Borrowed<'a> = &'a Self;
13111 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13112 value
13113 }
13114 }
13115
13116 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
13117 type Owned = Self;
13118
13119 #[inline(always)]
13120 fn inline_align(_context: fidl::encoding::Context) -> usize {
13121 1
13122 }
13123
13124 #[inline(always)]
13125 fn inline_size(_context: fidl::encoding::Context) -> usize {
13126 18
13127 }
13128 #[inline(always)]
13129 fn encode_is_copy() -> bool {
13130 true
13131 }
13132
13133 #[inline(always)]
13134 fn decode_is_copy() -> bool {
13135 true
13136 }
13137 }
13138
13139 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
13140 for &WmmParameter
13141 {
13142 #[inline]
13143 unsafe fn encode(
13144 self,
13145 encoder: &mut fidl::encoding::Encoder<'_, D>,
13146 offset: usize,
13147 _depth: fidl::encoding::Depth,
13148 ) -> fidl::Result<()> {
13149 encoder.debug_check_bounds::<WmmParameter>(offset);
13150 unsafe {
13151 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
13153 (buf_ptr as *mut WmmParameter)
13154 .write_unaligned((self as *const WmmParameter).read());
13155 }
13158 Ok(())
13159 }
13160 }
13161 unsafe impl<
13162 D: fidl::encoding::ResourceDialect,
13163 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
13164 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
13165 {
13166 #[inline]
13167 unsafe fn encode(
13168 self,
13169 encoder: &mut fidl::encoding::Encoder<'_, D>,
13170 offset: usize,
13171 depth: fidl::encoding::Depth,
13172 ) -> fidl::Result<()> {
13173 encoder.debug_check_bounds::<WmmParameter>(offset);
13174 self.0.encode(encoder, offset + 0, depth)?;
13178 Ok(())
13179 }
13180 }
13181
13182 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
13183 #[inline(always)]
13184 fn new_empty() -> Self {
13185 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
13186 }
13187
13188 #[inline]
13189 unsafe fn decode(
13190 &mut self,
13191 decoder: &mut fidl::encoding::Decoder<'_, D>,
13192 offset: usize,
13193 _depth: fidl::encoding::Depth,
13194 ) -> fidl::Result<()> {
13195 decoder.debug_check_bounds::<Self>(offset);
13196 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
13197 unsafe {
13200 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
13201 }
13202 Ok(())
13203 }
13204 }
13205
13206 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
13207 type Borrowed<'a> = &'a Self;
13208 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13209 value
13210 }
13211 }
13212
13213 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
13214 type Owned = Self;
13215
13216 #[inline(always)]
13217 fn inline_align(_context: fidl::encoding::Context) -> usize {
13218 8
13219 }
13220
13221 #[inline(always)]
13222 fn inline_size(_context: fidl::encoding::Context) -> usize {
13223 16
13224 }
13225 }
13226
13227 unsafe impl<D: fidl::encoding::ResourceDialect>
13228 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
13229 for &GetIfaceHistogramStatsResponse
13230 {
13231 #[inline]
13232 unsafe fn encode(
13233 self,
13234 encoder: &mut fidl::encoding::Encoder<'_, D>,
13235 offset: usize,
13236 _depth: fidl::encoding::Depth,
13237 ) -> fidl::Result<()> {
13238 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
13239 encoder.write_num::<u64>(self.ordinal(), offset);
13240 match self {
13241 GetIfaceHistogramStatsResponse::Stats(ref val) => {
13242 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D>(
13243 <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13244 encoder, offset + 8, _depth
13245 )
13246 }
13247 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
13248 fidl::encoding::encode_in_envelope::<i32, D>(
13249 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13250 encoder, offset + 8, _depth
13251 )
13252 }
13253 }
13254 }
13255 }
13256
13257 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
13258 for GetIfaceHistogramStatsResponse
13259 {
13260 #[inline(always)]
13261 fn new_empty() -> Self {
13262 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D))
13263 }
13264
13265 #[inline]
13266 unsafe fn decode(
13267 &mut self,
13268 decoder: &mut fidl::encoding::Decoder<'_, D>,
13269 offset: usize,
13270 mut depth: fidl::encoding::Depth,
13271 ) -> fidl::Result<()> {
13272 decoder.debug_check_bounds::<Self>(offset);
13273 #[allow(unused_variables)]
13274 let next_out_of_line = decoder.next_out_of_line();
13275 let handles_before = decoder.remaining_handles();
13276 let (ordinal, inlined, num_bytes, num_handles) =
13277 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13278
13279 let member_inline_size = match ordinal {
13280 1 => <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13281 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13282 _ => return Err(fidl::Error::UnknownUnionTag),
13283 };
13284
13285 if inlined != (member_inline_size <= 4) {
13286 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13287 }
13288 let _inner_offset;
13289 if inlined {
13290 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13291 _inner_offset = offset + 8;
13292 } else {
13293 depth.increment()?;
13294 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13295 }
13296 match ordinal {
13297 1 => {
13298 #[allow(irrefutable_let_patterns)]
13299 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
13300 } else {
13302 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
13304 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13305 D
13306 ));
13307 }
13308 #[allow(irrefutable_let_patterns)]
13309 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
13310 fidl::decode!(
13311 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13312 D,
13313 val,
13314 decoder,
13315 _inner_offset,
13316 depth
13317 )?;
13318 } else {
13319 unreachable!()
13320 }
13321 }
13322 2 => {
13323 #[allow(irrefutable_let_patterns)]
13324 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
13325 } else {
13327 *self =
13329 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13330 }
13331 #[allow(irrefutable_let_patterns)]
13332 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
13333 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13334 } else {
13335 unreachable!()
13336 }
13337 }
13338 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13339 }
13340 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13341 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13342 }
13343 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13344 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13345 }
13346 Ok(())
13347 }
13348 }
13349
13350 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
13351 type Borrowed<'a> = &'a Self;
13352 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13353 value
13354 }
13355 }
13356
13357 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
13358 type Owned = Self;
13359
13360 #[inline(always)]
13361 fn inline_align(_context: fidl::encoding::Context) -> usize {
13362 8
13363 }
13364
13365 #[inline(always)]
13366 fn inline_size(_context: fidl::encoding::Context) -> usize {
13367 16
13368 }
13369 }
13370
13371 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
13372 for &GetIfaceStatsResponse
13373 {
13374 #[inline]
13375 unsafe fn encode(
13376 self,
13377 encoder: &mut fidl::encoding::Encoder<'_, D>,
13378 offset: usize,
13379 _depth: fidl::encoding::Depth,
13380 ) -> fidl::Result<()> {
13381 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
13382 encoder.write_num::<u64>(self.ordinal(), offset);
13383 match self {
13384 GetIfaceStatsResponse::Stats(ref val) => {
13385 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceStats, D>(
13386 <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13387 encoder, offset + 8, _depth
13388 )
13389 }
13390 GetIfaceStatsResponse::ErrorStatus(ref val) => {
13391 fidl::encoding::encode_in_envelope::<i32, D>(
13392 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13393 encoder, offset + 8, _depth
13394 )
13395 }
13396 }
13397 }
13398 }
13399
13400 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
13401 #[inline(always)]
13402 fn new_empty() -> Self {
13403 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceStats, D))
13404 }
13405
13406 #[inline]
13407 unsafe fn decode(
13408 &mut self,
13409 decoder: &mut fidl::encoding::Decoder<'_, D>,
13410 offset: usize,
13411 mut depth: fidl::encoding::Depth,
13412 ) -> fidl::Result<()> {
13413 decoder.debug_check_bounds::<Self>(offset);
13414 #[allow(unused_variables)]
13415 let next_out_of_line = decoder.next_out_of_line();
13416 let handles_before = decoder.remaining_handles();
13417 let (ordinal, inlined, num_bytes, num_handles) =
13418 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13419
13420 let member_inline_size = match ordinal {
13421 1 => <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13422 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13423 _ => return Err(fidl::Error::UnknownUnionTag),
13424 };
13425
13426 if inlined != (member_inline_size <= 4) {
13427 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13428 }
13429 let _inner_offset;
13430 if inlined {
13431 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13432 _inner_offset = offset + 8;
13433 } else {
13434 depth.increment()?;
13435 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13436 }
13437 match ordinal {
13438 1 => {
13439 #[allow(irrefutable_let_patterns)]
13440 if let GetIfaceStatsResponse::Stats(_) = self {
13441 } else {
13443 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
13445 fidl_fuchsia_wlan_stats_common::IfaceStats,
13446 D
13447 ));
13448 }
13449 #[allow(irrefutable_let_patterns)]
13450 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
13451 fidl::decode!(
13452 fidl_fuchsia_wlan_stats_common::IfaceStats,
13453 D,
13454 val,
13455 decoder,
13456 _inner_offset,
13457 depth
13458 )?;
13459 } else {
13460 unreachable!()
13461 }
13462 }
13463 2 => {
13464 #[allow(irrefutable_let_patterns)]
13465 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
13466 } else {
13468 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13470 }
13471 #[allow(irrefutable_let_patterns)]
13472 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
13473 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13474 } else {
13475 unreachable!()
13476 }
13477 }
13478 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13479 }
13480 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13481 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13482 }
13483 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13484 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13485 }
13486 Ok(())
13487 }
13488 }
13489}