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 primary_channels: Vec<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber>,
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, PartialEq)]
975pub struct MlmeStartReqRequest {
976 pub req: StartRequest,
977}
978
979impl fidl::Persistable for MlmeStartReqRequest {}
980
981#[derive(Clone, Debug, PartialEq)]
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 primary: fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
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, PartialEq)]
1155pub struct ScanRequest {
1156 pub txn_id: u64,
1157 pub scan_type: ScanTypes,
1158 pub channel_list: Vec<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber>,
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, PartialEq)]
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 primary: fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
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 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<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.primary_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<
2699 fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>,
2700 D,
2701 >,
2702 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2703 {
2704 #[inline]
2705 unsafe fn encode(
2706 self,
2707 encoder: &mut fidl::encoding::Encoder<'_, D>,
2708 offset: usize,
2709 depth: fidl::encoding::Depth,
2710 ) -> fidl::Result<()> {
2711 encoder.debug_check_bounds::<BandCapability>(offset);
2712 unsafe {
2715 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2716 (ptr as *mut u64).write_unaligned(0);
2717 }
2718 self.0.encode(encoder, offset + 0, depth)?;
2720 self.1.encode(encoder, offset + 8, depth)?;
2721 self.2.encode(encoder, offset + 24, depth)?;
2722 self.3.encode(encoder, offset + 32, depth)?;
2723 self.4.encode(encoder, offset + 40, depth)?;
2724 Ok(())
2725 }
2726 }
2727
2728 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2729 #[inline(always)]
2730 fn new_empty() -> Self {
2731 Self {
2732 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanBand, D),
2733 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2734 ht_cap: fidl::new_empty!(
2735 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2736 D
2737 ),
2738 vht_cap: fidl::new_empty!(
2739 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2740 D
2741 ),
2742 primary_channels: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D),
2743 }
2744 }
2745
2746 #[inline]
2747 unsafe fn decode(
2748 &mut self,
2749 decoder: &mut fidl::encoding::Decoder<'_, D>,
2750 offset: usize,
2751 _depth: fidl::encoding::Depth,
2752 ) -> fidl::Result<()> {
2753 decoder.debug_check_bounds::<Self>(offset);
2754 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2756 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2757 let mask = 0xffffffffffffff00u64;
2758 let maskedval = padval & mask;
2759 if maskedval != 0 {
2760 return Err(fidl::Error::NonZeroPadding {
2761 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2762 });
2763 }
2764 fidl::decode!(
2765 fidl_fuchsia_wlan_ieee80211_common::WlanBand,
2766 D,
2767 &mut self.band,
2768 decoder,
2769 offset + 0,
2770 _depth
2771 )?;
2772 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2773 fidl::decode!(
2774 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2775 D,
2776 &mut self.ht_cap,
2777 decoder,
2778 offset + 24,
2779 _depth
2780 )?;
2781 fidl::decode!(
2782 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2783 D,
2784 &mut self.vht_cap,
2785 decoder,
2786 offset + 32,
2787 _depth
2788 )?;
2789 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D, &mut self.primary_channels, decoder, offset + 40, _depth)?;
2790 Ok(())
2791 }
2792 }
2793
2794 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2795 type Borrowed<'a> = &'a Self;
2796 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2797 value
2798 }
2799 }
2800
2801 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2802 type Owned = Self;
2803
2804 #[inline(always)]
2805 fn inline_align(_context: fidl::encoding::Context) -> usize {
2806 8
2807 }
2808
2809 #[inline(always)]
2810 fn inline_size(_context: fidl::encoding::Context) -> usize {
2811 16
2812 }
2813 }
2814
2815 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2816 for &CapturedFrameResult
2817 {
2818 #[inline]
2819 unsafe fn encode(
2820 self,
2821 encoder: &mut fidl::encoding::Encoder<'_, D>,
2822 offset: usize,
2823 _depth: fidl::encoding::Depth,
2824 ) -> fidl::Result<()> {
2825 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2826 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2828 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2829 &self.frame,
2830 ),),
2831 encoder,
2832 offset,
2833 _depth,
2834 )
2835 }
2836 }
2837 unsafe impl<
2838 D: fidl::encoding::ResourceDialect,
2839 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2840 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2841 {
2842 #[inline]
2843 unsafe fn encode(
2844 self,
2845 encoder: &mut fidl::encoding::Encoder<'_, D>,
2846 offset: usize,
2847 depth: fidl::encoding::Depth,
2848 ) -> fidl::Result<()> {
2849 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2850 self.0.encode(encoder, offset + 0, depth)?;
2854 Ok(())
2855 }
2856 }
2857
2858 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2859 #[inline(always)]
2860 fn new_empty() -> Self {
2861 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2862 }
2863
2864 #[inline]
2865 unsafe fn decode(
2866 &mut self,
2867 decoder: &mut fidl::encoding::Decoder<'_, D>,
2868 offset: usize,
2869 _depth: fidl::encoding::Depth,
2870 ) -> fidl::Result<()> {
2871 decoder.debug_check_bounds::<Self>(offset);
2872 fidl::decode!(
2874 fidl::encoding::UnboundedVector<u8>,
2875 D,
2876 &mut self.frame,
2877 decoder,
2878 offset + 0,
2879 _depth
2880 )?;
2881 Ok(())
2882 }
2883 }
2884
2885 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2886 type Borrowed<'a> = &'a Self;
2887 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2888 value
2889 }
2890 }
2891
2892 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2893 type Owned = Self;
2894
2895 #[inline(always)]
2896 fn inline_align(_context: fidl::encoding::Context) -> usize {
2897 8
2898 }
2899
2900 #[inline(always)]
2901 fn inline_size(_context: fidl::encoding::Context) -> usize {
2902 32
2903 }
2904 }
2905
2906 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2907 for &ConnectConfirm
2908 {
2909 #[inline]
2910 unsafe fn encode(
2911 self,
2912 encoder: &mut fidl::encoding::Encoder<'_, D>,
2913 offset: usize,
2914 _depth: fidl::encoding::Depth,
2915 ) -> fidl::Result<()> {
2916 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2917 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2919 (
2920 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2921 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2922 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2923 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2924 ),
2925 encoder, offset, _depth
2926 )
2927 }
2928 }
2929 unsafe impl<
2930 D: fidl::encoding::ResourceDialect,
2931 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2932 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
2933 T2: fidl::encoding::Encode<u16, D>,
2934 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2935 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2936 {
2937 #[inline]
2938 unsafe fn encode(
2939 self,
2940 encoder: &mut fidl::encoding::Encoder<'_, D>,
2941 offset: usize,
2942 depth: fidl::encoding::Depth,
2943 ) -> fidl::Result<()> {
2944 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2945 unsafe {
2948 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2949 (ptr as *mut u64).write_unaligned(0);
2950 }
2951 self.0.encode(encoder, offset + 0, depth)?;
2953 self.1.encode(encoder, offset + 6, depth)?;
2954 self.2.encode(encoder, offset + 8, depth)?;
2955 self.3.encode(encoder, offset + 16, depth)?;
2956 Ok(())
2957 }
2958 }
2959
2960 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2961 #[inline(always)]
2962 fn new_empty() -> Self {
2963 Self {
2964 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2965 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
2966 association_id: fidl::new_empty!(u16, D),
2967 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2968 }
2969 }
2970
2971 #[inline]
2972 unsafe fn decode(
2973 &mut self,
2974 decoder: &mut fidl::encoding::Decoder<'_, D>,
2975 offset: usize,
2976 _depth: fidl::encoding::Depth,
2977 ) -> fidl::Result<()> {
2978 decoder.debug_check_bounds::<Self>(offset);
2979 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2981 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2982 let mask = 0xffffffffffff0000u64;
2983 let maskedval = padval & mask;
2984 if maskedval != 0 {
2985 return Err(fidl::Error::NonZeroPadding {
2986 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2987 });
2988 }
2989 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2990 fidl::decode!(
2991 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
2992 D,
2993 &mut self.result_code,
2994 decoder,
2995 offset + 6,
2996 _depth
2997 )?;
2998 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2999 fidl::decode!(
3000 fidl::encoding::UnboundedVector<u8>,
3001 D,
3002 &mut self.association_ies,
3003 decoder,
3004 offset + 16,
3005 _depth
3006 )?;
3007 Ok(())
3008 }
3009 }
3010
3011 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
3012 type Borrowed<'a> = &'a Self;
3013 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3014 value
3015 }
3016 }
3017
3018 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
3019 type Owned = Self;
3020
3021 #[inline(always)]
3022 fn inline_align(_context: fidl::encoding::Context) -> usize {
3023 8
3024 }
3025
3026 #[inline(always)]
3027 fn inline_size(_context: fidl::encoding::Context) -> usize {
3028 104
3029 }
3030 }
3031
3032 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
3033 for &ConnectRequest
3034 {
3035 #[inline]
3036 unsafe fn encode(
3037 self,
3038 encoder: &mut fidl::encoding::Encoder<'_, D>,
3039 offset: usize,
3040 _depth: fidl::encoding::Depth,
3041 ) -> fidl::Result<()> {
3042 encoder.debug_check_bounds::<ConnectRequest>(offset);
3043 fidl::encoding::Encode::<ConnectRequest, D>::encode(
3045 (
3046 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
3047 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
3048 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
3049 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
3050 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
3051 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
3052 <fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey> as fidl::encoding::ValueTypeMarker>::borrow(&self.owe_public_key),
3053 ),
3054 encoder, offset, _depth
3055 )
3056 }
3057 }
3058 unsafe impl<
3059 D: fidl::encoding::ResourceDialect,
3060 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
3061 T1: fidl::encoding::Encode<u32, D>,
3062 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
3063 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
3064 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
3065 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
3066 T6: fidl::encoding::Encode<
3067 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3068 D,
3069 >,
3070 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
3071 {
3072 #[inline]
3073 unsafe fn encode(
3074 self,
3075 encoder: &mut fidl::encoding::Encoder<'_, D>,
3076 offset: usize,
3077 depth: fidl::encoding::Depth,
3078 ) -> fidl::Result<()> {
3079 encoder.debug_check_bounds::<ConnectRequest>(offset);
3080 self.0.encode(encoder, offset + 0, depth)?;
3084 self.1.encode(encoder, offset + 48, depth)?;
3085 self.2.encode(encoder, offset + 52, depth)?;
3086 self.3.encode(encoder, offset + 56, depth)?;
3087 self.4.encode(encoder, offset + 72, depth)?;
3088 self.5.encode(encoder, offset + 80, depth)?;
3089 self.6.encode(encoder, offset + 96, depth)?;
3090 Ok(())
3091 }
3092 }
3093
3094 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
3095 #[inline(always)]
3096 fn new_empty() -> Self {
3097 Self {
3098 selected_bss: fidl::new_empty!(
3099 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3100 D
3101 ),
3102 connect_failure_timeout: fidl::new_empty!(u32, D),
3103 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3104 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3105 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3106 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3107 owe_public_key: fidl::new_empty!(
3108 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3109 D
3110 ),
3111 }
3112 }
3113
3114 #[inline]
3115 unsafe fn decode(
3116 &mut self,
3117 decoder: &mut fidl::encoding::Decoder<'_, D>,
3118 offset: usize,
3119 _depth: fidl::encoding::Depth,
3120 ) -> fidl::Result<()> {
3121 decoder.debug_check_bounds::<Self>(offset);
3122 fidl::decode!(
3124 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3125 D,
3126 &mut self.selected_bss,
3127 decoder,
3128 offset + 0,
3129 _depth
3130 )?;
3131 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3132 fidl::decode!(
3133 AuthenticationTypes,
3134 D,
3135 &mut self.auth_type,
3136 decoder,
3137 offset + 52,
3138 _depth
3139 )?;
3140 fidl::decode!(
3141 fidl::encoding::UnboundedVector<u8>,
3142 D,
3143 &mut self.sae_password,
3144 decoder,
3145 offset + 56,
3146 _depth
3147 )?;
3148 fidl::decode!(
3149 fidl::encoding::Boxed<SetKeyDescriptor>,
3150 D,
3151 &mut self.wep_key,
3152 decoder,
3153 offset + 72,
3154 _depth
3155 )?;
3156 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3157 fidl::decode!(
3158 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3159 D,
3160 &mut self.owe_public_key,
3161 decoder,
3162 offset + 96,
3163 _depth
3164 )?;
3165 Ok(())
3166 }
3167 }
3168
3169 impl fidl::encoding::ValueTypeMarker for Country {
3170 type Borrowed<'a> = &'a Self;
3171 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3172 value
3173 }
3174 }
3175
3176 unsafe impl fidl::encoding::TypeMarker for Country {
3177 type Owned = Self;
3178
3179 #[inline(always)]
3180 fn inline_align(_context: fidl::encoding::Context) -> usize {
3181 1
3182 }
3183
3184 #[inline(always)]
3185 fn inline_size(_context: fidl::encoding::Context) -> usize {
3186 3
3187 }
3188 #[inline(always)]
3189 fn encode_is_copy() -> bool {
3190 true
3191 }
3192
3193 #[inline(always)]
3194 fn decode_is_copy() -> bool {
3195 true
3196 }
3197 }
3198
3199 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3200 #[inline]
3201 unsafe fn encode(
3202 self,
3203 encoder: &mut fidl::encoding::Encoder<'_, D>,
3204 offset: usize,
3205 _depth: fidl::encoding::Depth,
3206 ) -> fidl::Result<()> {
3207 encoder.debug_check_bounds::<Country>(offset);
3208 unsafe {
3209 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3211 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3212 }
3215 Ok(())
3216 }
3217 }
3218 unsafe impl<
3219 D: fidl::encoding::ResourceDialect,
3220 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3221 T1: fidl::encoding::Encode<u8, D>,
3222 > fidl::encoding::Encode<Country, D> for (T0, T1)
3223 {
3224 #[inline]
3225 unsafe fn encode(
3226 self,
3227 encoder: &mut fidl::encoding::Encoder<'_, D>,
3228 offset: usize,
3229 depth: fidl::encoding::Depth,
3230 ) -> fidl::Result<()> {
3231 encoder.debug_check_bounds::<Country>(offset);
3232 self.0.encode(encoder, offset + 0, depth)?;
3236 self.1.encode(encoder, offset + 2, depth)?;
3237 Ok(())
3238 }
3239 }
3240
3241 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3242 #[inline(always)]
3243 fn new_empty() -> Self {
3244 Self {
3245 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3246 suffix: fidl::new_empty!(u8, D),
3247 }
3248 }
3249
3250 #[inline]
3251 unsafe fn decode(
3252 &mut self,
3253 decoder: &mut fidl::encoding::Decoder<'_, D>,
3254 offset: usize,
3255 _depth: fidl::encoding::Depth,
3256 ) -> fidl::Result<()> {
3257 decoder.debug_check_bounds::<Self>(offset);
3258 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3259 unsafe {
3262 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3263 }
3264 Ok(())
3265 }
3266 }
3267
3268 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3269 type Borrowed<'a> = &'a Self;
3270 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3271 value
3272 }
3273 }
3274
3275 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3276 type Owned = Self;
3277
3278 #[inline(always)]
3279 fn inline_align(_context: fidl::encoding::Context) -> usize {
3280 1
3281 }
3282
3283 #[inline(always)]
3284 fn inline_size(_context: fidl::encoding::Context) -> usize {
3285 6
3286 }
3287 #[inline(always)]
3288 fn encode_is_copy() -> bool {
3289 true
3290 }
3291
3292 #[inline(always)]
3293 fn decode_is_copy() -> bool {
3294 true
3295 }
3296 }
3297
3298 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3299 for &DeauthenticateConfirm
3300 {
3301 #[inline]
3302 unsafe fn encode(
3303 self,
3304 encoder: &mut fidl::encoding::Encoder<'_, D>,
3305 offset: usize,
3306 _depth: fidl::encoding::Depth,
3307 ) -> fidl::Result<()> {
3308 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3309 unsafe {
3310 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3312 (buf_ptr as *mut DeauthenticateConfirm)
3313 .write_unaligned((self as *const DeauthenticateConfirm).read());
3314 }
3317 Ok(())
3318 }
3319 }
3320 unsafe impl<
3321 D: fidl::encoding::ResourceDialect,
3322 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3323 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3324 {
3325 #[inline]
3326 unsafe fn encode(
3327 self,
3328 encoder: &mut fidl::encoding::Encoder<'_, D>,
3329 offset: usize,
3330 depth: fidl::encoding::Depth,
3331 ) -> fidl::Result<()> {
3332 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3333 self.0.encode(encoder, offset + 0, depth)?;
3337 Ok(())
3338 }
3339 }
3340
3341 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3342 #[inline(always)]
3343 fn new_empty() -> Self {
3344 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3345 }
3346
3347 #[inline]
3348 unsafe fn decode(
3349 &mut self,
3350 decoder: &mut fidl::encoding::Decoder<'_, D>,
3351 offset: usize,
3352 _depth: fidl::encoding::Depth,
3353 ) -> fidl::Result<()> {
3354 decoder.debug_check_bounds::<Self>(offset);
3355 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3356 unsafe {
3359 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3360 }
3361 Ok(())
3362 }
3363 }
3364
3365 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3366 type Borrowed<'a> = &'a Self;
3367 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3368 value
3369 }
3370 }
3371
3372 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3373 type Owned = Self;
3374
3375 #[inline(always)]
3376 fn inline_align(_context: fidl::encoding::Context) -> usize {
3377 2
3378 }
3379
3380 #[inline(always)]
3381 fn inline_size(_context: fidl::encoding::Context) -> usize {
3382 10
3383 }
3384 }
3385
3386 unsafe impl<D: fidl::encoding::ResourceDialect>
3387 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3388 {
3389 #[inline]
3390 unsafe fn encode(
3391 self,
3392 encoder: &mut fidl::encoding::Encoder<'_, D>,
3393 offset: usize,
3394 _depth: fidl::encoding::Depth,
3395 ) -> fidl::Result<()> {
3396 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3397 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3399 (
3400 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3401 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3402 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3403 ),
3404 encoder, offset, _depth
3405 )
3406 }
3407 }
3408 unsafe impl<
3409 D: fidl::encoding::ResourceDialect,
3410 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3411 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3412 T2: fidl::encoding::Encode<bool, D>,
3413 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3414 {
3415 #[inline]
3416 unsafe fn encode(
3417 self,
3418 encoder: &mut fidl::encoding::Encoder<'_, D>,
3419 offset: usize,
3420 depth: fidl::encoding::Depth,
3421 ) -> fidl::Result<()> {
3422 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3423 unsafe {
3426 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3427 (ptr as *mut u16).write_unaligned(0);
3428 }
3429 self.0.encode(encoder, offset + 0, depth)?;
3431 self.1.encode(encoder, offset + 6, depth)?;
3432 self.2.encode(encoder, offset + 8, depth)?;
3433 Ok(())
3434 }
3435 }
3436
3437 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3438 for DeauthenticateIndication
3439 {
3440 #[inline(always)]
3441 fn new_empty() -> Self {
3442 Self {
3443 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3444 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3445 locally_initiated: fidl::new_empty!(bool, D),
3446 }
3447 }
3448
3449 #[inline]
3450 unsafe fn decode(
3451 &mut self,
3452 decoder: &mut fidl::encoding::Decoder<'_, D>,
3453 offset: usize,
3454 _depth: fidl::encoding::Depth,
3455 ) -> fidl::Result<()> {
3456 decoder.debug_check_bounds::<Self>(offset);
3457 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3459 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3460 let mask = 0xff00u16;
3461 let maskedval = padval & mask;
3462 if maskedval != 0 {
3463 return Err(fidl::Error::NonZeroPadding {
3464 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3465 });
3466 }
3467 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3468 fidl::decode!(
3469 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3470 D,
3471 &mut self.reason_code,
3472 decoder,
3473 offset + 6,
3474 _depth
3475 )?;
3476 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3477 Ok(())
3478 }
3479 }
3480
3481 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3482 type Borrowed<'a> = &'a Self;
3483 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3484 value
3485 }
3486 }
3487
3488 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3489 type Owned = Self;
3490
3491 #[inline(always)]
3492 fn inline_align(_context: fidl::encoding::Context) -> usize {
3493 2
3494 }
3495
3496 #[inline(always)]
3497 fn inline_size(_context: fidl::encoding::Context) -> usize {
3498 8
3499 }
3500 }
3501
3502 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3503 for &DeauthenticateRequest
3504 {
3505 #[inline]
3506 unsafe fn encode(
3507 self,
3508 encoder: &mut fidl::encoding::Encoder<'_, D>,
3509 offset: usize,
3510 _depth: fidl::encoding::Depth,
3511 ) -> fidl::Result<()> {
3512 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3513 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3515 (
3516 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3517 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3518 ),
3519 encoder, offset, _depth
3520 )
3521 }
3522 }
3523 unsafe impl<
3524 D: fidl::encoding::ResourceDialect,
3525 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3526 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3527 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3528 {
3529 #[inline]
3530 unsafe fn encode(
3531 self,
3532 encoder: &mut fidl::encoding::Encoder<'_, D>,
3533 offset: usize,
3534 depth: fidl::encoding::Depth,
3535 ) -> fidl::Result<()> {
3536 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3537 self.0.encode(encoder, offset + 0, depth)?;
3541 self.1.encode(encoder, offset + 6, depth)?;
3542 Ok(())
3543 }
3544 }
3545
3546 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3547 #[inline(always)]
3548 fn new_empty() -> Self {
3549 Self {
3550 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3551 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3552 }
3553 }
3554
3555 #[inline]
3556 unsafe fn decode(
3557 &mut self,
3558 decoder: &mut fidl::encoding::Decoder<'_, D>,
3559 offset: usize,
3560 _depth: fidl::encoding::Depth,
3561 ) -> fidl::Result<()> {
3562 decoder.debug_check_bounds::<Self>(offset);
3563 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3565 fidl::decode!(
3566 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3567 D,
3568 &mut self.reason_code,
3569 decoder,
3570 offset + 6,
3571 _depth
3572 )?;
3573 Ok(())
3574 }
3575 }
3576
3577 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3578 type Borrowed<'a> = &'a Self;
3579 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3580 value
3581 }
3582 }
3583
3584 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3585 type Owned = Self;
3586
3587 #[inline(always)]
3588 fn inline_align(_context: fidl::encoding::Context) -> usize {
3589 4
3590 }
3591
3592 #[inline(always)]
3593 fn inline_size(_context: fidl::encoding::Context) -> usize {
3594 16
3595 }
3596 }
3597
3598 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3599 for &DeleteKeyDescriptor
3600 {
3601 #[inline]
3602 unsafe fn encode(
3603 self,
3604 encoder: &mut fidl::encoding::Encoder<'_, D>,
3605 offset: usize,
3606 _depth: fidl::encoding::Depth,
3607 ) -> fidl::Result<()> {
3608 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3609 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3611 (
3612 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3613 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3614 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3615 &self.address,
3616 ),
3617 ),
3618 encoder,
3619 offset,
3620 _depth,
3621 )
3622 }
3623 }
3624 unsafe impl<
3625 D: fidl::encoding::ResourceDialect,
3626 T0: fidl::encoding::Encode<u16, D>,
3627 T1: fidl::encoding::Encode<KeyType, D>,
3628 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3629 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3630 {
3631 #[inline]
3632 unsafe fn encode(
3633 self,
3634 encoder: &mut fidl::encoding::Encoder<'_, D>,
3635 offset: usize,
3636 depth: fidl::encoding::Depth,
3637 ) -> fidl::Result<()> {
3638 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3639 unsafe {
3642 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3643 (ptr as *mut u32).write_unaligned(0);
3644 }
3645 unsafe {
3646 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3647 (ptr as *mut u32).write_unaligned(0);
3648 }
3649 self.0.encode(encoder, offset + 0, depth)?;
3651 self.1.encode(encoder, offset + 4, depth)?;
3652 self.2.encode(encoder, offset + 8, depth)?;
3653 Ok(())
3654 }
3655 }
3656
3657 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3658 #[inline(always)]
3659 fn new_empty() -> Self {
3660 Self {
3661 key_id: fidl::new_empty!(u16, D),
3662 key_type: fidl::new_empty!(KeyType, D),
3663 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3664 }
3665 }
3666
3667 #[inline]
3668 unsafe fn decode(
3669 &mut self,
3670 decoder: &mut fidl::encoding::Decoder<'_, D>,
3671 offset: usize,
3672 _depth: fidl::encoding::Depth,
3673 ) -> fidl::Result<()> {
3674 decoder.debug_check_bounds::<Self>(offset);
3675 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3677 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3678 let mask = 0xffff0000u32;
3679 let maskedval = padval & mask;
3680 if maskedval != 0 {
3681 return Err(fidl::Error::NonZeroPadding {
3682 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3683 });
3684 }
3685 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3686 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3687 let mask = 0xffff0000u32;
3688 let maskedval = padval & mask;
3689 if maskedval != 0 {
3690 return Err(fidl::Error::NonZeroPadding {
3691 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3692 });
3693 }
3694 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3695 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3696 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3697 Ok(())
3698 }
3699 }
3700
3701 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3702 type Borrowed<'a> = &'a Self;
3703 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3704 value
3705 }
3706 }
3707
3708 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3709 type Owned = Self;
3710
3711 #[inline(always)]
3712 fn inline_align(_context: fidl::encoding::Context) -> usize {
3713 8
3714 }
3715
3716 #[inline(always)]
3717 fn inline_size(_context: fidl::encoding::Context) -> usize {
3718 16
3719 }
3720 }
3721
3722 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3723 for &DeleteKeysRequest
3724 {
3725 #[inline]
3726 unsafe fn encode(
3727 self,
3728 encoder: &mut fidl::encoding::Encoder<'_, D>,
3729 offset: usize,
3730 _depth: fidl::encoding::Depth,
3731 ) -> fidl::Result<()> {
3732 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3733 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3735 (
3736 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3737 ),
3738 encoder, offset, _depth
3739 )
3740 }
3741 }
3742 unsafe impl<
3743 D: fidl::encoding::ResourceDialect,
3744 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3745 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3746 {
3747 #[inline]
3748 unsafe fn encode(
3749 self,
3750 encoder: &mut fidl::encoding::Encoder<'_, D>,
3751 offset: usize,
3752 depth: fidl::encoding::Depth,
3753 ) -> fidl::Result<()> {
3754 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3755 self.0.encode(encoder, offset + 0, depth)?;
3759 Ok(())
3760 }
3761 }
3762
3763 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3764 #[inline(always)]
3765 fn new_empty() -> Self {
3766 Self {
3767 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3768 }
3769 }
3770
3771 #[inline]
3772 unsafe fn decode(
3773 &mut self,
3774 decoder: &mut fidl::encoding::Decoder<'_, D>,
3775 offset: usize,
3776 _depth: fidl::encoding::Depth,
3777 ) -> fidl::Result<()> {
3778 decoder.debug_check_bounds::<Self>(offset);
3779 fidl::decode!(
3781 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3782 D,
3783 &mut self.keylist,
3784 decoder,
3785 offset + 0,
3786 _depth
3787 )?;
3788 Ok(())
3789 }
3790 }
3791
3792 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3793 type Borrowed<'a> = &'a Self;
3794 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3795 value
3796 }
3797 }
3798
3799 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3800 type Owned = Self;
3801
3802 #[inline(always)]
3803 fn inline_align(_context: fidl::encoding::Context) -> usize {
3804 8
3805 }
3806
3807 #[inline(always)]
3808 fn inline_size(_context: fidl::encoding::Context) -> usize {
3809 40
3810 }
3811 }
3812
3813 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3814 for &DeviceInfo
3815 {
3816 #[inline]
3817 unsafe fn encode(
3818 self,
3819 encoder: &mut fidl::encoding::Encoder<'_, D>,
3820 offset: usize,
3821 _depth: fidl::encoding::Depth,
3822 ) -> fidl::Result<()> {
3823 encoder.debug_check_bounds::<DeviceInfo>(offset);
3824 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3826 (
3827 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3828 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.factory_addr),
3829 <fidl_fuchsia_wlan_common_common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3830 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3831 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3832 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3833 ),
3834 encoder, offset, _depth
3835 )
3836 }
3837 }
3838 unsafe impl<
3839 D: fidl::encoding::ResourceDialect,
3840 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3841 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3842 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::WlanMacRole, D>,
3843 T3: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3844 T4: fidl::encoding::Encode<u32, D>,
3845 T5: fidl::encoding::Encode<bool, D>,
3846 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4, T5)
3847 {
3848 #[inline]
3849 unsafe fn encode(
3850 self,
3851 encoder: &mut fidl::encoding::Encoder<'_, D>,
3852 offset: usize,
3853 depth: fidl::encoding::Depth,
3854 ) -> fidl::Result<()> {
3855 encoder.debug_check_bounds::<DeviceInfo>(offset);
3856 unsafe {
3859 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3860 (ptr as *mut u64).write_unaligned(0);
3861 }
3862 self.0.encode(encoder, offset + 0, depth)?;
3864 self.1.encode(encoder, offset + 6, depth)?;
3865 self.2.encode(encoder, offset + 12, depth)?;
3866 self.3.encode(encoder, offset + 16, depth)?;
3867 self.4.encode(encoder, offset + 32, depth)?;
3868 self.5.encode(encoder, offset + 36, depth)?;
3869 Ok(())
3870 }
3871 }
3872
3873 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3874 #[inline(always)]
3875 fn new_empty() -> Self {
3876 Self {
3877 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3878 factory_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3879 role: fidl::new_empty!(fidl_fuchsia_wlan_common_common::WlanMacRole, D),
3880 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3881 softmac_hardware_capability: fidl::new_empty!(u32, D),
3882 qos_capable: fidl::new_empty!(bool, D),
3883 }
3884 }
3885
3886 #[inline]
3887 unsafe fn decode(
3888 &mut self,
3889 decoder: &mut fidl::encoding::Decoder<'_, D>,
3890 offset: usize,
3891 _depth: fidl::encoding::Depth,
3892 ) -> fidl::Result<()> {
3893 decoder.debug_check_bounds::<Self>(offset);
3894 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3896 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3897 let mask = 0xffffff0000000000u64;
3898 let maskedval = padval & mask;
3899 if maskedval != 0 {
3900 return Err(fidl::Error::NonZeroPadding {
3901 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3902 });
3903 }
3904 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3905 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.factory_addr, decoder, offset + 6, _depth)?;
3906 fidl::decode!(
3907 fidl_fuchsia_wlan_common_common::WlanMacRole,
3908 D,
3909 &mut self.role,
3910 decoder,
3911 offset + 12,
3912 _depth
3913 )?;
3914 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3915 fidl::decode!(
3916 u32,
3917 D,
3918 &mut self.softmac_hardware_capability,
3919 decoder,
3920 offset + 32,
3921 _depth
3922 )?;
3923 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3924 Ok(())
3925 }
3926 }
3927
3928 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3929 type Borrowed<'a> = &'a Self;
3930 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3931 value
3932 }
3933 }
3934
3935 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3936 type Owned = Self;
3937
3938 #[inline(always)]
3939 fn inline_align(_context: fidl::encoding::Context) -> usize {
3940 4
3941 }
3942
3943 #[inline(always)]
3944 fn inline_size(_context: fidl::encoding::Context) -> usize {
3945 4
3946 }
3947 #[inline(always)]
3948 fn encode_is_copy() -> bool {
3949 true
3950 }
3951
3952 #[inline(always)]
3953 fn decode_is_copy() -> bool {
3954 true
3955 }
3956 }
3957
3958 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3959 for &DisassociateConfirm
3960 {
3961 #[inline]
3962 unsafe fn encode(
3963 self,
3964 encoder: &mut fidl::encoding::Encoder<'_, D>,
3965 offset: usize,
3966 _depth: fidl::encoding::Depth,
3967 ) -> fidl::Result<()> {
3968 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3969 unsafe {
3970 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3972 (buf_ptr as *mut DisassociateConfirm)
3973 .write_unaligned((self as *const DisassociateConfirm).read());
3974 }
3977 Ok(())
3978 }
3979 }
3980 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3981 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3982 {
3983 #[inline]
3984 unsafe fn encode(
3985 self,
3986 encoder: &mut fidl::encoding::Encoder<'_, D>,
3987 offset: usize,
3988 depth: fidl::encoding::Depth,
3989 ) -> fidl::Result<()> {
3990 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3991 self.0.encode(encoder, offset + 0, depth)?;
3995 Ok(())
3996 }
3997 }
3998
3999 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
4000 #[inline(always)]
4001 fn new_empty() -> Self {
4002 Self { status: fidl::new_empty!(i32, D) }
4003 }
4004
4005 #[inline]
4006 unsafe fn decode(
4007 &mut self,
4008 decoder: &mut fidl::encoding::Decoder<'_, D>,
4009 offset: usize,
4010 _depth: fidl::encoding::Depth,
4011 ) -> fidl::Result<()> {
4012 decoder.debug_check_bounds::<Self>(offset);
4013 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4014 unsafe {
4017 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
4018 }
4019 Ok(())
4020 }
4021 }
4022
4023 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
4024 type Borrowed<'a> = &'a Self;
4025 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4026 value
4027 }
4028 }
4029
4030 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
4031 type Owned = Self;
4032
4033 #[inline(always)]
4034 fn inline_align(_context: fidl::encoding::Context) -> usize {
4035 2
4036 }
4037
4038 #[inline(always)]
4039 fn inline_size(_context: fidl::encoding::Context) -> usize {
4040 10
4041 }
4042 }
4043
4044 unsafe impl<D: fidl::encoding::ResourceDialect>
4045 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
4046 {
4047 #[inline]
4048 unsafe fn encode(
4049 self,
4050 encoder: &mut fidl::encoding::Encoder<'_, D>,
4051 offset: usize,
4052 _depth: fidl::encoding::Depth,
4053 ) -> fidl::Result<()> {
4054 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4055 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
4057 (
4058 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4059 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4060 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
4061 ),
4062 encoder, offset, _depth
4063 )
4064 }
4065 }
4066 unsafe impl<
4067 D: fidl::encoding::ResourceDialect,
4068 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4069 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4070 T2: fidl::encoding::Encode<bool, D>,
4071 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
4072 {
4073 #[inline]
4074 unsafe fn encode(
4075 self,
4076 encoder: &mut fidl::encoding::Encoder<'_, D>,
4077 offset: usize,
4078 depth: fidl::encoding::Depth,
4079 ) -> fidl::Result<()> {
4080 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4081 unsafe {
4084 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4085 (ptr as *mut u16).write_unaligned(0);
4086 }
4087 self.0.encode(encoder, offset + 0, depth)?;
4089 self.1.encode(encoder, offset + 6, depth)?;
4090 self.2.encode(encoder, offset + 8, depth)?;
4091 Ok(())
4092 }
4093 }
4094
4095 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4096 for DisassociateIndication
4097 {
4098 #[inline(always)]
4099 fn new_empty() -> Self {
4100 Self {
4101 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4102 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4103 locally_initiated: fidl::new_empty!(bool, D),
4104 }
4105 }
4106
4107 #[inline]
4108 unsafe fn decode(
4109 &mut self,
4110 decoder: &mut fidl::encoding::Decoder<'_, D>,
4111 offset: usize,
4112 _depth: fidl::encoding::Depth,
4113 ) -> fidl::Result<()> {
4114 decoder.debug_check_bounds::<Self>(offset);
4115 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4117 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4118 let mask = 0xff00u16;
4119 let maskedval = padval & mask;
4120 if maskedval != 0 {
4121 return Err(fidl::Error::NonZeroPadding {
4122 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4123 });
4124 }
4125 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4126 fidl::decode!(
4127 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4128 D,
4129 &mut self.reason_code,
4130 decoder,
4131 offset + 6,
4132 _depth
4133 )?;
4134 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4135 Ok(())
4136 }
4137 }
4138
4139 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4140 type Borrowed<'a> = &'a Self;
4141 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4142 value
4143 }
4144 }
4145
4146 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4147 type Owned = Self;
4148
4149 #[inline(always)]
4150 fn inline_align(_context: fidl::encoding::Context) -> usize {
4151 2
4152 }
4153
4154 #[inline(always)]
4155 fn inline_size(_context: fidl::encoding::Context) -> usize {
4156 8
4157 }
4158 }
4159
4160 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4161 for &DisassociateRequest
4162 {
4163 #[inline]
4164 unsafe fn encode(
4165 self,
4166 encoder: &mut fidl::encoding::Encoder<'_, D>,
4167 offset: usize,
4168 _depth: fidl::encoding::Depth,
4169 ) -> fidl::Result<()> {
4170 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4171 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4173 (
4174 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4175 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4176 ),
4177 encoder, offset, _depth
4178 )
4179 }
4180 }
4181 unsafe impl<
4182 D: fidl::encoding::ResourceDialect,
4183 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4184 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4185 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4186 {
4187 #[inline]
4188 unsafe fn encode(
4189 self,
4190 encoder: &mut fidl::encoding::Encoder<'_, D>,
4191 offset: usize,
4192 depth: fidl::encoding::Depth,
4193 ) -> fidl::Result<()> {
4194 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4195 self.0.encode(encoder, offset + 0, depth)?;
4199 self.1.encode(encoder, offset + 6, depth)?;
4200 Ok(())
4201 }
4202 }
4203
4204 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4205 #[inline(always)]
4206 fn new_empty() -> Self {
4207 Self {
4208 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4209 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4210 }
4211 }
4212
4213 #[inline]
4214 unsafe fn decode(
4215 &mut self,
4216 decoder: &mut fidl::encoding::Decoder<'_, D>,
4217 offset: usize,
4218 _depth: fidl::encoding::Depth,
4219 ) -> fidl::Result<()> {
4220 decoder.debug_check_bounds::<Self>(offset);
4221 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4223 fidl::decode!(
4224 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4225 D,
4226 &mut self.reason_code,
4227 decoder,
4228 offset + 6,
4229 _depth
4230 )?;
4231 Ok(())
4232 }
4233 }
4234
4235 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4236 type Borrowed<'a> = &'a Self;
4237 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4238 value
4239 }
4240 }
4241
4242 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4243 type Owned = Self;
4244
4245 #[inline(always)]
4246 fn inline_align(_context: fidl::encoding::Context) -> usize {
4247 4
4248 }
4249
4250 #[inline(always)]
4251 fn inline_size(_context: fidl::encoding::Context) -> usize {
4252 12
4253 }
4254 }
4255
4256 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4257 for &EapolConfirm
4258 {
4259 #[inline]
4260 unsafe fn encode(
4261 self,
4262 encoder: &mut fidl::encoding::Encoder<'_, D>,
4263 offset: usize,
4264 _depth: fidl::encoding::Depth,
4265 ) -> fidl::Result<()> {
4266 encoder.debug_check_bounds::<EapolConfirm>(offset);
4267 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4269 (
4270 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4271 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4272 &self.dst_addr,
4273 ),
4274 ),
4275 encoder,
4276 offset,
4277 _depth,
4278 )
4279 }
4280 }
4281 unsafe impl<
4282 D: fidl::encoding::ResourceDialect,
4283 T0: fidl::encoding::Encode<EapolResultCode, D>,
4284 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4285 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4286 {
4287 #[inline]
4288 unsafe fn encode(
4289 self,
4290 encoder: &mut fidl::encoding::Encoder<'_, D>,
4291 offset: usize,
4292 depth: fidl::encoding::Depth,
4293 ) -> fidl::Result<()> {
4294 encoder.debug_check_bounds::<EapolConfirm>(offset);
4295 unsafe {
4298 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4299 (ptr as *mut u32).write_unaligned(0);
4300 }
4301 self.0.encode(encoder, offset + 0, depth)?;
4303 self.1.encode(encoder, offset + 4, depth)?;
4304 Ok(())
4305 }
4306 }
4307
4308 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4309 #[inline(always)]
4310 fn new_empty() -> Self {
4311 Self {
4312 result_code: fidl::new_empty!(EapolResultCode, D),
4313 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4314 }
4315 }
4316
4317 #[inline]
4318 unsafe fn decode(
4319 &mut self,
4320 decoder: &mut fidl::encoding::Decoder<'_, D>,
4321 offset: usize,
4322 _depth: fidl::encoding::Depth,
4323 ) -> fidl::Result<()> {
4324 decoder.debug_check_bounds::<Self>(offset);
4325 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4327 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4328 let mask = 0xffff0000u32;
4329 let maskedval = padval & mask;
4330 if maskedval != 0 {
4331 return Err(fidl::Error::NonZeroPadding {
4332 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4333 });
4334 }
4335 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4336 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4337 Ok(())
4338 }
4339 }
4340
4341 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4342 type Borrowed<'a> = &'a Self;
4343 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4344 value
4345 }
4346 }
4347
4348 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4349 type Owned = Self;
4350
4351 #[inline(always)]
4352 fn inline_align(_context: fidl::encoding::Context) -> usize {
4353 8
4354 }
4355
4356 #[inline(always)]
4357 fn inline_size(_context: fidl::encoding::Context) -> usize {
4358 32
4359 }
4360 }
4361
4362 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4363 for &EapolIndication
4364 {
4365 #[inline]
4366 unsafe fn encode(
4367 self,
4368 encoder: &mut fidl::encoding::Encoder<'_, D>,
4369 offset: usize,
4370 _depth: fidl::encoding::Depth,
4371 ) -> fidl::Result<()> {
4372 encoder.debug_check_bounds::<EapolIndication>(offset);
4373 fidl::encoding::Encode::<EapolIndication, D>::encode(
4375 (
4376 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4377 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4378 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4379 ),
4380 encoder, offset, _depth
4381 )
4382 }
4383 }
4384 unsafe impl<
4385 D: fidl::encoding::ResourceDialect,
4386 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4387 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4388 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4389 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4390 {
4391 #[inline]
4392 unsafe fn encode(
4393 self,
4394 encoder: &mut fidl::encoding::Encoder<'_, D>,
4395 offset: usize,
4396 depth: fidl::encoding::Depth,
4397 ) -> fidl::Result<()> {
4398 encoder.debug_check_bounds::<EapolIndication>(offset);
4399 unsafe {
4402 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4403 (ptr as *mut u64).write_unaligned(0);
4404 }
4405 self.0.encode(encoder, offset + 0, depth)?;
4407 self.1.encode(encoder, offset + 6, depth)?;
4408 self.2.encode(encoder, offset + 16, depth)?;
4409 Ok(())
4410 }
4411 }
4412
4413 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4414 #[inline(always)]
4415 fn new_empty() -> Self {
4416 Self {
4417 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4418 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4419 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4420 }
4421 }
4422
4423 #[inline]
4424 unsafe fn decode(
4425 &mut self,
4426 decoder: &mut fidl::encoding::Decoder<'_, D>,
4427 offset: usize,
4428 _depth: fidl::encoding::Depth,
4429 ) -> fidl::Result<()> {
4430 decoder.debug_check_bounds::<Self>(offset);
4431 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4433 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4434 let mask = 0xffffffff00000000u64;
4435 let maskedval = padval & mask;
4436 if maskedval != 0 {
4437 return Err(fidl::Error::NonZeroPadding {
4438 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4439 });
4440 }
4441 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4442 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4443 fidl::decode!(
4444 fidl::encoding::UnboundedVector<u8>,
4445 D,
4446 &mut self.data,
4447 decoder,
4448 offset + 16,
4449 _depth
4450 )?;
4451 Ok(())
4452 }
4453 }
4454
4455 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4456 type Borrowed<'a> = &'a Self;
4457 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4458 value
4459 }
4460 }
4461
4462 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4463 type Owned = Self;
4464
4465 #[inline(always)]
4466 fn inline_align(_context: fidl::encoding::Context) -> usize {
4467 8
4468 }
4469
4470 #[inline(always)]
4471 fn inline_size(_context: fidl::encoding::Context) -> usize {
4472 32
4473 }
4474 }
4475
4476 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4477 for &EapolRequest
4478 {
4479 #[inline]
4480 unsafe fn encode(
4481 self,
4482 encoder: &mut fidl::encoding::Encoder<'_, D>,
4483 offset: usize,
4484 _depth: fidl::encoding::Depth,
4485 ) -> fidl::Result<()> {
4486 encoder.debug_check_bounds::<EapolRequest>(offset);
4487 fidl::encoding::Encode::<EapolRequest, D>::encode(
4489 (
4490 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4491 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4492 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4493 ),
4494 encoder, offset, _depth
4495 )
4496 }
4497 }
4498 unsafe impl<
4499 D: fidl::encoding::ResourceDialect,
4500 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4501 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4502 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4503 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4504 {
4505 #[inline]
4506 unsafe fn encode(
4507 self,
4508 encoder: &mut fidl::encoding::Encoder<'_, D>,
4509 offset: usize,
4510 depth: fidl::encoding::Depth,
4511 ) -> fidl::Result<()> {
4512 encoder.debug_check_bounds::<EapolRequest>(offset);
4513 unsafe {
4516 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4517 (ptr as *mut u64).write_unaligned(0);
4518 }
4519 self.0.encode(encoder, offset + 0, depth)?;
4521 self.1.encode(encoder, offset + 6, depth)?;
4522 self.2.encode(encoder, offset + 16, depth)?;
4523 Ok(())
4524 }
4525 }
4526
4527 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4528 #[inline(always)]
4529 fn new_empty() -> Self {
4530 Self {
4531 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4532 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4533 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4534 }
4535 }
4536
4537 #[inline]
4538 unsafe fn decode(
4539 &mut self,
4540 decoder: &mut fidl::encoding::Decoder<'_, D>,
4541 offset: usize,
4542 _depth: fidl::encoding::Depth,
4543 ) -> fidl::Result<()> {
4544 decoder.debug_check_bounds::<Self>(offset);
4545 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4547 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4548 let mask = 0xffffffff00000000u64;
4549 let maskedval = padval & mask;
4550 if maskedval != 0 {
4551 return Err(fidl::Error::NonZeroPadding {
4552 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4553 });
4554 }
4555 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4556 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4557 fidl::decode!(
4558 fidl::encoding::UnboundedVector<u8>,
4559 D,
4560 &mut self.data,
4561 decoder,
4562 offset + 16,
4563 _depth
4564 )?;
4565 Ok(())
4566 }
4567 }
4568
4569 impl fidl::encoding::ValueTypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4570 type Borrowed<'a> = &'a Self;
4571 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4572 value
4573 }
4574 }
4575
4576 unsafe impl fidl::encoding::TypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4577 type Owned = Self;
4578
4579 #[inline(always)]
4580 fn inline_align(_context: fidl::encoding::Context) -> usize {
4581 1
4582 }
4583
4584 #[inline(always)]
4585 fn inline_size(_context: fidl::encoding::Context) -> usize {
4586 1
4587 }
4588 }
4589
4590 unsafe impl<D: fidl::encoding::ResourceDialect>
4591 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D>
4592 for &MlmeGetApfPacketFilterEnabledResponse
4593 {
4594 #[inline]
4595 unsafe fn encode(
4596 self,
4597 encoder: &mut fidl::encoding::Encoder<'_, D>,
4598 offset: usize,
4599 _depth: fidl::encoding::Depth,
4600 ) -> fidl::Result<()> {
4601 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4602 fidl::encoding::Encode::<MlmeGetApfPacketFilterEnabledResponse, D>::encode(
4604 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
4605 encoder,
4606 offset,
4607 _depth,
4608 )
4609 }
4610 }
4611 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
4612 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D> for (T0,)
4613 {
4614 #[inline]
4615 unsafe fn encode(
4616 self,
4617 encoder: &mut fidl::encoding::Encoder<'_, D>,
4618 offset: usize,
4619 depth: fidl::encoding::Depth,
4620 ) -> fidl::Result<()> {
4621 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4622 self.0.encode(encoder, offset + 0, depth)?;
4626 Ok(())
4627 }
4628 }
4629
4630 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4631 for MlmeGetApfPacketFilterEnabledResponse
4632 {
4633 #[inline(always)]
4634 fn new_empty() -> Self {
4635 Self { enabled: fidl::new_empty!(bool, D) }
4636 }
4637
4638 #[inline]
4639 unsafe fn decode(
4640 &mut self,
4641 decoder: &mut fidl::encoding::Decoder<'_, D>,
4642 offset: usize,
4643 _depth: fidl::encoding::Depth,
4644 ) -> fidl::Result<()> {
4645 decoder.debug_check_bounds::<Self>(offset);
4646 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
4648 Ok(())
4649 }
4650 }
4651
4652 impl fidl::encoding::ValueTypeMarker for MlmeGetScheduledScanEnabledResponse {
4653 type Borrowed<'a> = &'a Self;
4654 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4655 value
4656 }
4657 }
4658
4659 unsafe impl fidl::encoding::TypeMarker for MlmeGetScheduledScanEnabledResponse {
4660 type Owned = Self;
4661
4662 #[inline(always)]
4663 fn inline_align(_context: fidl::encoding::Context) -> usize {
4664 8
4665 }
4666
4667 #[inline(always)]
4668 fn inline_size(_context: fidl::encoding::Context) -> usize {
4669 16
4670 }
4671 }
4672
4673 unsafe impl<D: fidl::encoding::ResourceDialect>
4674 fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D>
4675 for &MlmeGetScheduledScanEnabledResponse
4676 {
4677 #[inline]
4678 unsafe fn encode(
4679 self,
4680 encoder: &mut fidl::encoding::Encoder<'_, D>,
4681 offset: usize,
4682 _depth: fidl::encoding::Depth,
4683 ) -> fidl::Result<()> {
4684 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4685 fidl::encoding::Encode::<MlmeGetScheduledScanEnabledResponse, D>::encode(
4687 (
4688 <fidl::encoding::UnboundedVector<u64> as fidl::encoding::ValueTypeMarker>::borrow(&self.active_txn_ids),
4689 ),
4690 encoder, offset, _depth
4691 )
4692 }
4693 }
4694 unsafe impl<
4695 D: fidl::encoding::ResourceDialect,
4696 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u64>, D>,
4697 > fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D> for (T0,)
4698 {
4699 #[inline]
4700 unsafe fn encode(
4701 self,
4702 encoder: &mut fidl::encoding::Encoder<'_, D>,
4703 offset: usize,
4704 depth: fidl::encoding::Depth,
4705 ) -> fidl::Result<()> {
4706 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4707 self.0.encode(encoder, offset + 0, depth)?;
4711 Ok(())
4712 }
4713 }
4714
4715 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4716 for MlmeGetScheduledScanEnabledResponse
4717 {
4718 #[inline(always)]
4719 fn new_empty() -> Self {
4720 Self { active_txn_ids: fidl::new_empty!(fidl::encoding::UnboundedVector<u64>, D) }
4721 }
4722
4723 #[inline]
4724 unsafe fn decode(
4725 &mut self,
4726 decoder: &mut fidl::encoding::Decoder<'_, D>,
4727 offset: usize,
4728 _depth: fidl::encoding::Depth,
4729 ) -> fidl::Result<()> {
4730 decoder.debug_check_bounds::<Self>(offset);
4731 fidl::decode!(
4733 fidl::encoding::UnboundedVector<u64>,
4734 D,
4735 &mut self.active_txn_ids,
4736 decoder,
4737 offset + 0,
4738 _depth
4739 )?;
4740 Ok(())
4741 }
4742 }
4743
4744 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4745 type Borrowed<'a> = &'a Self;
4746 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4747 value
4748 }
4749 }
4750
4751 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4752 type Owned = Self;
4753
4754 #[inline(always)]
4755 fn inline_align(_context: fidl::encoding::Context) -> usize {
4756 8
4757 }
4758
4759 #[inline(always)]
4760 fn inline_size(_context: fidl::encoding::Context) -> usize {
4761 16
4762 }
4763 }
4764
4765 unsafe impl<D: fidl::encoding::ResourceDialect>
4766 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4767 {
4768 #[inline]
4769 unsafe fn encode(
4770 self,
4771 encoder: &mut fidl::encoding::Encoder<'_, D>,
4772 offset: usize,
4773 _depth: fidl::encoding::Depth,
4774 ) -> fidl::Result<()> {
4775 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4776 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4778 (
4779 <fidl_fuchsia_wlan_stats_common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4780 ),
4781 encoder, offset, _depth
4782 )
4783 }
4784 }
4785 unsafe impl<
4786 D: fidl::encoding::ResourceDialect,
4787 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::SignalReport, D>,
4788 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4789 {
4790 #[inline]
4791 unsafe fn encode(
4792 self,
4793 encoder: &mut fidl::encoding::Encoder<'_, D>,
4794 offset: usize,
4795 depth: fidl::encoding::Depth,
4796 ) -> fidl::Result<()> {
4797 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4798 self.0.encode(encoder, offset + 0, depth)?;
4802 Ok(())
4803 }
4804 }
4805
4806 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4807 for MlmeGetSignalReportResponse
4808 {
4809 #[inline(always)]
4810 fn new_empty() -> Self {
4811 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::SignalReport, D) }
4812 }
4813
4814 #[inline]
4815 unsafe fn decode(
4816 &mut self,
4817 decoder: &mut fidl::encoding::Decoder<'_, D>,
4818 offset: usize,
4819 _depth: fidl::encoding::Depth,
4820 ) -> fidl::Result<()> {
4821 decoder.debug_check_bounds::<Self>(offset);
4822 fidl::decode!(
4824 fidl_fuchsia_wlan_stats_common::SignalReport,
4825 D,
4826 &mut self.resp,
4827 decoder,
4828 offset + 0,
4829 _depth
4830 )?;
4831 Ok(())
4832 }
4833 }
4834
4835 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4836 type Borrowed<'a> = &'a Self;
4837 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4838 value
4839 }
4840 }
4841
4842 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4843 type Owned = Self;
4844
4845 #[inline(always)]
4846 fn inline_align(_context: fidl::encoding::Context) -> usize {
4847 8
4848 }
4849
4850 #[inline(always)]
4851 fn inline_size(_context: fidl::encoding::Context) -> usize {
4852 16
4853 }
4854 }
4855
4856 unsafe impl<D: fidl::encoding::ResourceDialect>
4857 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4858 for &MlmeQueryTelemetrySupportResponse
4859 {
4860 #[inline]
4861 unsafe fn encode(
4862 self,
4863 encoder: &mut fidl::encoding::Encoder<'_, D>,
4864 offset: usize,
4865 _depth: fidl::encoding::Depth,
4866 ) -> fidl::Result<()> {
4867 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4868 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4870 (
4871 <fidl_fuchsia_wlan_stats_common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4872 ),
4873 encoder, offset, _depth
4874 )
4875 }
4876 }
4877 unsafe impl<
4878 D: fidl::encoding::ResourceDialect,
4879 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::TelemetrySupport, D>,
4880 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4881 {
4882 #[inline]
4883 unsafe fn encode(
4884 self,
4885 encoder: &mut fidl::encoding::Encoder<'_, D>,
4886 offset: usize,
4887 depth: fidl::encoding::Depth,
4888 ) -> fidl::Result<()> {
4889 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4890 self.0.encode(encoder, offset + 0, depth)?;
4894 Ok(())
4895 }
4896 }
4897
4898 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4899 for MlmeQueryTelemetrySupportResponse
4900 {
4901 #[inline(always)]
4902 fn new_empty() -> Self {
4903 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::TelemetrySupport, D) }
4904 }
4905
4906 #[inline]
4907 unsafe fn decode(
4908 &mut self,
4909 decoder: &mut fidl::encoding::Decoder<'_, D>,
4910 offset: usize,
4911 _depth: fidl::encoding::Depth,
4912 ) -> fidl::Result<()> {
4913 decoder.debug_check_bounds::<Self>(offset);
4914 fidl::decode!(
4916 fidl_fuchsia_wlan_stats_common::TelemetrySupport,
4917 D,
4918 &mut self.resp,
4919 decoder,
4920 offset + 0,
4921 _depth
4922 )?;
4923 Ok(())
4924 }
4925 }
4926
4927 impl fidl::encoding::ValueTypeMarker for MlmeReadApfPacketFilterDataResponse {
4928 type Borrowed<'a> = &'a Self;
4929 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4930 value
4931 }
4932 }
4933
4934 unsafe impl fidl::encoding::TypeMarker for MlmeReadApfPacketFilterDataResponse {
4935 type Owned = Self;
4936
4937 #[inline(always)]
4938 fn inline_align(_context: fidl::encoding::Context) -> usize {
4939 8
4940 }
4941
4942 #[inline(always)]
4943 fn inline_size(_context: fidl::encoding::Context) -> usize {
4944 16
4945 }
4946 }
4947
4948 unsafe impl<D: fidl::encoding::ResourceDialect>
4949 fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D>
4950 for &MlmeReadApfPacketFilterDataResponse
4951 {
4952 #[inline]
4953 unsafe fn encode(
4954 self,
4955 encoder: &mut fidl::encoding::Encoder<'_, D>,
4956 offset: usize,
4957 _depth: fidl::encoding::Depth,
4958 ) -> fidl::Result<()> {
4959 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4960 fidl::encoding::Encode::<MlmeReadApfPacketFilterDataResponse, D>::encode(
4962 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
4963 &self.memory,
4964 ),),
4965 encoder,
4966 offset,
4967 _depth,
4968 )
4969 }
4970 }
4971 unsafe impl<
4972 D: fidl::encoding::ResourceDialect,
4973 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4974 > fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D> for (T0,)
4975 {
4976 #[inline]
4977 unsafe fn encode(
4978 self,
4979 encoder: &mut fidl::encoding::Encoder<'_, D>,
4980 offset: usize,
4981 depth: fidl::encoding::Depth,
4982 ) -> fidl::Result<()> {
4983 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4984 self.0.encode(encoder, offset + 0, depth)?;
4988 Ok(())
4989 }
4990 }
4991
4992 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4993 for MlmeReadApfPacketFilterDataResponse
4994 {
4995 #[inline(always)]
4996 fn new_empty() -> Self {
4997 Self { memory: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
4998 }
4999
5000 #[inline]
5001 unsafe fn decode(
5002 &mut self,
5003 decoder: &mut fidl::encoding::Decoder<'_, D>,
5004 offset: usize,
5005 _depth: fidl::encoding::Depth,
5006 ) -> fidl::Result<()> {
5007 decoder.debug_check_bounds::<Self>(offset);
5008 fidl::decode!(
5010 fidl::encoding::UnboundedVector<u8>,
5011 D,
5012 &mut self.memory,
5013 decoder,
5014 offset + 0,
5015 _depth
5016 )?;
5017 Ok(())
5018 }
5019 }
5020
5021 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
5022 type Borrowed<'a> = &'a Self;
5023 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5024 value
5025 }
5026 }
5027
5028 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
5029 type Owned = Self;
5030
5031 #[inline(always)]
5032 fn inline_align(_context: fidl::encoding::Context) -> usize {
5033 8
5034 }
5035
5036 #[inline(always)]
5037 fn inline_size(_context: fidl::encoding::Context) -> usize {
5038 16
5039 }
5040 }
5041
5042 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
5043 for &MinstrelListResponse
5044 {
5045 #[inline]
5046 unsafe fn encode(
5047 self,
5048 encoder: &mut fidl::encoding::Encoder<'_, D>,
5049 offset: usize,
5050 _depth: fidl::encoding::Depth,
5051 ) -> fidl::Result<()> {
5052 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5053 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
5055 (
5056 <fidl_fuchsia_wlan_minstrel_common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
5057 ),
5058 encoder, offset, _depth
5059 )
5060 }
5061 }
5062 unsafe impl<
5063 D: fidl::encoding::ResourceDialect,
5064 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel_common::Peers, D>,
5065 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
5066 {
5067 #[inline]
5068 unsafe fn encode(
5069 self,
5070 encoder: &mut fidl::encoding::Encoder<'_, D>,
5071 offset: usize,
5072 depth: fidl::encoding::Depth,
5073 ) -> fidl::Result<()> {
5074 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5075 self.0.encode(encoder, offset + 0, depth)?;
5079 Ok(())
5080 }
5081 }
5082
5083 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
5084 #[inline(always)]
5085 fn new_empty() -> Self {
5086 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel_common::Peers, D) }
5087 }
5088
5089 #[inline]
5090 unsafe fn decode(
5091 &mut self,
5092 decoder: &mut fidl::encoding::Decoder<'_, D>,
5093 offset: usize,
5094 _depth: fidl::encoding::Depth,
5095 ) -> fidl::Result<()> {
5096 decoder.debug_check_bounds::<Self>(offset);
5097 fidl::decode!(
5099 fidl_fuchsia_wlan_minstrel_common::Peers,
5100 D,
5101 &mut self.peers,
5102 decoder,
5103 offset + 0,
5104 _depth
5105 )?;
5106 Ok(())
5107 }
5108 }
5109
5110 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
5111 type Borrowed<'a> = &'a Self;
5112 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5113 value
5114 }
5115 }
5116
5117 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
5118 type Owned = Self;
5119
5120 #[inline(always)]
5121 fn inline_align(_context: fidl::encoding::Context) -> usize {
5122 1
5123 }
5124
5125 #[inline(always)]
5126 fn inline_size(_context: fidl::encoding::Context) -> usize {
5127 6
5128 }
5129 #[inline(always)]
5130 fn encode_is_copy() -> bool {
5131 true
5132 }
5133
5134 #[inline(always)]
5135 fn decode_is_copy() -> bool {
5136 true
5137 }
5138 }
5139
5140 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
5141 for &MinstrelStatsRequest
5142 {
5143 #[inline]
5144 unsafe fn encode(
5145 self,
5146 encoder: &mut fidl::encoding::Encoder<'_, D>,
5147 offset: usize,
5148 _depth: fidl::encoding::Depth,
5149 ) -> fidl::Result<()> {
5150 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5151 unsafe {
5152 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5154 (buf_ptr as *mut MinstrelStatsRequest)
5155 .write_unaligned((self as *const MinstrelStatsRequest).read());
5156 }
5159 Ok(())
5160 }
5161 }
5162 unsafe impl<
5163 D: fidl::encoding::ResourceDialect,
5164 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
5165 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
5166 {
5167 #[inline]
5168 unsafe fn encode(
5169 self,
5170 encoder: &mut fidl::encoding::Encoder<'_, D>,
5171 offset: usize,
5172 depth: fidl::encoding::Depth,
5173 ) -> fidl::Result<()> {
5174 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5175 self.0.encode(encoder, offset + 0, depth)?;
5179 Ok(())
5180 }
5181 }
5182
5183 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
5184 #[inline(always)]
5185 fn new_empty() -> Self {
5186 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
5187 }
5188
5189 #[inline]
5190 unsafe fn decode(
5191 &mut self,
5192 decoder: &mut fidl::encoding::Decoder<'_, D>,
5193 offset: usize,
5194 _depth: fidl::encoding::Depth,
5195 ) -> fidl::Result<()> {
5196 decoder.debug_check_bounds::<Self>(offset);
5197 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5198 unsafe {
5201 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5202 }
5203 Ok(())
5204 }
5205 }
5206
5207 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
5208 type Borrowed<'a> = &'a Self;
5209 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5210 value
5211 }
5212 }
5213
5214 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
5215 type Owned = Self;
5216
5217 #[inline(always)]
5218 fn inline_align(_context: fidl::encoding::Context) -> usize {
5219 8
5220 }
5221
5222 #[inline(always)]
5223 fn inline_size(_context: fidl::encoding::Context) -> usize {
5224 8
5225 }
5226 }
5227
5228 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
5229 for &MinstrelStatsResponse
5230 {
5231 #[inline]
5232 unsafe fn encode(
5233 self,
5234 encoder: &mut fidl::encoding::Encoder<'_, D>,
5235 offset: usize,
5236 _depth: fidl::encoding::Depth,
5237 ) -> fidl::Result<()> {
5238 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5239 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
5241 (
5242 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
5243 ),
5244 encoder, offset, _depth
5245 )
5246 }
5247 }
5248 unsafe impl<
5249 D: fidl::encoding::ResourceDialect,
5250 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>, D>,
5251 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
5252 {
5253 #[inline]
5254 unsafe fn encode(
5255 self,
5256 encoder: &mut fidl::encoding::Encoder<'_, D>,
5257 offset: usize,
5258 depth: fidl::encoding::Depth,
5259 ) -> fidl::Result<()> {
5260 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5261 self.0.encode(encoder, offset + 0, depth)?;
5265 Ok(())
5266 }
5267 }
5268
5269 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
5270 #[inline(always)]
5271 fn new_empty() -> Self {
5272 Self {
5273 peer: fidl::new_empty!(
5274 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5275 D
5276 ),
5277 }
5278 }
5279
5280 #[inline]
5281 unsafe fn decode(
5282 &mut self,
5283 decoder: &mut fidl::encoding::Decoder<'_, D>,
5284 offset: usize,
5285 _depth: fidl::encoding::Depth,
5286 ) -> fidl::Result<()> {
5287 decoder.debug_check_bounds::<Self>(offset);
5288 fidl::decode!(
5290 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5291 D,
5292 &mut self.peer,
5293 decoder,
5294 offset + 0,
5295 _depth
5296 )?;
5297 Ok(())
5298 }
5299 }
5300
5301 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
5302 type Borrowed<'a> = &'a Self;
5303 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5304 value
5305 }
5306 }
5307
5308 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
5309 type Owned = Self;
5310
5311 #[inline(always)]
5312 fn inline_align(_context: fidl::encoding::Context) -> usize {
5313 8
5314 }
5315
5316 #[inline(always)]
5317 fn inline_size(_context: fidl::encoding::Context) -> usize {
5318 64
5319 }
5320 }
5321
5322 unsafe impl<D: fidl::encoding::ResourceDialect>
5323 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
5324 {
5325 #[inline]
5326 unsafe fn encode(
5327 self,
5328 encoder: &mut fidl::encoding::Encoder<'_, D>,
5329 offset: usize,
5330 _depth: fidl::encoding::Depth,
5331 ) -> fidl::Result<()> {
5332 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5333 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
5335 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5336 encoder,
5337 offset,
5338 _depth,
5339 )
5340 }
5341 }
5342 unsafe impl<
5343 D: fidl::encoding::ResourceDialect,
5344 T0: fidl::encoding::Encode<AssociateIndication, D>,
5345 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
5346 {
5347 #[inline]
5348 unsafe fn encode(
5349 self,
5350 encoder: &mut fidl::encoding::Encoder<'_, D>,
5351 offset: usize,
5352 depth: fidl::encoding::Depth,
5353 ) -> fidl::Result<()> {
5354 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5355 self.0.encode(encoder, offset + 0, depth)?;
5359 Ok(())
5360 }
5361 }
5362
5363 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5364 for MlmeAssociateIndRequest
5365 {
5366 #[inline(always)]
5367 fn new_empty() -> Self {
5368 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5369 }
5370
5371 #[inline]
5372 unsafe fn decode(
5373 &mut self,
5374 decoder: &mut fidl::encoding::Decoder<'_, D>,
5375 offset: usize,
5376 _depth: fidl::encoding::Depth,
5377 ) -> fidl::Result<()> {
5378 decoder.debug_check_bounds::<Self>(offset);
5379 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5381 Ok(())
5382 }
5383 }
5384
5385 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5386 type Borrowed<'a> = &'a Self;
5387 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5388 value
5389 }
5390 }
5391
5392 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5393 type Owned = Self;
5394
5395 #[inline(always)]
5396 fn inline_align(_context: fidl::encoding::Context) -> usize {
5397 8
5398 }
5399
5400 #[inline(always)]
5401 fn inline_size(_context: fidl::encoding::Context) -> usize {
5402 32
5403 }
5404 }
5405
5406 unsafe impl<D: fidl::encoding::ResourceDialect>
5407 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5408 {
5409 #[inline]
5410 unsafe fn encode(
5411 self,
5412 encoder: &mut fidl::encoding::Encoder<'_, D>,
5413 offset: usize,
5414 _depth: fidl::encoding::Depth,
5415 ) -> fidl::Result<()> {
5416 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5417 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5419 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5420 encoder,
5421 offset,
5422 _depth,
5423 )
5424 }
5425 }
5426 unsafe impl<
5427 D: fidl::encoding::ResourceDialect,
5428 T0: fidl::encoding::Encode<AssociateResponse, D>,
5429 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5430 {
5431 #[inline]
5432 unsafe fn encode(
5433 self,
5434 encoder: &mut fidl::encoding::Encoder<'_, D>,
5435 offset: usize,
5436 depth: fidl::encoding::Depth,
5437 ) -> fidl::Result<()> {
5438 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5439 self.0.encode(encoder, offset + 0, depth)?;
5443 Ok(())
5444 }
5445 }
5446
5447 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5448 for MlmeAssociateRespRequest
5449 {
5450 #[inline(always)]
5451 fn new_empty() -> Self {
5452 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5453 }
5454
5455 #[inline]
5456 unsafe fn decode(
5457 &mut self,
5458 decoder: &mut fidl::encoding::Decoder<'_, D>,
5459 offset: usize,
5460 _depth: fidl::encoding::Depth,
5461 ) -> fidl::Result<()> {
5462 decoder.debug_check_bounds::<Self>(offset);
5463 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5465 Ok(())
5466 }
5467 }
5468
5469 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5470 type Borrowed<'a> = &'a Self;
5471 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5472 value
5473 }
5474 }
5475
5476 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5477 type Owned = Self;
5478
5479 #[inline(always)]
5480 fn inline_align(_context: fidl::encoding::Context) -> usize {
5481 4
5482 }
5483
5484 #[inline(always)]
5485 fn inline_size(_context: fidl::encoding::Context) -> usize {
5486 12
5487 }
5488 }
5489
5490 unsafe impl<D: fidl::encoding::ResourceDialect>
5491 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5492 {
5493 #[inline]
5494 unsafe fn encode(
5495 self,
5496 encoder: &mut fidl::encoding::Encoder<'_, D>,
5497 offset: usize,
5498 _depth: fidl::encoding::Depth,
5499 ) -> fidl::Result<()> {
5500 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5501 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5503 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5504 encoder,
5505 offset,
5506 _depth,
5507 )
5508 }
5509 }
5510 unsafe impl<
5511 D: fidl::encoding::ResourceDialect,
5512 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5513 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5514 {
5515 #[inline]
5516 unsafe fn encode(
5517 self,
5518 encoder: &mut fidl::encoding::Encoder<'_, D>,
5519 offset: usize,
5520 depth: fidl::encoding::Depth,
5521 ) -> fidl::Result<()> {
5522 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5523 self.0.encode(encoder, offset + 0, depth)?;
5527 Ok(())
5528 }
5529 }
5530
5531 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5532 for MlmeAuthenticateIndRequest
5533 {
5534 #[inline(always)]
5535 fn new_empty() -> Self {
5536 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5537 }
5538
5539 #[inline]
5540 unsafe fn decode(
5541 &mut self,
5542 decoder: &mut fidl::encoding::Decoder<'_, D>,
5543 offset: usize,
5544 _depth: fidl::encoding::Depth,
5545 ) -> fidl::Result<()> {
5546 decoder.debug_check_bounds::<Self>(offset);
5547 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5549 Ok(())
5550 }
5551 }
5552
5553 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5554 type Borrowed<'a> = &'a Self;
5555 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5556 value
5557 }
5558 }
5559
5560 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5561 type Owned = Self;
5562
5563 #[inline(always)]
5564 fn inline_align(_context: fidl::encoding::Context) -> usize {
5565 4
5566 }
5567
5568 #[inline(always)]
5569 fn inline_size(_context: fidl::encoding::Context) -> usize {
5570 12
5571 }
5572 }
5573
5574 unsafe impl<D: fidl::encoding::ResourceDialect>
5575 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5576 {
5577 #[inline]
5578 unsafe fn encode(
5579 self,
5580 encoder: &mut fidl::encoding::Encoder<'_, D>,
5581 offset: usize,
5582 _depth: fidl::encoding::Depth,
5583 ) -> fidl::Result<()> {
5584 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5585 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5587 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5588 encoder,
5589 offset,
5590 _depth,
5591 )
5592 }
5593 }
5594 unsafe impl<
5595 D: fidl::encoding::ResourceDialect,
5596 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5597 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5598 {
5599 #[inline]
5600 unsafe fn encode(
5601 self,
5602 encoder: &mut fidl::encoding::Encoder<'_, D>,
5603 offset: usize,
5604 depth: fidl::encoding::Depth,
5605 ) -> fidl::Result<()> {
5606 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5607 self.0.encode(encoder, offset + 0, depth)?;
5611 Ok(())
5612 }
5613 }
5614
5615 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5616 for MlmeAuthenticateRespRequest
5617 {
5618 #[inline(always)]
5619 fn new_empty() -> Self {
5620 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5621 }
5622
5623 #[inline]
5624 unsafe fn decode(
5625 &mut self,
5626 decoder: &mut fidl::encoding::Decoder<'_, D>,
5627 offset: usize,
5628 _depth: fidl::encoding::Depth,
5629 ) -> fidl::Result<()> {
5630 decoder.debug_check_bounds::<Self>(offset);
5631 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5633 Ok(())
5634 }
5635 }
5636
5637 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5638 type Borrowed<'a> = &'a Self;
5639 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5640 value
5641 }
5642 }
5643
5644 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5645 type Owned = Self;
5646
5647 #[inline(always)]
5648 fn inline_align(_context: fidl::encoding::Context) -> usize {
5649 8
5650 }
5651
5652 #[inline(always)]
5653 fn inline_size(_context: fidl::encoding::Context) -> usize {
5654 32
5655 }
5656 }
5657
5658 unsafe impl<D: fidl::encoding::ResourceDialect>
5659 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5660 {
5661 #[inline]
5662 unsafe fn encode(
5663 self,
5664 encoder: &mut fidl::encoding::Encoder<'_, D>,
5665 offset: usize,
5666 _depth: fidl::encoding::Depth,
5667 ) -> fidl::Result<()> {
5668 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5669 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5671 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5672 encoder,
5673 offset,
5674 _depth,
5675 )
5676 }
5677 }
5678 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5679 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5680 {
5681 #[inline]
5682 unsafe fn encode(
5683 self,
5684 encoder: &mut fidl::encoding::Encoder<'_, D>,
5685 offset: usize,
5686 depth: fidl::encoding::Depth,
5687 ) -> fidl::Result<()> {
5688 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5689 self.0.encode(encoder, offset + 0, depth)?;
5693 Ok(())
5694 }
5695 }
5696
5697 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5698 for MlmeConnectConfRequest
5699 {
5700 #[inline(always)]
5701 fn new_empty() -> Self {
5702 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5703 }
5704
5705 #[inline]
5706 unsafe fn decode(
5707 &mut self,
5708 decoder: &mut fidl::encoding::Decoder<'_, D>,
5709 offset: usize,
5710 _depth: fidl::encoding::Depth,
5711 ) -> fidl::Result<()> {
5712 decoder.debug_check_bounds::<Self>(offset);
5713 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5715 Ok(())
5716 }
5717 }
5718
5719 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5720 type Borrowed<'a> = &'a Self;
5721 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5722 value
5723 }
5724 }
5725
5726 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5727 type Owned = Self;
5728
5729 #[inline(always)]
5730 fn inline_align(_context: fidl::encoding::Context) -> usize {
5731 8
5732 }
5733
5734 #[inline(always)]
5735 fn inline_size(_context: fidl::encoding::Context) -> usize {
5736 104
5737 }
5738 }
5739
5740 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5741 for &MlmeConnectReqRequest
5742 {
5743 #[inline]
5744 unsafe fn encode(
5745 self,
5746 encoder: &mut fidl::encoding::Encoder<'_, D>,
5747 offset: usize,
5748 _depth: fidl::encoding::Depth,
5749 ) -> fidl::Result<()> {
5750 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5751 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5753 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5754 encoder,
5755 offset,
5756 _depth,
5757 )
5758 }
5759 }
5760 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5761 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5762 {
5763 #[inline]
5764 unsafe fn encode(
5765 self,
5766 encoder: &mut fidl::encoding::Encoder<'_, D>,
5767 offset: usize,
5768 depth: fidl::encoding::Depth,
5769 ) -> fidl::Result<()> {
5770 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5771 self.0.encode(encoder, offset + 0, depth)?;
5775 Ok(())
5776 }
5777 }
5778
5779 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5780 #[inline(always)]
5781 fn new_empty() -> Self {
5782 Self { req: fidl::new_empty!(ConnectRequest, D) }
5783 }
5784
5785 #[inline]
5786 unsafe fn decode(
5787 &mut self,
5788 decoder: &mut fidl::encoding::Decoder<'_, D>,
5789 offset: usize,
5790 _depth: fidl::encoding::Depth,
5791 ) -> fidl::Result<()> {
5792 decoder.debug_check_bounds::<Self>(offset);
5793 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5795 Ok(())
5796 }
5797 }
5798
5799 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5800 type Borrowed<'a> = &'a Self;
5801 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5802 value
5803 }
5804 }
5805
5806 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5807 type Owned = Self;
5808
5809 #[inline(always)]
5810 fn inline_align(_context: fidl::encoding::Context) -> usize {
5811 1
5812 }
5813
5814 #[inline(always)]
5815 fn inline_size(_context: fidl::encoding::Context) -> usize {
5816 6
5817 }
5818 #[inline(always)]
5819 fn encode_is_copy() -> bool {
5820 true
5821 }
5822
5823 #[inline(always)]
5824 fn decode_is_copy() -> bool {
5825 true
5826 }
5827 }
5828
5829 unsafe impl<D: fidl::encoding::ResourceDialect>
5830 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5831 for &MlmeDeauthenticateConfRequest
5832 {
5833 #[inline]
5834 unsafe fn encode(
5835 self,
5836 encoder: &mut fidl::encoding::Encoder<'_, D>,
5837 offset: usize,
5838 _depth: fidl::encoding::Depth,
5839 ) -> fidl::Result<()> {
5840 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5841 unsafe {
5842 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5844 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5845 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5846 }
5849 Ok(())
5850 }
5851 }
5852 unsafe impl<
5853 D: fidl::encoding::ResourceDialect,
5854 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5855 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5856 {
5857 #[inline]
5858 unsafe fn encode(
5859 self,
5860 encoder: &mut fidl::encoding::Encoder<'_, D>,
5861 offset: usize,
5862 depth: fidl::encoding::Depth,
5863 ) -> fidl::Result<()> {
5864 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5865 self.0.encode(encoder, offset + 0, depth)?;
5869 Ok(())
5870 }
5871 }
5872
5873 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5874 for MlmeDeauthenticateConfRequest
5875 {
5876 #[inline(always)]
5877 fn new_empty() -> Self {
5878 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5879 }
5880
5881 #[inline]
5882 unsafe fn decode(
5883 &mut self,
5884 decoder: &mut fidl::encoding::Decoder<'_, D>,
5885 offset: usize,
5886 _depth: fidl::encoding::Depth,
5887 ) -> fidl::Result<()> {
5888 decoder.debug_check_bounds::<Self>(offset);
5889 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5890 unsafe {
5893 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5894 }
5895 Ok(())
5896 }
5897 }
5898
5899 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5900 type Borrowed<'a> = &'a Self;
5901 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5902 value
5903 }
5904 }
5905
5906 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5907 type Owned = Self;
5908
5909 #[inline(always)]
5910 fn inline_align(_context: fidl::encoding::Context) -> usize {
5911 2
5912 }
5913
5914 #[inline(always)]
5915 fn inline_size(_context: fidl::encoding::Context) -> usize {
5916 10
5917 }
5918 }
5919
5920 unsafe impl<D: fidl::encoding::ResourceDialect>
5921 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5922 {
5923 #[inline]
5924 unsafe fn encode(
5925 self,
5926 encoder: &mut fidl::encoding::Encoder<'_, D>,
5927 offset: usize,
5928 _depth: fidl::encoding::Depth,
5929 ) -> fidl::Result<()> {
5930 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5931 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5933 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5934 encoder,
5935 offset,
5936 _depth,
5937 )
5938 }
5939 }
5940 unsafe impl<
5941 D: fidl::encoding::ResourceDialect,
5942 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5943 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5944 {
5945 #[inline]
5946 unsafe fn encode(
5947 self,
5948 encoder: &mut fidl::encoding::Encoder<'_, D>,
5949 offset: usize,
5950 depth: fidl::encoding::Depth,
5951 ) -> fidl::Result<()> {
5952 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5953 self.0.encode(encoder, offset + 0, depth)?;
5957 Ok(())
5958 }
5959 }
5960
5961 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5962 for MlmeDeauthenticateIndRequest
5963 {
5964 #[inline(always)]
5965 fn new_empty() -> Self {
5966 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5967 }
5968
5969 #[inline]
5970 unsafe fn decode(
5971 &mut self,
5972 decoder: &mut fidl::encoding::Decoder<'_, D>,
5973 offset: usize,
5974 _depth: fidl::encoding::Depth,
5975 ) -> fidl::Result<()> {
5976 decoder.debug_check_bounds::<Self>(offset);
5977 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5979 Ok(())
5980 }
5981 }
5982
5983 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5984 type Borrowed<'a> = &'a Self;
5985 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5986 value
5987 }
5988 }
5989
5990 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5991 type Owned = Self;
5992
5993 #[inline(always)]
5994 fn inline_align(_context: fidl::encoding::Context) -> usize {
5995 2
5996 }
5997
5998 #[inline(always)]
5999 fn inline_size(_context: fidl::encoding::Context) -> usize {
6000 8
6001 }
6002 }
6003
6004 unsafe impl<D: fidl::encoding::ResourceDialect>
6005 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
6006 {
6007 #[inline]
6008 unsafe fn encode(
6009 self,
6010 encoder: &mut fidl::encoding::Encoder<'_, D>,
6011 offset: usize,
6012 _depth: fidl::encoding::Depth,
6013 ) -> fidl::Result<()> {
6014 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6015 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
6017 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6018 encoder,
6019 offset,
6020 _depth,
6021 )
6022 }
6023 }
6024 unsafe impl<
6025 D: fidl::encoding::ResourceDialect,
6026 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
6027 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
6028 {
6029 #[inline]
6030 unsafe fn encode(
6031 self,
6032 encoder: &mut fidl::encoding::Encoder<'_, D>,
6033 offset: usize,
6034 depth: fidl::encoding::Depth,
6035 ) -> fidl::Result<()> {
6036 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6037 self.0.encode(encoder, offset + 0, depth)?;
6041 Ok(())
6042 }
6043 }
6044
6045 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6046 for MlmeDeauthenticateReqRequest
6047 {
6048 #[inline(always)]
6049 fn new_empty() -> Self {
6050 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
6051 }
6052
6053 #[inline]
6054 unsafe fn decode(
6055 &mut self,
6056 decoder: &mut fidl::encoding::Decoder<'_, D>,
6057 offset: usize,
6058 _depth: fidl::encoding::Depth,
6059 ) -> fidl::Result<()> {
6060 decoder.debug_check_bounds::<Self>(offset);
6061 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6063 Ok(())
6064 }
6065 }
6066
6067 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
6068 type Borrowed<'a> = &'a Self;
6069 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6070 value
6071 }
6072 }
6073
6074 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
6075 type Owned = Self;
6076
6077 #[inline(always)]
6078 fn inline_align(_context: fidl::encoding::Context) -> usize {
6079 8
6080 }
6081
6082 #[inline(always)]
6083 fn inline_size(_context: fidl::encoding::Context) -> usize {
6084 16
6085 }
6086 }
6087
6088 unsafe impl<D: fidl::encoding::ResourceDialect>
6089 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
6090 {
6091 #[inline]
6092 unsafe fn encode(
6093 self,
6094 encoder: &mut fidl::encoding::Encoder<'_, D>,
6095 offset: usize,
6096 _depth: fidl::encoding::Depth,
6097 ) -> fidl::Result<()> {
6098 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6099 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
6101 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6102 encoder,
6103 offset,
6104 _depth,
6105 )
6106 }
6107 }
6108 unsafe impl<
6109 D: fidl::encoding::ResourceDialect,
6110 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
6111 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
6112 {
6113 #[inline]
6114 unsafe fn encode(
6115 self,
6116 encoder: &mut fidl::encoding::Encoder<'_, D>,
6117 offset: usize,
6118 depth: fidl::encoding::Depth,
6119 ) -> fidl::Result<()> {
6120 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6121 self.0.encode(encoder, offset + 0, depth)?;
6125 Ok(())
6126 }
6127 }
6128
6129 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6130 for MlmeDeleteKeysReqRequest
6131 {
6132 #[inline(always)]
6133 fn new_empty() -> Self {
6134 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
6135 }
6136
6137 #[inline]
6138 unsafe fn decode(
6139 &mut self,
6140 decoder: &mut fidl::encoding::Decoder<'_, D>,
6141 offset: usize,
6142 _depth: fidl::encoding::Depth,
6143 ) -> fidl::Result<()> {
6144 decoder.debug_check_bounds::<Self>(offset);
6145 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6147 Ok(())
6148 }
6149 }
6150
6151 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
6152 type Borrowed<'a> = &'a Self;
6153 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6154 value
6155 }
6156 }
6157
6158 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
6159 type Owned = Self;
6160
6161 #[inline(always)]
6162 fn inline_align(_context: fidl::encoding::Context) -> usize {
6163 4
6164 }
6165
6166 #[inline(always)]
6167 fn inline_size(_context: fidl::encoding::Context) -> usize {
6168 4
6169 }
6170 #[inline(always)]
6171 fn encode_is_copy() -> bool {
6172 true
6173 }
6174
6175 #[inline(always)]
6176 fn decode_is_copy() -> bool {
6177 true
6178 }
6179 }
6180
6181 unsafe impl<D: fidl::encoding::ResourceDialect>
6182 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
6183 {
6184 #[inline]
6185 unsafe fn encode(
6186 self,
6187 encoder: &mut fidl::encoding::Encoder<'_, D>,
6188 offset: usize,
6189 _depth: fidl::encoding::Depth,
6190 ) -> fidl::Result<()> {
6191 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6192 unsafe {
6193 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6195 (buf_ptr as *mut MlmeDisassociateConfRequest)
6196 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
6197 }
6200 Ok(())
6201 }
6202 }
6203 unsafe impl<
6204 D: fidl::encoding::ResourceDialect,
6205 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
6206 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
6207 {
6208 #[inline]
6209 unsafe fn encode(
6210 self,
6211 encoder: &mut fidl::encoding::Encoder<'_, D>,
6212 offset: usize,
6213 depth: fidl::encoding::Depth,
6214 ) -> fidl::Result<()> {
6215 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6216 self.0.encode(encoder, offset + 0, depth)?;
6220 Ok(())
6221 }
6222 }
6223
6224 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6225 for MlmeDisassociateConfRequest
6226 {
6227 #[inline(always)]
6228 fn new_empty() -> Self {
6229 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
6230 }
6231
6232 #[inline]
6233 unsafe fn decode(
6234 &mut self,
6235 decoder: &mut fidl::encoding::Decoder<'_, D>,
6236 offset: usize,
6237 _depth: fidl::encoding::Depth,
6238 ) -> fidl::Result<()> {
6239 decoder.debug_check_bounds::<Self>(offset);
6240 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6241 unsafe {
6244 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
6245 }
6246 Ok(())
6247 }
6248 }
6249
6250 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
6251 type Borrowed<'a> = &'a Self;
6252 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6253 value
6254 }
6255 }
6256
6257 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
6258 type Owned = Self;
6259
6260 #[inline(always)]
6261 fn inline_align(_context: fidl::encoding::Context) -> usize {
6262 2
6263 }
6264
6265 #[inline(always)]
6266 fn inline_size(_context: fidl::encoding::Context) -> usize {
6267 10
6268 }
6269 }
6270
6271 unsafe impl<D: fidl::encoding::ResourceDialect>
6272 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
6273 {
6274 #[inline]
6275 unsafe fn encode(
6276 self,
6277 encoder: &mut fidl::encoding::Encoder<'_, D>,
6278 offset: usize,
6279 _depth: fidl::encoding::Depth,
6280 ) -> fidl::Result<()> {
6281 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6282 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
6284 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6285 encoder,
6286 offset,
6287 _depth,
6288 )
6289 }
6290 }
6291 unsafe impl<
6292 D: fidl::encoding::ResourceDialect,
6293 T0: fidl::encoding::Encode<DisassociateIndication, D>,
6294 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
6295 {
6296 #[inline]
6297 unsafe fn encode(
6298 self,
6299 encoder: &mut fidl::encoding::Encoder<'_, D>,
6300 offset: usize,
6301 depth: fidl::encoding::Depth,
6302 ) -> fidl::Result<()> {
6303 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6304 self.0.encode(encoder, offset + 0, depth)?;
6308 Ok(())
6309 }
6310 }
6311
6312 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6313 for MlmeDisassociateIndRequest
6314 {
6315 #[inline(always)]
6316 fn new_empty() -> Self {
6317 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
6318 }
6319
6320 #[inline]
6321 unsafe fn decode(
6322 &mut self,
6323 decoder: &mut fidl::encoding::Decoder<'_, D>,
6324 offset: usize,
6325 _depth: fidl::encoding::Depth,
6326 ) -> fidl::Result<()> {
6327 decoder.debug_check_bounds::<Self>(offset);
6328 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6330 Ok(())
6331 }
6332 }
6333
6334 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
6335 type Borrowed<'a> = &'a Self;
6336 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6337 value
6338 }
6339 }
6340
6341 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
6342 type Owned = Self;
6343
6344 #[inline(always)]
6345 fn inline_align(_context: fidl::encoding::Context) -> usize {
6346 2
6347 }
6348
6349 #[inline(always)]
6350 fn inline_size(_context: fidl::encoding::Context) -> usize {
6351 8
6352 }
6353 }
6354
6355 unsafe impl<D: fidl::encoding::ResourceDialect>
6356 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
6357 {
6358 #[inline]
6359 unsafe fn encode(
6360 self,
6361 encoder: &mut fidl::encoding::Encoder<'_, D>,
6362 offset: usize,
6363 _depth: fidl::encoding::Depth,
6364 ) -> fidl::Result<()> {
6365 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6366 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6368 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6369 encoder,
6370 offset,
6371 _depth,
6372 )
6373 }
6374 }
6375 unsafe impl<
6376 D: fidl::encoding::ResourceDialect,
6377 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6378 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6379 {
6380 #[inline]
6381 unsafe fn encode(
6382 self,
6383 encoder: &mut fidl::encoding::Encoder<'_, D>,
6384 offset: usize,
6385 depth: fidl::encoding::Depth,
6386 ) -> fidl::Result<()> {
6387 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6388 self.0.encode(encoder, offset + 0, depth)?;
6392 Ok(())
6393 }
6394 }
6395
6396 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6397 for MlmeDisassociateReqRequest
6398 {
6399 #[inline(always)]
6400 fn new_empty() -> Self {
6401 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6402 }
6403
6404 #[inline]
6405 unsafe fn decode(
6406 &mut self,
6407 decoder: &mut fidl::encoding::Decoder<'_, D>,
6408 offset: usize,
6409 _depth: fidl::encoding::Depth,
6410 ) -> fidl::Result<()> {
6411 decoder.debug_check_bounds::<Self>(offset);
6412 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6414 Ok(())
6415 }
6416 }
6417
6418 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6419 type Borrowed<'a> = &'a Self;
6420 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6421 value
6422 }
6423 }
6424
6425 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6426 type Owned = Self;
6427
6428 #[inline(always)]
6429 fn inline_align(_context: fidl::encoding::Context) -> usize {
6430 4
6431 }
6432
6433 #[inline(always)]
6434 fn inline_size(_context: fidl::encoding::Context) -> usize {
6435 12
6436 }
6437 }
6438
6439 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6440 for &MlmeEapolConfRequest
6441 {
6442 #[inline]
6443 unsafe fn encode(
6444 self,
6445 encoder: &mut fidl::encoding::Encoder<'_, D>,
6446 offset: usize,
6447 _depth: fidl::encoding::Depth,
6448 ) -> fidl::Result<()> {
6449 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6450 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6452 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6453 encoder,
6454 offset,
6455 _depth,
6456 )
6457 }
6458 }
6459 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6460 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6461 {
6462 #[inline]
6463 unsafe fn encode(
6464 self,
6465 encoder: &mut fidl::encoding::Encoder<'_, D>,
6466 offset: usize,
6467 depth: fidl::encoding::Depth,
6468 ) -> fidl::Result<()> {
6469 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6470 self.0.encode(encoder, offset + 0, depth)?;
6474 Ok(())
6475 }
6476 }
6477
6478 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6479 #[inline(always)]
6480 fn new_empty() -> Self {
6481 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6482 }
6483
6484 #[inline]
6485 unsafe fn decode(
6486 &mut self,
6487 decoder: &mut fidl::encoding::Decoder<'_, D>,
6488 offset: usize,
6489 _depth: fidl::encoding::Depth,
6490 ) -> fidl::Result<()> {
6491 decoder.debug_check_bounds::<Self>(offset);
6492 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6494 Ok(())
6495 }
6496 }
6497
6498 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6499 type Borrowed<'a> = &'a Self;
6500 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6501 value
6502 }
6503 }
6504
6505 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6506 type Owned = Self;
6507
6508 #[inline(always)]
6509 fn inline_align(_context: fidl::encoding::Context) -> usize {
6510 8
6511 }
6512
6513 #[inline(always)]
6514 fn inline_size(_context: fidl::encoding::Context) -> usize {
6515 32
6516 }
6517 }
6518
6519 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6520 for &MlmeEapolIndRequest
6521 {
6522 #[inline]
6523 unsafe fn encode(
6524 self,
6525 encoder: &mut fidl::encoding::Encoder<'_, D>,
6526 offset: usize,
6527 _depth: fidl::encoding::Depth,
6528 ) -> fidl::Result<()> {
6529 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6530 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6532 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6533 encoder,
6534 offset,
6535 _depth,
6536 )
6537 }
6538 }
6539 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6540 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6541 {
6542 #[inline]
6543 unsafe fn encode(
6544 self,
6545 encoder: &mut fidl::encoding::Encoder<'_, D>,
6546 offset: usize,
6547 depth: fidl::encoding::Depth,
6548 ) -> fidl::Result<()> {
6549 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6550 self.0.encode(encoder, offset + 0, depth)?;
6554 Ok(())
6555 }
6556 }
6557
6558 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6559 #[inline(always)]
6560 fn new_empty() -> Self {
6561 Self { ind: fidl::new_empty!(EapolIndication, D) }
6562 }
6563
6564 #[inline]
6565 unsafe fn decode(
6566 &mut self,
6567 decoder: &mut fidl::encoding::Decoder<'_, D>,
6568 offset: usize,
6569 _depth: fidl::encoding::Depth,
6570 ) -> fidl::Result<()> {
6571 decoder.debug_check_bounds::<Self>(offset);
6572 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6574 Ok(())
6575 }
6576 }
6577
6578 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6579 type Borrowed<'a> = &'a Self;
6580 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6581 value
6582 }
6583 }
6584
6585 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6586 type Owned = Self;
6587
6588 #[inline(always)]
6589 fn inline_align(_context: fidl::encoding::Context) -> usize {
6590 8
6591 }
6592
6593 #[inline(always)]
6594 fn inline_size(_context: fidl::encoding::Context) -> usize {
6595 32
6596 }
6597 }
6598
6599 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6600 for &MlmeEapolReqRequest
6601 {
6602 #[inline]
6603 unsafe fn encode(
6604 self,
6605 encoder: &mut fidl::encoding::Encoder<'_, D>,
6606 offset: usize,
6607 _depth: fidl::encoding::Depth,
6608 ) -> fidl::Result<()> {
6609 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6610 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6612 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6613 encoder,
6614 offset,
6615 _depth,
6616 )
6617 }
6618 }
6619 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6620 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6621 {
6622 #[inline]
6623 unsafe fn encode(
6624 self,
6625 encoder: &mut fidl::encoding::Encoder<'_, D>,
6626 offset: usize,
6627 depth: fidl::encoding::Depth,
6628 ) -> fidl::Result<()> {
6629 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6630 self.0.encode(encoder, offset + 0, depth)?;
6634 Ok(())
6635 }
6636 }
6637
6638 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6639 #[inline(always)]
6640 fn new_empty() -> Self {
6641 Self { req: fidl::new_empty!(EapolRequest, D) }
6642 }
6643
6644 #[inline]
6645 unsafe fn decode(
6646 &mut self,
6647 decoder: &mut fidl::encoding::Decoder<'_, D>,
6648 offset: usize,
6649 _depth: fidl::encoding::Depth,
6650 ) -> fidl::Result<()> {
6651 decoder.debug_check_bounds::<Self>(offset);
6652 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6654 Ok(())
6655 }
6656 }
6657
6658 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6659 type Borrowed<'a> = &'a Self;
6660 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6661 value
6662 }
6663 }
6664
6665 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6666 type Owned = Self;
6667
6668 #[inline(always)]
6669 fn inline_align(_context: fidl::encoding::Context) -> usize {
6670 8
6671 }
6672
6673 #[inline(always)]
6674 fn inline_size(_context: fidl::encoding::Context) -> usize {
6675 48
6676 }
6677 }
6678
6679 unsafe impl<D: fidl::encoding::ResourceDialect>
6680 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6681 for &MlmeFinalizeAssociationReqRequest
6682 {
6683 #[inline]
6684 unsafe fn encode(
6685 self,
6686 encoder: &mut fidl::encoding::Encoder<'_, D>,
6687 offset: usize,
6688 _depth: fidl::encoding::Depth,
6689 ) -> fidl::Result<()> {
6690 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6691 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6693 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6694 &self.negotiated_capabilities,
6695 ),),
6696 encoder,
6697 offset,
6698 _depth,
6699 )
6700 }
6701 }
6702 unsafe impl<
6703 D: fidl::encoding::ResourceDialect,
6704 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6705 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6706 {
6707 #[inline]
6708 unsafe fn encode(
6709 self,
6710 encoder: &mut fidl::encoding::Encoder<'_, D>,
6711 offset: usize,
6712 depth: fidl::encoding::Depth,
6713 ) -> fidl::Result<()> {
6714 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6715 self.0.encode(encoder, offset + 0, depth)?;
6719 Ok(())
6720 }
6721 }
6722
6723 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6724 for MlmeFinalizeAssociationReqRequest
6725 {
6726 #[inline(always)]
6727 fn new_empty() -> Self {
6728 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6729 }
6730
6731 #[inline]
6732 unsafe fn decode(
6733 &mut self,
6734 decoder: &mut fidl::encoding::Decoder<'_, D>,
6735 offset: usize,
6736 _depth: fidl::encoding::Depth,
6737 ) -> fidl::Result<()> {
6738 decoder.debug_check_bounds::<Self>(offset);
6739 fidl::decode!(
6741 NegotiatedCapabilities,
6742 D,
6743 &mut self.negotiated_capabilities,
6744 decoder,
6745 offset + 0,
6746 _depth
6747 )?;
6748 Ok(())
6749 }
6750 }
6751
6752 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6753 type Borrowed<'a> = &'a Self;
6754 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6755 value
6756 }
6757 }
6758
6759 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6760 type Owned = Self;
6761
6762 #[inline(always)]
6763 fn inline_align(_context: fidl::encoding::Context) -> usize {
6764 8
6765 }
6766
6767 #[inline(always)]
6768 fn inline_size(_context: fidl::encoding::Context) -> usize {
6769 16
6770 }
6771 }
6772
6773 unsafe impl<D: fidl::encoding::ResourceDialect>
6774 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6775 for &MlmeGetIfaceHistogramStatsResponse
6776 {
6777 #[inline]
6778 unsafe fn encode(
6779 self,
6780 encoder: &mut fidl::encoding::Encoder<'_, D>,
6781 offset: usize,
6782 _depth: fidl::encoding::Depth,
6783 ) -> fidl::Result<()> {
6784 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6785 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6787 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6788 &self.resp,
6789 ),),
6790 encoder,
6791 offset,
6792 _depth,
6793 )
6794 }
6795 }
6796 unsafe impl<
6797 D: fidl::encoding::ResourceDialect,
6798 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6799 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6800 {
6801 #[inline]
6802 unsafe fn encode(
6803 self,
6804 encoder: &mut fidl::encoding::Encoder<'_, D>,
6805 offset: usize,
6806 depth: fidl::encoding::Depth,
6807 ) -> fidl::Result<()> {
6808 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6809 self.0.encode(encoder, offset + 0, depth)?;
6813 Ok(())
6814 }
6815 }
6816
6817 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6818 for MlmeGetIfaceHistogramStatsResponse
6819 {
6820 #[inline(always)]
6821 fn new_empty() -> Self {
6822 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6823 }
6824
6825 #[inline]
6826 unsafe fn decode(
6827 &mut self,
6828 decoder: &mut fidl::encoding::Decoder<'_, D>,
6829 offset: usize,
6830 _depth: fidl::encoding::Depth,
6831 ) -> fidl::Result<()> {
6832 decoder.debug_check_bounds::<Self>(offset);
6833 fidl::decode!(
6835 GetIfaceHistogramStatsResponse,
6836 D,
6837 &mut self.resp,
6838 decoder,
6839 offset + 0,
6840 _depth
6841 )?;
6842 Ok(())
6843 }
6844 }
6845
6846 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6847 type Borrowed<'a> = &'a Self;
6848 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6849 value
6850 }
6851 }
6852
6853 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6854 type Owned = Self;
6855
6856 #[inline(always)]
6857 fn inline_align(_context: fidl::encoding::Context) -> usize {
6858 8
6859 }
6860
6861 #[inline(always)]
6862 fn inline_size(_context: fidl::encoding::Context) -> usize {
6863 16
6864 }
6865 }
6866
6867 unsafe impl<D: fidl::encoding::ResourceDialect>
6868 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6869 {
6870 #[inline]
6871 unsafe fn encode(
6872 self,
6873 encoder: &mut fidl::encoding::Encoder<'_, D>,
6874 offset: usize,
6875 _depth: fidl::encoding::Depth,
6876 ) -> fidl::Result<()> {
6877 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6878 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6880 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6881 encoder,
6882 offset,
6883 _depth,
6884 )
6885 }
6886 }
6887 unsafe impl<
6888 D: fidl::encoding::ResourceDialect,
6889 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6890 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6891 {
6892 #[inline]
6893 unsafe fn encode(
6894 self,
6895 encoder: &mut fidl::encoding::Encoder<'_, D>,
6896 offset: usize,
6897 depth: fidl::encoding::Depth,
6898 ) -> fidl::Result<()> {
6899 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6900 self.0.encode(encoder, offset + 0, depth)?;
6904 Ok(())
6905 }
6906 }
6907
6908 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6909 for MlmeGetIfaceStatsResponse
6910 {
6911 #[inline(always)]
6912 fn new_empty() -> Self {
6913 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6914 }
6915
6916 #[inline]
6917 unsafe fn decode(
6918 &mut self,
6919 decoder: &mut fidl::encoding::Decoder<'_, D>,
6920 offset: usize,
6921 _depth: fidl::encoding::Depth,
6922 ) -> fidl::Result<()> {
6923 decoder.debug_check_bounds::<Self>(offset);
6924 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6926 Ok(())
6927 }
6928 }
6929
6930 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6931 type Borrowed<'a> = &'a Self;
6932 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6933 value
6934 }
6935 }
6936
6937 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6938 type Owned = Self;
6939
6940 #[inline(always)]
6941 fn inline_align(_context: fidl::encoding::Context) -> usize {
6942 1
6943 }
6944
6945 #[inline(always)]
6946 fn inline_size(_context: fidl::encoding::Context) -> usize {
6947 6
6948 }
6949 #[inline(always)]
6950 fn encode_is_copy() -> bool {
6951 true
6952 }
6953
6954 #[inline(always)]
6955 fn decode_is_copy() -> bool {
6956 true
6957 }
6958 }
6959
6960 unsafe impl<D: fidl::encoding::ResourceDialect>
6961 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6962 {
6963 #[inline]
6964 unsafe fn encode(
6965 self,
6966 encoder: &mut fidl::encoding::Encoder<'_, D>,
6967 offset: usize,
6968 _depth: fidl::encoding::Depth,
6969 ) -> fidl::Result<()> {
6970 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6971 unsafe {
6972 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6974 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6975 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6976 }
6979 Ok(())
6980 }
6981 }
6982 unsafe impl<
6983 D: fidl::encoding::ResourceDialect,
6984 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6985 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
6986 {
6987 #[inline]
6988 unsafe fn encode(
6989 self,
6990 encoder: &mut fidl::encoding::Encoder<'_, D>,
6991 offset: usize,
6992 depth: fidl::encoding::Depth,
6993 ) -> fidl::Result<()> {
6994 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6995 self.0.encode(encoder, offset + 0, depth)?;
6999 Ok(())
7000 }
7001 }
7002
7003 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7004 for MlmeGetMinstrelStatsRequest
7005 {
7006 #[inline(always)]
7007 fn new_empty() -> Self {
7008 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
7009 }
7010
7011 #[inline]
7012 unsafe fn decode(
7013 &mut self,
7014 decoder: &mut fidl::encoding::Decoder<'_, D>,
7015 offset: usize,
7016 _depth: fidl::encoding::Depth,
7017 ) -> fidl::Result<()> {
7018 decoder.debug_check_bounds::<Self>(offset);
7019 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7020 unsafe {
7023 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7024 }
7025 Ok(())
7026 }
7027 }
7028
7029 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
7030 type Borrowed<'a> = &'a Self;
7031 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7032 value
7033 }
7034 }
7035
7036 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
7037 type Owned = Self;
7038
7039 #[inline(always)]
7040 fn inline_align(_context: fidl::encoding::Context) -> usize {
7041 8
7042 }
7043
7044 #[inline(always)]
7045 fn inline_size(_context: fidl::encoding::Context) -> usize {
7046 8
7047 }
7048 }
7049
7050 unsafe impl<D: fidl::encoding::ResourceDialect>
7051 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
7052 {
7053 #[inline]
7054 unsafe fn encode(
7055 self,
7056 encoder: &mut fidl::encoding::Encoder<'_, D>,
7057 offset: usize,
7058 _depth: fidl::encoding::Depth,
7059 ) -> fidl::Result<()> {
7060 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7061 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
7063 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7064 encoder,
7065 offset,
7066 _depth,
7067 )
7068 }
7069 }
7070 unsafe impl<
7071 D: fidl::encoding::ResourceDialect,
7072 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
7073 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
7074 {
7075 #[inline]
7076 unsafe fn encode(
7077 self,
7078 encoder: &mut fidl::encoding::Encoder<'_, D>,
7079 offset: usize,
7080 depth: fidl::encoding::Depth,
7081 ) -> fidl::Result<()> {
7082 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7083 self.0.encode(encoder, offset + 0, depth)?;
7087 Ok(())
7088 }
7089 }
7090
7091 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7092 for MlmeGetMinstrelStatsResponse
7093 {
7094 #[inline(always)]
7095 fn new_empty() -> Self {
7096 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
7097 }
7098
7099 #[inline]
7100 unsafe fn decode(
7101 &mut self,
7102 decoder: &mut fidl::encoding::Decoder<'_, D>,
7103 offset: usize,
7104 _depth: fidl::encoding::Depth,
7105 ) -> fidl::Result<()> {
7106 decoder.debug_check_bounds::<Self>(offset);
7107 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7109 Ok(())
7110 }
7111 }
7112
7113 impl fidl::encoding::ValueTypeMarker for MlmeInstallApfPacketFilterRequest {
7114 type Borrowed<'a> = &'a Self;
7115 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7116 value
7117 }
7118 }
7119
7120 unsafe impl fidl::encoding::TypeMarker for MlmeInstallApfPacketFilterRequest {
7121 type Owned = Self;
7122
7123 #[inline(always)]
7124 fn inline_align(_context: fidl::encoding::Context) -> usize {
7125 8
7126 }
7127
7128 #[inline(always)]
7129 fn inline_size(_context: fidl::encoding::Context) -> usize {
7130 16
7131 }
7132 }
7133
7134 unsafe impl<D: fidl::encoding::ResourceDialect>
7135 fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D>
7136 for &MlmeInstallApfPacketFilterRequest
7137 {
7138 #[inline]
7139 unsafe fn encode(
7140 self,
7141 encoder: &mut fidl::encoding::Encoder<'_, D>,
7142 offset: usize,
7143 _depth: fidl::encoding::Depth,
7144 ) -> fidl::Result<()> {
7145 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7146 fidl::encoding::Encode::<MlmeInstallApfPacketFilterRequest, D>::encode(
7148 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
7149 &self.program,
7150 ),),
7151 encoder,
7152 offset,
7153 _depth,
7154 )
7155 }
7156 }
7157 unsafe impl<
7158 D: fidl::encoding::ResourceDialect,
7159 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
7160 > fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D> for (T0,)
7161 {
7162 #[inline]
7163 unsafe fn encode(
7164 self,
7165 encoder: &mut fidl::encoding::Encoder<'_, D>,
7166 offset: usize,
7167 depth: fidl::encoding::Depth,
7168 ) -> fidl::Result<()> {
7169 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7170 self.0.encode(encoder, offset + 0, depth)?;
7174 Ok(())
7175 }
7176 }
7177
7178 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7179 for MlmeInstallApfPacketFilterRequest
7180 {
7181 #[inline(always)]
7182 fn new_empty() -> Self {
7183 Self { program: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
7184 }
7185
7186 #[inline]
7187 unsafe fn decode(
7188 &mut self,
7189 decoder: &mut fidl::encoding::Decoder<'_, D>,
7190 offset: usize,
7191 _depth: fidl::encoding::Depth,
7192 ) -> fidl::Result<()> {
7193 decoder.debug_check_bounds::<Self>(offset);
7194 fidl::decode!(
7196 fidl::encoding::UnboundedVector<u8>,
7197 D,
7198 &mut self.program,
7199 decoder,
7200 offset + 0,
7201 _depth
7202 )?;
7203 Ok(())
7204 }
7205 }
7206
7207 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
7208 type Borrowed<'a> = &'a Self;
7209 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7210 value
7211 }
7212 }
7213
7214 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
7215 type Owned = Self;
7216
7217 #[inline(always)]
7218 fn inline_align(_context: fidl::encoding::Context) -> usize {
7219 8
7220 }
7221
7222 #[inline(always)]
7223 fn inline_size(_context: fidl::encoding::Context) -> usize {
7224 16
7225 }
7226 }
7227
7228 unsafe impl<D: fidl::encoding::ResourceDialect>
7229 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
7230 for &MlmeListMinstrelPeersResponse
7231 {
7232 #[inline]
7233 unsafe fn encode(
7234 self,
7235 encoder: &mut fidl::encoding::Encoder<'_, D>,
7236 offset: usize,
7237 _depth: fidl::encoding::Depth,
7238 ) -> fidl::Result<()> {
7239 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7240 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
7242 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7243 encoder,
7244 offset,
7245 _depth,
7246 )
7247 }
7248 }
7249 unsafe impl<
7250 D: fidl::encoding::ResourceDialect,
7251 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
7252 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
7253 {
7254 #[inline]
7255 unsafe fn encode(
7256 self,
7257 encoder: &mut fidl::encoding::Encoder<'_, D>,
7258 offset: usize,
7259 depth: fidl::encoding::Depth,
7260 ) -> fidl::Result<()> {
7261 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7262 self.0.encode(encoder, offset + 0, depth)?;
7266 Ok(())
7267 }
7268 }
7269
7270 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7271 for MlmeListMinstrelPeersResponse
7272 {
7273 #[inline(always)]
7274 fn new_empty() -> Self {
7275 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
7276 }
7277
7278 #[inline]
7279 unsafe fn decode(
7280 &mut self,
7281 decoder: &mut fidl::encoding::Decoder<'_, D>,
7282 offset: usize,
7283 _depth: fidl::encoding::Depth,
7284 ) -> fidl::Result<()> {
7285 decoder.debug_check_bounds::<Self>(offset);
7286 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7288 Ok(())
7289 }
7290 }
7291
7292 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
7293 type Borrowed<'a> = &'a Self;
7294 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7295 value
7296 }
7297 }
7298
7299 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
7300 type Owned = Self;
7301
7302 #[inline(always)]
7303 fn inline_align(_context: fidl::encoding::Context) -> usize {
7304 4
7305 }
7306
7307 #[inline(always)]
7308 fn inline_size(_context: fidl::encoding::Context) -> usize {
7309 12
7310 }
7311 }
7312
7313 unsafe impl<D: fidl::encoding::ResourceDialect>
7314 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
7315 {
7316 #[inline]
7317 unsafe fn encode(
7318 self,
7319 encoder: &mut fidl::encoding::Encoder<'_, D>,
7320 offset: usize,
7321 _depth: fidl::encoding::Depth,
7322 ) -> fidl::Result<()> {
7323 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7324 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
7326 (
7327 <fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
7328 ),
7329 encoder, offset, _depth
7330 )
7331 }
7332 }
7333 unsafe impl<
7334 D: fidl::encoding::ResourceDialect,
7335 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D>,
7336 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
7337 {
7338 #[inline]
7339 unsafe fn encode(
7340 self,
7341 encoder: &mut fidl::encoding::Encoder<'_, D>,
7342 offset: usize,
7343 depth: fidl::encoding::Depth,
7344 ) -> fidl::Result<()> {
7345 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7346 self.0.encode(encoder, offset + 0, depth)?;
7350 Ok(())
7351 }
7352 }
7353
7354 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7355 for MlmeOnChannelSwitchedRequest
7356 {
7357 #[inline(always)]
7358 fn new_empty() -> Self {
7359 Self { info: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D) }
7360 }
7361
7362 #[inline]
7363 unsafe fn decode(
7364 &mut self,
7365 decoder: &mut fidl::encoding::Decoder<'_, D>,
7366 offset: usize,
7367 _depth: fidl::encoding::Depth,
7368 ) -> fidl::Result<()> {
7369 decoder.debug_check_bounds::<Self>(offset);
7370 fidl::decode!(
7372 fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo,
7373 D,
7374 &mut self.info,
7375 decoder,
7376 offset + 0,
7377 _depth
7378 )?;
7379 Ok(())
7380 }
7381 }
7382
7383 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
7384 type Borrowed<'a> = &'a Self;
7385 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7386 value
7387 }
7388 }
7389
7390 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
7391 type Owned = Self;
7392
7393 #[inline(always)]
7394 fn inline_align(_context: fidl::encoding::Context) -> usize {
7395 8
7396 }
7397
7398 #[inline(always)]
7399 fn inline_size(_context: fidl::encoding::Context) -> usize {
7400 32
7401 }
7402 }
7403
7404 unsafe impl<D: fidl::encoding::ResourceDialect>
7405 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
7406 {
7407 #[inline]
7408 unsafe fn encode(
7409 self,
7410 encoder: &mut fidl::encoding::Encoder<'_, D>,
7411 offset: usize,
7412 _depth: fidl::encoding::Depth,
7413 ) -> fidl::Result<()> {
7414 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7415 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
7417 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7418 encoder,
7419 offset,
7420 _depth,
7421 )
7422 }
7423 }
7424 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
7425 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
7426 {
7427 #[inline]
7428 unsafe fn encode(
7429 self,
7430 encoder: &mut fidl::encoding::Encoder<'_, D>,
7431 offset: usize,
7432 depth: fidl::encoding::Depth,
7433 ) -> fidl::Result<()> {
7434 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7435 self.0.encode(encoder, offset + 0, depth)?;
7439 Ok(())
7440 }
7441 }
7442
7443 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7444 for MlmeOnPmkAvailableRequest
7445 {
7446 #[inline(always)]
7447 fn new_empty() -> Self {
7448 Self { info: fidl::new_empty!(PmkInfo, D) }
7449 }
7450
7451 #[inline]
7452 unsafe fn decode(
7453 &mut self,
7454 decoder: &mut fidl::encoding::Decoder<'_, D>,
7455 offset: usize,
7456 _depth: fidl::encoding::Depth,
7457 ) -> fidl::Result<()> {
7458 decoder.debug_check_bounds::<Self>(offset);
7459 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7461 Ok(())
7462 }
7463 }
7464
7465 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7466 type Borrowed<'a> = &'a Self;
7467 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7468 value
7469 }
7470 }
7471
7472 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7473 type Owned = Self;
7474
7475 #[inline(always)]
7476 fn inline_align(_context: fidl::encoding::Context) -> usize {
7477 8
7478 }
7479
7480 #[inline(always)]
7481 fn inline_size(_context: fidl::encoding::Context) -> usize {
7482 32
7483 }
7484 }
7485
7486 unsafe impl<D: fidl::encoding::ResourceDialect>
7487 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7488 {
7489 #[inline]
7490 unsafe fn encode(
7491 self,
7492 encoder: &mut fidl::encoding::Encoder<'_, D>,
7493 offset: usize,
7494 _depth: fidl::encoding::Depth,
7495 ) -> fidl::Result<()> {
7496 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7497 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7499 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7500 encoder,
7501 offset,
7502 _depth,
7503 )
7504 }
7505 }
7506 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7507 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7508 {
7509 #[inline]
7510 unsafe fn encode(
7511 self,
7512 encoder: &mut fidl::encoding::Encoder<'_, D>,
7513 offset: usize,
7514 depth: fidl::encoding::Depth,
7515 ) -> fidl::Result<()> {
7516 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7517 self.0.encode(encoder, offset + 0, depth)?;
7521 Ok(())
7522 }
7523 }
7524
7525 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7526 for MlmeOnSaeFrameRxRequest
7527 {
7528 #[inline(always)]
7529 fn new_empty() -> Self {
7530 Self { frame: fidl::new_empty!(SaeFrame, D) }
7531 }
7532
7533 #[inline]
7534 unsafe fn decode(
7535 &mut self,
7536 decoder: &mut fidl::encoding::Decoder<'_, D>,
7537 offset: usize,
7538 _depth: fidl::encoding::Depth,
7539 ) -> fidl::Result<()> {
7540 decoder.debug_check_bounds::<Self>(offset);
7541 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7543 Ok(())
7544 }
7545 }
7546
7547 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7548 type Borrowed<'a> = &'a Self;
7549 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7550 value
7551 }
7552 }
7553
7554 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7555 type Owned = Self;
7556
7557 #[inline(always)]
7558 fn inline_align(_context: fidl::encoding::Context) -> usize {
7559 1
7560 }
7561
7562 #[inline(always)]
7563 fn inline_size(_context: fidl::encoding::Context) -> usize {
7564 6
7565 }
7566 #[inline(always)]
7567 fn encode_is_copy() -> bool {
7568 true
7569 }
7570
7571 #[inline(always)]
7572 fn decode_is_copy() -> bool {
7573 true
7574 }
7575 }
7576
7577 unsafe impl<D: fidl::encoding::ResourceDialect>
7578 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7579 {
7580 #[inline]
7581 unsafe fn encode(
7582 self,
7583 encoder: &mut fidl::encoding::Encoder<'_, D>,
7584 offset: usize,
7585 _depth: fidl::encoding::Depth,
7586 ) -> fidl::Result<()> {
7587 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7588 unsafe {
7589 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7591 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7592 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7593 }
7596 Ok(())
7597 }
7598 }
7599 unsafe impl<
7600 D: fidl::encoding::ResourceDialect,
7601 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7602 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7603 {
7604 #[inline]
7605 unsafe fn encode(
7606 self,
7607 encoder: &mut fidl::encoding::Encoder<'_, D>,
7608 offset: usize,
7609 depth: fidl::encoding::Depth,
7610 ) -> fidl::Result<()> {
7611 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7612 self.0.encode(encoder, offset + 0, depth)?;
7616 Ok(())
7617 }
7618 }
7619
7620 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7621 for MlmeOnSaeHandshakeIndRequest
7622 {
7623 #[inline(always)]
7624 fn new_empty() -> Self {
7625 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7626 }
7627
7628 #[inline]
7629 unsafe fn decode(
7630 &mut self,
7631 decoder: &mut fidl::encoding::Decoder<'_, D>,
7632 offset: usize,
7633 _depth: fidl::encoding::Depth,
7634 ) -> fidl::Result<()> {
7635 decoder.debug_check_bounds::<Self>(offset);
7636 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7637 unsafe {
7640 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7641 }
7642 Ok(())
7643 }
7644 }
7645
7646 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7647 type Borrowed<'a> = &'a Self;
7648 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7649 value
7650 }
7651 }
7652
7653 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7654 type Owned = Self;
7655
7656 #[inline(always)]
7657 fn inline_align(_context: fidl::encoding::Context) -> usize {
7658 8
7659 }
7660
7661 #[inline(always)]
7662 fn inline_size(_context: fidl::encoding::Context) -> usize {
7663 16
7664 }
7665 }
7666
7667 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7668 for &MlmeOnScanEndRequest
7669 {
7670 #[inline]
7671 unsafe fn encode(
7672 self,
7673 encoder: &mut fidl::encoding::Encoder<'_, D>,
7674 offset: usize,
7675 _depth: fidl::encoding::Depth,
7676 ) -> fidl::Result<()> {
7677 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7678 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7680 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7681 encoder,
7682 offset,
7683 _depth,
7684 )
7685 }
7686 }
7687 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7688 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7689 {
7690 #[inline]
7691 unsafe fn encode(
7692 self,
7693 encoder: &mut fidl::encoding::Encoder<'_, D>,
7694 offset: usize,
7695 depth: fidl::encoding::Depth,
7696 ) -> fidl::Result<()> {
7697 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7698 self.0.encode(encoder, offset + 0, depth)?;
7702 Ok(())
7703 }
7704 }
7705
7706 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7707 #[inline(always)]
7708 fn new_empty() -> Self {
7709 Self { end: fidl::new_empty!(ScanEnd, D) }
7710 }
7711
7712 #[inline]
7713 unsafe fn decode(
7714 &mut self,
7715 decoder: &mut fidl::encoding::Decoder<'_, D>,
7716 offset: usize,
7717 _depth: fidl::encoding::Depth,
7718 ) -> fidl::Result<()> {
7719 decoder.debug_check_bounds::<Self>(offset);
7720 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7722 Ok(())
7723 }
7724 }
7725
7726 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7727 type Borrowed<'a> = &'a Self;
7728 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7729 value
7730 }
7731 }
7732
7733 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7734 type Owned = Self;
7735
7736 #[inline(always)]
7737 fn inline_align(_context: fidl::encoding::Context) -> usize {
7738 8
7739 }
7740
7741 #[inline(always)]
7742 fn inline_size(_context: fidl::encoding::Context) -> usize {
7743 64
7744 }
7745 }
7746
7747 unsafe impl<D: fidl::encoding::ResourceDialect>
7748 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7749 {
7750 #[inline]
7751 unsafe fn encode(
7752 self,
7753 encoder: &mut fidl::encoding::Encoder<'_, D>,
7754 offset: usize,
7755 _depth: fidl::encoding::Depth,
7756 ) -> fidl::Result<()> {
7757 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7758 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7760 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7761 encoder,
7762 offset,
7763 _depth,
7764 )
7765 }
7766 }
7767 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7768 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7769 {
7770 #[inline]
7771 unsafe fn encode(
7772 self,
7773 encoder: &mut fidl::encoding::Encoder<'_, D>,
7774 offset: usize,
7775 depth: fidl::encoding::Depth,
7776 ) -> fidl::Result<()> {
7777 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7778 self.0.encode(encoder, offset + 0, depth)?;
7782 Ok(())
7783 }
7784 }
7785
7786 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7787 for MlmeOnScanResultRequest
7788 {
7789 #[inline(always)]
7790 fn new_empty() -> Self {
7791 Self { result: fidl::new_empty!(ScanResult, D) }
7792 }
7793
7794 #[inline]
7795 unsafe fn decode(
7796 &mut self,
7797 decoder: &mut fidl::encoding::Decoder<'_, D>,
7798 offset: usize,
7799 _depth: fidl::encoding::Depth,
7800 ) -> fidl::Result<()> {
7801 decoder.debug_check_bounds::<Self>(offset);
7802 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7804 Ok(())
7805 }
7806 }
7807
7808 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7809 type Borrowed<'a> = &'a Self;
7810 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7811 value
7812 }
7813 }
7814
7815 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7816 type Owned = Self;
7817
7818 #[inline(always)]
7819 fn inline_align(_context: fidl::encoding::Context) -> usize {
7820 8
7821 }
7822
7823 #[inline(always)]
7824 fn inline_size(_context: fidl::encoding::Context) -> usize {
7825 8
7826 }
7827 #[inline(always)]
7828 fn encode_is_copy() -> bool {
7829 true
7830 }
7831
7832 #[inline(always)]
7833 fn decode_is_copy() -> bool {
7834 true
7835 }
7836 }
7837
7838 unsafe impl<D: fidl::encoding::ResourceDialect>
7839 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D>
7840 for &MlmeOnScheduledScanMatchesAvailableRequest
7841 {
7842 #[inline]
7843 unsafe fn encode(
7844 self,
7845 encoder: &mut fidl::encoding::Encoder<'_, D>,
7846 offset: usize,
7847 _depth: fidl::encoding::Depth,
7848 ) -> fidl::Result<()> {
7849 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7850 unsafe {
7851 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7853 (buf_ptr as *mut MlmeOnScheduledScanMatchesAvailableRequest).write_unaligned(
7854 (self as *const MlmeOnScheduledScanMatchesAvailableRequest).read(),
7855 );
7856 }
7859 Ok(())
7860 }
7861 }
7862 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
7863 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D> for (T0,)
7864 {
7865 #[inline]
7866 unsafe fn encode(
7867 self,
7868 encoder: &mut fidl::encoding::Encoder<'_, D>,
7869 offset: usize,
7870 depth: fidl::encoding::Depth,
7871 ) -> fidl::Result<()> {
7872 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7873 self.0.encode(encoder, offset + 0, depth)?;
7877 Ok(())
7878 }
7879 }
7880
7881 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7882 for MlmeOnScheduledScanMatchesAvailableRequest
7883 {
7884 #[inline(always)]
7885 fn new_empty() -> Self {
7886 Self { txn_id: fidl::new_empty!(u64, D) }
7887 }
7888
7889 #[inline]
7890 unsafe fn decode(
7891 &mut self,
7892 decoder: &mut fidl::encoding::Decoder<'_, D>,
7893 offset: usize,
7894 _depth: fidl::encoding::Depth,
7895 ) -> fidl::Result<()> {
7896 decoder.debug_check_bounds::<Self>(offset);
7897 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7898 unsafe {
7901 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
7902 }
7903 Ok(())
7904 }
7905 }
7906
7907 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
7908 type Borrowed<'a> = &'a Self;
7909 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7910 value
7911 }
7912 }
7913
7914 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
7915 type Owned = Self;
7916
7917 #[inline(always)]
7918 fn inline_align(_context: fidl::encoding::Context) -> usize {
7919 8
7920 }
7921
7922 #[inline(always)]
7923 fn inline_size(_context: fidl::encoding::Context) -> usize {
7924 8
7925 }
7926 #[inline(always)]
7927 fn encode_is_copy() -> bool {
7928 true
7929 }
7930
7931 #[inline(always)]
7932 fn decode_is_copy() -> bool {
7933 true
7934 }
7935 }
7936
7937 unsafe impl<D: fidl::encoding::ResourceDialect>
7938 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D>
7939 for &MlmeOnScheduledScanStoppedByFirmwareRequest
7940 {
7941 #[inline]
7942 unsafe fn encode(
7943 self,
7944 encoder: &mut fidl::encoding::Encoder<'_, D>,
7945 offset: usize,
7946 _depth: fidl::encoding::Depth,
7947 ) -> fidl::Result<()> {
7948 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
7949 unsafe {
7950 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7952 (buf_ptr as *mut MlmeOnScheduledScanStoppedByFirmwareRequest).write_unaligned(
7953 (self as *const MlmeOnScheduledScanStoppedByFirmwareRequest).read(),
7954 );
7955 }
7958 Ok(())
7959 }
7960 }
7961 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
7962 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D> for (T0,)
7963 {
7964 #[inline]
7965 unsafe fn encode(
7966 self,
7967 encoder: &mut fidl::encoding::Encoder<'_, D>,
7968 offset: usize,
7969 depth: fidl::encoding::Depth,
7970 ) -> fidl::Result<()> {
7971 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
7972 self.0.encode(encoder, offset + 0, depth)?;
7976 Ok(())
7977 }
7978 }
7979
7980 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7981 for MlmeOnScheduledScanStoppedByFirmwareRequest
7982 {
7983 #[inline(always)]
7984 fn new_empty() -> Self {
7985 Self { txn_id: fidl::new_empty!(u64, D) }
7986 }
7987
7988 #[inline]
7989 unsafe fn decode(
7990 &mut self,
7991 decoder: &mut fidl::encoding::Decoder<'_, D>,
7992 offset: usize,
7993 _depth: fidl::encoding::Depth,
7994 ) -> fidl::Result<()> {
7995 decoder.debug_check_bounds::<Self>(offset);
7996 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7997 unsafe {
8000 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
8001 }
8002 Ok(())
8003 }
8004 }
8005
8006 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
8007 type Borrowed<'a> = &'a Self;
8008 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8009 value
8010 }
8011 }
8012
8013 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
8014 type Owned = Self;
8015
8016 #[inline(always)]
8017 fn inline_align(_context: fidl::encoding::Context) -> usize {
8018 4
8019 }
8020
8021 #[inline(always)]
8022 fn inline_size(_context: fidl::encoding::Context) -> usize {
8023 40
8024 }
8025 }
8026
8027 unsafe impl<D: fidl::encoding::ResourceDialect>
8028 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
8029 {
8030 #[inline]
8031 unsafe fn encode(
8032 self,
8033 encoder: &mut fidl::encoding::Encoder<'_, D>,
8034 offset: usize,
8035 _depth: fidl::encoding::Depth,
8036 ) -> fidl::Result<()> {
8037 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8038 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
8040 (
8041 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
8042 <fidl_fuchsia_wlan_internal_common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
8043 ),
8044 encoder, offset, _depth
8045 )
8046 }
8047 }
8048 unsafe impl<
8049 D: fidl::encoding::ResourceDialect,
8050 T0: fidl::encoding::Encode<i32, D>,
8051 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D>,
8052 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
8053 {
8054 #[inline]
8055 unsafe fn encode(
8056 self,
8057 encoder: &mut fidl::encoding::Encoder<'_, D>,
8058 offset: usize,
8059 depth: fidl::encoding::Depth,
8060 ) -> fidl::Result<()> {
8061 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8062 unsafe {
8065 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
8066 (ptr as *mut u32).write_unaligned(0);
8067 }
8068 self.0.encode(encoder, offset + 0, depth)?;
8070 self.1.encode(encoder, offset + 4, depth)?;
8071 Ok(())
8072 }
8073 }
8074
8075 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8076 for MlmeOnWmmStatusRespRequest
8077 {
8078 #[inline(always)]
8079 fn new_empty() -> Self {
8080 Self {
8081 status: fidl::new_empty!(i32, D),
8082 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D),
8083 }
8084 }
8085
8086 #[inline]
8087 unsafe fn decode(
8088 &mut self,
8089 decoder: &mut fidl::encoding::Decoder<'_, D>,
8090 offset: usize,
8091 _depth: fidl::encoding::Depth,
8092 ) -> fidl::Result<()> {
8093 decoder.debug_check_bounds::<Self>(offset);
8094 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
8096 let padval = unsafe { (ptr as *const u32).read_unaligned() };
8097 let mask = 0xffff0000u32;
8098 let maskedval = padval & mask;
8099 if maskedval != 0 {
8100 return Err(fidl::Error::NonZeroPadding {
8101 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
8102 });
8103 }
8104 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
8105 fidl::decode!(
8106 fidl_fuchsia_wlan_internal_common::WmmStatusResponse,
8107 D,
8108 &mut self.resp,
8109 decoder,
8110 offset + 4,
8111 _depth
8112 )?;
8113 Ok(())
8114 }
8115 }
8116
8117 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
8118 type Borrowed<'a> = &'a Self;
8119 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8120 value
8121 }
8122 }
8123
8124 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
8125 type Owned = Self;
8126
8127 #[inline(always)]
8128 fn inline_align(_context: fidl::encoding::Context) -> usize {
8129 8
8130 }
8131
8132 #[inline(always)]
8133 fn inline_size(_context: fidl::encoding::Context) -> usize {
8134 40
8135 }
8136 }
8137
8138 unsafe impl<D: fidl::encoding::ResourceDialect>
8139 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
8140 {
8141 #[inline]
8142 unsafe fn encode(
8143 self,
8144 encoder: &mut fidl::encoding::Encoder<'_, D>,
8145 offset: usize,
8146 _depth: fidl::encoding::Depth,
8147 ) -> fidl::Result<()> {
8148 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8149 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
8151 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
8152 encoder,
8153 offset,
8154 _depth,
8155 )
8156 }
8157 }
8158 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
8159 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
8160 {
8161 #[inline]
8162 unsafe fn encode(
8163 self,
8164 encoder: &mut fidl::encoding::Encoder<'_, D>,
8165 offset: usize,
8166 depth: fidl::encoding::Depth,
8167 ) -> fidl::Result<()> {
8168 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8169 self.0.encode(encoder, offset + 0, depth)?;
8173 Ok(())
8174 }
8175 }
8176
8177 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8178 for MlmeQueryDeviceInfoResponse
8179 {
8180 #[inline(always)]
8181 fn new_empty() -> Self {
8182 Self { info: fidl::new_empty!(DeviceInfo, D) }
8183 }
8184
8185 #[inline]
8186 unsafe fn decode(
8187 &mut self,
8188 decoder: &mut fidl::encoding::Decoder<'_, D>,
8189 offset: usize,
8190 _depth: fidl::encoding::Depth,
8191 ) -> fidl::Result<()> {
8192 decoder.debug_check_bounds::<Self>(offset);
8193 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
8195 Ok(())
8196 }
8197 }
8198
8199 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
8200 type Borrowed<'a> = &'a Self;
8201 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8202 value
8203 }
8204 }
8205
8206 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
8207 type Owned = Self;
8208
8209 #[inline(always)]
8210 fn inline_align(_context: fidl::encoding::Context) -> usize {
8211 1
8212 }
8213
8214 #[inline(always)]
8215 fn inline_size(_context: fidl::encoding::Context) -> usize {
8216 6
8217 }
8218 #[inline(always)]
8219 fn encode_is_copy() -> bool {
8220 true
8221 }
8222
8223 #[inline(always)]
8224 fn decode_is_copy() -> bool {
8225 true
8226 }
8227 }
8228
8229 unsafe impl<D: fidl::encoding::ResourceDialect>
8230 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
8231 {
8232 #[inline]
8233 unsafe fn encode(
8234 self,
8235 encoder: &mut fidl::encoding::Encoder<'_, D>,
8236 offset: usize,
8237 _depth: fidl::encoding::Depth,
8238 ) -> fidl::Result<()> {
8239 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8240 unsafe {
8241 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8243 (buf_ptr as *mut MlmeReconnectReqRequest)
8244 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
8245 }
8248 Ok(())
8249 }
8250 }
8251 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
8252 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
8253 {
8254 #[inline]
8255 unsafe fn encode(
8256 self,
8257 encoder: &mut fidl::encoding::Encoder<'_, D>,
8258 offset: usize,
8259 depth: fidl::encoding::Depth,
8260 ) -> fidl::Result<()> {
8261 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8262 self.0.encode(encoder, offset + 0, depth)?;
8266 Ok(())
8267 }
8268 }
8269
8270 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8271 for MlmeReconnectReqRequest
8272 {
8273 #[inline(always)]
8274 fn new_empty() -> Self {
8275 Self { req: fidl::new_empty!(ReconnectRequest, D) }
8276 }
8277
8278 #[inline]
8279 unsafe fn decode(
8280 &mut self,
8281 decoder: &mut fidl::encoding::Decoder<'_, D>,
8282 offset: usize,
8283 _depth: fidl::encoding::Depth,
8284 ) -> fidl::Result<()> {
8285 decoder.debug_check_bounds::<Self>(offset);
8286 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8287 unsafe {
8290 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
8291 }
8292 Ok(())
8293 }
8294 }
8295
8296 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
8297 type Borrowed<'a> = &'a Self;
8298 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8299 value
8300 }
8301 }
8302
8303 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
8304 type Owned = Self;
8305
8306 #[inline(always)]
8307 fn inline_align(_context: fidl::encoding::Context) -> usize {
8308 8
8309 }
8310
8311 #[inline(always)]
8312 fn inline_size(_context: fidl::encoding::Context) -> usize {
8313 16
8314 }
8315 }
8316
8317 unsafe impl<D: fidl::encoding::ResourceDialect>
8318 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
8319 for &MlmeRelayCapturedFrameRequest
8320 {
8321 #[inline]
8322 unsafe fn encode(
8323 self,
8324 encoder: &mut fidl::encoding::Encoder<'_, D>,
8325 offset: usize,
8326 _depth: fidl::encoding::Depth,
8327 ) -> fidl::Result<()> {
8328 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8329 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
8331 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
8332 encoder,
8333 offset,
8334 _depth,
8335 )
8336 }
8337 }
8338 unsafe impl<
8339 D: fidl::encoding::ResourceDialect,
8340 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
8341 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
8342 {
8343 #[inline]
8344 unsafe fn encode(
8345 self,
8346 encoder: &mut fidl::encoding::Encoder<'_, D>,
8347 offset: usize,
8348 depth: fidl::encoding::Depth,
8349 ) -> fidl::Result<()> {
8350 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8351 self.0.encode(encoder, offset + 0, depth)?;
8355 Ok(())
8356 }
8357 }
8358
8359 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8360 for MlmeRelayCapturedFrameRequest
8361 {
8362 #[inline(always)]
8363 fn new_empty() -> Self {
8364 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
8365 }
8366
8367 #[inline]
8368 unsafe fn decode(
8369 &mut self,
8370 decoder: &mut fidl::encoding::Decoder<'_, D>,
8371 offset: usize,
8372 _depth: fidl::encoding::Depth,
8373 ) -> fidl::Result<()> {
8374 decoder.debug_check_bounds::<Self>(offset);
8375 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
8377 Ok(())
8378 }
8379 }
8380
8381 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
8382 type Borrowed<'a> = &'a Self;
8383 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8384 value
8385 }
8386 }
8387
8388 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
8389 type Owned = Self;
8390
8391 #[inline(always)]
8392 fn inline_align(_context: fidl::encoding::Context) -> usize {
8393 1
8394 }
8395
8396 #[inline(always)]
8397 fn inline_size(_context: fidl::encoding::Context) -> usize {
8398 7
8399 }
8400 }
8401
8402 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
8403 for &MlmeResetReqRequest
8404 {
8405 #[inline]
8406 unsafe fn encode(
8407 self,
8408 encoder: &mut fidl::encoding::Encoder<'_, D>,
8409 offset: usize,
8410 _depth: fidl::encoding::Depth,
8411 ) -> fidl::Result<()> {
8412 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8413 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
8415 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8416 encoder,
8417 offset,
8418 _depth,
8419 )
8420 }
8421 }
8422 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
8423 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
8424 {
8425 #[inline]
8426 unsafe fn encode(
8427 self,
8428 encoder: &mut fidl::encoding::Encoder<'_, D>,
8429 offset: usize,
8430 depth: fidl::encoding::Depth,
8431 ) -> fidl::Result<()> {
8432 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8433 self.0.encode(encoder, offset + 0, depth)?;
8437 Ok(())
8438 }
8439 }
8440
8441 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
8442 #[inline(always)]
8443 fn new_empty() -> Self {
8444 Self { req: fidl::new_empty!(ResetRequest, D) }
8445 }
8446
8447 #[inline]
8448 unsafe fn decode(
8449 &mut self,
8450 decoder: &mut fidl::encoding::Decoder<'_, D>,
8451 offset: usize,
8452 _depth: fidl::encoding::Depth,
8453 ) -> fidl::Result<()> {
8454 decoder.debug_check_bounds::<Self>(offset);
8455 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8457 Ok(())
8458 }
8459 }
8460
8461 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
8462 type Borrowed<'a> = &'a Self;
8463 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8464 value
8465 }
8466 }
8467
8468 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
8469 type Owned = Self;
8470
8471 #[inline(always)]
8472 fn inline_align(_context: fidl::encoding::Context) -> usize {
8473 8
8474 }
8475
8476 #[inline(always)]
8477 fn inline_size(_context: fidl::encoding::Context) -> usize {
8478 32
8479 }
8480 }
8481
8482 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
8483 for &MlmeRoamConfRequest
8484 {
8485 #[inline]
8486 unsafe fn encode(
8487 self,
8488 encoder: &mut fidl::encoding::Encoder<'_, D>,
8489 offset: usize,
8490 _depth: fidl::encoding::Depth,
8491 ) -> fidl::Result<()> {
8492 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8493 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
8495 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8496 encoder,
8497 offset,
8498 _depth,
8499 )
8500 }
8501 }
8502 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
8503 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
8504 {
8505 #[inline]
8506 unsafe fn encode(
8507 self,
8508 encoder: &mut fidl::encoding::Encoder<'_, D>,
8509 offset: usize,
8510 depth: fidl::encoding::Depth,
8511 ) -> fidl::Result<()> {
8512 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8513 self.0.encode(encoder, offset + 0, depth)?;
8517 Ok(())
8518 }
8519 }
8520
8521 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
8522 #[inline(always)]
8523 fn new_empty() -> Self {
8524 Self { conf: fidl::new_empty!(RoamConfirm, D) }
8525 }
8526
8527 #[inline]
8528 unsafe fn decode(
8529 &mut self,
8530 decoder: &mut fidl::encoding::Decoder<'_, D>,
8531 offset: usize,
8532 _depth: fidl::encoding::Depth,
8533 ) -> fidl::Result<()> {
8534 decoder.debug_check_bounds::<Self>(offset);
8535 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8537 Ok(())
8538 }
8539 }
8540
8541 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
8542 type Borrowed<'a> = &'a Self;
8543 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8544 value
8545 }
8546 }
8547
8548 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
8549 type Owned = Self;
8550
8551 #[inline(always)]
8552 fn inline_align(_context: fidl::encoding::Context) -> usize {
8553 8
8554 }
8555
8556 #[inline(always)]
8557 fn inline_size(_context: fidl::encoding::Context) -> usize {
8558 48
8559 }
8560 }
8561
8562 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
8563 for &MlmeRoamReqRequest
8564 {
8565 #[inline]
8566 unsafe fn encode(
8567 self,
8568 encoder: &mut fidl::encoding::Encoder<'_, D>,
8569 offset: usize,
8570 _depth: fidl::encoding::Depth,
8571 ) -> fidl::Result<()> {
8572 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8573 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
8575 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8576 encoder,
8577 offset,
8578 _depth,
8579 )
8580 }
8581 }
8582 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
8583 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
8584 {
8585 #[inline]
8586 unsafe fn encode(
8587 self,
8588 encoder: &mut fidl::encoding::Encoder<'_, D>,
8589 offset: usize,
8590 depth: fidl::encoding::Depth,
8591 ) -> fidl::Result<()> {
8592 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8593 self.0.encode(encoder, offset + 0, depth)?;
8597 Ok(())
8598 }
8599 }
8600
8601 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
8602 #[inline(always)]
8603 fn new_empty() -> Self {
8604 Self { req: fidl::new_empty!(RoamRequest, D) }
8605 }
8606
8607 #[inline]
8608 unsafe fn decode(
8609 &mut self,
8610 decoder: &mut fidl::encoding::Decoder<'_, D>,
8611 offset: usize,
8612 _depth: fidl::encoding::Depth,
8613 ) -> fidl::Result<()> {
8614 decoder.debug_check_bounds::<Self>(offset);
8615 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8617 Ok(())
8618 }
8619 }
8620
8621 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
8622 type Borrowed<'a> = &'a Self;
8623 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8624 value
8625 }
8626 }
8627
8628 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
8629 type Owned = Self;
8630
8631 #[inline(always)]
8632 fn inline_align(_context: fidl::encoding::Context) -> usize {
8633 8
8634 }
8635
8636 #[inline(always)]
8637 fn inline_size(_context: fidl::encoding::Context) -> usize {
8638 32
8639 }
8640 }
8641
8642 unsafe impl<D: fidl::encoding::ResourceDialect>
8643 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
8644 {
8645 #[inline]
8646 unsafe fn encode(
8647 self,
8648 encoder: &mut fidl::encoding::Encoder<'_, D>,
8649 offset: usize,
8650 _depth: fidl::encoding::Depth,
8651 ) -> fidl::Result<()> {
8652 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8653 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8655 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8656 encoder,
8657 offset,
8658 _depth,
8659 )
8660 }
8661 }
8662 unsafe impl<
8663 D: fidl::encoding::ResourceDialect,
8664 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8665 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8666 {
8667 #[inline]
8668 unsafe fn encode(
8669 self,
8670 encoder: &mut fidl::encoding::Encoder<'_, D>,
8671 offset: usize,
8672 depth: fidl::encoding::Depth,
8673 ) -> fidl::Result<()> {
8674 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8675 self.0.encode(encoder, offset + 0, depth)?;
8679 Ok(())
8680 }
8681 }
8682
8683 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8684 for MlmeRoamResultIndRequest
8685 {
8686 #[inline(always)]
8687 fn new_empty() -> Self {
8688 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8689 }
8690
8691 #[inline]
8692 unsafe fn decode(
8693 &mut self,
8694 decoder: &mut fidl::encoding::Decoder<'_, D>,
8695 offset: usize,
8696 _depth: fidl::encoding::Depth,
8697 ) -> fidl::Result<()> {
8698 decoder.debug_check_bounds::<Self>(offset);
8699 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8701 Ok(())
8702 }
8703 }
8704
8705 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8706 type Borrowed<'a> = &'a Self;
8707 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8708 value
8709 }
8710 }
8711
8712 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8713 type Owned = Self;
8714
8715 #[inline(always)]
8716 fn inline_align(_context: fidl::encoding::Context) -> usize {
8717 8
8718 }
8719
8720 #[inline(always)]
8721 fn inline_size(_context: fidl::encoding::Context) -> usize {
8722 64
8723 }
8724 }
8725
8726 unsafe impl<D: fidl::encoding::ResourceDialect>
8727 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8728 {
8729 #[inline]
8730 unsafe fn encode(
8731 self,
8732 encoder: &mut fidl::encoding::Encoder<'_, D>,
8733 offset: usize,
8734 _depth: fidl::encoding::Depth,
8735 ) -> fidl::Result<()> {
8736 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8737 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8739 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8740 encoder,
8741 offset,
8742 _depth,
8743 )
8744 }
8745 }
8746 unsafe impl<
8747 D: fidl::encoding::ResourceDialect,
8748 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8749 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8750 {
8751 #[inline]
8752 unsafe fn encode(
8753 self,
8754 encoder: &mut fidl::encoding::Encoder<'_, D>,
8755 offset: usize,
8756 depth: fidl::encoding::Depth,
8757 ) -> fidl::Result<()> {
8758 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8759 self.0.encode(encoder, offset + 0, depth)?;
8763 Ok(())
8764 }
8765 }
8766
8767 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8768 for MlmeRoamStartIndRequest
8769 {
8770 #[inline(always)]
8771 fn new_empty() -> Self {
8772 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8773 }
8774
8775 #[inline]
8776 unsafe fn decode(
8777 &mut self,
8778 decoder: &mut fidl::encoding::Decoder<'_, D>,
8779 offset: usize,
8780 _depth: fidl::encoding::Depth,
8781 ) -> fidl::Result<()> {
8782 decoder.debug_check_bounds::<Self>(offset);
8783 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8785 Ok(())
8786 }
8787 }
8788
8789 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8790 type Borrowed<'a> = &'a Self;
8791 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8792 value
8793 }
8794 }
8795
8796 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8797 type Owned = Self;
8798
8799 #[inline(always)]
8800 fn inline_align(_context: fidl::encoding::Context) -> usize {
8801 8
8802 }
8803
8804 #[inline(always)]
8805 fn inline_size(_context: fidl::encoding::Context) -> usize {
8806 32
8807 }
8808 }
8809
8810 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8811 for &MlmeSaeFrameTxRequest
8812 {
8813 #[inline]
8814 unsafe fn encode(
8815 self,
8816 encoder: &mut fidl::encoding::Encoder<'_, D>,
8817 offset: usize,
8818 _depth: fidl::encoding::Depth,
8819 ) -> fidl::Result<()> {
8820 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8821 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8823 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8824 encoder,
8825 offset,
8826 _depth,
8827 )
8828 }
8829 }
8830 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8831 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8832 {
8833 #[inline]
8834 unsafe fn encode(
8835 self,
8836 encoder: &mut fidl::encoding::Encoder<'_, D>,
8837 offset: usize,
8838 depth: fidl::encoding::Depth,
8839 ) -> fidl::Result<()> {
8840 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8841 self.0.encode(encoder, offset + 0, depth)?;
8845 Ok(())
8846 }
8847 }
8848
8849 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8850 #[inline(always)]
8851 fn new_empty() -> Self {
8852 Self { frame: fidl::new_empty!(SaeFrame, D) }
8853 }
8854
8855 #[inline]
8856 unsafe fn decode(
8857 &mut self,
8858 decoder: &mut fidl::encoding::Decoder<'_, D>,
8859 offset: usize,
8860 _depth: fidl::encoding::Depth,
8861 ) -> fidl::Result<()> {
8862 decoder.debug_check_bounds::<Self>(offset);
8863 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8865 Ok(())
8866 }
8867 }
8868
8869 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8870 type Borrowed<'a> = &'a Self;
8871 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8872 value
8873 }
8874 }
8875
8876 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8877 type Owned = Self;
8878
8879 #[inline(always)]
8880 fn inline_align(_context: fidl::encoding::Context) -> usize {
8881 2
8882 }
8883
8884 #[inline(always)]
8885 fn inline_size(_context: fidl::encoding::Context) -> usize {
8886 8
8887 }
8888 }
8889
8890 unsafe impl<D: fidl::encoding::ResourceDialect>
8891 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8892 {
8893 #[inline]
8894 unsafe fn encode(
8895 self,
8896 encoder: &mut fidl::encoding::Encoder<'_, D>,
8897 offset: usize,
8898 _depth: fidl::encoding::Depth,
8899 ) -> fidl::Result<()> {
8900 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8901 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8903 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8904 encoder,
8905 offset,
8906 _depth,
8907 )
8908 }
8909 }
8910 unsafe impl<
8911 D: fidl::encoding::ResourceDialect,
8912 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8913 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8914 {
8915 #[inline]
8916 unsafe fn encode(
8917 self,
8918 encoder: &mut fidl::encoding::Encoder<'_, D>,
8919 offset: usize,
8920 depth: fidl::encoding::Depth,
8921 ) -> fidl::Result<()> {
8922 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8923 self.0.encode(encoder, offset + 0, depth)?;
8927 Ok(())
8928 }
8929 }
8930
8931 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8932 for MlmeSaeHandshakeRespRequest
8933 {
8934 #[inline(always)]
8935 fn new_empty() -> Self {
8936 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8937 }
8938
8939 #[inline]
8940 unsafe fn decode(
8941 &mut self,
8942 decoder: &mut fidl::encoding::Decoder<'_, D>,
8943 offset: usize,
8944 _depth: fidl::encoding::Depth,
8945 ) -> fidl::Result<()> {
8946 decoder.debug_check_bounds::<Self>(offset);
8947 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8949 Ok(())
8950 }
8951 }
8952
8953 impl fidl::encoding::ValueTypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8954 type Borrowed<'a> = &'a Self;
8955 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8956 value
8957 }
8958 }
8959
8960 unsafe impl fidl::encoding::TypeMarker for MlmeSetApfPacketFilterEnabledRequest {
8961 type Owned = Self;
8962
8963 #[inline(always)]
8964 fn inline_align(_context: fidl::encoding::Context) -> usize {
8965 1
8966 }
8967
8968 #[inline(always)]
8969 fn inline_size(_context: fidl::encoding::Context) -> usize {
8970 1
8971 }
8972 }
8973
8974 unsafe impl<D: fidl::encoding::ResourceDialect>
8975 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D>
8976 for &MlmeSetApfPacketFilterEnabledRequest
8977 {
8978 #[inline]
8979 unsafe fn encode(
8980 self,
8981 encoder: &mut fidl::encoding::Encoder<'_, D>,
8982 offset: usize,
8983 _depth: fidl::encoding::Depth,
8984 ) -> fidl::Result<()> {
8985 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
8986 fidl::encoding::Encode::<MlmeSetApfPacketFilterEnabledRequest, D>::encode(
8988 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
8989 encoder,
8990 offset,
8991 _depth,
8992 )
8993 }
8994 }
8995 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
8996 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D> for (T0,)
8997 {
8998 #[inline]
8999 unsafe fn encode(
9000 self,
9001 encoder: &mut fidl::encoding::Encoder<'_, D>,
9002 offset: usize,
9003 depth: fidl::encoding::Depth,
9004 ) -> fidl::Result<()> {
9005 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
9006 self.0.encode(encoder, offset + 0, depth)?;
9010 Ok(())
9011 }
9012 }
9013
9014 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9015 for MlmeSetApfPacketFilterEnabledRequest
9016 {
9017 #[inline(always)]
9018 fn new_empty() -> Self {
9019 Self { enabled: fidl::new_empty!(bool, D) }
9020 }
9021
9022 #[inline]
9023 unsafe fn decode(
9024 &mut self,
9025 decoder: &mut fidl::encoding::Decoder<'_, D>,
9026 offset: usize,
9027 _depth: fidl::encoding::Depth,
9028 ) -> fidl::Result<()> {
9029 decoder.debug_check_bounds::<Self>(offset);
9030 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
9032 Ok(())
9033 }
9034 }
9035
9036 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
9037 type Borrowed<'a> = &'a Self;
9038 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9039 value
9040 }
9041 }
9042
9043 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
9044 type Owned = Self;
9045
9046 #[inline(always)]
9047 fn inline_align(_context: fidl::encoding::Context) -> usize {
9048 4
9049 }
9050
9051 #[inline(always)]
9052 fn inline_size(_context: fidl::encoding::Context) -> usize {
9053 12
9054 }
9055 }
9056
9057 unsafe impl<D: fidl::encoding::ResourceDialect>
9058 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
9059 {
9060 #[inline]
9061 unsafe fn encode(
9062 self,
9063 encoder: &mut fidl::encoding::Encoder<'_, D>,
9064 offset: usize,
9065 _depth: fidl::encoding::Depth,
9066 ) -> fidl::Result<()> {
9067 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9068 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
9070 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9071 encoder,
9072 offset,
9073 _depth,
9074 )
9075 }
9076 }
9077 unsafe impl<
9078 D: fidl::encoding::ResourceDialect,
9079 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
9080 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
9081 {
9082 #[inline]
9083 unsafe fn encode(
9084 self,
9085 encoder: &mut fidl::encoding::Encoder<'_, D>,
9086 offset: usize,
9087 depth: fidl::encoding::Depth,
9088 ) -> fidl::Result<()> {
9089 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9090 self.0.encode(encoder, offset + 0, depth)?;
9094 Ok(())
9095 }
9096 }
9097
9098 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9099 for MlmeSetControlledPortRequest
9100 {
9101 #[inline(always)]
9102 fn new_empty() -> Self {
9103 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
9104 }
9105
9106 #[inline]
9107 unsafe fn decode(
9108 &mut self,
9109 decoder: &mut fidl::encoding::Decoder<'_, D>,
9110 offset: usize,
9111 _depth: fidl::encoding::Depth,
9112 ) -> fidl::Result<()> {
9113 decoder.debug_check_bounds::<Self>(offset);
9114 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9116 Ok(())
9117 }
9118 }
9119
9120 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
9121 type Borrowed<'a> = &'a Self;
9122 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9123 value
9124 }
9125 }
9126
9127 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
9128 type Owned = Self;
9129
9130 #[inline(always)]
9131 fn inline_align(_context: fidl::encoding::Context) -> usize {
9132 8
9133 }
9134
9135 #[inline(always)]
9136 fn inline_size(_context: fidl::encoding::Context) -> usize {
9137 16
9138 }
9139 }
9140
9141 unsafe impl<D: fidl::encoding::ResourceDialect>
9142 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
9143 {
9144 #[inline]
9145 unsafe fn encode(
9146 self,
9147 encoder: &mut fidl::encoding::Encoder<'_, D>,
9148 offset: usize,
9149 _depth: fidl::encoding::Depth,
9150 ) -> fidl::Result<()> {
9151 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9152 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
9154 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
9155 encoder,
9156 offset,
9157 _depth,
9158 )
9159 }
9160 }
9161 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
9162 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
9163 {
9164 #[inline]
9165 unsafe fn encode(
9166 self,
9167 encoder: &mut fidl::encoding::Encoder<'_, D>,
9168 offset: usize,
9169 depth: fidl::encoding::Depth,
9170 ) -> fidl::Result<()> {
9171 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9172 self.0.encode(encoder, offset + 0, depth)?;
9176 Ok(())
9177 }
9178 }
9179
9180 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9181 for MlmeSetKeysConfRequest
9182 {
9183 #[inline(always)]
9184 fn new_empty() -> Self {
9185 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
9186 }
9187
9188 #[inline]
9189 unsafe fn decode(
9190 &mut self,
9191 decoder: &mut fidl::encoding::Decoder<'_, D>,
9192 offset: usize,
9193 _depth: fidl::encoding::Depth,
9194 ) -> fidl::Result<()> {
9195 decoder.debug_check_bounds::<Self>(offset);
9196 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
9198 Ok(())
9199 }
9200 }
9201
9202 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
9203 type Borrowed<'a> = &'a Self;
9204 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9205 value
9206 }
9207 }
9208
9209 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
9210 type Owned = Self;
9211
9212 #[inline(always)]
9213 fn inline_align(_context: fidl::encoding::Context) -> usize {
9214 8
9215 }
9216
9217 #[inline(always)]
9218 fn inline_size(_context: fidl::encoding::Context) -> usize {
9219 16
9220 }
9221 }
9222
9223 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
9224 for &MlmeSetKeysReqRequest
9225 {
9226 #[inline]
9227 unsafe fn encode(
9228 self,
9229 encoder: &mut fidl::encoding::Encoder<'_, D>,
9230 offset: usize,
9231 _depth: fidl::encoding::Depth,
9232 ) -> fidl::Result<()> {
9233 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
9234 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
9236 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9237 encoder,
9238 offset,
9239 _depth,
9240 )
9241 }
9242 }
9243 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
9244 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
9245 {
9246 #[inline]
9247 unsafe fn encode(
9248 self,
9249 encoder: &mut fidl::encoding::Encoder<'_, D>,
9250 offset: usize,
9251 depth: fidl::encoding::Depth,
9252 ) -> fidl::Result<()> {
9253 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
9254 self.0.encode(encoder, offset + 0, depth)?;
9258 Ok(())
9259 }
9260 }
9261
9262 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
9263 #[inline(always)]
9264 fn new_empty() -> Self {
9265 Self { req: fidl::new_empty!(SetKeysRequest, D) }
9266 }
9267
9268 #[inline]
9269 unsafe fn decode(
9270 &mut self,
9271 decoder: &mut fidl::encoding::Decoder<'_, D>,
9272 offset: usize,
9273 _depth: fidl::encoding::Depth,
9274 ) -> fidl::Result<()> {
9275 decoder.debug_check_bounds::<Self>(offset);
9276 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9278 Ok(())
9279 }
9280 }
9281
9282 impl fidl::encoding::ValueTypeMarker for MlmeSetMacAddressRequest {
9283 type Borrowed<'a> = &'a Self;
9284 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9285 value
9286 }
9287 }
9288
9289 unsafe impl fidl::encoding::TypeMarker for MlmeSetMacAddressRequest {
9290 type Owned = Self;
9291
9292 #[inline(always)]
9293 fn inline_align(_context: fidl::encoding::Context) -> usize {
9294 1
9295 }
9296
9297 #[inline(always)]
9298 fn inline_size(_context: fidl::encoding::Context) -> usize {
9299 6
9300 }
9301 #[inline(always)]
9302 fn encode_is_copy() -> bool {
9303 true
9304 }
9305
9306 #[inline(always)]
9307 fn decode_is_copy() -> bool {
9308 true
9309 }
9310 }
9311
9312 unsafe impl<D: fidl::encoding::ResourceDialect>
9313 fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for &MlmeSetMacAddressRequest
9314 {
9315 #[inline]
9316 unsafe fn encode(
9317 self,
9318 encoder: &mut fidl::encoding::Encoder<'_, D>,
9319 offset: usize,
9320 _depth: fidl::encoding::Depth,
9321 ) -> fidl::Result<()> {
9322 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9323 unsafe {
9324 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9326 (buf_ptr as *mut MlmeSetMacAddressRequest)
9327 .write_unaligned((self as *const MlmeSetMacAddressRequest).read());
9328 }
9331 Ok(())
9332 }
9333 }
9334 unsafe impl<
9335 D: fidl::encoding::ResourceDialect,
9336 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9337 > fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for (T0,)
9338 {
9339 #[inline]
9340 unsafe fn encode(
9341 self,
9342 encoder: &mut fidl::encoding::Encoder<'_, D>,
9343 offset: usize,
9344 depth: fidl::encoding::Depth,
9345 ) -> fidl::Result<()> {
9346 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9347 self.0.encode(encoder, offset + 0, depth)?;
9351 Ok(())
9352 }
9353 }
9354
9355 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9356 for MlmeSetMacAddressRequest
9357 {
9358 #[inline(always)]
9359 fn new_empty() -> Self {
9360 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9361 }
9362
9363 #[inline]
9364 unsafe fn decode(
9365 &mut self,
9366 decoder: &mut fidl::encoding::Decoder<'_, D>,
9367 offset: usize,
9368 _depth: fidl::encoding::Depth,
9369 ) -> fidl::Result<()> {
9370 decoder.debug_check_bounds::<Self>(offset);
9371 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9372 unsafe {
9375 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9376 }
9377 Ok(())
9378 }
9379 }
9380
9381 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
9382 type Borrowed<'a> = &'a Self;
9383 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9384 value
9385 }
9386 }
9387
9388 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
9389 type Owned = Self;
9390
9391 #[inline(always)]
9392 fn inline_align(_context: fidl::encoding::Context) -> usize {
9393 1
9394 }
9395
9396 #[inline(always)]
9397 fn inline_size(_context: fidl::encoding::Context) -> usize {
9398 2
9399 }
9400 }
9401
9402 unsafe impl<D: fidl::encoding::ResourceDialect>
9403 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
9404 {
9405 #[inline]
9406 unsafe fn encode(
9407 self,
9408 encoder: &mut fidl::encoding::Encoder<'_, D>,
9409 offset: usize,
9410 _depth: fidl::encoding::Depth,
9411 ) -> fidl::Result<()> {
9412 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9413 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
9415 (
9416 <fidl_fuchsia_wlan_internal_common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
9417 ),
9418 encoder, offset, _depth
9419 )
9420 }
9421 }
9422 unsafe impl<
9423 D: fidl::encoding::ResourceDialect,
9424 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::SignalReportIndication, D>,
9425 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
9426 {
9427 #[inline]
9428 unsafe fn encode(
9429 self,
9430 encoder: &mut fidl::encoding::Encoder<'_, D>,
9431 offset: usize,
9432 depth: fidl::encoding::Depth,
9433 ) -> fidl::Result<()> {
9434 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9435 self.0.encode(encoder, offset + 0, depth)?;
9439 Ok(())
9440 }
9441 }
9442
9443 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9444 for MlmeSignalReportRequest
9445 {
9446 #[inline(always)]
9447 fn new_empty() -> Self {
9448 Self {
9449 ind: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::SignalReportIndication, D),
9450 }
9451 }
9452
9453 #[inline]
9454 unsafe fn decode(
9455 &mut self,
9456 decoder: &mut fidl::encoding::Decoder<'_, D>,
9457 offset: usize,
9458 _depth: fidl::encoding::Depth,
9459 ) -> fidl::Result<()> {
9460 decoder.debug_check_bounds::<Self>(offset);
9461 fidl::decode!(
9463 fidl_fuchsia_wlan_internal_common::SignalReportIndication,
9464 D,
9465 &mut self.ind,
9466 decoder,
9467 offset + 0,
9468 _depth
9469 )?;
9470 Ok(())
9471 }
9472 }
9473
9474 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
9475 type Borrowed<'a> = &'a Self;
9476 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9477 value
9478 }
9479 }
9480
9481 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
9482 type Owned = Self;
9483
9484 #[inline(always)]
9485 fn inline_align(_context: fidl::encoding::Context) -> usize {
9486 4
9487 }
9488
9489 #[inline(always)]
9490 fn inline_size(_context: fidl::encoding::Context) -> usize {
9491 4
9492 }
9493 }
9494
9495 unsafe impl<D: fidl::encoding::ResourceDialect>
9496 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
9497 for &MlmeStartCaptureFramesRequest
9498 {
9499 #[inline]
9500 unsafe fn encode(
9501 self,
9502 encoder: &mut fidl::encoding::Encoder<'_, D>,
9503 offset: usize,
9504 _depth: fidl::encoding::Depth,
9505 ) -> fidl::Result<()> {
9506 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9507 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
9509 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9510 encoder,
9511 offset,
9512 _depth,
9513 )
9514 }
9515 }
9516 unsafe impl<
9517 D: fidl::encoding::ResourceDialect,
9518 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
9519 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
9520 {
9521 #[inline]
9522 unsafe fn encode(
9523 self,
9524 encoder: &mut fidl::encoding::Encoder<'_, D>,
9525 offset: usize,
9526 depth: fidl::encoding::Depth,
9527 ) -> fidl::Result<()> {
9528 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9529 self.0.encode(encoder, offset + 0, depth)?;
9533 Ok(())
9534 }
9535 }
9536
9537 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9538 for MlmeStartCaptureFramesRequest
9539 {
9540 #[inline(always)]
9541 fn new_empty() -> Self {
9542 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
9543 }
9544
9545 #[inline]
9546 unsafe fn decode(
9547 &mut self,
9548 decoder: &mut fidl::encoding::Decoder<'_, D>,
9549 offset: usize,
9550 _depth: fidl::encoding::Depth,
9551 ) -> fidl::Result<()> {
9552 decoder.debug_check_bounds::<Self>(offset);
9553 fidl::decode!(
9555 StartCaptureFramesRequest,
9556 D,
9557 &mut self.req,
9558 decoder,
9559 offset + 0,
9560 _depth
9561 )?;
9562 Ok(())
9563 }
9564 }
9565
9566 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
9567 type Borrowed<'a> = &'a Self;
9568 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9569 value
9570 }
9571 }
9572
9573 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
9574 type Owned = Self;
9575
9576 #[inline(always)]
9577 fn inline_align(_context: fidl::encoding::Context) -> usize {
9578 4
9579 }
9580
9581 #[inline(always)]
9582 fn inline_size(_context: fidl::encoding::Context) -> usize {
9583 8
9584 }
9585 }
9586
9587 unsafe impl<D: fidl::encoding::ResourceDialect>
9588 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
9589 for &MlmeStartCaptureFramesResponse
9590 {
9591 #[inline]
9592 unsafe fn encode(
9593 self,
9594 encoder: &mut fidl::encoding::Encoder<'_, D>,
9595 offset: usize,
9596 _depth: fidl::encoding::Depth,
9597 ) -> fidl::Result<()> {
9598 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9599 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
9601 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
9602 &self.resp,
9603 ),),
9604 encoder,
9605 offset,
9606 _depth,
9607 )
9608 }
9609 }
9610 unsafe impl<
9611 D: fidl::encoding::ResourceDialect,
9612 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
9613 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
9614 {
9615 #[inline]
9616 unsafe fn encode(
9617 self,
9618 encoder: &mut fidl::encoding::Encoder<'_, D>,
9619 offset: usize,
9620 depth: fidl::encoding::Depth,
9621 ) -> fidl::Result<()> {
9622 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9623 self.0.encode(encoder, offset + 0, depth)?;
9627 Ok(())
9628 }
9629 }
9630
9631 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9632 for MlmeStartCaptureFramesResponse
9633 {
9634 #[inline(always)]
9635 fn new_empty() -> Self {
9636 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
9637 }
9638
9639 #[inline]
9640 unsafe fn decode(
9641 &mut self,
9642 decoder: &mut fidl::encoding::Decoder<'_, D>,
9643 offset: usize,
9644 _depth: fidl::encoding::Depth,
9645 ) -> fidl::Result<()> {
9646 decoder.debug_check_bounds::<Self>(offset);
9647 fidl::decode!(
9649 StartCaptureFramesResponse,
9650 D,
9651 &mut self.resp,
9652 decoder,
9653 offset + 0,
9654 _depth
9655 )?;
9656 Ok(())
9657 }
9658 }
9659
9660 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
9661 type Borrowed<'a> = &'a Self;
9662 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9663 value
9664 }
9665 }
9666
9667 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
9668 type Owned = Self;
9669
9670 #[inline(always)]
9671 fn inline_align(_context: fidl::encoding::Context) -> usize {
9672 4
9673 }
9674
9675 #[inline(always)]
9676 fn inline_size(_context: fidl::encoding::Context) -> usize {
9677 4
9678 }
9679 }
9680
9681 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
9682 for &MlmeStartConfRequest
9683 {
9684 #[inline]
9685 unsafe fn encode(
9686 self,
9687 encoder: &mut fidl::encoding::Encoder<'_, D>,
9688 offset: usize,
9689 _depth: fidl::encoding::Depth,
9690 ) -> fidl::Result<()> {
9691 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9692 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
9694 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9695 encoder,
9696 offset,
9697 _depth,
9698 )
9699 }
9700 }
9701 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
9702 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
9703 {
9704 #[inline]
9705 unsafe fn encode(
9706 self,
9707 encoder: &mut fidl::encoding::Encoder<'_, D>,
9708 offset: usize,
9709 depth: fidl::encoding::Depth,
9710 ) -> fidl::Result<()> {
9711 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9712 self.0.encode(encoder, offset + 0, depth)?;
9716 Ok(())
9717 }
9718 }
9719
9720 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
9721 #[inline(always)]
9722 fn new_empty() -> Self {
9723 Self { resp: fidl::new_empty!(StartConfirm, D) }
9724 }
9725
9726 #[inline]
9727 unsafe fn decode(
9728 &mut self,
9729 decoder: &mut fidl::encoding::Decoder<'_, D>,
9730 offset: usize,
9731 _depth: fidl::encoding::Depth,
9732 ) -> fidl::Result<()> {
9733 decoder.debug_check_bounds::<Self>(offset);
9734 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9736 Ok(())
9737 }
9738 }
9739
9740 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
9741 type Borrowed<'a> = &'a Self;
9742 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9743 value
9744 }
9745 }
9746
9747 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
9748 type Owned = Self;
9749
9750 #[inline(always)]
9751 fn inline_align(_context: fidl::encoding::Context) -> usize {
9752 8
9753 }
9754
9755 #[inline(always)]
9756 fn inline_size(_context: fidl::encoding::Context) -> usize {
9757 96
9758 }
9759 }
9760
9761 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
9762 for &MlmeStartReqRequest
9763 {
9764 #[inline]
9765 unsafe fn encode(
9766 self,
9767 encoder: &mut fidl::encoding::Encoder<'_, D>,
9768 offset: usize,
9769 _depth: fidl::encoding::Depth,
9770 ) -> fidl::Result<()> {
9771 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9772 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
9774 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9775 encoder,
9776 offset,
9777 _depth,
9778 )
9779 }
9780 }
9781 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
9782 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
9783 {
9784 #[inline]
9785 unsafe fn encode(
9786 self,
9787 encoder: &mut fidl::encoding::Encoder<'_, D>,
9788 offset: usize,
9789 depth: fidl::encoding::Depth,
9790 ) -> fidl::Result<()> {
9791 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9792 self.0.encode(encoder, offset + 0, depth)?;
9796 Ok(())
9797 }
9798 }
9799
9800 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
9801 #[inline(always)]
9802 fn new_empty() -> Self {
9803 Self { req: fidl::new_empty!(StartRequest, D) }
9804 }
9805
9806 #[inline]
9807 unsafe fn decode(
9808 &mut self,
9809 decoder: &mut fidl::encoding::Decoder<'_, D>,
9810 offset: usize,
9811 _depth: fidl::encoding::Depth,
9812 ) -> fidl::Result<()> {
9813 decoder.debug_check_bounds::<Self>(offset);
9814 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9816 Ok(())
9817 }
9818 }
9819
9820 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
9821 type Borrowed<'a> = &'a Self;
9822 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9823 value
9824 }
9825 }
9826
9827 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
9828 type Owned = Self;
9829
9830 #[inline(always)]
9831 fn inline_align(_context: fidl::encoding::Context) -> usize {
9832 8
9833 }
9834
9835 #[inline(always)]
9836 fn inline_size(_context: fidl::encoding::Context) -> usize {
9837 64
9838 }
9839 }
9840
9841 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
9842 for &MlmeStartScanRequest
9843 {
9844 #[inline]
9845 unsafe fn encode(
9846 self,
9847 encoder: &mut fidl::encoding::Encoder<'_, D>,
9848 offset: usize,
9849 _depth: fidl::encoding::Depth,
9850 ) -> fidl::Result<()> {
9851 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9852 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
9854 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9855 encoder,
9856 offset,
9857 _depth,
9858 )
9859 }
9860 }
9861 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
9862 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
9863 {
9864 #[inline]
9865 unsafe fn encode(
9866 self,
9867 encoder: &mut fidl::encoding::Encoder<'_, D>,
9868 offset: usize,
9869 depth: fidl::encoding::Depth,
9870 ) -> fidl::Result<()> {
9871 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9872 self.0.encode(encoder, offset + 0, depth)?;
9876 Ok(())
9877 }
9878 }
9879
9880 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
9881 #[inline(always)]
9882 fn new_empty() -> Self {
9883 Self { req: fidl::new_empty!(ScanRequest, D) }
9884 }
9885
9886 #[inline]
9887 unsafe fn decode(
9888 &mut self,
9889 decoder: &mut fidl::encoding::Decoder<'_, D>,
9890 offset: usize,
9891 _depth: fidl::encoding::Depth,
9892 ) -> fidl::Result<()> {
9893 decoder.debug_check_bounds::<Self>(offset);
9894 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9896 Ok(())
9897 }
9898 }
9899
9900 impl fidl::encoding::ValueTypeMarker for MlmeStartScheduledScanRequest {
9901 type Borrowed<'a> = &'a Self;
9902 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9903 value
9904 }
9905 }
9906
9907 unsafe impl fidl::encoding::TypeMarker for MlmeStartScheduledScanRequest {
9908 type Owned = Self;
9909
9910 #[inline(always)]
9911 fn inline_align(_context: fidl::encoding::Context) -> usize {
9912 8
9913 }
9914
9915 #[inline(always)]
9916 fn inline_size(_context: fidl::encoding::Context) -> usize {
9917 24
9918 }
9919 }
9920
9921 unsafe impl<D: fidl::encoding::ResourceDialect>
9922 fidl::encoding::Encode<MlmeStartScheduledScanRequest, D>
9923 for &MlmeStartScheduledScanRequest
9924 {
9925 #[inline]
9926 unsafe fn encode(
9927 self,
9928 encoder: &mut fidl::encoding::Encoder<'_, D>,
9929 offset: usize,
9930 _depth: fidl::encoding::Depth,
9931 ) -> fidl::Result<()> {
9932 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
9933 fidl::encoding::Encode::<MlmeStartScheduledScanRequest, D>::encode(
9935 (
9936 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
9937 <fidl_fuchsia_wlan_common_common::ScheduledScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),
9938 ),
9939 encoder, offset, _depth
9940 )
9941 }
9942 }
9943 unsafe impl<
9944 D: fidl::encoding::ResourceDialect,
9945 T0: fidl::encoding::Encode<u64, D>,
9946 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D>,
9947 > fidl::encoding::Encode<MlmeStartScheduledScanRequest, D> for (T0, T1)
9948 {
9949 #[inline]
9950 unsafe fn encode(
9951 self,
9952 encoder: &mut fidl::encoding::Encoder<'_, D>,
9953 offset: usize,
9954 depth: fidl::encoding::Depth,
9955 ) -> fidl::Result<()> {
9956 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
9957 self.0.encode(encoder, offset + 0, depth)?;
9961 self.1.encode(encoder, offset + 8, depth)?;
9962 Ok(())
9963 }
9964 }
9965
9966 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9967 for MlmeStartScheduledScanRequest
9968 {
9969 #[inline(always)]
9970 fn new_empty() -> Self {
9971 Self {
9972 txn_id: fidl::new_empty!(u64, D),
9973 req: fidl::new_empty!(fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D),
9974 }
9975 }
9976
9977 #[inline]
9978 unsafe fn decode(
9979 &mut self,
9980 decoder: &mut fidl::encoding::Decoder<'_, D>,
9981 offset: usize,
9982 _depth: fidl::encoding::Depth,
9983 ) -> fidl::Result<()> {
9984 decoder.debug_check_bounds::<Self>(offset);
9985 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
9987 fidl::decode!(
9988 fidl_fuchsia_wlan_common_common::ScheduledScanRequest,
9989 D,
9990 &mut self.req,
9991 decoder,
9992 offset + 8,
9993 _depth
9994 )?;
9995 Ok(())
9996 }
9997 }
9998
9999 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
10000 type Borrowed<'a> = &'a Self;
10001 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10002 value
10003 }
10004 }
10005
10006 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
10007 type Owned = Self;
10008
10009 #[inline(always)]
10010 fn inline_align(_context: fidl::encoding::Context) -> usize {
10011 4
10012 }
10013
10014 #[inline(always)]
10015 fn inline_size(_context: fidl::encoding::Context) -> usize {
10016 4
10017 }
10018 }
10019
10020 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
10021 for &MlmeStopConfRequest
10022 {
10023 #[inline]
10024 unsafe fn encode(
10025 self,
10026 encoder: &mut fidl::encoding::Encoder<'_, D>,
10027 offset: usize,
10028 _depth: fidl::encoding::Depth,
10029 ) -> fidl::Result<()> {
10030 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10031 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
10033 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
10034 encoder,
10035 offset,
10036 _depth,
10037 )
10038 }
10039 }
10040 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
10041 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
10042 {
10043 #[inline]
10044 unsafe fn encode(
10045 self,
10046 encoder: &mut fidl::encoding::Encoder<'_, D>,
10047 offset: usize,
10048 depth: fidl::encoding::Depth,
10049 ) -> fidl::Result<()> {
10050 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10051 self.0.encode(encoder, offset + 0, depth)?;
10055 Ok(())
10056 }
10057 }
10058
10059 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
10060 #[inline(always)]
10061 fn new_empty() -> Self {
10062 Self { resp: fidl::new_empty!(StopConfirm, D) }
10063 }
10064
10065 #[inline]
10066 unsafe fn decode(
10067 &mut self,
10068 decoder: &mut fidl::encoding::Decoder<'_, D>,
10069 offset: usize,
10070 _depth: fidl::encoding::Depth,
10071 ) -> fidl::Result<()> {
10072 decoder.debug_check_bounds::<Self>(offset);
10073 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
10075 Ok(())
10076 }
10077 }
10078
10079 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
10080 type Borrowed<'a> = &'a Self;
10081 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10082 value
10083 }
10084 }
10085
10086 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
10087 type Owned = Self;
10088
10089 #[inline(always)]
10090 fn inline_align(_context: fidl::encoding::Context) -> usize {
10091 8
10092 }
10093
10094 #[inline(always)]
10095 fn inline_size(_context: fidl::encoding::Context) -> usize {
10096 16
10097 }
10098 }
10099
10100 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
10101 for &MlmeStopReqRequest
10102 {
10103 #[inline]
10104 unsafe fn encode(
10105 self,
10106 encoder: &mut fidl::encoding::Encoder<'_, D>,
10107 offset: usize,
10108 _depth: fidl::encoding::Depth,
10109 ) -> fidl::Result<()> {
10110 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10111 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
10113 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
10114 encoder,
10115 offset,
10116 _depth,
10117 )
10118 }
10119 }
10120 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
10121 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
10122 {
10123 #[inline]
10124 unsafe fn encode(
10125 self,
10126 encoder: &mut fidl::encoding::Encoder<'_, D>,
10127 offset: usize,
10128 depth: fidl::encoding::Depth,
10129 ) -> fidl::Result<()> {
10130 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10131 self.0.encode(encoder, offset + 0, depth)?;
10135 Ok(())
10136 }
10137 }
10138
10139 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
10140 #[inline(always)]
10141 fn new_empty() -> Self {
10142 Self { req: fidl::new_empty!(StopRequest, D) }
10143 }
10144
10145 #[inline]
10146 unsafe fn decode(
10147 &mut self,
10148 decoder: &mut fidl::encoding::Decoder<'_, D>,
10149 offset: usize,
10150 _depth: fidl::encoding::Depth,
10151 ) -> fidl::Result<()> {
10152 decoder.debug_check_bounds::<Self>(offset);
10153 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
10155 Ok(())
10156 }
10157 }
10158
10159 impl fidl::encoding::ValueTypeMarker for MlmeStopScheduledScanRequest {
10160 type Borrowed<'a> = &'a Self;
10161 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10162 value
10163 }
10164 }
10165
10166 unsafe impl fidl::encoding::TypeMarker for MlmeStopScheduledScanRequest {
10167 type Owned = Self;
10168
10169 #[inline(always)]
10170 fn inline_align(_context: fidl::encoding::Context) -> usize {
10171 8
10172 }
10173
10174 #[inline(always)]
10175 fn inline_size(_context: fidl::encoding::Context) -> usize {
10176 8
10177 }
10178 #[inline(always)]
10179 fn encode_is_copy() -> bool {
10180 true
10181 }
10182
10183 #[inline(always)]
10184 fn decode_is_copy() -> bool {
10185 true
10186 }
10187 }
10188
10189 unsafe impl<D: fidl::encoding::ResourceDialect>
10190 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for &MlmeStopScheduledScanRequest
10191 {
10192 #[inline]
10193 unsafe fn encode(
10194 self,
10195 encoder: &mut fidl::encoding::Encoder<'_, D>,
10196 offset: usize,
10197 _depth: fidl::encoding::Depth,
10198 ) -> fidl::Result<()> {
10199 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10200 unsafe {
10201 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10203 (buf_ptr as *mut MlmeStopScheduledScanRequest)
10204 .write_unaligned((self as *const MlmeStopScheduledScanRequest).read());
10205 }
10208 Ok(())
10209 }
10210 }
10211 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
10212 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for (T0,)
10213 {
10214 #[inline]
10215 unsafe fn encode(
10216 self,
10217 encoder: &mut fidl::encoding::Encoder<'_, D>,
10218 offset: usize,
10219 depth: fidl::encoding::Depth,
10220 ) -> fidl::Result<()> {
10221 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10222 self.0.encode(encoder, offset + 0, depth)?;
10226 Ok(())
10227 }
10228 }
10229
10230 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10231 for MlmeStopScheduledScanRequest
10232 {
10233 #[inline(always)]
10234 fn new_empty() -> Self {
10235 Self { txn_id: fidl::new_empty!(u64, D) }
10236 }
10237
10238 #[inline]
10239 unsafe fn decode(
10240 &mut self,
10241 decoder: &mut fidl::encoding::Decoder<'_, D>,
10242 offset: usize,
10243 _depth: fidl::encoding::Depth,
10244 ) -> fidl::Result<()> {
10245 decoder.debug_check_bounds::<Self>(offset);
10246 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10247 unsafe {
10250 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
10251 }
10252 Ok(())
10253 }
10254 }
10255
10256 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
10257 type Borrowed<'a> = &'a Self;
10258 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10259 value
10260 }
10261 }
10262
10263 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
10264 type Owned = Self;
10265
10266 #[inline(always)]
10267 fn inline_align(_context: fidl::encoding::Context) -> usize {
10268 8
10269 }
10270
10271 #[inline(always)]
10272 fn inline_size(_context: fidl::encoding::Context) -> usize {
10273 48
10274 }
10275 }
10276
10277 unsafe impl<D: fidl::encoding::ResourceDialect>
10278 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
10279 {
10280 #[inline]
10281 unsafe fn encode(
10282 self,
10283 encoder: &mut fidl::encoding::Encoder<'_, D>,
10284 offset: usize,
10285 _depth: fidl::encoding::Depth,
10286 ) -> fidl::Result<()> {
10287 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10288 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
10290 (
10291 <fidl_fuchsia_wlan_ieee80211_common::ChannelNumber as fidl::encoding::ValueTypeMarker>::borrow(&self.primary),
10292 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
10293 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
10294 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
10295 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
10296 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
10297 ),
10298 encoder, offset, _depth
10299 )
10300 }
10301 }
10302 unsafe impl<
10303 D: fidl::encoding::ResourceDialect,
10304 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D>,
10305 T1: fidl::encoding::Encode<u16, D>,
10306 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
10307 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
10308 T4: fidl::encoding::Encode<
10309 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10310 D,
10311 >,
10312 T5: fidl::encoding::Encode<
10313 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10314 D,
10315 >,
10316 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
10317 {
10318 #[inline]
10319 unsafe fn encode(
10320 self,
10321 encoder: &mut fidl::encoding::Encoder<'_, D>,
10322 offset: usize,
10323 depth: fidl::encoding::Depth,
10324 ) -> fidl::Result<()> {
10325 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10326 unsafe {
10329 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10330 (ptr as *mut u64).write_unaligned(0);
10331 }
10332 self.0.encode(encoder, offset + 0, depth)?;
10334 self.1.encode(encoder, offset + 2, depth)?;
10335 self.2.encode(encoder, offset + 8, depth)?;
10336 self.3.encode(encoder, offset + 24, depth)?;
10337 self.4.encode(encoder, offset + 32, depth)?;
10338 self.5.encode(encoder, offset + 40, depth)?;
10339 Ok(())
10340 }
10341 }
10342
10343 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10344 for NegotiatedCapabilities
10345 {
10346 #[inline(always)]
10347 fn new_empty() -> Self {
10348 Self {
10349 primary: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D),
10350 capability_info: fidl::new_empty!(u16, D),
10351 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
10352 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
10353 ht_cap: fidl::new_empty!(
10354 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10355 D
10356 ),
10357 vht_cap: fidl::new_empty!(
10358 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10359 D
10360 ),
10361 }
10362 }
10363
10364 #[inline]
10365 unsafe fn decode(
10366 &mut self,
10367 decoder: &mut fidl::encoding::Decoder<'_, D>,
10368 offset: usize,
10369 _depth: fidl::encoding::Depth,
10370 ) -> fidl::Result<()> {
10371 decoder.debug_check_bounds::<Self>(offset);
10372 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10374 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10375 let mask = 0xffffffff00000000u64;
10376 let maskedval = padval & mask;
10377 if maskedval != 0 {
10378 return Err(fidl::Error::NonZeroPadding {
10379 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10380 });
10381 }
10382 fidl::decode!(
10383 fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
10384 D,
10385 &mut self.primary,
10386 decoder,
10387 offset + 0,
10388 _depth
10389 )?;
10390 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 2, _depth)?;
10391 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 8, _depth)?;
10392 fidl::decode!(
10393 fidl::encoding::Boxed<WmmParameter>,
10394 D,
10395 &mut self.wmm_param,
10396 decoder,
10397 offset + 24,
10398 _depth
10399 )?;
10400 fidl::decode!(
10401 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10402 D,
10403 &mut self.ht_cap,
10404 decoder,
10405 offset + 32,
10406 _depth
10407 )?;
10408 fidl::decode!(
10409 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10410 D,
10411 &mut self.vht_cap,
10412 decoder,
10413 offset + 40,
10414 _depth
10415 )?;
10416 Ok(())
10417 }
10418 }
10419
10420 impl fidl::encoding::ValueTypeMarker for PmkInfo {
10421 type Borrowed<'a> = &'a Self;
10422 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10423 value
10424 }
10425 }
10426
10427 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
10428 type Owned = Self;
10429
10430 #[inline(always)]
10431 fn inline_align(_context: fidl::encoding::Context) -> usize {
10432 8
10433 }
10434
10435 #[inline(always)]
10436 fn inline_size(_context: fidl::encoding::Context) -> usize {
10437 32
10438 }
10439 }
10440
10441 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
10442 #[inline]
10443 unsafe fn encode(
10444 self,
10445 encoder: &mut fidl::encoding::Encoder<'_, D>,
10446 offset: usize,
10447 _depth: fidl::encoding::Depth,
10448 ) -> fidl::Result<()> {
10449 encoder.debug_check_bounds::<PmkInfo>(offset);
10450 fidl::encoding::Encode::<PmkInfo, D>::encode(
10452 (
10453 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
10454 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
10455 ),
10456 encoder, offset, _depth
10457 )
10458 }
10459 }
10460 unsafe impl<
10461 D: fidl::encoding::ResourceDialect,
10462 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10463 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10464 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
10465 {
10466 #[inline]
10467 unsafe fn encode(
10468 self,
10469 encoder: &mut fidl::encoding::Encoder<'_, D>,
10470 offset: usize,
10471 depth: fidl::encoding::Depth,
10472 ) -> fidl::Result<()> {
10473 encoder.debug_check_bounds::<PmkInfo>(offset);
10474 self.0.encode(encoder, offset + 0, depth)?;
10478 self.1.encode(encoder, offset + 16, depth)?;
10479 Ok(())
10480 }
10481 }
10482
10483 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
10484 #[inline(always)]
10485 fn new_empty() -> Self {
10486 Self {
10487 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10488 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10489 }
10490 }
10491
10492 #[inline]
10493 unsafe fn decode(
10494 &mut self,
10495 decoder: &mut fidl::encoding::Decoder<'_, D>,
10496 offset: usize,
10497 _depth: fidl::encoding::Depth,
10498 ) -> fidl::Result<()> {
10499 decoder.debug_check_bounds::<Self>(offset);
10500 fidl::decode!(
10502 fidl::encoding::UnboundedVector<u8>,
10503 D,
10504 &mut self.pmk,
10505 decoder,
10506 offset + 0,
10507 _depth
10508 )?;
10509 fidl::decode!(
10510 fidl::encoding::UnboundedVector<u8>,
10511 D,
10512 &mut self.pmkid,
10513 decoder,
10514 offset + 16,
10515 _depth
10516 )?;
10517 Ok(())
10518 }
10519 }
10520
10521 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
10522 type Borrowed<'a> = &'a Self;
10523 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10524 value
10525 }
10526 }
10527
10528 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
10529 type Owned = Self;
10530
10531 #[inline(always)]
10532 fn inline_align(_context: fidl::encoding::Context) -> usize {
10533 1
10534 }
10535
10536 #[inline(always)]
10537 fn inline_size(_context: fidl::encoding::Context) -> usize {
10538 6
10539 }
10540 #[inline(always)]
10541 fn encode_is_copy() -> bool {
10542 true
10543 }
10544
10545 #[inline(always)]
10546 fn decode_is_copy() -> bool {
10547 true
10548 }
10549 }
10550
10551 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
10552 for &ReconnectRequest
10553 {
10554 #[inline]
10555 unsafe fn encode(
10556 self,
10557 encoder: &mut fidl::encoding::Encoder<'_, D>,
10558 offset: usize,
10559 _depth: fidl::encoding::Depth,
10560 ) -> fidl::Result<()> {
10561 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10562 unsafe {
10563 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10565 (buf_ptr as *mut ReconnectRequest)
10566 .write_unaligned((self as *const ReconnectRequest).read());
10567 }
10570 Ok(())
10571 }
10572 }
10573 unsafe impl<
10574 D: fidl::encoding::ResourceDialect,
10575 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10576 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
10577 {
10578 #[inline]
10579 unsafe fn encode(
10580 self,
10581 encoder: &mut fidl::encoding::Encoder<'_, D>,
10582 offset: usize,
10583 depth: fidl::encoding::Depth,
10584 ) -> fidl::Result<()> {
10585 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10586 self.0.encode(encoder, offset + 0, depth)?;
10590 Ok(())
10591 }
10592 }
10593
10594 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
10595 #[inline(always)]
10596 fn new_empty() -> Self {
10597 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10598 }
10599
10600 #[inline]
10601 unsafe fn decode(
10602 &mut self,
10603 decoder: &mut fidl::encoding::Decoder<'_, D>,
10604 offset: usize,
10605 _depth: fidl::encoding::Depth,
10606 ) -> fidl::Result<()> {
10607 decoder.debug_check_bounds::<Self>(offset);
10608 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10609 unsafe {
10612 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10613 }
10614 Ok(())
10615 }
10616 }
10617
10618 impl fidl::encoding::ValueTypeMarker for ResetRequest {
10619 type Borrowed<'a> = &'a Self;
10620 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10621 value
10622 }
10623 }
10624
10625 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
10626 type Owned = Self;
10627
10628 #[inline(always)]
10629 fn inline_align(_context: fidl::encoding::Context) -> usize {
10630 1
10631 }
10632
10633 #[inline(always)]
10634 fn inline_size(_context: fidl::encoding::Context) -> usize {
10635 7
10636 }
10637 }
10638
10639 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
10640 for &ResetRequest
10641 {
10642 #[inline]
10643 unsafe fn encode(
10644 self,
10645 encoder: &mut fidl::encoding::Encoder<'_, D>,
10646 offset: usize,
10647 _depth: fidl::encoding::Depth,
10648 ) -> fidl::Result<()> {
10649 encoder.debug_check_bounds::<ResetRequest>(offset);
10650 fidl::encoding::Encode::<ResetRequest, D>::encode(
10652 (
10653 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10654 &self.sta_address,
10655 ),
10656 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
10657 ),
10658 encoder,
10659 offset,
10660 _depth,
10661 )
10662 }
10663 }
10664 unsafe impl<
10665 D: fidl::encoding::ResourceDialect,
10666 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10667 T1: fidl::encoding::Encode<bool, D>,
10668 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
10669 {
10670 #[inline]
10671 unsafe fn encode(
10672 self,
10673 encoder: &mut fidl::encoding::Encoder<'_, D>,
10674 offset: usize,
10675 depth: fidl::encoding::Depth,
10676 ) -> fidl::Result<()> {
10677 encoder.debug_check_bounds::<ResetRequest>(offset);
10678 self.0.encode(encoder, offset + 0, depth)?;
10682 self.1.encode(encoder, offset + 6, depth)?;
10683 Ok(())
10684 }
10685 }
10686
10687 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
10688 #[inline(always)]
10689 fn new_empty() -> Self {
10690 Self {
10691 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10692 set_default_mib: fidl::new_empty!(bool, D),
10693 }
10694 }
10695
10696 #[inline]
10697 unsafe fn decode(
10698 &mut self,
10699 decoder: &mut fidl::encoding::Decoder<'_, D>,
10700 offset: usize,
10701 _depth: fidl::encoding::Depth,
10702 ) -> fidl::Result<()> {
10703 decoder.debug_check_bounds::<Self>(offset);
10704 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
10706 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
10707 Ok(())
10708 }
10709 }
10710
10711 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
10712 type Borrowed<'a> = &'a Self;
10713 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10714 value
10715 }
10716 }
10717
10718 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
10719 type Owned = Self;
10720
10721 #[inline(always)]
10722 fn inline_align(_context: fidl::encoding::Context) -> usize {
10723 8
10724 }
10725
10726 #[inline(always)]
10727 fn inline_size(_context: fidl::encoding::Context) -> usize {
10728 32
10729 }
10730 }
10731
10732 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
10733 for &RoamConfirm
10734 {
10735 #[inline]
10736 unsafe fn encode(
10737 self,
10738 encoder: &mut fidl::encoding::Encoder<'_, D>,
10739 offset: usize,
10740 _depth: fidl::encoding::Depth,
10741 ) -> fidl::Result<()> {
10742 encoder.debug_check_bounds::<RoamConfirm>(offset);
10743 fidl::encoding::Encode::<RoamConfirm, D>::encode(
10745 (
10746 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10747 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10748 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10749 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10750 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10751 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10752 ),
10753 encoder, offset, _depth
10754 )
10755 }
10756 }
10757 unsafe impl<
10758 D: fidl::encoding::ResourceDialect,
10759 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10760 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
10761 T2: fidl::encoding::Encode<bool, D>,
10762 T3: fidl::encoding::Encode<bool, D>,
10763 T4: fidl::encoding::Encode<u16, D>,
10764 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10765 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
10766 {
10767 #[inline]
10768 unsafe fn encode(
10769 self,
10770 encoder: &mut fidl::encoding::Encoder<'_, D>,
10771 offset: usize,
10772 depth: fidl::encoding::Depth,
10773 ) -> fidl::Result<()> {
10774 encoder.debug_check_bounds::<RoamConfirm>(offset);
10775 unsafe {
10778 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10779 (ptr as *mut u64).write_unaligned(0);
10780 }
10781 self.0.encode(encoder, offset + 0, depth)?;
10783 self.1.encode(encoder, offset + 6, depth)?;
10784 self.2.encode(encoder, offset + 8, depth)?;
10785 self.3.encode(encoder, offset + 9, depth)?;
10786 self.4.encode(encoder, offset + 10, depth)?;
10787 self.5.encode(encoder, offset + 16, depth)?;
10788 Ok(())
10789 }
10790 }
10791
10792 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
10793 #[inline(always)]
10794 fn new_empty() -> Self {
10795 Self {
10796 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10797 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
10798 original_association_maintained: fidl::new_empty!(bool, D),
10799 target_bss_authenticated: fidl::new_empty!(bool, D),
10800 association_id: fidl::new_empty!(u16, D),
10801 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10802 }
10803 }
10804
10805 #[inline]
10806 unsafe fn decode(
10807 &mut self,
10808 decoder: &mut fidl::encoding::Decoder<'_, D>,
10809 offset: usize,
10810 _depth: fidl::encoding::Depth,
10811 ) -> fidl::Result<()> {
10812 decoder.debug_check_bounds::<Self>(offset);
10813 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10815 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10816 let mask = 0xffffffff00000000u64;
10817 let maskedval = padval & mask;
10818 if maskedval != 0 {
10819 return Err(fidl::Error::NonZeroPadding {
10820 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10821 });
10822 }
10823 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10824 fidl::decode!(
10825 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
10826 D,
10827 &mut self.status_code,
10828 decoder,
10829 offset + 6,
10830 _depth
10831 )?;
10832 fidl::decode!(
10833 bool,
10834 D,
10835 &mut self.original_association_maintained,
10836 decoder,
10837 offset + 8,
10838 _depth
10839 )?;
10840 fidl::decode!(
10841 bool,
10842 D,
10843 &mut self.target_bss_authenticated,
10844 decoder,
10845 offset + 9,
10846 _depth
10847 )?;
10848 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10849 fidl::decode!(
10850 fidl::encoding::UnboundedVector<u8>,
10851 D,
10852 &mut self.association_ies,
10853 decoder,
10854 offset + 16,
10855 _depth
10856 )?;
10857 Ok(())
10858 }
10859 }
10860
10861 impl fidl::encoding::ValueTypeMarker for RoamRequest {
10862 type Borrowed<'a> = &'a Self;
10863 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10864 value
10865 }
10866 }
10867
10868 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
10869 type Owned = Self;
10870
10871 #[inline(always)]
10872 fn inline_align(_context: fidl::encoding::Context) -> usize {
10873 8
10874 }
10875
10876 #[inline(always)]
10877 fn inline_size(_context: fidl::encoding::Context) -> usize {
10878 48
10879 }
10880 }
10881
10882 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
10883 for &RoamRequest
10884 {
10885 #[inline]
10886 unsafe fn encode(
10887 self,
10888 encoder: &mut fidl::encoding::Encoder<'_, D>,
10889 offset: usize,
10890 _depth: fidl::encoding::Depth,
10891 ) -> fidl::Result<()> {
10892 encoder.debug_check_bounds::<RoamRequest>(offset);
10893 fidl::encoding::Encode::<RoamRequest, D>::encode(
10895 (
10896 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10897 ),
10898 encoder, offset, _depth
10899 )
10900 }
10901 }
10902 unsafe impl<
10903 D: fidl::encoding::ResourceDialect,
10904 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
10905 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
10906 {
10907 #[inline]
10908 unsafe fn encode(
10909 self,
10910 encoder: &mut fidl::encoding::Encoder<'_, D>,
10911 offset: usize,
10912 depth: fidl::encoding::Depth,
10913 ) -> fidl::Result<()> {
10914 encoder.debug_check_bounds::<RoamRequest>(offset);
10915 self.0.encode(encoder, offset + 0, depth)?;
10919 Ok(())
10920 }
10921 }
10922
10923 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
10924 #[inline(always)]
10925 fn new_empty() -> Self {
10926 Self {
10927 selected_bss: fidl::new_empty!(
10928 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
10929 D
10930 ),
10931 }
10932 }
10933
10934 #[inline]
10935 unsafe fn decode(
10936 &mut self,
10937 decoder: &mut fidl::encoding::Decoder<'_, D>,
10938 offset: usize,
10939 _depth: fidl::encoding::Depth,
10940 ) -> fidl::Result<()> {
10941 decoder.debug_check_bounds::<Self>(offset);
10942 fidl::decode!(
10944 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
10945 D,
10946 &mut self.selected_bss,
10947 decoder,
10948 offset + 0,
10949 _depth
10950 )?;
10951 Ok(())
10952 }
10953 }
10954
10955 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
10956 type Borrowed<'a> = &'a Self;
10957 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10958 value
10959 }
10960 }
10961
10962 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
10963 type Owned = Self;
10964
10965 #[inline(always)]
10966 fn inline_align(_context: fidl::encoding::Context) -> usize {
10967 8
10968 }
10969
10970 #[inline(always)]
10971 fn inline_size(_context: fidl::encoding::Context) -> usize {
10972 32
10973 }
10974 }
10975
10976 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
10977 for &RoamResultIndication
10978 {
10979 #[inline]
10980 unsafe fn encode(
10981 self,
10982 encoder: &mut fidl::encoding::Encoder<'_, D>,
10983 offset: usize,
10984 _depth: fidl::encoding::Depth,
10985 ) -> fidl::Result<()> {
10986 encoder.debug_check_bounds::<RoamResultIndication>(offset);
10987 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
10989 (
10990 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10991 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10992 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10993 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10994 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10995 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10996 ),
10997 encoder, offset, _depth
10998 )
10999 }
11000 }
11001 unsafe impl<
11002 D: fidl::encoding::ResourceDialect,
11003 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11004 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11005 T2: fidl::encoding::Encode<bool, D>,
11006 T3: fidl::encoding::Encode<bool, D>,
11007 T4: fidl::encoding::Encode<u16, D>,
11008 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11009 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
11010 {
11011 #[inline]
11012 unsafe fn encode(
11013 self,
11014 encoder: &mut fidl::encoding::Encoder<'_, D>,
11015 offset: usize,
11016 depth: fidl::encoding::Depth,
11017 ) -> fidl::Result<()> {
11018 encoder.debug_check_bounds::<RoamResultIndication>(offset);
11019 unsafe {
11022 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11023 (ptr as *mut u64).write_unaligned(0);
11024 }
11025 self.0.encode(encoder, offset + 0, depth)?;
11027 self.1.encode(encoder, offset + 6, depth)?;
11028 self.2.encode(encoder, offset + 8, depth)?;
11029 self.3.encode(encoder, offset + 9, depth)?;
11030 self.4.encode(encoder, offset + 10, depth)?;
11031 self.5.encode(encoder, offset + 16, depth)?;
11032 Ok(())
11033 }
11034 }
11035
11036 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
11037 #[inline(always)]
11038 fn new_empty() -> Self {
11039 Self {
11040 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11041 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11042 original_association_maintained: fidl::new_empty!(bool, D),
11043 target_bss_authenticated: fidl::new_empty!(bool, D),
11044 association_id: fidl::new_empty!(u16, D),
11045 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11046 }
11047 }
11048
11049 #[inline]
11050 unsafe fn decode(
11051 &mut self,
11052 decoder: &mut fidl::encoding::Decoder<'_, D>,
11053 offset: usize,
11054 _depth: fidl::encoding::Depth,
11055 ) -> fidl::Result<()> {
11056 decoder.debug_check_bounds::<Self>(offset);
11057 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11059 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11060 let mask = 0xffffffff00000000u64;
11061 let maskedval = padval & mask;
11062 if maskedval != 0 {
11063 return Err(fidl::Error::NonZeroPadding {
11064 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11065 });
11066 }
11067 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11068 fidl::decode!(
11069 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11070 D,
11071 &mut self.status_code,
11072 decoder,
11073 offset + 6,
11074 _depth
11075 )?;
11076 fidl::decode!(
11077 bool,
11078 D,
11079 &mut self.original_association_maintained,
11080 decoder,
11081 offset + 8,
11082 _depth
11083 )?;
11084 fidl::decode!(
11085 bool,
11086 D,
11087 &mut self.target_bss_authenticated,
11088 decoder,
11089 offset + 9,
11090 _depth
11091 )?;
11092 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
11093 fidl::decode!(
11094 fidl::encoding::UnboundedVector<u8>,
11095 D,
11096 &mut self.association_ies,
11097 decoder,
11098 offset + 16,
11099 _depth
11100 )?;
11101 Ok(())
11102 }
11103 }
11104
11105 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
11106 type Borrowed<'a> = &'a Self;
11107 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11108 value
11109 }
11110 }
11111
11112 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
11113 type Owned = Self;
11114
11115 #[inline(always)]
11116 fn inline_align(_context: fidl::encoding::Context) -> usize {
11117 8
11118 }
11119
11120 #[inline(always)]
11121 fn inline_size(_context: fidl::encoding::Context) -> usize {
11122 64
11123 }
11124 }
11125
11126 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
11127 for &RoamStartIndication
11128 {
11129 #[inline]
11130 unsafe fn encode(
11131 self,
11132 encoder: &mut fidl::encoding::Encoder<'_, D>,
11133 offset: usize,
11134 _depth: fidl::encoding::Depth,
11135 ) -> fidl::Result<()> {
11136 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11137 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
11139 (
11140 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
11141 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
11142 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
11143 ),
11144 encoder, offset, _depth
11145 )
11146 }
11147 }
11148 unsafe impl<
11149 D: fidl::encoding::ResourceDialect,
11150 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11151 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11152 T2: fidl::encoding::Encode<bool, D>,
11153 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
11154 {
11155 #[inline]
11156 unsafe fn encode(
11157 self,
11158 encoder: &mut fidl::encoding::Encoder<'_, D>,
11159 offset: usize,
11160 depth: fidl::encoding::Depth,
11161 ) -> fidl::Result<()> {
11162 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11163 unsafe {
11166 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11167 (ptr as *mut u64).write_unaligned(0);
11168 }
11169 unsafe {
11170 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11171 (ptr as *mut u64).write_unaligned(0);
11172 }
11173 self.0.encode(encoder, offset + 0, depth)?;
11175 self.1.encode(encoder, offset + 8, depth)?;
11176 self.2.encode(encoder, offset + 56, depth)?;
11177 Ok(())
11178 }
11179 }
11180
11181 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
11182 #[inline(always)]
11183 fn new_empty() -> Self {
11184 Self {
11185 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11186 selected_bss: fidl::new_empty!(
11187 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11188 D
11189 ),
11190 original_association_maintained: fidl::new_empty!(bool, D),
11191 }
11192 }
11193
11194 #[inline]
11195 unsafe fn decode(
11196 &mut self,
11197 decoder: &mut fidl::encoding::Decoder<'_, D>,
11198 offset: usize,
11199 _depth: fidl::encoding::Depth,
11200 ) -> fidl::Result<()> {
11201 decoder.debug_check_bounds::<Self>(offset);
11202 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
11204 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11205 let mask = 0xffff000000000000u64;
11206 let maskedval = padval & mask;
11207 if maskedval != 0 {
11208 return Err(fidl::Error::NonZeroPadding {
11209 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11210 });
11211 }
11212 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11213 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11214 let mask = 0xffffffffffffff00u64;
11215 let maskedval = padval & mask;
11216 if maskedval != 0 {
11217 return Err(fidl::Error::NonZeroPadding {
11218 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11219 });
11220 }
11221 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11222 fidl::decode!(
11223 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11224 D,
11225 &mut self.selected_bss,
11226 decoder,
11227 offset + 8,
11228 _depth
11229 )?;
11230 fidl::decode!(
11231 bool,
11232 D,
11233 &mut self.original_association_maintained,
11234 decoder,
11235 offset + 56,
11236 _depth
11237 )?;
11238 Ok(())
11239 }
11240 }
11241
11242 impl fidl::encoding::ValueTypeMarker for SaeFrame {
11243 type Borrowed<'a> = &'a Self;
11244 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11245 value
11246 }
11247 }
11248
11249 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
11250 type Owned = Self;
11251
11252 #[inline(always)]
11253 fn inline_align(_context: fidl::encoding::Context) -> usize {
11254 8
11255 }
11256
11257 #[inline(always)]
11258 fn inline_size(_context: fidl::encoding::Context) -> usize {
11259 32
11260 }
11261 }
11262
11263 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
11264 #[inline]
11265 unsafe fn encode(
11266 self,
11267 encoder: &mut fidl::encoding::Encoder<'_, D>,
11268 offset: usize,
11269 _depth: fidl::encoding::Depth,
11270 ) -> fidl::Result<()> {
11271 encoder.debug_check_bounds::<SaeFrame>(offset);
11272 fidl::encoding::Encode::<SaeFrame, D>::encode(
11274 (
11275 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11276 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11277 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
11278 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
11279 ),
11280 encoder, offset, _depth
11281 )
11282 }
11283 }
11284 unsafe impl<
11285 D: fidl::encoding::ResourceDialect,
11286 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11287 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11288 T2: fidl::encoding::Encode<u16, D>,
11289 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11290 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
11291 {
11292 #[inline]
11293 unsafe fn encode(
11294 self,
11295 encoder: &mut fidl::encoding::Encoder<'_, D>,
11296 offset: usize,
11297 depth: fidl::encoding::Depth,
11298 ) -> fidl::Result<()> {
11299 encoder.debug_check_bounds::<SaeFrame>(offset);
11300 unsafe {
11303 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11304 (ptr as *mut u64).write_unaligned(0);
11305 }
11306 self.0.encode(encoder, offset + 0, depth)?;
11308 self.1.encode(encoder, offset + 6, depth)?;
11309 self.2.encode(encoder, offset + 8, depth)?;
11310 self.3.encode(encoder, offset + 16, depth)?;
11311 Ok(())
11312 }
11313 }
11314
11315 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
11316 #[inline(always)]
11317 fn new_empty() -> Self {
11318 Self {
11319 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11320 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11321 seq_num: fidl::new_empty!(u16, D),
11322 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11323 }
11324 }
11325
11326 #[inline]
11327 unsafe fn decode(
11328 &mut self,
11329 decoder: &mut fidl::encoding::Decoder<'_, D>,
11330 offset: usize,
11331 _depth: fidl::encoding::Depth,
11332 ) -> fidl::Result<()> {
11333 decoder.debug_check_bounds::<Self>(offset);
11334 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11336 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11337 let mask = 0xffffffffffff0000u64;
11338 let maskedval = padval & mask;
11339 if maskedval != 0 {
11340 return Err(fidl::Error::NonZeroPadding {
11341 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11342 });
11343 }
11344 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11345 fidl::decode!(
11346 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11347 D,
11348 &mut self.status_code,
11349 decoder,
11350 offset + 6,
11351 _depth
11352 )?;
11353 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
11354 fidl::decode!(
11355 fidl::encoding::UnboundedVector<u8>,
11356 D,
11357 &mut self.sae_fields,
11358 decoder,
11359 offset + 16,
11360 _depth
11361 )?;
11362 Ok(())
11363 }
11364 }
11365
11366 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
11367 type Borrowed<'a> = &'a Self;
11368 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11369 value
11370 }
11371 }
11372
11373 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
11374 type Owned = Self;
11375
11376 #[inline(always)]
11377 fn inline_align(_context: fidl::encoding::Context) -> usize {
11378 1
11379 }
11380
11381 #[inline(always)]
11382 fn inline_size(_context: fidl::encoding::Context) -> usize {
11383 6
11384 }
11385 #[inline(always)]
11386 fn encode_is_copy() -> bool {
11387 true
11388 }
11389
11390 #[inline(always)]
11391 fn decode_is_copy() -> bool {
11392 true
11393 }
11394 }
11395
11396 unsafe impl<D: fidl::encoding::ResourceDialect>
11397 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
11398 {
11399 #[inline]
11400 unsafe fn encode(
11401 self,
11402 encoder: &mut fidl::encoding::Encoder<'_, D>,
11403 offset: usize,
11404 _depth: fidl::encoding::Depth,
11405 ) -> fidl::Result<()> {
11406 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
11407 unsafe {
11408 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11410 (buf_ptr as *mut SaeHandshakeIndication)
11411 .write_unaligned((self as *const SaeHandshakeIndication).read());
11412 }
11415 Ok(())
11416 }
11417 }
11418 unsafe impl<
11419 D: fidl::encoding::ResourceDialect,
11420 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11421 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
11422 {
11423 #[inline]
11424 unsafe fn encode(
11425 self,
11426 encoder: &mut fidl::encoding::Encoder<'_, D>,
11427 offset: usize,
11428 depth: fidl::encoding::Depth,
11429 ) -> fidl::Result<()> {
11430 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
11431 self.0.encode(encoder, offset + 0, depth)?;
11435 Ok(())
11436 }
11437 }
11438
11439 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11440 for SaeHandshakeIndication
11441 {
11442 #[inline(always)]
11443 fn new_empty() -> Self {
11444 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
11445 }
11446
11447 #[inline]
11448 unsafe fn decode(
11449 &mut self,
11450 decoder: &mut fidl::encoding::Decoder<'_, D>,
11451 offset: usize,
11452 _depth: fidl::encoding::Depth,
11453 ) -> fidl::Result<()> {
11454 decoder.debug_check_bounds::<Self>(offset);
11455 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11456 unsafe {
11459 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
11460 }
11461 Ok(())
11462 }
11463 }
11464
11465 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
11466 type Borrowed<'a> = &'a Self;
11467 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11468 value
11469 }
11470 }
11471
11472 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
11473 type Owned = Self;
11474
11475 #[inline(always)]
11476 fn inline_align(_context: fidl::encoding::Context) -> usize {
11477 2
11478 }
11479
11480 #[inline(always)]
11481 fn inline_size(_context: fidl::encoding::Context) -> usize {
11482 8
11483 }
11484 }
11485
11486 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
11487 for &SaeHandshakeResponse
11488 {
11489 #[inline]
11490 unsafe fn encode(
11491 self,
11492 encoder: &mut fidl::encoding::Encoder<'_, D>,
11493 offset: usize,
11494 _depth: fidl::encoding::Depth,
11495 ) -> fidl::Result<()> {
11496 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11497 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
11499 (
11500 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11501 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11502 ),
11503 encoder, offset, _depth
11504 )
11505 }
11506 }
11507 unsafe impl<
11508 D: fidl::encoding::ResourceDialect,
11509 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11510 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11511 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
11512 {
11513 #[inline]
11514 unsafe fn encode(
11515 self,
11516 encoder: &mut fidl::encoding::Encoder<'_, D>,
11517 offset: usize,
11518 depth: fidl::encoding::Depth,
11519 ) -> fidl::Result<()> {
11520 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11521 self.0.encode(encoder, offset + 0, depth)?;
11525 self.1.encode(encoder, offset + 6, depth)?;
11526 Ok(())
11527 }
11528 }
11529
11530 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
11531 #[inline(always)]
11532 fn new_empty() -> Self {
11533 Self {
11534 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11535 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11536 }
11537 }
11538
11539 #[inline]
11540 unsafe fn decode(
11541 &mut self,
11542 decoder: &mut fidl::encoding::Decoder<'_, D>,
11543 offset: usize,
11544 _depth: fidl::encoding::Depth,
11545 ) -> fidl::Result<()> {
11546 decoder.debug_check_bounds::<Self>(offset);
11547 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11549 fidl::decode!(
11550 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11551 D,
11552 &mut self.status_code,
11553 decoder,
11554 offset + 6,
11555 _depth
11556 )?;
11557 Ok(())
11558 }
11559 }
11560
11561 impl fidl::encoding::ValueTypeMarker for ScanEnd {
11562 type Borrowed<'a> = &'a Self;
11563 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11564 value
11565 }
11566 }
11567
11568 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
11569 type Owned = Self;
11570
11571 #[inline(always)]
11572 fn inline_align(_context: fidl::encoding::Context) -> usize {
11573 8
11574 }
11575
11576 #[inline(always)]
11577 fn inline_size(_context: fidl::encoding::Context) -> usize {
11578 16
11579 }
11580 }
11581
11582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
11583 #[inline]
11584 unsafe fn encode(
11585 self,
11586 encoder: &mut fidl::encoding::Encoder<'_, D>,
11587 offset: usize,
11588 _depth: fidl::encoding::Depth,
11589 ) -> fidl::Result<()> {
11590 encoder.debug_check_bounds::<ScanEnd>(offset);
11591 fidl::encoding::Encode::<ScanEnd, D>::encode(
11593 (
11594 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11595 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
11596 ),
11597 encoder,
11598 offset,
11599 _depth,
11600 )
11601 }
11602 }
11603 unsafe impl<
11604 D: fidl::encoding::ResourceDialect,
11605 T0: fidl::encoding::Encode<u64, D>,
11606 T1: fidl::encoding::Encode<ScanResultCode, D>,
11607 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
11608 {
11609 #[inline]
11610 unsafe fn encode(
11611 self,
11612 encoder: &mut fidl::encoding::Encoder<'_, D>,
11613 offset: usize,
11614 depth: fidl::encoding::Depth,
11615 ) -> fidl::Result<()> {
11616 encoder.debug_check_bounds::<ScanEnd>(offset);
11617 unsafe {
11620 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11621 (ptr as *mut u64).write_unaligned(0);
11622 }
11623 self.0.encode(encoder, offset + 0, depth)?;
11625 self.1.encode(encoder, offset + 8, depth)?;
11626 Ok(())
11627 }
11628 }
11629
11630 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
11631 #[inline(always)]
11632 fn new_empty() -> Self {
11633 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
11634 }
11635
11636 #[inline]
11637 unsafe fn decode(
11638 &mut self,
11639 decoder: &mut fidl::encoding::Decoder<'_, D>,
11640 offset: usize,
11641 _depth: fidl::encoding::Depth,
11642 ) -> fidl::Result<()> {
11643 decoder.debug_check_bounds::<Self>(offset);
11644 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11646 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11647 let mask = 0xffffffff00000000u64;
11648 let maskedval = padval & mask;
11649 if maskedval != 0 {
11650 return Err(fidl::Error::NonZeroPadding {
11651 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11652 });
11653 }
11654 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11655 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
11656 Ok(())
11657 }
11658 }
11659
11660 impl fidl::encoding::ValueTypeMarker for ScanRequest {
11661 type Borrowed<'a> = &'a Self;
11662 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11663 value
11664 }
11665 }
11666
11667 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
11668 type Owned = Self;
11669
11670 #[inline(always)]
11671 fn inline_align(_context: fidl::encoding::Context) -> usize {
11672 8
11673 }
11674
11675 #[inline(always)]
11676 fn inline_size(_context: fidl::encoding::Context) -> usize {
11677 64
11678 }
11679 }
11680
11681 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
11682 for &ScanRequest
11683 {
11684 #[inline]
11685 unsafe fn encode(
11686 self,
11687 encoder: &mut fidl::encoding::Encoder<'_, D>,
11688 offset: usize,
11689 _depth: fidl::encoding::Depth,
11690 ) -> fidl::Result<()> {
11691 encoder.debug_check_bounds::<ScanRequest>(offset);
11692 fidl::encoding::Encode::<ScanRequest, D>::encode(
11694 (
11695 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11696 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
11697 <fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
11698 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
11699 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
11700 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
11701 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
11702 ),
11703 encoder, offset, _depth
11704 )
11705 }
11706 }
11707 unsafe impl<
11708 D: fidl::encoding::ResourceDialect,
11709 T0: fidl::encoding::Encode<u64, D>,
11710 T1: fidl::encoding::Encode<ScanTypes, D>,
11711 T2: fidl::encoding::Encode<
11712 fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>,
11713 D,
11714 >,
11715 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
11716 T4: fidl::encoding::Encode<u32, D>,
11717 T5: fidl::encoding::Encode<u32, D>,
11718 T6: fidl::encoding::Encode<u32, D>,
11719 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
11720 {
11721 #[inline]
11722 unsafe fn encode(
11723 self,
11724 encoder: &mut fidl::encoding::Encoder<'_, D>,
11725 offset: usize,
11726 depth: fidl::encoding::Depth,
11727 ) -> fidl::Result<()> {
11728 encoder.debug_check_bounds::<ScanRequest>(offset);
11729 unsafe {
11732 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11733 (ptr as *mut u64).write_unaligned(0);
11734 }
11735 unsafe {
11736 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11737 (ptr as *mut u64).write_unaligned(0);
11738 }
11739 self.0.encode(encoder, offset + 0, depth)?;
11741 self.1.encode(encoder, offset + 8, depth)?;
11742 self.2.encode(encoder, offset + 16, depth)?;
11743 self.3.encode(encoder, offset + 32, depth)?;
11744 self.4.encode(encoder, offset + 48, depth)?;
11745 self.5.encode(encoder, offset + 52, depth)?;
11746 self.6.encode(encoder, offset + 56, depth)?;
11747 Ok(())
11748 }
11749 }
11750
11751 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
11752 #[inline(always)]
11753 fn new_empty() -> Self {
11754 Self {
11755 txn_id: fidl::new_empty!(u64, D),
11756 scan_type: fidl::new_empty!(ScanTypes, D),
11757 channel_list: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D),
11758 ssid_list: fidl::new_empty!(
11759 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11760 D
11761 ),
11762 probe_delay: fidl::new_empty!(u32, D),
11763 min_channel_time: fidl::new_empty!(u32, D),
11764 max_channel_time: fidl::new_empty!(u32, D),
11765 }
11766 }
11767
11768 #[inline]
11769 unsafe fn decode(
11770 &mut self,
11771 decoder: &mut fidl::encoding::Decoder<'_, D>,
11772 offset: usize,
11773 _depth: fidl::encoding::Depth,
11774 ) -> fidl::Result<()> {
11775 decoder.debug_check_bounds::<Self>(offset);
11776 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11778 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11779 let mask = 0xffffffff00000000u64;
11780 let maskedval = padval & mask;
11781 if maskedval != 0 {
11782 return Err(fidl::Error::NonZeroPadding {
11783 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11784 });
11785 }
11786 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11787 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11788 let mask = 0xffffffff00000000u64;
11789 let maskedval = padval & mask;
11790 if maskedval != 0 {
11791 return Err(fidl::Error::NonZeroPadding {
11792 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11793 });
11794 }
11795 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11796 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
11797 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
11798 fidl::decode!(
11799 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11800 D,
11801 &mut self.ssid_list,
11802 decoder,
11803 offset + 32,
11804 _depth
11805 )?;
11806 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
11807 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
11808 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
11809 Ok(())
11810 }
11811 }
11812
11813 impl fidl::encoding::ValueTypeMarker for ScanResult {
11814 type Borrowed<'a> = &'a Self;
11815 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11816 value
11817 }
11818 }
11819
11820 unsafe impl fidl::encoding::TypeMarker for ScanResult {
11821 type Owned = Self;
11822
11823 #[inline(always)]
11824 fn inline_align(_context: fidl::encoding::Context) -> usize {
11825 8
11826 }
11827
11828 #[inline(always)]
11829 fn inline_size(_context: fidl::encoding::Context) -> usize {
11830 64
11831 }
11832 }
11833
11834 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
11835 for &ScanResult
11836 {
11837 #[inline]
11838 unsafe fn encode(
11839 self,
11840 encoder: &mut fidl::encoding::Encoder<'_, D>,
11841 offset: usize,
11842 _depth: fidl::encoding::Depth,
11843 ) -> fidl::Result<()> {
11844 encoder.debug_check_bounds::<ScanResult>(offset);
11845 fidl::encoding::Encode::<ScanResult, D>::encode(
11847 (
11848 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11849 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
11850 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
11851 ),
11852 encoder, offset, _depth
11853 )
11854 }
11855 }
11856 unsafe impl<
11857 D: fidl::encoding::ResourceDialect,
11858 T0: fidl::encoding::Encode<u64, D>,
11859 T1: fidl::encoding::Encode<i64, D>,
11860 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11861 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
11862 {
11863 #[inline]
11864 unsafe fn encode(
11865 self,
11866 encoder: &mut fidl::encoding::Encoder<'_, D>,
11867 offset: usize,
11868 depth: fidl::encoding::Depth,
11869 ) -> fidl::Result<()> {
11870 encoder.debug_check_bounds::<ScanResult>(offset);
11871 self.0.encode(encoder, offset + 0, depth)?;
11875 self.1.encode(encoder, offset + 8, depth)?;
11876 self.2.encode(encoder, offset + 16, depth)?;
11877 Ok(())
11878 }
11879 }
11880
11881 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
11882 #[inline(always)]
11883 fn new_empty() -> Self {
11884 Self {
11885 txn_id: fidl::new_empty!(u64, D),
11886 timestamp_nanos: fidl::new_empty!(i64, D),
11887 bss: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssDescription, D),
11888 }
11889 }
11890
11891 #[inline]
11892 unsafe fn decode(
11893 &mut self,
11894 decoder: &mut fidl::encoding::Decoder<'_, D>,
11895 offset: usize,
11896 _depth: fidl::encoding::Depth,
11897 ) -> fidl::Result<()> {
11898 decoder.debug_check_bounds::<Self>(offset);
11899 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11901 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
11902 fidl::decode!(
11903 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11904 D,
11905 &mut self.bss,
11906 decoder,
11907 offset + 16,
11908 _depth
11909 )?;
11910 Ok(())
11911 }
11912 }
11913
11914 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
11915 type Borrowed<'a> = &'a Self;
11916 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11917 value
11918 }
11919 }
11920
11921 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
11922 type Owned = Self;
11923
11924 #[inline(always)]
11925 fn inline_align(_context: fidl::encoding::Context) -> usize {
11926 4
11927 }
11928
11929 #[inline(always)]
11930 fn inline_size(_context: fidl::encoding::Context) -> usize {
11931 12
11932 }
11933 }
11934
11935 unsafe impl<D: fidl::encoding::ResourceDialect>
11936 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
11937 {
11938 #[inline]
11939 unsafe fn encode(
11940 self,
11941 encoder: &mut fidl::encoding::Encoder<'_, D>,
11942 offset: usize,
11943 _depth: fidl::encoding::Depth,
11944 ) -> fidl::Result<()> {
11945 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11946 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
11948 (
11949 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
11950 &self.peer_sta_address,
11951 ),
11952 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
11953 ),
11954 encoder,
11955 offset,
11956 _depth,
11957 )
11958 }
11959 }
11960 unsafe impl<
11961 D: fidl::encoding::ResourceDialect,
11962 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11963 T1: fidl::encoding::Encode<ControlledPortState, D>,
11964 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
11965 {
11966 #[inline]
11967 unsafe fn encode(
11968 self,
11969 encoder: &mut fidl::encoding::Encoder<'_, D>,
11970 offset: usize,
11971 depth: fidl::encoding::Depth,
11972 ) -> fidl::Result<()> {
11973 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
11974 unsafe {
11977 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
11978 (ptr as *mut u32).write_unaligned(0);
11979 }
11980 self.0.encode(encoder, offset + 0, depth)?;
11982 self.1.encode(encoder, offset + 8, depth)?;
11983 Ok(())
11984 }
11985 }
11986
11987 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11988 for SetControlledPortRequest
11989 {
11990 #[inline(always)]
11991 fn new_empty() -> Self {
11992 Self {
11993 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11994 state: fidl::new_empty!(ControlledPortState, D),
11995 }
11996 }
11997
11998 #[inline]
11999 unsafe fn decode(
12000 &mut self,
12001 decoder: &mut fidl::encoding::Decoder<'_, D>,
12002 offset: usize,
12003 _depth: fidl::encoding::Depth,
12004 ) -> fidl::Result<()> {
12005 decoder.debug_check_bounds::<Self>(offset);
12006 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
12008 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12009 let mask = 0xffff0000u32;
12010 let maskedval = padval & mask;
12011 if maskedval != 0 {
12012 return Err(fidl::Error::NonZeroPadding {
12013 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
12014 });
12015 }
12016 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
12017 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
12018 Ok(())
12019 }
12020 }
12021
12022 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
12023 type Borrowed<'a> = &'a Self;
12024 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12025 value
12026 }
12027 }
12028
12029 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
12030 type Owned = Self;
12031
12032 #[inline(always)]
12033 fn inline_align(_context: fidl::encoding::Context) -> usize {
12034 8
12035 }
12036
12037 #[inline(always)]
12038 fn inline_size(_context: fidl::encoding::Context) -> usize {
12039 48
12040 }
12041 }
12042
12043 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
12044 for &SetKeyDescriptor
12045 {
12046 #[inline]
12047 unsafe fn encode(
12048 self,
12049 encoder: &mut fidl::encoding::Encoder<'_, D>,
12050 offset: usize,
12051 _depth: fidl::encoding::Depth,
12052 ) -> fidl::Result<()> {
12053 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12054 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
12056 (
12057 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
12058 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
12059 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
12060 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
12061 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
12062 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
12063 <fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
12064 ),
12065 encoder, offset, _depth
12066 )
12067 }
12068 }
12069 unsafe impl<
12070 D: fidl::encoding::ResourceDialect,
12071 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
12072 T1: fidl::encoding::Encode<u16, D>,
12073 T2: fidl::encoding::Encode<KeyType, D>,
12074 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
12075 T4: fidl::encoding::Encode<u64, D>,
12076 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
12077 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType, D>,
12078 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
12079 {
12080 #[inline]
12081 unsafe fn encode(
12082 self,
12083 encoder: &mut fidl::encoding::Encoder<'_, D>,
12084 offset: usize,
12085 depth: fidl::encoding::Depth,
12086 ) -> fidl::Result<()> {
12087 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12088 unsafe {
12091 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
12092 (ptr as *mut u64).write_unaligned(0);
12093 }
12094 unsafe {
12095 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12096 (ptr as *mut u64).write_unaligned(0);
12097 }
12098 unsafe {
12099 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
12100 (ptr as *mut u64).write_unaligned(0);
12101 }
12102 self.0.encode(encoder, offset + 0, depth)?;
12104 self.1.encode(encoder, offset + 16, depth)?;
12105 self.2.encode(encoder, offset + 20, depth)?;
12106 self.3.encode(encoder, offset + 24, depth)?;
12107 self.4.encode(encoder, offset + 32, depth)?;
12108 self.5.encode(encoder, offset + 40, depth)?;
12109 self.6.encode(encoder, offset + 44, depth)?;
12110 Ok(())
12111 }
12112 }
12113
12114 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
12115 #[inline(always)]
12116 fn new_empty() -> Self {
12117 Self {
12118 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
12119 key_id: fidl::new_empty!(u16, D),
12120 key_type: fidl::new_empty!(KeyType, D),
12121 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
12122 rsc: fidl::new_empty!(u64, D),
12123 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
12124 cipher_suite_type: fidl::new_empty!(
12125 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12126 D
12127 ),
12128 }
12129 }
12130
12131 #[inline]
12132 unsafe fn decode(
12133 &mut self,
12134 decoder: &mut fidl::encoding::Decoder<'_, D>,
12135 offset: usize,
12136 _depth: fidl::encoding::Depth,
12137 ) -> fidl::Result<()> {
12138 decoder.debug_check_bounds::<Self>(offset);
12139 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
12141 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12142 let mask = 0xffff0000u64;
12143 let maskedval = padval & mask;
12144 if maskedval != 0 {
12145 return Err(fidl::Error::NonZeroPadding {
12146 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
12147 });
12148 }
12149 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12150 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12151 let mask = 0xffff000000000000u64;
12152 let maskedval = padval & mask;
12153 if maskedval != 0 {
12154 return Err(fidl::Error::NonZeroPadding {
12155 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12156 });
12157 }
12158 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
12159 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12160 let mask = 0xff000000u64;
12161 let maskedval = padval & mask;
12162 if maskedval != 0 {
12163 return Err(fidl::Error::NonZeroPadding {
12164 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
12165 });
12166 }
12167 fidl::decode!(
12168 fidl::encoding::UnboundedVector<u8>,
12169 D,
12170 &mut self.key,
12171 decoder,
12172 offset + 0,
12173 _depth
12174 )?;
12175 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
12176 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
12177 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
12178 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
12179 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
12180 fidl::decode!(
12181 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12182 D,
12183 &mut self.cipher_suite_type,
12184 decoder,
12185 offset + 44,
12186 _depth
12187 )?;
12188 Ok(())
12189 }
12190 }
12191
12192 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
12193 type Borrowed<'a> = &'a Self;
12194 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12195 value
12196 }
12197 }
12198
12199 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
12200 type Owned = Self;
12201
12202 #[inline(always)]
12203 fn inline_align(_context: fidl::encoding::Context) -> usize {
12204 4
12205 }
12206
12207 #[inline(always)]
12208 fn inline_size(_context: fidl::encoding::Context) -> usize {
12209 8
12210 }
12211 }
12212
12213 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
12214 for &SetKeyResult
12215 {
12216 #[inline]
12217 unsafe fn encode(
12218 self,
12219 encoder: &mut fidl::encoding::Encoder<'_, D>,
12220 offset: usize,
12221 _depth: fidl::encoding::Depth,
12222 ) -> fidl::Result<()> {
12223 encoder.debug_check_bounds::<SetKeyResult>(offset);
12224 unsafe {
12225 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12227 (buf_ptr as *mut SetKeyResult)
12228 .write_unaligned((self as *const SetKeyResult).read());
12229 let padding_ptr = buf_ptr.offset(0) as *mut u32;
12232 let padding_mask = 0xffff0000u32;
12233 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
12234 }
12235 Ok(())
12236 }
12237 }
12238 unsafe impl<
12239 D: fidl::encoding::ResourceDialect,
12240 T0: fidl::encoding::Encode<u16, D>,
12241 T1: fidl::encoding::Encode<i32, D>,
12242 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
12243 {
12244 #[inline]
12245 unsafe fn encode(
12246 self,
12247 encoder: &mut fidl::encoding::Encoder<'_, D>,
12248 offset: usize,
12249 depth: fidl::encoding::Depth,
12250 ) -> fidl::Result<()> {
12251 encoder.debug_check_bounds::<SetKeyResult>(offset);
12252 unsafe {
12255 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
12256 (ptr as *mut u32).write_unaligned(0);
12257 }
12258 self.0.encode(encoder, offset + 0, depth)?;
12260 self.1.encode(encoder, offset + 4, depth)?;
12261 Ok(())
12262 }
12263 }
12264
12265 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
12266 #[inline(always)]
12267 fn new_empty() -> Self {
12268 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
12269 }
12270
12271 #[inline]
12272 unsafe fn decode(
12273 &mut self,
12274 decoder: &mut fidl::encoding::Decoder<'_, D>,
12275 offset: usize,
12276 _depth: fidl::encoding::Depth,
12277 ) -> fidl::Result<()> {
12278 decoder.debug_check_bounds::<Self>(offset);
12279 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12280 let ptr = unsafe { buf_ptr.offset(0) };
12282 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12283 let mask = 0xffff0000u32;
12284 let maskedval = padval & mask;
12285 if maskedval != 0 {
12286 return Err(fidl::Error::NonZeroPadding {
12287 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
12288 });
12289 }
12290 unsafe {
12292 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
12293 }
12294 Ok(())
12295 }
12296 }
12297
12298 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
12299 type Borrowed<'a> = &'a Self;
12300 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12301 value
12302 }
12303 }
12304
12305 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
12306 type Owned = Self;
12307
12308 #[inline(always)]
12309 fn inline_align(_context: fidl::encoding::Context) -> usize {
12310 8
12311 }
12312
12313 #[inline(always)]
12314 fn inline_size(_context: fidl::encoding::Context) -> usize {
12315 16
12316 }
12317 }
12318
12319 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
12320 for &SetKeysConfirm
12321 {
12322 #[inline]
12323 unsafe fn encode(
12324 self,
12325 encoder: &mut fidl::encoding::Encoder<'_, D>,
12326 offset: usize,
12327 _depth: fidl::encoding::Depth,
12328 ) -> fidl::Result<()> {
12329 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12330 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
12332 (
12333 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
12334 ),
12335 encoder, offset, _depth
12336 )
12337 }
12338 }
12339 unsafe impl<
12340 D: fidl::encoding::ResourceDialect,
12341 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
12342 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
12343 {
12344 #[inline]
12345 unsafe fn encode(
12346 self,
12347 encoder: &mut fidl::encoding::Encoder<'_, D>,
12348 offset: usize,
12349 depth: fidl::encoding::Depth,
12350 ) -> fidl::Result<()> {
12351 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12352 self.0.encode(encoder, offset + 0, depth)?;
12356 Ok(())
12357 }
12358 }
12359
12360 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
12361 #[inline(always)]
12362 fn new_empty() -> Self {
12363 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
12364 }
12365
12366 #[inline]
12367 unsafe fn decode(
12368 &mut self,
12369 decoder: &mut fidl::encoding::Decoder<'_, D>,
12370 offset: usize,
12371 _depth: fidl::encoding::Depth,
12372 ) -> fidl::Result<()> {
12373 decoder.debug_check_bounds::<Self>(offset);
12374 fidl::decode!(
12376 fidl::encoding::UnboundedVector<SetKeyResult>,
12377 D,
12378 &mut self.results,
12379 decoder,
12380 offset + 0,
12381 _depth
12382 )?;
12383 Ok(())
12384 }
12385 }
12386
12387 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
12388 type Borrowed<'a> = &'a Self;
12389 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12390 value
12391 }
12392 }
12393
12394 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
12395 type Owned = Self;
12396
12397 #[inline(always)]
12398 fn inline_align(_context: fidl::encoding::Context) -> usize {
12399 8
12400 }
12401
12402 #[inline(always)]
12403 fn inline_size(_context: fidl::encoding::Context) -> usize {
12404 16
12405 }
12406 }
12407
12408 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
12409 for &SetKeysRequest
12410 {
12411 #[inline]
12412 unsafe fn encode(
12413 self,
12414 encoder: &mut fidl::encoding::Encoder<'_, D>,
12415 offset: usize,
12416 _depth: fidl::encoding::Depth,
12417 ) -> fidl::Result<()> {
12418 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12419 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
12421 (
12422 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
12423 ),
12424 encoder, offset, _depth
12425 )
12426 }
12427 }
12428 unsafe impl<
12429 D: fidl::encoding::ResourceDialect,
12430 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
12431 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
12432 {
12433 #[inline]
12434 unsafe fn encode(
12435 self,
12436 encoder: &mut fidl::encoding::Encoder<'_, D>,
12437 offset: usize,
12438 depth: fidl::encoding::Depth,
12439 ) -> fidl::Result<()> {
12440 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12441 self.0.encode(encoder, offset + 0, depth)?;
12445 Ok(())
12446 }
12447 }
12448
12449 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
12450 #[inline(always)]
12451 fn new_empty() -> Self {
12452 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
12453 }
12454
12455 #[inline]
12456 unsafe fn decode(
12457 &mut self,
12458 decoder: &mut fidl::encoding::Decoder<'_, D>,
12459 offset: usize,
12460 _depth: fidl::encoding::Depth,
12461 ) -> fidl::Result<()> {
12462 decoder.debug_check_bounds::<Self>(offset);
12463 fidl::decode!(
12465 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
12466 D,
12467 &mut self.keylist,
12468 decoder,
12469 offset + 0,
12470 _depth
12471 )?;
12472 Ok(())
12473 }
12474 }
12475
12476 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
12477 type Borrowed<'a> = &'a Self;
12478 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12479 value
12480 }
12481 }
12482
12483 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
12484 type Owned = Self;
12485
12486 #[inline(always)]
12487 fn inline_align(_context: fidl::encoding::Context) -> usize {
12488 4
12489 }
12490
12491 #[inline(always)]
12492 fn inline_size(_context: fidl::encoding::Context) -> usize {
12493 4
12494 }
12495 }
12496
12497 unsafe impl<D: fidl::encoding::ResourceDialect>
12498 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
12499 {
12500 #[inline]
12501 unsafe fn encode(
12502 self,
12503 encoder: &mut fidl::encoding::Encoder<'_, D>,
12504 offset: usize,
12505 _depth: fidl::encoding::Depth,
12506 ) -> fidl::Result<()> {
12507 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12508 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
12510 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12511 &self.mgmt_frame_flags,
12512 ),),
12513 encoder,
12514 offset,
12515 _depth,
12516 )
12517 }
12518 }
12519 unsafe impl<
12520 D: fidl::encoding::ResourceDialect,
12521 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12522 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
12523 {
12524 #[inline]
12525 unsafe fn encode(
12526 self,
12527 encoder: &mut fidl::encoding::Encoder<'_, D>,
12528 offset: usize,
12529 depth: fidl::encoding::Depth,
12530 ) -> fidl::Result<()> {
12531 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12532 self.0.encode(encoder, offset + 0, depth)?;
12536 Ok(())
12537 }
12538 }
12539
12540 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12541 for StartCaptureFramesRequest
12542 {
12543 #[inline(always)]
12544 fn new_empty() -> Self {
12545 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
12546 }
12547
12548 #[inline]
12549 unsafe fn decode(
12550 &mut self,
12551 decoder: &mut fidl::encoding::Decoder<'_, D>,
12552 offset: usize,
12553 _depth: fidl::encoding::Depth,
12554 ) -> fidl::Result<()> {
12555 decoder.debug_check_bounds::<Self>(offset);
12556 fidl::decode!(
12558 MgmtFrameCaptureFlags,
12559 D,
12560 &mut self.mgmt_frame_flags,
12561 decoder,
12562 offset + 0,
12563 _depth
12564 )?;
12565 Ok(())
12566 }
12567 }
12568
12569 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
12570 type Borrowed<'a> = &'a Self;
12571 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12572 value
12573 }
12574 }
12575
12576 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
12577 type Owned = Self;
12578
12579 #[inline(always)]
12580 fn inline_align(_context: fidl::encoding::Context) -> usize {
12581 4
12582 }
12583
12584 #[inline(always)]
12585 fn inline_size(_context: fidl::encoding::Context) -> usize {
12586 8
12587 }
12588 }
12589
12590 unsafe impl<D: fidl::encoding::ResourceDialect>
12591 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
12592 {
12593 #[inline]
12594 unsafe fn encode(
12595 self,
12596 encoder: &mut fidl::encoding::Encoder<'_, D>,
12597 offset: usize,
12598 _depth: fidl::encoding::Depth,
12599 ) -> fidl::Result<()> {
12600 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12601 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
12603 (
12604 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
12605 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12606 &self.supported_mgmt_frames,
12607 ),
12608 ),
12609 encoder,
12610 offset,
12611 _depth,
12612 )
12613 }
12614 }
12615 unsafe impl<
12616 D: fidl::encoding::ResourceDialect,
12617 T0: fidl::encoding::Encode<i32, D>,
12618 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12619 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
12620 {
12621 #[inline]
12622 unsafe fn encode(
12623 self,
12624 encoder: &mut fidl::encoding::Encoder<'_, D>,
12625 offset: usize,
12626 depth: fidl::encoding::Depth,
12627 ) -> fidl::Result<()> {
12628 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12629 self.0.encode(encoder, offset + 0, depth)?;
12633 self.1.encode(encoder, offset + 4, depth)?;
12634 Ok(())
12635 }
12636 }
12637
12638 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12639 for StartCaptureFramesResponse
12640 {
12641 #[inline(always)]
12642 fn new_empty() -> Self {
12643 Self {
12644 status: fidl::new_empty!(i32, D),
12645 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
12646 }
12647 }
12648
12649 #[inline]
12650 unsafe fn decode(
12651 &mut self,
12652 decoder: &mut fidl::encoding::Decoder<'_, D>,
12653 offset: usize,
12654 _depth: fidl::encoding::Depth,
12655 ) -> fidl::Result<()> {
12656 decoder.debug_check_bounds::<Self>(offset);
12657 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
12659 fidl::decode!(
12660 MgmtFrameCaptureFlags,
12661 D,
12662 &mut self.supported_mgmt_frames,
12663 decoder,
12664 offset + 4,
12665 _depth
12666 )?;
12667 Ok(())
12668 }
12669 }
12670
12671 impl fidl::encoding::ValueTypeMarker for StartConfirm {
12672 type Borrowed<'a> = &'a Self;
12673 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12674 value
12675 }
12676 }
12677
12678 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
12679 type Owned = Self;
12680
12681 #[inline(always)]
12682 fn inline_align(_context: fidl::encoding::Context) -> usize {
12683 4
12684 }
12685
12686 #[inline(always)]
12687 fn inline_size(_context: fidl::encoding::Context) -> usize {
12688 4
12689 }
12690 }
12691
12692 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
12693 for &StartConfirm
12694 {
12695 #[inline]
12696 unsafe fn encode(
12697 self,
12698 encoder: &mut fidl::encoding::Encoder<'_, D>,
12699 offset: usize,
12700 _depth: fidl::encoding::Depth,
12701 ) -> fidl::Result<()> {
12702 encoder.debug_check_bounds::<StartConfirm>(offset);
12703 fidl::encoding::Encode::<StartConfirm, D>::encode(
12705 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12706 encoder,
12707 offset,
12708 _depth,
12709 )
12710 }
12711 }
12712 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
12713 fidl::encoding::Encode<StartConfirm, D> for (T0,)
12714 {
12715 #[inline]
12716 unsafe fn encode(
12717 self,
12718 encoder: &mut fidl::encoding::Encoder<'_, D>,
12719 offset: usize,
12720 depth: fidl::encoding::Depth,
12721 ) -> fidl::Result<()> {
12722 encoder.debug_check_bounds::<StartConfirm>(offset);
12723 self.0.encode(encoder, offset + 0, depth)?;
12727 Ok(())
12728 }
12729 }
12730
12731 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
12732 #[inline(always)]
12733 fn new_empty() -> Self {
12734 Self { result_code: fidl::new_empty!(StartResultCode, D) }
12735 }
12736
12737 #[inline]
12738 unsafe fn decode(
12739 &mut self,
12740 decoder: &mut fidl::encoding::Decoder<'_, D>,
12741 offset: usize,
12742 _depth: fidl::encoding::Depth,
12743 ) -> fidl::Result<()> {
12744 decoder.debug_check_bounds::<Self>(offset);
12745 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12747 Ok(())
12748 }
12749 }
12750
12751 impl fidl::encoding::ValueTypeMarker for StartRequest {
12752 type Borrowed<'a> = &'a Self;
12753 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12754 value
12755 }
12756 }
12757
12758 unsafe impl fidl::encoding::TypeMarker for StartRequest {
12759 type Owned = Self;
12760
12761 #[inline(always)]
12762 fn inline_align(_context: fidl::encoding::Context) -> usize {
12763 8
12764 }
12765
12766 #[inline(always)]
12767 fn inline_size(_context: fidl::encoding::Context) -> usize {
12768 96
12769 }
12770 }
12771
12772 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
12773 for &StartRequest
12774 {
12775 #[inline]
12776 unsafe fn encode(
12777 self,
12778 encoder: &mut fidl::encoding::Encoder<'_, D>,
12779 offset: usize,
12780 _depth: fidl::encoding::Depth,
12781 ) -> fidl::Result<()> {
12782 encoder.debug_check_bounds::<StartRequest>(offset);
12783 fidl::encoding::Encode::<StartRequest, D>::encode(
12785 (
12786 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
12787 <fidl_fuchsia_wlan_ieee80211_common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
12788 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
12789 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
12790 <fidl_fuchsia_wlan_ieee80211_common::ChannelNumber as fidl::encoding::ValueTypeMarker>::borrow(&self.primary),
12791 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
12792 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
12793 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
12794 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
12795 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
12796 <fidl_fuchsia_wlan_ieee80211_common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
12797 <fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.bandwidth),
12798 ),
12799 encoder, offset, _depth
12800 )
12801 }
12802 }
12803 unsafe impl<
12804 D: fidl::encoding::ResourceDialect,
12805 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12806 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssType, D>,
12807 T2: fidl::encoding::Encode<u16, D>,
12808 T3: fidl::encoding::Encode<u8, D>,
12809 T4: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D>,
12810 T5: fidl::encoding::Encode<u16, D>,
12811 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
12812 T7: fidl::encoding::Encode<Country, D>,
12813 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12814 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
12815 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D>,
12816 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth, D>,
12817 > fidl::encoding::Encode<StartRequest, D>
12818 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
12819 {
12820 #[inline]
12821 unsafe fn encode(
12822 self,
12823 encoder: &mut fidl::encoding::Encoder<'_, D>,
12824 offset: usize,
12825 depth: fidl::encoding::Depth,
12826 ) -> fidl::Result<()> {
12827 encoder.debug_check_bounds::<StartRequest>(offset);
12828 unsafe {
12831 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12832 (ptr as *mut u64).write_unaligned(0);
12833 }
12834 unsafe {
12835 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
12836 (ptr as *mut u64).write_unaligned(0);
12837 }
12838 self.0.encode(encoder, offset + 0, depth)?;
12840 self.1.encode(encoder, offset + 16, depth)?;
12841 self.2.encode(encoder, offset + 20, depth)?;
12842 self.3.encode(encoder, offset + 22, depth)?;
12843 self.4.encode(encoder, offset + 23, depth)?;
12844 self.5.encode(encoder, offset + 26, depth)?;
12845 self.6.encode(encoder, offset + 32, depth)?;
12846 self.7.encode(encoder, offset + 48, depth)?;
12847 self.8.encode(encoder, offset + 56, depth)?;
12848 self.9.encode(encoder, offset + 72, depth)?;
12849 self.10.encode(encoder, offset + 88, depth)?;
12850 self.11.encode(encoder, offset + 92, depth)?;
12851 Ok(())
12852 }
12853 }
12854
12855 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
12856 #[inline(always)]
12857 fn new_empty() -> Self {
12858 Self {
12859 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12860 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssType, D),
12861 beacon_period: fidl::new_empty!(u16, D),
12862 dtim_period: fidl::new_empty!(u8, D),
12863 primary: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D),
12864 capability_info: fidl::new_empty!(u16, D),
12865 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
12866 country: fidl::new_empty!(Country, D),
12867 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
12868 rsne: fidl::new_empty!(
12869 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12870 D
12871 ),
12872 phy: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D),
12873 bandwidth: fidl::new_empty!(
12874 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
12875 D
12876 ),
12877 }
12878 }
12879
12880 #[inline]
12881 unsafe fn decode(
12882 &mut self,
12883 decoder: &mut fidl::encoding::Decoder<'_, D>,
12884 offset: usize,
12885 _depth: fidl::encoding::Depth,
12886 ) -> fidl::Result<()> {
12887 decoder.debug_check_bounds::<Self>(offset);
12888 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12890 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12891 let mask = 0xffffffff0000ff00u64;
12892 let maskedval = padval & mask;
12893 if maskedval != 0 {
12894 return Err(fidl::Error::NonZeroPadding {
12895 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12896 });
12897 }
12898 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
12899 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12900 let mask = 0xffffffffff000000u64;
12901 let maskedval = padval & mask;
12902 if maskedval != 0 {
12903 return Err(fidl::Error::NonZeroPadding {
12904 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
12905 });
12906 }
12907 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12908 fidl::decode!(
12909 fidl_fuchsia_wlan_ieee80211_common::BssType,
12910 D,
12911 &mut self.bss_type,
12912 decoder,
12913 offset + 16,
12914 _depth
12915 )?;
12916 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
12917 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
12918 fidl::decode!(
12919 fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
12920 D,
12921 &mut self.primary,
12922 decoder,
12923 offset + 23,
12924 _depth
12925 )?;
12926 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 26, _depth)?;
12927 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
12928 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
12929 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
12930 fidl::decode!(
12931 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
12932 D,
12933 &mut self.rsne,
12934 decoder,
12935 offset + 72,
12936 _depth
12937 )?;
12938 fidl::decode!(
12939 fidl_fuchsia_wlan_ieee80211_common::WlanPhyType,
12940 D,
12941 &mut self.phy,
12942 decoder,
12943 offset + 88,
12944 _depth
12945 )?;
12946 fidl::decode!(
12947 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
12948 D,
12949 &mut self.bandwidth,
12950 decoder,
12951 offset + 92,
12952 _depth
12953 )?;
12954 Ok(())
12955 }
12956 }
12957
12958 impl fidl::encoding::ValueTypeMarker for StopConfirm {
12959 type Borrowed<'a> = &'a Self;
12960 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12961 value
12962 }
12963 }
12964
12965 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
12966 type Owned = Self;
12967
12968 #[inline(always)]
12969 fn inline_align(_context: fidl::encoding::Context) -> usize {
12970 4
12971 }
12972
12973 #[inline(always)]
12974 fn inline_size(_context: fidl::encoding::Context) -> usize {
12975 4
12976 }
12977 }
12978
12979 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
12980 for &StopConfirm
12981 {
12982 #[inline]
12983 unsafe fn encode(
12984 self,
12985 encoder: &mut fidl::encoding::Encoder<'_, D>,
12986 offset: usize,
12987 _depth: fidl::encoding::Depth,
12988 ) -> fidl::Result<()> {
12989 encoder.debug_check_bounds::<StopConfirm>(offset);
12990 fidl::encoding::Encode::<StopConfirm, D>::encode(
12992 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12993 encoder,
12994 offset,
12995 _depth,
12996 )
12997 }
12998 }
12999 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
13000 fidl::encoding::Encode<StopConfirm, D> for (T0,)
13001 {
13002 #[inline]
13003 unsafe fn encode(
13004 self,
13005 encoder: &mut fidl::encoding::Encoder<'_, D>,
13006 offset: usize,
13007 depth: fidl::encoding::Depth,
13008 ) -> fidl::Result<()> {
13009 encoder.debug_check_bounds::<StopConfirm>(offset);
13010 self.0.encode(encoder, offset + 0, depth)?;
13014 Ok(())
13015 }
13016 }
13017
13018 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
13019 #[inline(always)]
13020 fn new_empty() -> Self {
13021 Self { result_code: fidl::new_empty!(StopResultCode, D) }
13022 }
13023
13024 #[inline]
13025 unsafe fn decode(
13026 &mut self,
13027 decoder: &mut fidl::encoding::Decoder<'_, D>,
13028 offset: usize,
13029 _depth: fidl::encoding::Depth,
13030 ) -> fidl::Result<()> {
13031 decoder.debug_check_bounds::<Self>(offset);
13032 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
13034 Ok(())
13035 }
13036 }
13037
13038 impl fidl::encoding::ValueTypeMarker for StopRequest {
13039 type Borrowed<'a> = &'a Self;
13040 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13041 value
13042 }
13043 }
13044
13045 unsafe impl fidl::encoding::TypeMarker for StopRequest {
13046 type Owned = Self;
13047
13048 #[inline(always)]
13049 fn inline_align(_context: fidl::encoding::Context) -> usize {
13050 8
13051 }
13052
13053 #[inline(always)]
13054 fn inline_size(_context: fidl::encoding::Context) -> usize {
13055 16
13056 }
13057 }
13058
13059 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
13060 for &StopRequest
13061 {
13062 #[inline]
13063 unsafe fn encode(
13064 self,
13065 encoder: &mut fidl::encoding::Encoder<'_, D>,
13066 offset: usize,
13067 _depth: fidl::encoding::Depth,
13068 ) -> fidl::Result<()> {
13069 encoder.debug_check_bounds::<StopRequest>(offset);
13070 fidl::encoding::Encode::<StopRequest, D>::encode(
13072 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
13073 &self.ssid,
13074 ),),
13075 encoder,
13076 offset,
13077 _depth,
13078 )
13079 }
13080 }
13081 unsafe impl<
13082 D: fidl::encoding::ResourceDialect,
13083 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
13084 > fidl::encoding::Encode<StopRequest, D> for (T0,)
13085 {
13086 #[inline]
13087 unsafe fn encode(
13088 self,
13089 encoder: &mut fidl::encoding::Encoder<'_, D>,
13090 offset: usize,
13091 depth: fidl::encoding::Depth,
13092 ) -> fidl::Result<()> {
13093 encoder.debug_check_bounds::<StopRequest>(offset);
13094 self.0.encode(encoder, offset + 0, depth)?;
13098 Ok(())
13099 }
13100 }
13101
13102 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
13103 #[inline(always)]
13104 fn new_empty() -> Self {
13105 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
13106 }
13107
13108 #[inline]
13109 unsafe fn decode(
13110 &mut self,
13111 decoder: &mut fidl::encoding::Decoder<'_, D>,
13112 offset: usize,
13113 _depth: fidl::encoding::Depth,
13114 ) -> fidl::Result<()> {
13115 decoder.debug_check_bounds::<Self>(offset);
13116 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
13118 Ok(())
13119 }
13120 }
13121
13122 impl fidl::encoding::ValueTypeMarker for WmmParameter {
13123 type Borrowed<'a> = &'a Self;
13124 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13125 value
13126 }
13127 }
13128
13129 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
13130 type Owned = Self;
13131
13132 #[inline(always)]
13133 fn inline_align(_context: fidl::encoding::Context) -> usize {
13134 1
13135 }
13136
13137 #[inline(always)]
13138 fn inline_size(_context: fidl::encoding::Context) -> usize {
13139 18
13140 }
13141 #[inline(always)]
13142 fn encode_is_copy() -> bool {
13143 true
13144 }
13145
13146 #[inline(always)]
13147 fn decode_is_copy() -> bool {
13148 true
13149 }
13150 }
13151
13152 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
13153 for &WmmParameter
13154 {
13155 #[inline]
13156 unsafe fn encode(
13157 self,
13158 encoder: &mut fidl::encoding::Encoder<'_, D>,
13159 offset: usize,
13160 _depth: fidl::encoding::Depth,
13161 ) -> fidl::Result<()> {
13162 encoder.debug_check_bounds::<WmmParameter>(offset);
13163 unsafe {
13164 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
13166 (buf_ptr as *mut WmmParameter)
13167 .write_unaligned((self as *const WmmParameter).read());
13168 }
13171 Ok(())
13172 }
13173 }
13174 unsafe impl<
13175 D: fidl::encoding::ResourceDialect,
13176 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
13177 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
13178 {
13179 #[inline]
13180 unsafe fn encode(
13181 self,
13182 encoder: &mut fidl::encoding::Encoder<'_, D>,
13183 offset: usize,
13184 depth: fidl::encoding::Depth,
13185 ) -> fidl::Result<()> {
13186 encoder.debug_check_bounds::<WmmParameter>(offset);
13187 self.0.encode(encoder, offset + 0, depth)?;
13191 Ok(())
13192 }
13193 }
13194
13195 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
13196 #[inline(always)]
13197 fn new_empty() -> Self {
13198 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
13199 }
13200
13201 #[inline]
13202 unsafe fn decode(
13203 &mut self,
13204 decoder: &mut fidl::encoding::Decoder<'_, D>,
13205 offset: usize,
13206 _depth: fidl::encoding::Depth,
13207 ) -> fidl::Result<()> {
13208 decoder.debug_check_bounds::<Self>(offset);
13209 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
13210 unsafe {
13213 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
13214 }
13215 Ok(())
13216 }
13217 }
13218
13219 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
13220 type Borrowed<'a> = &'a Self;
13221 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13222 value
13223 }
13224 }
13225
13226 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
13227 type Owned = Self;
13228
13229 #[inline(always)]
13230 fn inline_align(_context: fidl::encoding::Context) -> usize {
13231 8
13232 }
13233
13234 #[inline(always)]
13235 fn inline_size(_context: fidl::encoding::Context) -> usize {
13236 16
13237 }
13238 }
13239
13240 unsafe impl<D: fidl::encoding::ResourceDialect>
13241 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
13242 for &GetIfaceHistogramStatsResponse
13243 {
13244 #[inline]
13245 unsafe fn encode(
13246 self,
13247 encoder: &mut fidl::encoding::Encoder<'_, D>,
13248 offset: usize,
13249 _depth: fidl::encoding::Depth,
13250 ) -> fidl::Result<()> {
13251 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
13252 encoder.write_num::<u64>(self.ordinal(), offset);
13253 match self {
13254 GetIfaceHistogramStatsResponse::Stats(ref val) => {
13255 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D>(
13256 <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13257 encoder, offset + 8, _depth
13258 )
13259 }
13260 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
13261 fidl::encoding::encode_in_envelope::<i32, D>(
13262 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13263 encoder, offset + 8, _depth
13264 )
13265 }
13266 }
13267 }
13268 }
13269
13270 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
13271 for GetIfaceHistogramStatsResponse
13272 {
13273 #[inline(always)]
13274 fn new_empty() -> Self {
13275 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D))
13276 }
13277
13278 #[inline]
13279 unsafe fn decode(
13280 &mut self,
13281 decoder: &mut fidl::encoding::Decoder<'_, D>,
13282 offset: usize,
13283 mut depth: fidl::encoding::Depth,
13284 ) -> fidl::Result<()> {
13285 decoder.debug_check_bounds::<Self>(offset);
13286 #[allow(unused_variables)]
13287 let next_out_of_line = decoder.next_out_of_line();
13288 let handles_before = decoder.remaining_handles();
13289 let (ordinal, inlined, num_bytes, num_handles) =
13290 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13291
13292 let member_inline_size = match ordinal {
13293 1 => <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13294 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13295 _ => return Err(fidl::Error::UnknownUnionTag),
13296 };
13297
13298 if inlined != (member_inline_size <= 4) {
13299 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13300 }
13301 let _inner_offset;
13302 if inlined {
13303 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13304 _inner_offset = offset + 8;
13305 } else {
13306 depth.increment()?;
13307 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13308 }
13309 match ordinal {
13310 1 => {
13311 #[allow(irrefutable_let_patterns)]
13312 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
13313 } else {
13315 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
13317 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13318 D
13319 ));
13320 }
13321 #[allow(irrefutable_let_patterns)]
13322 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
13323 fidl::decode!(
13324 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13325 D,
13326 val,
13327 decoder,
13328 _inner_offset,
13329 depth
13330 )?;
13331 } else {
13332 unreachable!()
13333 }
13334 }
13335 2 => {
13336 #[allow(irrefutable_let_patterns)]
13337 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
13338 } else {
13340 *self =
13342 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13343 }
13344 #[allow(irrefutable_let_patterns)]
13345 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
13346 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13347 } else {
13348 unreachable!()
13349 }
13350 }
13351 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13352 }
13353 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13354 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13355 }
13356 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13357 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13358 }
13359 Ok(())
13360 }
13361 }
13362
13363 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
13364 type Borrowed<'a> = &'a Self;
13365 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13366 value
13367 }
13368 }
13369
13370 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
13371 type Owned = Self;
13372
13373 #[inline(always)]
13374 fn inline_align(_context: fidl::encoding::Context) -> usize {
13375 8
13376 }
13377
13378 #[inline(always)]
13379 fn inline_size(_context: fidl::encoding::Context) -> usize {
13380 16
13381 }
13382 }
13383
13384 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
13385 for &GetIfaceStatsResponse
13386 {
13387 #[inline]
13388 unsafe fn encode(
13389 self,
13390 encoder: &mut fidl::encoding::Encoder<'_, D>,
13391 offset: usize,
13392 _depth: fidl::encoding::Depth,
13393 ) -> fidl::Result<()> {
13394 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
13395 encoder.write_num::<u64>(self.ordinal(), offset);
13396 match self {
13397 GetIfaceStatsResponse::Stats(ref val) => {
13398 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceStats, D>(
13399 <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13400 encoder, offset + 8, _depth
13401 )
13402 }
13403 GetIfaceStatsResponse::ErrorStatus(ref val) => {
13404 fidl::encoding::encode_in_envelope::<i32, D>(
13405 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13406 encoder, offset + 8, _depth
13407 )
13408 }
13409 }
13410 }
13411 }
13412
13413 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
13414 #[inline(always)]
13415 fn new_empty() -> Self {
13416 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceStats, D))
13417 }
13418
13419 #[inline]
13420 unsafe fn decode(
13421 &mut self,
13422 decoder: &mut fidl::encoding::Decoder<'_, D>,
13423 offset: usize,
13424 mut depth: fidl::encoding::Depth,
13425 ) -> fidl::Result<()> {
13426 decoder.debug_check_bounds::<Self>(offset);
13427 #[allow(unused_variables)]
13428 let next_out_of_line = decoder.next_out_of_line();
13429 let handles_before = decoder.remaining_handles();
13430 let (ordinal, inlined, num_bytes, num_handles) =
13431 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13432
13433 let member_inline_size = match ordinal {
13434 1 => <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13435 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13436 _ => return Err(fidl::Error::UnknownUnionTag),
13437 };
13438
13439 if inlined != (member_inline_size <= 4) {
13440 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13441 }
13442 let _inner_offset;
13443 if inlined {
13444 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13445 _inner_offset = offset + 8;
13446 } else {
13447 depth.increment()?;
13448 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13449 }
13450 match ordinal {
13451 1 => {
13452 #[allow(irrefutable_let_patterns)]
13453 if let GetIfaceStatsResponse::Stats(_) = self {
13454 } else {
13456 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
13458 fidl_fuchsia_wlan_stats_common::IfaceStats,
13459 D
13460 ));
13461 }
13462 #[allow(irrefutable_let_patterns)]
13463 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
13464 fidl::decode!(
13465 fidl_fuchsia_wlan_stats_common::IfaceStats,
13466 D,
13467 val,
13468 decoder,
13469 _inner_offset,
13470 depth
13471 )?;
13472 } else {
13473 unreachable!()
13474 }
13475 }
13476 2 => {
13477 #[allow(irrefutable_let_patterns)]
13478 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
13479 } else {
13481 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13483 }
13484 #[allow(irrefutable_let_patterns)]
13485 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
13486 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13487 } else {
13488 unreachable!()
13489 }
13490 }
13491 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13492 }
13493 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13494 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13495 }
13496 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13497 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13498 }
13499 Ok(())
13500 }
13501 }
13502}