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, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
787#[repr(C)]
788pub struct MlmeOnRssiThresholdBreachedRequest {
789 pub cur_rssi_dbm: i8,
790}
791
792impl fidl::Persistable for MlmeOnRssiThresholdBreachedRequest {}
793
794#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
795pub struct MlmeOnSaeFrameRxRequest {
796 pub frame: SaeFrame,
797}
798
799impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
800
801#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
802#[repr(C)]
803pub struct MlmeOnSaeHandshakeIndRequest {
804 pub ind: SaeHandshakeIndication,
805}
806
807impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
808
809#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
810pub struct MlmeOnScanEndRequest {
811 pub end: ScanEnd,
812}
813
814impl fidl::Persistable for MlmeOnScanEndRequest {}
815
816#[derive(Clone, Debug, PartialEq)]
817pub struct MlmeOnScanResultRequest {
818 pub result: ScanResult,
819}
820
821impl fidl::Persistable for MlmeOnScanResultRequest {}
822
823#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
824#[repr(C)]
825pub struct MlmeOnScheduledScanMatchesAvailableRequest {
826 pub txn_id: u64,
827}
828
829impl fidl::Persistable for MlmeOnScheduledScanMatchesAvailableRequest {}
830
831#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
832#[repr(C)]
833pub struct MlmeOnScheduledScanStoppedByFirmwareRequest {
834 pub txn_id: u64,
835}
836
837impl fidl::Persistable for MlmeOnScheduledScanStoppedByFirmwareRequest {}
838
839#[derive(Clone, Debug, PartialEq)]
840pub struct MlmeOnWmmStatusRespRequest {
841 pub status: i32,
842 pub resp: fidl_fuchsia_wlan_internal_common::WmmStatusResponse,
843}
844
845impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
846
847#[derive(Clone, Debug, PartialEq)]
848pub struct MlmeQueryDeviceInfoResponse {
849 pub info: DeviceInfo,
850}
851
852impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
853
854#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
855#[repr(C)]
856pub struct MlmeReconnectReqRequest {
857 pub req: ReconnectRequest,
858}
859
860impl fidl::Persistable for MlmeReconnectReqRequest {}
861
862#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
863pub struct MlmeRelayCapturedFrameRequest {
864 pub result: CapturedFrameResult,
865}
866
867impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
868
869#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
870pub struct MlmeResetReqRequest {
871 pub req: ResetRequest,
872}
873
874impl fidl::Persistable for MlmeResetReqRequest {}
875
876#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
877pub struct MlmeRoamConfRequest {
878 pub conf: RoamConfirm,
879}
880
881impl fidl::Persistable for MlmeRoamConfRequest {}
882
883#[derive(Clone, Debug, PartialEq)]
884pub struct MlmeRoamReqRequest {
885 pub req: RoamRequest,
886}
887
888impl fidl::Persistable for MlmeRoamReqRequest {}
889
890#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
891pub struct MlmeRoamResultIndRequest {
892 pub ind: RoamResultIndication,
893}
894
895impl fidl::Persistable for MlmeRoamResultIndRequest {}
896
897#[derive(Clone, Debug, PartialEq)]
898pub struct MlmeRoamStartIndRequest {
899 pub ind: RoamStartIndication,
900}
901
902impl fidl::Persistable for MlmeRoamStartIndRequest {}
903
904#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
905pub struct MlmeSaeFrameTxRequest {
906 pub frame: SaeFrame,
907}
908
909impl fidl::Persistable for MlmeSaeFrameTxRequest {}
910
911#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
912pub struct MlmeSaeHandshakeRespRequest {
913 pub resp: SaeHandshakeResponse,
914}
915
916impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
917
918#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
919pub struct MlmeSetApfPacketFilterEnabledRequest {
920 pub enabled: bool,
921}
922
923impl fidl::Persistable for MlmeSetApfPacketFilterEnabledRequest {}
924
925#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
926pub struct MlmeSetControlledPortRequest {
927 pub req: SetControlledPortRequest,
928}
929
930impl fidl::Persistable for MlmeSetControlledPortRequest {}
931
932#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
933pub struct MlmeSetKeysConfRequest {
934 pub conf: SetKeysConfirm,
935}
936
937impl fidl::Persistable for MlmeSetKeysConfRequest {}
938
939#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
940pub struct MlmeSetKeysReqRequest {
941 pub req: SetKeysRequest,
942}
943
944impl fidl::Persistable for MlmeSetKeysReqRequest {}
945
946#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
947#[repr(C)]
948pub struct MlmeSetMacAddressRequest {
949 pub mac_addr: [u8; 6],
950}
951
952impl fidl::Persistable for MlmeSetMacAddressRequest {}
953
954#[derive(Clone, Debug, PartialEq)]
955pub struct MlmeSignalReportRequest {
956 pub ind: fidl_fuchsia_wlan_internal_common::SignalReportIndication,
957}
958
959impl fidl::Persistable for MlmeSignalReportRequest {}
960
961#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
962pub struct MlmeStartCaptureFramesRequest {
963 pub req: StartCaptureFramesRequest,
964}
965
966impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
967
968#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
969pub struct MlmeStartCaptureFramesResponse {
970 pub resp: StartCaptureFramesResponse,
971}
972
973impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
974
975#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
976pub struct MlmeStartConfRequest {
977 pub resp: StartConfirm,
978}
979
980impl fidl::Persistable for MlmeStartConfRequest {}
981
982#[derive(Clone, Debug, PartialEq)]
983pub struct MlmeStartReqRequest {
984 pub req: StartRequest,
985}
986
987impl fidl::Persistable for MlmeStartReqRequest {}
988
989#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
990#[repr(C)]
991pub struct MlmeStartRssiMonitorRequest {
992 pub min_rssi_dbm: i8,
993 pub max_rssi_dbm: i8,
994}
995
996impl fidl::Persistable for MlmeStartRssiMonitorRequest {}
997
998#[derive(Clone, Debug, PartialEq)]
999pub struct MlmeStartScanRequest {
1000 pub req: ScanRequest,
1001}
1002
1003impl fidl::Persistable for MlmeStartScanRequest {}
1004
1005#[derive(Clone, Debug, PartialEq)]
1006pub struct MlmeStartScheduledScanRequest {
1007 pub txn_id: u64,
1008 pub req: fidl_fuchsia_wlan_common_common::ScheduledScanRequest,
1009}
1010
1011impl fidl::Persistable for MlmeStartScheduledScanRequest {}
1012
1013#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1014pub struct MlmeStopConfRequest {
1015 pub resp: StopConfirm,
1016}
1017
1018impl fidl::Persistable for MlmeStopConfRequest {}
1019
1020#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1021pub struct MlmeStopReqRequest {
1022 pub req: StopRequest,
1023}
1024
1025impl fidl::Persistable for MlmeStopReqRequest {}
1026
1027#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1028#[repr(C)]
1029pub struct MlmeStopScheduledScanRequest {
1030 pub txn_id: u64,
1031}
1032
1033impl fidl::Persistable for MlmeStopScheduledScanRequest {}
1034
1035#[derive(Clone, Debug, PartialEq)]
1037pub struct NegotiatedCapabilities {
1038 pub primary: fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
1039 pub capability_info: u16,
1040 pub rates: Vec<u8>,
1041 pub wmm_param: Option<Box<WmmParameter>>,
1042 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>>,
1043 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>>,
1044}
1045
1046impl fidl::Persistable for NegotiatedCapabilities {}
1047
1048#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1049pub struct PmkInfo {
1050 pub pmk: Vec<u8>,
1051 pub pmkid: Vec<u8>,
1052}
1053
1054impl fidl::Persistable for PmkInfo {}
1055
1056#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1057#[repr(C)]
1058pub struct ReconnectRequest {
1059 pub peer_sta_address: [u8; 6],
1060}
1061
1062impl fidl::Persistable for ReconnectRequest {}
1063
1064#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1065pub struct ResetRequest {
1066 pub sta_address: [u8; 6],
1067 pub set_default_mib: bool,
1068}
1069
1070impl fidl::Persistable for ResetRequest {}
1071
1072#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1074pub struct RoamConfirm {
1075 pub selected_bssid: [u8; 6],
1076 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1077 pub original_association_maintained: bool,
1082 pub target_bss_authenticated: bool,
1087 pub association_id: u16,
1088 pub association_ies: Vec<u8>,
1089}
1090
1091impl fidl::Persistable for RoamConfirm {}
1092
1093#[derive(Clone, Debug, PartialEq)]
1094pub struct RoamRequest {
1095 pub selected_bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1096}
1097
1098impl fidl::Persistable for RoamRequest {}
1099
1100#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1102pub struct RoamResultIndication {
1103 pub selected_bssid: [u8; 6],
1104 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1105 pub original_association_maintained: bool,
1110 pub target_bss_authenticated: bool,
1115 pub association_id: u16,
1116 pub association_ies: Vec<u8>,
1117}
1118
1119impl fidl::Persistable for RoamResultIndication {}
1120
1121#[derive(Clone, Debug, PartialEq)]
1123pub struct RoamStartIndication {
1124 pub selected_bssid: [u8; 6],
1125 pub selected_bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1126 pub original_association_maintained: bool,
1133}
1134
1135impl fidl::Persistable for RoamStartIndication {}
1136
1137#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1138pub struct SaeFrame {
1139 pub peer_sta_address: [u8; 6],
1140 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1141 pub seq_num: u16,
1142 pub sae_fields: Vec<u8>,
1143}
1144
1145impl fidl::Persistable for SaeFrame {}
1146
1147#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1148#[repr(C)]
1149pub struct SaeHandshakeIndication {
1150 pub peer_sta_address: [u8; 6],
1151}
1152
1153impl fidl::Persistable for SaeHandshakeIndication {}
1154
1155#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1156pub struct SaeHandshakeResponse {
1157 pub peer_sta_address: [u8; 6],
1158 pub status_code: fidl_fuchsia_wlan_ieee80211_common::StatusCode,
1159}
1160
1161impl fidl::Persistable for SaeHandshakeResponse {}
1162
1163#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1164pub struct ScanEnd {
1165 pub txn_id: u64,
1166 pub code: ScanResultCode,
1167}
1168
1169impl fidl::Persistable for ScanEnd {}
1170
1171#[derive(Clone, Debug, PartialEq)]
1172pub struct ScanRequest {
1173 pub txn_id: u64,
1174 pub scan_type: ScanTypes,
1175 pub channel_list: Vec<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber>,
1182 pub ssid_list: Vec<Vec<u8>>,
1191 pub probe_delay: u32,
1192 pub min_channel_time: u32,
1193 pub max_channel_time: u32,
1194}
1195
1196impl fidl::Persistable for ScanRequest {}
1197
1198#[derive(Clone, Debug, PartialEq)]
1199pub struct ScanResult {
1200 pub txn_id: u64,
1201 pub timestamp_nanos: i64,
1202 pub bss: fidl_fuchsia_wlan_ieee80211_common::BssDescription,
1203}
1204
1205impl fidl::Persistable for ScanResult {}
1206
1207#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1208pub struct SetControlledPortRequest {
1209 pub peer_sta_address: [u8; 6],
1210 pub state: ControlledPortState,
1211}
1212
1213impl fidl::Persistable for SetControlledPortRequest {}
1214
1215#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1216pub struct SetKeyDescriptor {
1217 pub key: Vec<u8>,
1218 pub key_id: u16,
1219 pub key_type: KeyType,
1220 pub address: [u8; 6],
1221 pub rsc: u64,
1222 pub cipher_suite_oui: [u8; 3],
1223 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
1224}
1225
1226impl fidl::Persistable for SetKeyDescriptor {}
1227
1228#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1229#[repr(C)]
1230pub struct SetKeyResult {
1231 pub key_id: u16,
1232 pub status: i32,
1233}
1234
1235impl fidl::Persistable for SetKeyResult {}
1236
1237#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1238pub struct SetKeysConfirm {
1239 pub results: Vec<SetKeyResult>,
1240}
1241
1242impl fidl::Persistable for SetKeysConfirm {}
1243
1244#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1245pub struct SetKeysRequest {
1246 pub keylist: Vec<SetKeyDescriptor>,
1247}
1248
1249impl fidl::Persistable for SetKeysRequest {}
1250
1251#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1252pub struct StartCaptureFramesRequest {
1253 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1254}
1255
1256impl fidl::Persistable for StartCaptureFramesRequest {}
1257
1258#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1259pub struct StartCaptureFramesResponse {
1260 pub status: i32,
1261 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1262}
1263
1264impl fidl::Persistable for StartCaptureFramesResponse {}
1265
1266#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1267pub struct StartConfirm {
1268 pub result_code: StartResultCode,
1269}
1270
1271impl fidl::Persistable for StartConfirm {}
1272
1273#[derive(Clone, Debug, PartialEq)]
1274pub struct StartRequest {
1275 pub ssid: Vec<u8>,
1276 pub bss_type: fidl_fuchsia_wlan_ieee80211_common::BssType,
1277 pub beacon_period: u16,
1278 pub dtim_period: u8,
1279 pub primary: fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
1280 pub capability_info: u16,
1281 pub rates: Vec<u8>,
1282 pub country: Country,
1283 pub mesh_id: Vec<u8>,
1284 pub rsne: Option<Vec<u8>>,
1285 pub phy: fidl_fuchsia_wlan_ieee80211_common::WlanPhyType,
1286 pub bandwidth: fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
1287}
1288
1289impl fidl::Persistable for StartRequest {}
1290
1291#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1292pub struct StopConfirm {
1293 pub result_code: StopResultCode,
1294}
1295
1296impl fidl::Persistable for StopConfirm {}
1297
1298#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1299pub struct StopRequest {
1300 pub ssid: Vec<u8>,
1301}
1302
1303impl fidl::Persistable for StopRequest {}
1304
1305#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1306#[repr(C)]
1307pub struct WmmParameter {
1308 pub bytes: [u8; 18],
1309}
1310
1311impl fidl::Persistable for WmmParameter {}
1312
1313#[derive(Clone, Debug, PartialEq)]
1314pub enum GetIfaceHistogramStatsResponse {
1315 Stats(fidl_fuchsia_wlan_stats_common::IfaceHistogramStats),
1316 ErrorStatus(i32),
1317}
1318
1319impl GetIfaceHistogramStatsResponse {
1320 #[inline]
1321 pub fn ordinal(&self) -> u64 {
1322 match *self {
1323 Self::Stats(_) => 1,
1324 Self::ErrorStatus(_) => 2,
1325 }
1326 }
1327}
1328
1329impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1330
1331#[derive(Clone, Debug, PartialEq)]
1332pub enum GetIfaceStatsResponse {
1333 Stats(fidl_fuchsia_wlan_stats_common::IfaceStats),
1334 ErrorStatus(i32),
1335}
1336
1337impl GetIfaceStatsResponse {
1338 #[inline]
1339 pub fn ordinal(&self) -> u64 {
1340 match *self {
1341 Self::Stats(_) => 1,
1342 Self::ErrorStatus(_) => 2,
1343 }
1344 }
1345}
1346
1347impl fidl::Persistable for GetIfaceStatsResponse {}
1348
1349pub mod connector_ordinals {
1350 pub const CONNECT: u64 = 0x42131859717af962;
1351}
1352
1353pub mod mlme_ordinals {
1354 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1355 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1356 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1357 pub const START_SCHEDULED_SCAN: u64 = 0x7fff163af4620212;
1358 pub const STOP_SCHEDULED_SCAN: u64 = 0x5fbc466f3daa4dd9;
1359 pub const GET_SCHEDULED_SCAN_ENABLED: u64 = 0x1ecc6a7fe7f9fcff;
1360 pub const ON_SCHEDULED_SCAN_MATCHES_AVAILABLE: u64 = 0x3d915df5108ec4e1;
1361 pub const ON_SCHEDULED_SCAN_STOPPED_BY_FIRMWARE: u64 = 0x4c2cb4b145163fd0;
1362 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1363 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1364 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1365 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1366 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1367 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1368 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1369 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1370 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1371 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1372 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1373 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1374 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1375 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1376 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1377 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1378 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1379 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1380 pub const START_REQ: u64 = 0x5d95885f8053654;
1381 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1382 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1383 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1384 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1385 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1386 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1387 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1388 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1389 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1390 pub const ON_RSSI_THRESHOLD_BREACHED: u64 = 0x5803e9572d8c8f;
1391 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1392 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1393 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1394 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1395 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1396 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1397 pub const GET_SIGNAL_REPORT: u64 = 0x7e47e7ebe92acec9;
1398 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1399 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1400 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1401 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1402 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1403 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1404 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1405 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1406 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1407 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1408 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1409 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1410 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1411 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1412 pub const SET_MAC_ADDRESS: u64 = 0x476999f9bb27afe1;
1413 pub const INSTALL_APF_PACKET_FILTER: u64 = 0x267565b4916c825b;
1414 pub const READ_APF_PACKET_FILTER_DATA: u64 = 0x6040d744f1b2cb61;
1415 pub const SET_APF_PACKET_FILTER_ENABLED: u64 = 0x6d99bdca77076aea;
1416 pub const GET_APF_PACKET_FILTER_ENABLED: u64 = 0x1df408bc154be1e4;
1417 pub const START_RSSI_MONITOR: u64 = 0x542a970415b1d912;
1418}
1419
1420mod internal {
1421 use super::*;
1422 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1423 type Owned = Self;
1424
1425 #[inline(always)]
1426 fn inline_align(_context: fidl::encoding::Context) -> usize {
1427 4
1428 }
1429
1430 #[inline(always)]
1431 fn inline_size(_context: fidl::encoding::Context) -> usize {
1432 4
1433 }
1434 }
1435
1436 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1437 type Borrowed<'a> = Self;
1438 #[inline(always)]
1439 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1440 *value
1441 }
1442 }
1443
1444 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1445 for MgmtFrameCaptureFlags
1446 {
1447 #[inline]
1448 unsafe fn encode(
1449 self,
1450 encoder: &mut fidl::encoding::Encoder<'_, D>,
1451 offset: usize,
1452 _depth: fidl::encoding::Depth,
1453 ) -> fidl::Result<()> {
1454 encoder.debug_check_bounds::<Self>(offset);
1455 if self.bits() & Self::all().bits() != self.bits() {
1456 return Err(fidl::Error::InvalidBitsValue);
1457 }
1458 encoder.write_num(self.bits(), offset);
1459 Ok(())
1460 }
1461 }
1462
1463 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1464 #[inline(always)]
1465 fn new_empty() -> Self {
1466 Self::empty()
1467 }
1468
1469 #[inline]
1470 unsafe fn decode(
1471 &mut self,
1472 decoder: &mut fidl::encoding::Decoder<'_, D>,
1473 offset: usize,
1474 _depth: fidl::encoding::Depth,
1475 ) -> fidl::Result<()> {
1476 decoder.debug_check_bounds::<Self>(offset);
1477 let prim = decoder.read_num::<u32>(offset);
1478 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1479 Ok(())
1480 }
1481 }
1482 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1483 type Owned = Self;
1484
1485 #[inline(always)]
1486 fn inline_align(_context: fidl::encoding::Context) -> usize {
1487 std::mem::align_of::<u32>()
1488 }
1489
1490 #[inline(always)]
1491 fn inline_size(_context: fidl::encoding::Context) -> usize {
1492 std::mem::size_of::<u32>()
1493 }
1494
1495 #[inline(always)]
1496 fn encode_is_copy() -> bool {
1497 true
1498 }
1499
1500 #[inline(always)]
1501 fn decode_is_copy() -> bool {
1502 false
1503 }
1504 }
1505
1506 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1507 type Borrowed<'a> = Self;
1508 #[inline(always)]
1509 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1510 *value
1511 }
1512 }
1513
1514 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1515 for AssociateResultCode
1516 {
1517 #[inline]
1518 unsafe fn encode(
1519 self,
1520 encoder: &mut fidl::encoding::Encoder<'_, D>,
1521 offset: usize,
1522 _depth: fidl::encoding::Depth,
1523 ) -> fidl::Result<()> {
1524 encoder.debug_check_bounds::<Self>(offset);
1525 encoder.write_num(self.into_primitive(), offset);
1526 Ok(())
1527 }
1528 }
1529
1530 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1531 #[inline(always)]
1532 fn new_empty() -> Self {
1533 Self::Success
1534 }
1535
1536 #[inline]
1537 unsafe fn decode(
1538 &mut self,
1539 decoder: &mut fidl::encoding::Decoder<'_, D>,
1540 offset: usize,
1541 _depth: fidl::encoding::Depth,
1542 ) -> fidl::Result<()> {
1543 decoder.debug_check_bounds::<Self>(offset);
1544 let prim = decoder.read_num::<u32>(offset);
1545
1546 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1547 Ok(())
1548 }
1549 }
1550 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1551 type Owned = Self;
1552
1553 #[inline(always)]
1554 fn inline_align(_context: fidl::encoding::Context) -> usize {
1555 std::mem::align_of::<u32>()
1556 }
1557
1558 #[inline(always)]
1559 fn inline_size(_context: fidl::encoding::Context) -> usize {
1560 std::mem::size_of::<u32>()
1561 }
1562
1563 #[inline(always)]
1564 fn encode_is_copy() -> bool {
1565 true
1566 }
1567
1568 #[inline(always)]
1569 fn decode_is_copy() -> bool {
1570 false
1571 }
1572 }
1573
1574 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1575 type Borrowed<'a> = Self;
1576 #[inline(always)]
1577 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1578 *value
1579 }
1580 }
1581
1582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1583 for AuthenticateResultCode
1584 {
1585 #[inline]
1586 unsafe fn encode(
1587 self,
1588 encoder: &mut fidl::encoding::Encoder<'_, D>,
1589 offset: usize,
1590 _depth: fidl::encoding::Depth,
1591 ) -> fidl::Result<()> {
1592 encoder.debug_check_bounds::<Self>(offset);
1593 encoder.write_num(self.into_primitive(), offset);
1594 Ok(())
1595 }
1596 }
1597
1598 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1599 for AuthenticateResultCode
1600 {
1601 #[inline(always)]
1602 fn new_empty() -> Self {
1603 Self::Success
1604 }
1605
1606 #[inline]
1607 unsafe fn decode(
1608 &mut self,
1609 decoder: &mut fidl::encoding::Decoder<'_, D>,
1610 offset: usize,
1611 _depth: fidl::encoding::Depth,
1612 ) -> fidl::Result<()> {
1613 decoder.debug_check_bounds::<Self>(offset);
1614 let prim = decoder.read_num::<u32>(offset);
1615
1616 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1617 Ok(())
1618 }
1619 }
1620 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1621 type Owned = Self;
1622
1623 #[inline(always)]
1624 fn inline_align(_context: fidl::encoding::Context) -> usize {
1625 std::mem::align_of::<u32>()
1626 }
1627
1628 #[inline(always)]
1629 fn inline_size(_context: fidl::encoding::Context) -> usize {
1630 std::mem::size_of::<u32>()
1631 }
1632
1633 #[inline(always)]
1634 fn encode_is_copy() -> bool {
1635 true
1636 }
1637
1638 #[inline(always)]
1639 fn decode_is_copy() -> bool {
1640 false
1641 }
1642 }
1643
1644 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1645 type Borrowed<'a> = Self;
1646 #[inline(always)]
1647 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1648 *value
1649 }
1650 }
1651
1652 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1653 for AuthenticationTypes
1654 {
1655 #[inline]
1656 unsafe fn encode(
1657 self,
1658 encoder: &mut fidl::encoding::Encoder<'_, D>,
1659 offset: usize,
1660 _depth: fidl::encoding::Depth,
1661 ) -> fidl::Result<()> {
1662 encoder.debug_check_bounds::<Self>(offset);
1663 encoder.write_num(self.into_primitive(), offset);
1664 Ok(())
1665 }
1666 }
1667
1668 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1669 #[inline(always)]
1670 fn new_empty() -> Self {
1671 Self::OpenSystem
1672 }
1673
1674 #[inline]
1675 unsafe fn decode(
1676 &mut self,
1677 decoder: &mut fidl::encoding::Decoder<'_, D>,
1678 offset: usize,
1679 _depth: fidl::encoding::Depth,
1680 ) -> fidl::Result<()> {
1681 decoder.debug_check_bounds::<Self>(offset);
1682 let prim = decoder.read_num::<u32>(offset);
1683
1684 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1685 Ok(())
1686 }
1687 }
1688 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1689 type Owned = Self;
1690
1691 #[inline(always)]
1692 fn inline_align(_context: fidl::encoding::Context) -> usize {
1693 std::mem::align_of::<u32>()
1694 }
1695
1696 #[inline(always)]
1697 fn inline_size(_context: fidl::encoding::Context) -> usize {
1698 std::mem::size_of::<u32>()
1699 }
1700
1701 #[inline(always)]
1702 fn encode_is_copy() -> bool {
1703 true
1704 }
1705
1706 #[inline(always)]
1707 fn decode_is_copy() -> bool {
1708 false
1709 }
1710 }
1711
1712 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1713 type Borrowed<'a> = Self;
1714 #[inline(always)]
1715 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1716 *value
1717 }
1718 }
1719
1720 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1721 for ControlledPortState
1722 {
1723 #[inline]
1724 unsafe fn encode(
1725 self,
1726 encoder: &mut fidl::encoding::Encoder<'_, D>,
1727 offset: usize,
1728 _depth: fidl::encoding::Depth,
1729 ) -> fidl::Result<()> {
1730 encoder.debug_check_bounds::<Self>(offset);
1731 encoder.write_num(self.into_primitive(), offset);
1732 Ok(())
1733 }
1734 }
1735
1736 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1737 #[inline(always)]
1738 fn new_empty() -> Self {
1739 Self::Closed
1740 }
1741
1742 #[inline]
1743 unsafe fn decode(
1744 &mut self,
1745 decoder: &mut fidl::encoding::Decoder<'_, D>,
1746 offset: usize,
1747 _depth: fidl::encoding::Depth,
1748 ) -> fidl::Result<()> {
1749 decoder.debug_check_bounds::<Self>(offset);
1750 let prim = decoder.read_num::<u32>(offset);
1751
1752 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1753 Ok(())
1754 }
1755 }
1756 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1757 type Owned = Self;
1758
1759 #[inline(always)]
1760 fn inline_align(_context: fidl::encoding::Context) -> usize {
1761 std::mem::align_of::<u32>()
1762 }
1763
1764 #[inline(always)]
1765 fn inline_size(_context: fidl::encoding::Context) -> usize {
1766 std::mem::size_of::<u32>()
1767 }
1768
1769 #[inline(always)]
1770 fn encode_is_copy() -> bool {
1771 true
1772 }
1773
1774 #[inline(always)]
1775 fn decode_is_copy() -> bool {
1776 false
1777 }
1778 }
1779
1780 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1781 type Borrowed<'a> = Self;
1782 #[inline(always)]
1783 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1784 *value
1785 }
1786 }
1787
1788 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1789 for EapolResultCode
1790 {
1791 #[inline]
1792 unsafe fn encode(
1793 self,
1794 encoder: &mut fidl::encoding::Encoder<'_, D>,
1795 offset: usize,
1796 _depth: fidl::encoding::Depth,
1797 ) -> fidl::Result<()> {
1798 encoder.debug_check_bounds::<Self>(offset);
1799 encoder.write_num(self.into_primitive(), offset);
1800 Ok(())
1801 }
1802 }
1803
1804 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1805 #[inline(always)]
1806 fn new_empty() -> Self {
1807 Self::Success
1808 }
1809
1810 #[inline]
1811 unsafe fn decode(
1812 &mut self,
1813 decoder: &mut fidl::encoding::Decoder<'_, D>,
1814 offset: usize,
1815 _depth: fidl::encoding::Depth,
1816 ) -> fidl::Result<()> {
1817 decoder.debug_check_bounds::<Self>(offset);
1818 let prim = decoder.read_num::<u32>(offset);
1819
1820 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1821 Ok(())
1822 }
1823 }
1824 unsafe impl fidl::encoding::TypeMarker for KeyType {
1825 type Owned = Self;
1826
1827 #[inline(always)]
1828 fn inline_align(_context: fidl::encoding::Context) -> usize {
1829 std::mem::align_of::<u32>()
1830 }
1831
1832 #[inline(always)]
1833 fn inline_size(_context: fidl::encoding::Context) -> usize {
1834 std::mem::size_of::<u32>()
1835 }
1836
1837 #[inline(always)]
1838 fn encode_is_copy() -> bool {
1839 true
1840 }
1841
1842 #[inline(always)]
1843 fn decode_is_copy() -> bool {
1844 false
1845 }
1846 }
1847
1848 impl fidl::encoding::ValueTypeMarker for KeyType {
1849 type Borrowed<'a> = Self;
1850 #[inline(always)]
1851 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1852 *value
1853 }
1854 }
1855
1856 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1857 #[inline]
1858 unsafe fn encode(
1859 self,
1860 encoder: &mut fidl::encoding::Encoder<'_, D>,
1861 offset: usize,
1862 _depth: fidl::encoding::Depth,
1863 ) -> fidl::Result<()> {
1864 encoder.debug_check_bounds::<Self>(offset);
1865 encoder.write_num(self.into_primitive(), offset);
1866 Ok(())
1867 }
1868 }
1869
1870 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1871 #[inline(always)]
1872 fn new_empty() -> Self {
1873 Self::Group
1874 }
1875
1876 #[inline]
1877 unsafe fn decode(
1878 &mut self,
1879 decoder: &mut fidl::encoding::Decoder<'_, D>,
1880 offset: usize,
1881 _depth: fidl::encoding::Depth,
1882 ) -> fidl::Result<()> {
1883 decoder.debug_check_bounds::<Self>(offset);
1884 let prim = decoder.read_num::<u32>(offset);
1885
1886 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1887 Ok(())
1888 }
1889 }
1890 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1891 type Owned = Self;
1892
1893 #[inline(always)]
1894 fn inline_align(_context: fidl::encoding::Context) -> usize {
1895 std::mem::align_of::<u32>()
1896 }
1897
1898 #[inline(always)]
1899 fn inline_size(_context: fidl::encoding::Context) -> usize {
1900 std::mem::size_of::<u32>()
1901 }
1902
1903 #[inline(always)]
1904 fn encode_is_copy() -> bool {
1905 true
1906 }
1907
1908 #[inline(always)]
1909 fn decode_is_copy() -> bool {
1910 false
1911 }
1912 }
1913
1914 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1915 type Borrowed<'a> = Self;
1916 #[inline(always)]
1917 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1918 *value
1919 }
1920 }
1921
1922 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1923 #[inline]
1924 unsafe fn encode(
1925 self,
1926 encoder: &mut fidl::encoding::Encoder<'_, D>,
1927 offset: usize,
1928 _depth: fidl::encoding::Depth,
1929 ) -> fidl::Result<()> {
1930 encoder.debug_check_bounds::<Self>(offset);
1931 encoder.write_num(self.into_primitive(), offset);
1932 Ok(())
1933 }
1934 }
1935
1936 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1937 #[inline(always)]
1938 fn new_empty() -> Self {
1939 Self::Success
1940 }
1941
1942 #[inline]
1943 unsafe fn decode(
1944 &mut self,
1945 decoder: &mut fidl::encoding::Decoder<'_, D>,
1946 offset: usize,
1947 _depth: fidl::encoding::Depth,
1948 ) -> fidl::Result<()> {
1949 decoder.debug_check_bounds::<Self>(offset);
1950 let prim = decoder.read_num::<u32>(offset);
1951
1952 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1953 Ok(())
1954 }
1955 }
1956 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1957 type Owned = Self;
1958
1959 #[inline(always)]
1960 fn inline_align(_context: fidl::encoding::Context) -> usize {
1961 std::mem::align_of::<u32>()
1962 }
1963
1964 #[inline(always)]
1965 fn inline_size(_context: fidl::encoding::Context) -> usize {
1966 std::mem::size_of::<u32>()
1967 }
1968
1969 #[inline(always)]
1970 fn encode_is_copy() -> bool {
1971 true
1972 }
1973
1974 #[inline(always)]
1975 fn decode_is_copy() -> bool {
1976 false
1977 }
1978 }
1979
1980 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1981 type Borrowed<'a> = Self;
1982 #[inline(always)]
1983 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1984 *value
1985 }
1986 }
1987
1988 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1989 #[inline]
1990 unsafe fn encode(
1991 self,
1992 encoder: &mut fidl::encoding::Encoder<'_, D>,
1993 offset: usize,
1994 _depth: fidl::encoding::Depth,
1995 ) -> fidl::Result<()> {
1996 encoder.debug_check_bounds::<Self>(offset);
1997 encoder.write_num(self.into_primitive(), offset);
1998 Ok(())
1999 }
2000 }
2001
2002 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
2003 #[inline(always)]
2004 fn new_empty() -> Self {
2005 Self::Active
2006 }
2007
2008 #[inline]
2009 unsafe fn decode(
2010 &mut self,
2011 decoder: &mut fidl::encoding::Decoder<'_, D>,
2012 offset: usize,
2013 _depth: fidl::encoding::Depth,
2014 ) -> fidl::Result<()> {
2015 decoder.debug_check_bounds::<Self>(offset);
2016 let prim = decoder.read_num::<u32>(offset);
2017
2018 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2019 Ok(())
2020 }
2021 }
2022 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
2023 type Owned = Self;
2024
2025 #[inline(always)]
2026 fn inline_align(_context: fidl::encoding::Context) -> usize {
2027 std::mem::align_of::<u32>()
2028 }
2029
2030 #[inline(always)]
2031 fn inline_size(_context: fidl::encoding::Context) -> usize {
2032 std::mem::size_of::<u32>()
2033 }
2034
2035 #[inline(always)]
2036 fn encode_is_copy() -> bool {
2037 true
2038 }
2039
2040 #[inline(always)]
2041 fn decode_is_copy() -> bool {
2042 false
2043 }
2044 }
2045
2046 impl fidl::encoding::ValueTypeMarker for StartResultCode {
2047 type Borrowed<'a> = Self;
2048 #[inline(always)]
2049 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2050 *value
2051 }
2052 }
2053
2054 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2055 for StartResultCode
2056 {
2057 #[inline]
2058 unsafe fn encode(
2059 self,
2060 encoder: &mut fidl::encoding::Encoder<'_, D>,
2061 offset: usize,
2062 _depth: fidl::encoding::Depth,
2063 ) -> fidl::Result<()> {
2064 encoder.debug_check_bounds::<Self>(offset);
2065 encoder.write_num(self.into_primitive(), offset);
2066 Ok(())
2067 }
2068 }
2069
2070 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
2071 #[inline(always)]
2072 fn new_empty() -> Self {
2073 Self::Success
2074 }
2075
2076 #[inline]
2077 unsafe fn decode(
2078 &mut self,
2079 decoder: &mut fidl::encoding::Decoder<'_, D>,
2080 offset: usize,
2081 _depth: fidl::encoding::Depth,
2082 ) -> fidl::Result<()> {
2083 decoder.debug_check_bounds::<Self>(offset);
2084 let prim = decoder.read_num::<u32>(offset);
2085
2086 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2087 Ok(())
2088 }
2089 }
2090 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
2091 type Owned = Self;
2092
2093 #[inline(always)]
2094 fn inline_align(_context: fidl::encoding::Context) -> usize {
2095 std::mem::align_of::<u32>()
2096 }
2097
2098 #[inline(always)]
2099 fn inline_size(_context: fidl::encoding::Context) -> usize {
2100 std::mem::size_of::<u32>()
2101 }
2102
2103 #[inline(always)]
2104 fn encode_is_copy() -> bool {
2105 true
2106 }
2107
2108 #[inline(always)]
2109 fn decode_is_copy() -> bool {
2110 false
2111 }
2112 }
2113
2114 impl fidl::encoding::ValueTypeMarker for StopResultCode {
2115 type Borrowed<'a> = Self;
2116 #[inline(always)]
2117 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2118 *value
2119 }
2120 }
2121
2122 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2123 #[inline]
2124 unsafe fn encode(
2125 self,
2126 encoder: &mut fidl::encoding::Encoder<'_, D>,
2127 offset: usize,
2128 _depth: fidl::encoding::Depth,
2129 ) -> fidl::Result<()> {
2130 encoder.debug_check_bounds::<Self>(offset);
2131 encoder.write_num(self.into_primitive(), offset);
2132 Ok(())
2133 }
2134 }
2135
2136 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2137 #[inline(always)]
2138 fn new_empty() -> Self {
2139 Self::Success
2140 }
2141
2142 #[inline]
2143 unsafe fn decode(
2144 &mut self,
2145 decoder: &mut fidl::encoding::Decoder<'_, D>,
2146 offset: usize,
2147 _depth: fidl::encoding::Depth,
2148 ) -> fidl::Result<()> {
2149 decoder.debug_check_bounds::<Self>(offset);
2150 let prim = decoder.read_num::<u32>(offset);
2151
2152 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2153 Ok(())
2154 }
2155 }
2156
2157 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2158 type Borrowed<'a> = &'a Self;
2159 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2160 value
2161 }
2162 }
2163
2164 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2165 type Owned = Self;
2166
2167 #[inline(always)]
2168 fn inline_align(_context: fidl::encoding::Context) -> usize {
2169 8
2170 }
2171
2172 #[inline(always)]
2173 fn inline_size(_context: fidl::encoding::Context) -> usize {
2174 64
2175 }
2176 }
2177
2178 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2179 for &AssociateIndication
2180 {
2181 #[inline]
2182 unsafe fn encode(
2183 self,
2184 encoder: &mut fidl::encoding::Encoder<'_, D>,
2185 offset: usize,
2186 _depth: fidl::encoding::Depth,
2187 ) -> fidl::Result<()> {
2188 encoder.debug_check_bounds::<AssociateIndication>(offset);
2189 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2191 (
2192 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2193 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2194 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2195 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2196 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2197 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2198 ),
2199 encoder, offset, _depth
2200 )
2201 }
2202 }
2203 unsafe impl<
2204 D: fidl::encoding::ResourceDialect,
2205 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2206 T1: fidl::encoding::Encode<u16, D>,
2207 T2: fidl::encoding::Encode<u16, D>,
2208 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2209 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2210 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2211 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
2212 {
2213 #[inline]
2214 unsafe fn encode(
2215 self,
2216 encoder: &mut fidl::encoding::Encoder<'_, D>,
2217 offset: usize,
2218 depth: fidl::encoding::Depth,
2219 ) -> fidl::Result<()> {
2220 encoder.debug_check_bounds::<AssociateIndication>(offset);
2221 unsafe {
2224 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2225 (ptr as *mut u64).write_unaligned(0);
2226 }
2227 self.0.encode(encoder, offset + 0, depth)?;
2229 self.1.encode(encoder, offset + 6, depth)?;
2230 self.2.encode(encoder, offset + 8, depth)?;
2231 self.3.encode(encoder, offset + 16, depth)?;
2232 self.4.encode(encoder, offset + 32, depth)?;
2233 self.5.encode(encoder, offset + 48, depth)?;
2234 Ok(())
2235 }
2236 }
2237
2238 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2239 #[inline(always)]
2240 fn new_empty() -> Self {
2241 Self {
2242 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2243 capability_info: fidl::new_empty!(u16, D),
2244 listen_interval: fidl::new_empty!(u16, D),
2245 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2246 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2247 rsne: fidl::new_empty!(
2248 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2249 D
2250 ),
2251 }
2252 }
2253
2254 #[inline]
2255 unsafe fn decode(
2256 &mut self,
2257 decoder: &mut fidl::encoding::Decoder<'_, D>,
2258 offset: usize,
2259 _depth: fidl::encoding::Depth,
2260 ) -> fidl::Result<()> {
2261 decoder.debug_check_bounds::<Self>(offset);
2262 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2264 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2265 let mask = 0xffffffffffff0000u64;
2266 let maskedval = padval & mask;
2267 if maskedval != 0 {
2268 return Err(fidl::Error::NonZeroPadding {
2269 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2270 });
2271 }
2272 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2273 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2274 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2275 fidl::decode!(
2276 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2277 D,
2278 &mut self.ssid,
2279 decoder,
2280 offset + 16,
2281 _depth
2282 )?;
2283 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2284 fidl::decode!(
2285 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2286 D,
2287 &mut self.rsne,
2288 decoder,
2289 offset + 48,
2290 _depth
2291 )?;
2292 Ok(())
2293 }
2294 }
2295
2296 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2297 type Borrowed<'a> = &'a Self;
2298 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2299 value
2300 }
2301 }
2302
2303 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2304 type Owned = Self;
2305
2306 #[inline(always)]
2307 fn inline_align(_context: fidl::encoding::Context) -> usize {
2308 8
2309 }
2310
2311 #[inline(always)]
2312 fn inline_size(_context: fidl::encoding::Context) -> usize {
2313 32
2314 }
2315 }
2316
2317 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2318 for &AssociateResponse
2319 {
2320 #[inline]
2321 unsafe fn encode(
2322 self,
2323 encoder: &mut fidl::encoding::Encoder<'_, D>,
2324 offset: usize,
2325 _depth: fidl::encoding::Depth,
2326 ) -> fidl::Result<()> {
2327 encoder.debug_check_bounds::<AssociateResponse>(offset);
2328 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2330 (
2331 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2332 &self.peer_sta_address,
2333 ),
2334 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2335 &self.result_code,
2336 ),
2337 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2338 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2339 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2340 &self.rates,
2341 ),
2342 ),
2343 encoder,
2344 offset,
2345 _depth,
2346 )
2347 }
2348 }
2349 unsafe impl<
2350 D: fidl::encoding::ResourceDialect,
2351 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2352 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2353 T2: fidl::encoding::Encode<u16, D>,
2354 T3: fidl::encoding::Encode<u16, D>,
2355 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2356 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2357 {
2358 #[inline]
2359 unsafe fn encode(
2360 self,
2361 encoder: &mut fidl::encoding::Encoder<'_, D>,
2362 offset: usize,
2363 depth: fidl::encoding::Depth,
2364 ) -> fidl::Result<()> {
2365 encoder.debug_check_bounds::<AssociateResponse>(offset);
2366 unsafe {
2369 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2370 (ptr as *mut u64).write_unaligned(0);
2371 }
2372 self.0.encode(encoder, offset + 0, depth)?;
2374 self.1.encode(encoder, offset + 8, depth)?;
2375 self.2.encode(encoder, offset + 12, depth)?;
2376 self.3.encode(encoder, offset + 14, depth)?;
2377 self.4.encode(encoder, offset + 16, depth)?;
2378 Ok(())
2379 }
2380 }
2381
2382 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2383 #[inline(always)]
2384 fn new_empty() -> Self {
2385 Self {
2386 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2387 result_code: fidl::new_empty!(AssociateResultCode, D),
2388 association_id: fidl::new_empty!(u16, D),
2389 capability_info: fidl::new_empty!(u16, D),
2390 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2391 }
2392 }
2393
2394 #[inline]
2395 unsafe fn decode(
2396 &mut self,
2397 decoder: &mut fidl::encoding::Decoder<'_, D>,
2398 offset: usize,
2399 _depth: fidl::encoding::Depth,
2400 ) -> fidl::Result<()> {
2401 decoder.debug_check_bounds::<Self>(offset);
2402 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2404 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2405 let mask = 0xffff000000000000u64;
2406 let maskedval = padval & mask;
2407 if maskedval != 0 {
2408 return Err(fidl::Error::NonZeroPadding {
2409 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2410 });
2411 }
2412 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2413 fidl::decode!(
2414 AssociateResultCode,
2415 D,
2416 &mut self.result_code,
2417 decoder,
2418 offset + 8,
2419 _depth
2420 )?;
2421 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2422 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2423 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2424 Ok(())
2425 }
2426 }
2427
2428 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2429 type Borrowed<'a> = &'a Self;
2430 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2431 value
2432 }
2433 }
2434
2435 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2436 type Owned = Self;
2437
2438 #[inline(always)]
2439 fn inline_align(_context: fidl::encoding::Context) -> usize {
2440 4
2441 }
2442
2443 #[inline(always)]
2444 fn inline_size(_context: fidl::encoding::Context) -> usize {
2445 12
2446 }
2447 }
2448
2449 unsafe impl<D: fidl::encoding::ResourceDialect>
2450 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2451 {
2452 #[inline]
2453 unsafe fn encode(
2454 self,
2455 encoder: &mut fidl::encoding::Encoder<'_, D>,
2456 offset: usize,
2457 _depth: fidl::encoding::Depth,
2458 ) -> fidl::Result<()> {
2459 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2460 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2462 (
2463 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2464 &self.peer_sta_address,
2465 ),
2466 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2467 &self.auth_type,
2468 ),
2469 ),
2470 encoder,
2471 offset,
2472 _depth,
2473 )
2474 }
2475 }
2476 unsafe impl<
2477 D: fidl::encoding::ResourceDialect,
2478 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2479 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2480 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2481 {
2482 #[inline]
2483 unsafe fn encode(
2484 self,
2485 encoder: &mut fidl::encoding::Encoder<'_, D>,
2486 offset: usize,
2487 depth: fidl::encoding::Depth,
2488 ) -> fidl::Result<()> {
2489 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2490 unsafe {
2493 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2494 (ptr as *mut u32).write_unaligned(0);
2495 }
2496 self.0.encode(encoder, offset + 0, depth)?;
2498 self.1.encode(encoder, offset + 8, depth)?;
2499 Ok(())
2500 }
2501 }
2502
2503 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2504 for AuthenticateIndication
2505 {
2506 #[inline(always)]
2507 fn new_empty() -> Self {
2508 Self {
2509 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2510 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2511 }
2512 }
2513
2514 #[inline]
2515 unsafe fn decode(
2516 &mut self,
2517 decoder: &mut fidl::encoding::Decoder<'_, D>,
2518 offset: usize,
2519 _depth: fidl::encoding::Depth,
2520 ) -> fidl::Result<()> {
2521 decoder.debug_check_bounds::<Self>(offset);
2522 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2524 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2525 let mask = 0xffff0000u32;
2526 let maskedval = padval & mask;
2527 if maskedval != 0 {
2528 return Err(fidl::Error::NonZeroPadding {
2529 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2530 });
2531 }
2532 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2533 fidl::decode!(
2534 AuthenticationTypes,
2535 D,
2536 &mut self.auth_type,
2537 decoder,
2538 offset + 8,
2539 _depth
2540 )?;
2541 Ok(())
2542 }
2543 }
2544
2545 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2546 type Borrowed<'a> = &'a Self;
2547 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2548 value
2549 }
2550 }
2551
2552 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2553 type Owned = Self;
2554
2555 #[inline(always)]
2556 fn inline_align(_context: fidl::encoding::Context) -> usize {
2557 4
2558 }
2559
2560 #[inline(always)]
2561 fn inline_size(_context: fidl::encoding::Context) -> usize {
2562 12
2563 }
2564 }
2565
2566 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2567 for &AuthenticateResponse
2568 {
2569 #[inline]
2570 unsafe fn encode(
2571 self,
2572 encoder: &mut fidl::encoding::Encoder<'_, D>,
2573 offset: usize,
2574 _depth: fidl::encoding::Depth,
2575 ) -> fidl::Result<()> {
2576 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2577 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2579 (
2580 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2581 &self.peer_sta_address,
2582 ),
2583 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2584 &self.result_code,
2585 ),
2586 ),
2587 encoder,
2588 offset,
2589 _depth,
2590 )
2591 }
2592 }
2593 unsafe impl<
2594 D: fidl::encoding::ResourceDialect,
2595 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2596 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2597 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2598 {
2599 #[inline]
2600 unsafe fn encode(
2601 self,
2602 encoder: &mut fidl::encoding::Encoder<'_, D>,
2603 offset: usize,
2604 depth: fidl::encoding::Depth,
2605 ) -> fidl::Result<()> {
2606 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2607 unsafe {
2610 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2611 (ptr as *mut u32).write_unaligned(0);
2612 }
2613 self.0.encode(encoder, offset + 0, depth)?;
2615 self.1.encode(encoder, offset + 8, depth)?;
2616 Ok(())
2617 }
2618 }
2619
2620 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2621 #[inline(always)]
2622 fn new_empty() -> Self {
2623 Self {
2624 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2625 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2626 }
2627 }
2628
2629 #[inline]
2630 unsafe fn decode(
2631 &mut self,
2632 decoder: &mut fidl::encoding::Decoder<'_, D>,
2633 offset: usize,
2634 _depth: fidl::encoding::Depth,
2635 ) -> fidl::Result<()> {
2636 decoder.debug_check_bounds::<Self>(offset);
2637 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2639 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2640 let mask = 0xffff0000u32;
2641 let maskedval = padval & mask;
2642 if maskedval != 0 {
2643 return Err(fidl::Error::NonZeroPadding {
2644 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2645 });
2646 }
2647 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2648 fidl::decode!(
2649 AuthenticateResultCode,
2650 D,
2651 &mut self.result_code,
2652 decoder,
2653 offset + 8,
2654 _depth
2655 )?;
2656 Ok(())
2657 }
2658 }
2659
2660 impl fidl::encoding::ValueTypeMarker for BandCapability {
2661 type Borrowed<'a> = &'a Self;
2662 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2663 value
2664 }
2665 }
2666
2667 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2668 type Owned = Self;
2669
2670 #[inline(always)]
2671 fn inline_align(_context: fidl::encoding::Context) -> usize {
2672 8
2673 }
2674
2675 #[inline(always)]
2676 fn inline_size(_context: fidl::encoding::Context) -> usize {
2677 56
2678 }
2679 }
2680
2681 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2682 for &BandCapability
2683 {
2684 #[inline]
2685 unsafe fn encode(
2686 self,
2687 encoder: &mut fidl::encoding::Encoder<'_, D>,
2688 offset: usize,
2689 _depth: fidl::encoding::Depth,
2690 ) -> fidl::Result<()> {
2691 encoder.debug_check_bounds::<BandCapability>(offset);
2692 fidl::encoding::Encode::<BandCapability, D>::encode(
2694 (
2695 <fidl_fuchsia_wlan_ieee80211_common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2696 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2697 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2698 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2699 <fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.primary_channels),
2700 ),
2701 encoder, offset, _depth
2702 )
2703 }
2704 }
2705 unsafe impl<
2706 D: fidl::encoding::ResourceDialect,
2707 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanBand, D>,
2708 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2709 T2: fidl::encoding::Encode<
2710 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2711 D,
2712 >,
2713 T3: fidl::encoding::Encode<
2714 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2715 D,
2716 >,
2717 T4: fidl::encoding::Encode<
2718 fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>,
2719 D,
2720 >,
2721 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2722 {
2723 #[inline]
2724 unsafe fn encode(
2725 self,
2726 encoder: &mut fidl::encoding::Encoder<'_, D>,
2727 offset: usize,
2728 depth: fidl::encoding::Depth,
2729 ) -> fidl::Result<()> {
2730 encoder.debug_check_bounds::<BandCapability>(offset);
2731 unsafe {
2734 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2735 (ptr as *mut u64).write_unaligned(0);
2736 }
2737 self.0.encode(encoder, offset + 0, depth)?;
2739 self.1.encode(encoder, offset + 8, depth)?;
2740 self.2.encode(encoder, offset + 24, depth)?;
2741 self.3.encode(encoder, offset + 32, depth)?;
2742 self.4.encode(encoder, offset + 40, depth)?;
2743 Ok(())
2744 }
2745 }
2746
2747 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2748 #[inline(always)]
2749 fn new_empty() -> Self {
2750 Self {
2751 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanBand, D),
2752 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2753 ht_cap: fidl::new_empty!(
2754 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2755 D
2756 ),
2757 vht_cap: fidl::new_empty!(
2758 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2759 D
2760 ),
2761 primary_channels: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D),
2762 }
2763 }
2764
2765 #[inline]
2766 unsafe fn decode(
2767 &mut self,
2768 decoder: &mut fidl::encoding::Decoder<'_, D>,
2769 offset: usize,
2770 _depth: fidl::encoding::Depth,
2771 ) -> fidl::Result<()> {
2772 decoder.debug_check_bounds::<Self>(offset);
2773 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2775 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2776 let mask = 0xffffffffffffff00u64;
2777 let maskedval = padval & mask;
2778 if maskedval != 0 {
2779 return Err(fidl::Error::NonZeroPadding {
2780 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2781 });
2782 }
2783 fidl::decode!(
2784 fidl_fuchsia_wlan_ieee80211_common::WlanBand,
2785 D,
2786 &mut self.band,
2787 decoder,
2788 offset + 0,
2789 _depth
2790 )?;
2791 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2792 fidl::decode!(
2793 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
2794 D,
2795 &mut self.ht_cap,
2796 decoder,
2797 offset + 24,
2798 _depth
2799 )?;
2800 fidl::decode!(
2801 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
2802 D,
2803 &mut self.vht_cap,
2804 decoder,
2805 offset + 32,
2806 _depth
2807 )?;
2808 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D, &mut self.primary_channels, decoder, offset + 40, _depth)?;
2809 Ok(())
2810 }
2811 }
2812
2813 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2814 type Borrowed<'a> = &'a Self;
2815 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2816 value
2817 }
2818 }
2819
2820 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2821 type Owned = Self;
2822
2823 #[inline(always)]
2824 fn inline_align(_context: fidl::encoding::Context) -> usize {
2825 8
2826 }
2827
2828 #[inline(always)]
2829 fn inline_size(_context: fidl::encoding::Context) -> usize {
2830 16
2831 }
2832 }
2833
2834 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2835 for &CapturedFrameResult
2836 {
2837 #[inline]
2838 unsafe fn encode(
2839 self,
2840 encoder: &mut fidl::encoding::Encoder<'_, D>,
2841 offset: usize,
2842 _depth: fidl::encoding::Depth,
2843 ) -> fidl::Result<()> {
2844 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2845 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2847 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2848 &self.frame,
2849 ),),
2850 encoder,
2851 offset,
2852 _depth,
2853 )
2854 }
2855 }
2856 unsafe impl<
2857 D: fidl::encoding::ResourceDialect,
2858 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2859 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2860 {
2861 #[inline]
2862 unsafe fn encode(
2863 self,
2864 encoder: &mut fidl::encoding::Encoder<'_, D>,
2865 offset: usize,
2866 depth: fidl::encoding::Depth,
2867 ) -> fidl::Result<()> {
2868 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2869 self.0.encode(encoder, offset + 0, depth)?;
2873 Ok(())
2874 }
2875 }
2876
2877 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2878 #[inline(always)]
2879 fn new_empty() -> Self {
2880 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2881 }
2882
2883 #[inline]
2884 unsafe fn decode(
2885 &mut self,
2886 decoder: &mut fidl::encoding::Decoder<'_, D>,
2887 offset: usize,
2888 _depth: fidl::encoding::Depth,
2889 ) -> fidl::Result<()> {
2890 decoder.debug_check_bounds::<Self>(offset);
2891 fidl::decode!(
2893 fidl::encoding::UnboundedVector<u8>,
2894 D,
2895 &mut self.frame,
2896 decoder,
2897 offset + 0,
2898 _depth
2899 )?;
2900 Ok(())
2901 }
2902 }
2903
2904 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2905 type Borrowed<'a> = &'a Self;
2906 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2907 value
2908 }
2909 }
2910
2911 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2912 type Owned = Self;
2913
2914 #[inline(always)]
2915 fn inline_align(_context: fidl::encoding::Context) -> usize {
2916 8
2917 }
2918
2919 #[inline(always)]
2920 fn inline_size(_context: fidl::encoding::Context) -> usize {
2921 32
2922 }
2923 }
2924
2925 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2926 for &ConnectConfirm
2927 {
2928 #[inline]
2929 unsafe fn encode(
2930 self,
2931 encoder: &mut fidl::encoding::Encoder<'_, D>,
2932 offset: usize,
2933 _depth: fidl::encoding::Depth,
2934 ) -> fidl::Result<()> {
2935 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2936 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2938 (
2939 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2940 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2941 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2942 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2943 ),
2944 encoder, offset, _depth
2945 )
2946 }
2947 }
2948 unsafe impl<
2949 D: fidl::encoding::ResourceDialect,
2950 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2951 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
2952 T2: fidl::encoding::Encode<u16, D>,
2953 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2954 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2955 {
2956 #[inline]
2957 unsafe fn encode(
2958 self,
2959 encoder: &mut fidl::encoding::Encoder<'_, D>,
2960 offset: usize,
2961 depth: fidl::encoding::Depth,
2962 ) -> fidl::Result<()> {
2963 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2964 unsafe {
2967 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2968 (ptr as *mut u64).write_unaligned(0);
2969 }
2970 self.0.encode(encoder, offset + 0, depth)?;
2972 self.1.encode(encoder, offset + 6, depth)?;
2973 self.2.encode(encoder, offset + 8, depth)?;
2974 self.3.encode(encoder, offset + 16, depth)?;
2975 Ok(())
2976 }
2977 }
2978
2979 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2980 #[inline(always)]
2981 fn new_empty() -> Self {
2982 Self {
2983 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2984 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
2985 association_id: fidl::new_empty!(u16, D),
2986 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2987 }
2988 }
2989
2990 #[inline]
2991 unsafe fn decode(
2992 &mut self,
2993 decoder: &mut fidl::encoding::Decoder<'_, D>,
2994 offset: usize,
2995 _depth: fidl::encoding::Depth,
2996 ) -> fidl::Result<()> {
2997 decoder.debug_check_bounds::<Self>(offset);
2998 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3000 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3001 let mask = 0xffffffffffff0000u64;
3002 let maskedval = padval & mask;
3003 if maskedval != 0 {
3004 return Err(fidl::Error::NonZeroPadding {
3005 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3006 });
3007 }
3008 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3009 fidl::decode!(
3010 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
3011 D,
3012 &mut self.result_code,
3013 decoder,
3014 offset + 6,
3015 _depth
3016 )?;
3017 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
3018 fidl::decode!(
3019 fidl::encoding::UnboundedVector<u8>,
3020 D,
3021 &mut self.association_ies,
3022 decoder,
3023 offset + 16,
3024 _depth
3025 )?;
3026 Ok(())
3027 }
3028 }
3029
3030 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
3031 type Borrowed<'a> = &'a Self;
3032 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3033 value
3034 }
3035 }
3036
3037 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
3038 type Owned = Self;
3039
3040 #[inline(always)]
3041 fn inline_align(_context: fidl::encoding::Context) -> usize {
3042 8
3043 }
3044
3045 #[inline(always)]
3046 fn inline_size(_context: fidl::encoding::Context) -> usize {
3047 104
3048 }
3049 }
3050
3051 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
3052 for &ConnectRequest
3053 {
3054 #[inline]
3055 unsafe fn encode(
3056 self,
3057 encoder: &mut fidl::encoding::Encoder<'_, D>,
3058 offset: usize,
3059 _depth: fidl::encoding::Depth,
3060 ) -> fidl::Result<()> {
3061 encoder.debug_check_bounds::<ConnectRequest>(offset);
3062 fidl::encoding::Encode::<ConnectRequest, D>::encode(
3064 (
3065 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
3066 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
3067 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
3068 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
3069 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
3070 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
3071 <fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey> as fidl::encoding::ValueTypeMarker>::borrow(&self.owe_public_key),
3072 ),
3073 encoder, offset, _depth
3074 )
3075 }
3076 }
3077 unsafe impl<
3078 D: fidl::encoding::ResourceDialect,
3079 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
3080 T1: fidl::encoding::Encode<u32, D>,
3081 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
3082 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
3083 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
3084 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
3085 T6: fidl::encoding::Encode<
3086 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3087 D,
3088 >,
3089 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
3090 {
3091 #[inline]
3092 unsafe fn encode(
3093 self,
3094 encoder: &mut fidl::encoding::Encoder<'_, D>,
3095 offset: usize,
3096 depth: fidl::encoding::Depth,
3097 ) -> fidl::Result<()> {
3098 encoder.debug_check_bounds::<ConnectRequest>(offset);
3099 self.0.encode(encoder, offset + 0, depth)?;
3103 self.1.encode(encoder, offset + 48, depth)?;
3104 self.2.encode(encoder, offset + 52, depth)?;
3105 self.3.encode(encoder, offset + 56, depth)?;
3106 self.4.encode(encoder, offset + 72, depth)?;
3107 self.5.encode(encoder, offset + 80, depth)?;
3108 self.6.encode(encoder, offset + 96, depth)?;
3109 Ok(())
3110 }
3111 }
3112
3113 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
3114 #[inline(always)]
3115 fn new_empty() -> Self {
3116 Self {
3117 selected_bss: fidl::new_empty!(
3118 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3119 D
3120 ),
3121 connect_failure_timeout: fidl::new_empty!(u32, D),
3122 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3123 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3124 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3125 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3126 owe_public_key: fidl::new_empty!(
3127 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3128 D
3129 ),
3130 }
3131 }
3132
3133 #[inline]
3134 unsafe fn decode(
3135 &mut self,
3136 decoder: &mut fidl::encoding::Decoder<'_, D>,
3137 offset: usize,
3138 _depth: fidl::encoding::Depth,
3139 ) -> fidl::Result<()> {
3140 decoder.debug_check_bounds::<Self>(offset);
3141 fidl::decode!(
3143 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
3144 D,
3145 &mut self.selected_bss,
3146 decoder,
3147 offset + 0,
3148 _depth
3149 )?;
3150 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3151 fidl::decode!(
3152 AuthenticationTypes,
3153 D,
3154 &mut self.auth_type,
3155 decoder,
3156 offset + 52,
3157 _depth
3158 )?;
3159 fidl::decode!(
3160 fidl::encoding::UnboundedVector<u8>,
3161 D,
3162 &mut self.sae_password,
3163 decoder,
3164 offset + 56,
3165 _depth
3166 )?;
3167 fidl::decode!(
3168 fidl::encoding::Boxed<SetKeyDescriptor>,
3169 D,
3170 &mut self.wep_key,
3171 decoder,
3172 offset + 72,
3173 _depth
3174 )?;
3175 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3176 fidl::decode!(
3177 fidl::encoding::Boxed<fidl_fuchsia_wlan_internal_common::OwePublicKey>,
3178 D,
3179 &mut self.owe_public_key,
3180 decoder,
3181 offset + 96,
3182 _depth
3183 )?;
3184 Ok(())
3185 }
3186 }
3187
3188 impl fidl::encoding::ValueTypeMarker for Country {
3189 type Borrowed<'a> = &'a Self;
3190 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3191 value
3192 }
3193 }
3194
3195 unsafe impl fidl::encoding::TypeMarker for Country {
3196 type Owned = Self;
3197
3198 #[inline(always)]
3199 fn inline_align(_context: fidl::encoding::Context) -> usize {
3200 1
3201 }
3202
3203 #[inline(always)]
3204 fn inline_size(_context: fidl::encoding::Context) -> usize {
3205 3
3206 }
3207 #[inline(always)]
3208 fn encode_is_copy() -> bool {
3209 true
3210 }
3211
3212 #[inline(always)]
3213 fn decode_is_copy() -> bool {
3214 true
3215 }
3216 }
3217
3218 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3219 #[inline]
3220 unsafe fn encode(
3221 self,
3222 encoder: &mut fidl::encoding::Encoder<'_, D>,
3223 offset: usize,
3224 _depth: fidl::encoding::Depth,
3225 ) -> fidl::Result<()> {
3226 encoder.debug_check_bounds::<Country>(offset);
3227 unsafe {
3228 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3230 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3231 }
3234 Ok(())
3235 }
3236 }
3237 unsafe impl<
3238 D: fidl::encoding::ResourceDialect,
3239 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3240 T1: fidl::encoding::Encode<u8, D>,
3241 > fidl::encoding::Encode<Country, D> for (T0, T1)
3242 {
3243 #[inline]
3244 unsafe fn encode(
3245 self,
3246 encoder: &mut fidl::encoding::Encoder<'_, D>,
3247 offset: usize,
3248 depth: fidl::encoding::Depth,
3249 ) -> fidl::Result<()> {
3250 encoder.debug_check_bounds::<Country>(offset);
3251 self.0.encode(encoder, offset + 0, depth)?;
3255 self.1.encode(encoder, offset + 2, depth)?;
3256 Ok(())
3257 }
3258 }
3259
3260 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3261 #[inline(always)]
3262 fn new_empty() -> Self {
3263 Self {
3264 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3265 suffix: fidl::new_empty!(u8, D),
3266 }
3267 }
3268
3269 #[inline]
3270 unsafe fn decode(
3271 &mut self,
3272 decoder: &mut fidl::encoding::Decoder<'_, D>,
3273 offset: usize,
3274 _depth: fidl::encoding::Depth,
3275 ) -> fidl::Result<()> {
3276 decoder.debug_check_bounds::<Self>(offset);
3277 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3278 unsafe {
3281 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3282 }
3283 Ok(())
3284 }
3285 }
3286
3287 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3288 type Borrowed<'a> = &'a Self;
3289 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3290 value
3291 }
3292 }
3293
3294 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3295 type Owned = Self;
3296
3297 #[inline(always)]
3298 fn inline_align(_context: fidl::encoding::Context) -> usize {
3299 1
3300 }
3301
3302 #[inline(always)]
3303 fn inline_size(_context: fidl::encoding::Context) -> usize {
3304 6
3305 }
3306 #[inline(always)]
3307 fn encode_is_copy() -> bool {
3308 true
3309 }
3310
3311 #[inline(always)]
3312 fn decode_is_copy() -> bool {
3313 true
3314 }
3315 }
3316
3317 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3318 for &DeauthenticateConfirm
3319 {
3320 #[inline]
3321 unsafe fn encode(
3322 self,
3323 encoder: &mut fidl::encoding::Encoder<'_, D>,
3324 offset: usize,
3325 _depth: fidl::encoding::Depth,
3326 ) -> fidl::Result<()> {
3327 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3328 unsafe {
3329 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3331 (buf_ptr as *mut DeauthenticateConfirm)
3332 .write_unaligned((self as *const DeauthenticateConfirm).read());
3333 }
3336 Ok(())
3337 }
3338 }
3339 unsafe impl<
3340 D: fidl::encoding::ResourceDialect,
3341 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3342 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3343 {
3344 #[inline]
3345 unsafe fn encode(
3346 self,
3347 encoder: &mut fidl::encoding::Encoder<'_, D>,
3348 offset: usize,
3349 depth: fidl::encoding::Depth,
3350 ) -> fidl::Result<()> {
3351 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3352 self.0.encode(encoder, offset + 0, depth)?;
3356 Ok(())
3357 }
3358 }
3359
3360 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3361 #[inline(always)]
3362 fn new_empty() -> Self {
3363 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3364 }
3365
3366 #[inline]
3367 unsafe fn decode(
3368 &mut self,
3369 decoder: &mut fidl::encoding::Decoder<'_, D>,
3370 offset: usize,
3371 _depth: fidl::encoding::Depth,
3372 ) -> fidl::Result<()> {
3373 decoder.debug_check_bounds::<Self>(offset);
3374 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3375 unsafe {
3378 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3379 }
3380 Ok(())
3381 }
3382 }
3383
3384 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3385 type Borrowed<'a> = &'a Self;
3386 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3387 value
3388 }
3389 }
3390
3391 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3392 type Owned = Self;
3393
3394 #[inline(always)]
3395 fn inline_align(_context: fidl::encoding::Context) -> usize {
3396 2
3397 }
3398
3399 #[inline(always)]
3400 fn inline_size(_context: fidl::encoding::Context) -> usize {
3401 10
3402 }
3403 }
3404
3405 unsafe impl<D: fidl::encoding::ResourceDialect>
3406 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3407 {
3408 #[inline]
3409 unsafe fn encode(
3410 self,
3411 encoder: &mut fidl::encoding::Encoder<'_, D>,
3412 offset: usize,
3413 _depth: fidl::encoding::Depth,
3414 ) -> fidl::Result<()> {
3415 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3416 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3418 (
3419 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3420 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3421 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3422 ),
3423 encoder, offset, _depth
3424 )
3425 }
3426 }
3427 unsafe impl<
3428 D: fidl::encoding::ResourceDialect,
3429 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3430 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3431 T2: fidl::encoding::Encode<bool, D>,
3432 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3433 {
3434 #[inline]
3435 unsafe fn encode(
3436 self,
3437 encoder: &mut fidl::encoding::Encoder<'_, D>,
3438 offset: usize,
3439 depth: fidl::encoding::Depth,
3440 ) -> fidl::Result<()> {
3441 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3442 unsafe {
3445 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3446 (ptr as *mut u16).write_unaligned(0);
3447 }
3448 self.0.encode(encoder, offset + 0, depth)?;
3450 self.1.encode(encoder, offset + 6, depth)?;
3451 self.2.encode(encoder, offset + 8, depth)?;
3452 Ok(())
3453 }
3454 }
3455
3456 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3457 for DeauthenticateIndication
3458 {
3459 #[inline(always)]
3460 fn new_empty() -> Self {
3461 Self {
3462 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3463 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3464 locally_initiated: fidl::new_empty!(bool, D),
3465 }
3466 }
3467
3468 #[inline]
3469 unsafe fn decode(
3470 &mut self,
3471 decoder: &mut fidl::encoding::Decoder<'_, D>,
3472 offset: usize,
3473 _depth: fidl::encoding::Depth,
3474 ) -> fidl::Result<()> {
3475 decoder.debug_check_bounds::<Self>(offset);
3476 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3478 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3479 let mask = 0xff00u16;
3480 let maskedval = padval & mask;
3481 if maskedval != 0 {
3482 return Err(fidl::Error::NonZeroPadding {
3483 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3484 });
3485 }
3486 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3487 fidl::decode!(
3488 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3489 D,
3490 &mut self.reason_code,
3491 decoder,
3492 offset + 6,
3493 _depth
3494 )?;
3495 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3496 Ok(())
3497 }
3498 }
3499
3500 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3501 type Borrowed<'a> = &'a Self;
3502 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3503 value
3504 }
3505 }
3506
3507 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3508 type Owned = Self;
3509
3510 #[inline(always)]
3511 fn inline_align(_context: fidl::encoding::Context) -> usize {
3512 2
3513 }
3514
3515 #[inline(always)]
3516 fn inline_size(_context: fidl::encoding::Context) -> usize {
3517 8
3518 }
3519 }
3520
3521 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3522 for &DeauthenticateRequest
3523 {
3524 #[inline]
3525 unsafe fn encode(
3526 self,
3527 encoder: &mut fidl::encoding::Encoder<'_, D>,
3528 offset: usize,
3529 _depth: fidl::encoding::Depth,
3530 ) -> fidl::Result<()> {
3531 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3532 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3534 (
3535 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3536 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3537 ),
3538 encoder, offset, _depth
3539 )
3540 }
3541 }
3542 unsafe impl<
3543 D: fidl::encoding::ResourceDialect,
3544 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3545 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
3546 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3547 {
3548 #[inline]
3549 unsafe fn encode(
3550 self,
3551 encoder: &mut fidl::encoding::Encoder<'_, D>,
3552 offset: usize,
3553 depth: fidl::encoding::Depth,
3554 ) -> fidl::Result<()> {
3555 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3556 self.0.encode(encoder, offset + 0, depth)?;
3560 self.1.encode(encoder, offset + 6, depth)?;
3561 Ok(())
3562 }
3563 }
3564
3565 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3566 #[inline(always)]
3567 fn new_empty() -> Self {
3568 Self {
3569 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3570 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
3571 }
3572 }
3573
3574 #[inline]
3575 unsafe fn decode(
3576 &mut self,
3577 decoder: &mut fidl::encoding::Decoder<'_, D>,
3578 offset: usize,
3579 _depth: fidl::encoding::Depth,
3580 ) -> fidl::Result<()> {
3581 decoder.debug_check_bounds::<Self>(offset);
3582 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3584 fidl::decode!(
3585 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
3586 D,
3587 &mut self.reason_code,
3588 decoder,
3589 offset + 6,
3590 _depth
3591 )?;
3592 Ok(())
3593 }
3594 }
3595
3596 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3597 type Borrowed<'a> = &'a Self;
3598 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3599 value
3600 }
3601 }
3602
3603 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3604 type Owned = Self;
3605
3606 #[inline(always)]
3607 fn inline_align(_context: fidl::encoding::Context) -> usize {
3608 4
3609 }
3610
3611 #[inline(always)]
3612 fn inline_size(_context: fidl::encoding::Context) -> usize {
3613 16
3614 }
3615 }
3616
3617 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3618 for &DeleteKeyDescriptor
3619 {
3620 #[inline]
3621 unsafe fn encode(
3622 self,
3623 encoder: &mut fidl::encoding::Encoder<'_, D>,
3624 offset: usize,
3625 _depth: fidl::encoding::Depth,
3626 ) -> fidl::Result<()> {
3627 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3628 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3630 (
3631 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3632 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3633 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3634 &self.address,
3635 ),
3636 ),
3637 encoder,
3638 offset,
3639 _depth,
3640 )
3641 }
3642 }
3643 unsafe impl<
3644 D: fidl::encoding::ResourceDialect,
3645 T0: fidl::encoding::Encode<u16, D>,
3646 T1: fidl::encoding::Encode<KeyType, D>,
3647 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3648 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3649 {
3650 #[inline]
3651 unsafe fn encode(
3652 self,
3653 encoder: &mut fidl::encoding::Encoder<'_, D>,
3654 offset: usize,
3655 depth: fidl::encoding::Depth,
3656 ) -> fidl::Result<()> {
3657 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3658 unsafe {
3661 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3662 (ptr as *mut u32).write_unaligned(0);
3663 }
3664 unsafe {
3665 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3666 (ptr as *mut u32).write_unaligned(0);
3667 }
3668 self.0.encode(encoder, offset + 0, depth)?;
3670 self.1.encode(encoder, offset + 4, depth)?;
3671 self.2.encode(encoder, offset + 8, depth)?;
3672 Ok(())
3673 }
3674 }
3675
3676 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3677 #[inline(always)]
3678 fn new_empty() -> Self {
3679 Self {
3680 key_id: fidl::new_empty!(u16, D),
3681 key_type: fidl::new_empty!(KeyType, D),
3682 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3683 }
3684 }
3685
3686 #[inline]
3687 unsafe fn decode(
3688 &mut self,
3689 decoder: &mut fidl::encoding::Decoder<'_, D>,
3690 offset: usize,
3691 _depth: fidl::encoding::Depth,
3692 ) -> fidl::Result<()> {
3693 decoder.debug_check_bounds::<Self>(offset);
3694 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3696 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3697 let mask = 0xffff0000u32;
3698 let maskedval = padval & mask;
3699 if maskedval != 0 {
3700 return Err(fidl::Error::NonZeroPadding {
3701 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3702 });
3703 }
3704 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3705 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3706 let mask = 0xffff0000u32;
3707 let maskedval = padval & mask;
3708 if maskedval != 0 {
3709 return Err(fidl::Error::NonZeroPadding {
3710 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3711 });
3712 }
3713 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3714 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3715 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3716 Ok(())
3717 }
3718 }
3719
3720 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3721 type Borrowed<'a> = &'a Self;
3722 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3723 value
3724 }
3725 }
3726
3727 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3728 type Owned = Self;
3729
3730 #[inline(always)]
3731 fn inline_align(_context: fidl::encoding::Context) -> usize {
3732 8
3733 }
3734
3735 #[inline(always)]
3736 fn inline_size(_context: fidl::encoding::Context) -> usize {
3737 16
3738 }
3739 }
3740
3741 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3742 for &DeleteKeysRequest
3743 {
3744 #[inline]
3745 unsafe fn encode(
3746 self,
3747 encoder: &mut fidl::encoding::Encoder<'_, D>,
3748 offset: usize,
3749 _depth: fidl::encoding::Depth,
3750 ) -> fidl::Result<()> {
3751 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3752 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3754 (
3755 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3756 ),
3757 encoder, offset, _depth
3758 )
3759 }
3760 }
3761 unsafe impl<
3762 D: fidl::encoding::ResourceDialect,
3763 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3764 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3765 {
3766 #[inline]
3767 unsafe fn encode(
3768 self,
3769 encoder: &mut fidl::encoding::Encoder<'_, D>,
3770 offset: usize,
3771 depth: fidl::encoding::Depth,
3772 ) -> fidl::Result<()> {
3773 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3774 self.0.encode(encoder, offset + 0, depth)?;
3778 Ok(())
3779 }
3780 }
3781
3782 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3783 #[inline(always)]
3784 fn new_empty() -> Self {
3785 Self {
3786 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3787 }
3788 }
3789
3790 #[inline]
3791 unsafe fn decode(
3792 &mut self,
3793 decoder: &mut fidl::encoding::Decoder<'_, D>,
3794 offset: usize,
3795 _depth: fidl::encoding::Depth,
3796 ) -> fidl::Result<()> {
3797 decoder.debug_check_bounds::<Self>(offset);
3798 fidl::decode!(
3800 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3801 D,
3802 &mut self.keylist,
3803 decoder,
3804 offset + 0,
3805 _depth
3806 )?;
3807 Ok(())
3808 }
3809 }
3810
3811 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3812 type Borrowed<'a> = &'a Self;
3813 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3814 value
3815 }
3816 }
3817
3818 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3819 type Owned = Self;
3820
3821 #[inline(always)]
3822 fn inline_align(_context: fidl::encoding::Context) -> usize {
3823 8
3824 }
3825
3826 #[inline(always)]
3827 fn inline_size(_context: fidl::encoding::Context) -> usize {
3828 40
3829 }
3830 }
3831
3832 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3833 for &DeviceInfo
3834 {
3835 #[inline]
3836 unsafe fn encode(
3837 self,
3838 encoder: &mut fidl::encoding::Encoder<'_, D>,
3839 offset: usize,
3840 _depth: fidl::encoding::Depth,
3841 ) -> fidl::Result<()> {
3842 encoder.debug_check_bounds::<DeviceInfo>(offset);
3843 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3845 (
3846 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3847 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.factory_addr),
3848 <fidl_fuchsia_wlan_common_common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3849 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3850 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3851 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3852 ),
3853 encoder, offset, _depth
3854 )
3855 }
3856 }
3857 unsafe impl<
3858 D: fidl::encoding::ResourceDialect,
3859 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3860 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3861 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::WlanMacRole, D>,
3862 T3: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3863 T4: fidl::encoding::Encode<u32, D>,
3864 T5: fidl::encoding::Encode<bool, D>,
3865 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4, T5)
3866 {
3867 #[inline]
3868 unsafe fn encode(
3869 self,
3870 encoder: &mut fidl::encoding::Encoder<'_, D>,
3871 offset: usize,
3872 depth: fidl::encoding::Depth,
3873 ) -> fidl::Result<()> {
3874 encoder.debug_check_bounds::<DeviceInfo>(offset);
3875 unsafe {
3878 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3879 (ptr as *mut u64).write_unaligned(0);
3880 }
3881 self.0.encode(encoder, offset + 0, depth)?;
3883 self.1.encode(encoder, offset + 6, depth)?;
3884 self.2.encode(encoder, offset + 12, depth)?;
3885 self.3.encode(encoder, offset + 16, depth)?;
3886 self.4.encode(encoder, offset + 32, depth)?;
3887 self.5.encode(encoder, offset + 36, depth)?;
3888 Ok(())
3889 }
3890 }
3891
3892 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3893 #[inline(always)]
3894 fn new_empty() -> Self {
3895 Self {
3896 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3897 factory_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3898 role: fidl::new_empty!(fidl_fuchsia_wlan_common_common::WlanMacRole, D),
3899 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3900 softmac_hardware_capability: fidl::new_empty!(u32, D),
3901 qos_capable: fidl::new_empty!(bool, D),
3902 }
3903 }
3904
3905 #[inline]
3906 unsafe fn decode(
3907 &mut self,
3908 decoder: &mut fidl::encoding::Decoder<'_, D>,
3909 offset: usize,
3910 _depth: fidl::encoding::Depth,
3911 ) -> fidl::Result<()> {
3912 decoder.debug_check_bounds::<Self>(offset);
3913 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3915 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3916 let mask = 0xffffff0000000000u64;
3917 let maskedval = padval & mask;
3918 if maskedval != 0 {
3919 return Err(fidl::Error::NonZeroPadding {
3920 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3921 });
3922 }
3923 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3924 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.factory_addr, decoder, offset + 6, _depth)?;
3925 fidl::decode!(
3926 fidl_fuchsia_wlan_common_common::WlanMacRole,
3927 D,
3928 &mut self.role,
3929 decoder,
3930 offset + 12,
3931 _depth
3932 )?;
3933 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3934 fidl::decode!(
3935 u32,
3936 D,
3937 &mut self.softmac_hardware_capability,
3938 decoder,
3939 offset + 32,
3940 _depth
3941 )?;
3942 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3943 Ok(())
3944 }
3945 }
3946
3947 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3948 type Borrowed<'a> = &'a Self;
3949 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3950 value
3951 }
3952 }
3953
3954 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3955 type Owned = Self;
3956
3957 #[inline(always)]
3958 fn inline_align(_context: fidl::encoding::Context) -> usize {
3959 4
3960 }
3961
3962 #[inline(always)]
3963 fn inline_size(_context: fidl::encoding::Context) -> usize {
3964 4
3965 }
3966 #[inline(always)]
3967 fn encode_is_copy() -> bool {
3968 true
3969 }
3970
3971 #[inline(always)]
3972 fn decode_is_copy() -> bool {
3973 true
3974 }
3975 }
3976
3977 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3978 for &DisassociateConfirm
3979 {
3980 #[inline]
3981 unsafe fn encode(
3982 self,
3983 encoder: &mut fidl::encoding::Encoder<'_, D>,
3984 offset: usize,
3985 _depth: fidl::encoding::Depth,
3986 ) -> fidl::Result<()> {
3987 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3988 unsafe {
3989 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3991 (buf_ptr as *mut DisassociateConfirm)
3992 .write_unaligned((self as *const DisassociateConfirm).read());
3993 }
3996 Ok(())
3997 }
3998 }
3999 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
4000 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
4001 {
4002 #[inline]
4003 unsafe fn encode(
4004 self,
4005 encoder: &mut fidl::encoding::Encoder<'_, D>,
4006 offset: usize,
4007 depth: fidl::encoding::Depth,
4008 ) -> fidl::Result<()> {
4009 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
4010 self.0.encode(encoder, offset + 0, depth)?;
4014 Ok(())
4015 }
4016 }
4017
4018 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
4019 #[inline(always)]
4020 fn new_empty() -> Self {
4021 Self { status: fidl::new_empty!(i32, D) }
4022 }
4023
4024 #[inline]
4025 unsafe fn decode(
4026 &mut self,
4027 decoder: &mut fidl::encoding::Decoder<'_, D>,
4028 offset: usize,
4029 _depth: fidl::encoding::Depth,
4030 ) -> fidl::Result<()> {
4031 decoder.debug_check_bounds::<Self>(offset);
4032 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4033 unsafe {
4036 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
4037 }
4038 Ok(())
4039 }
4040 }
4041
4042 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
4043 type Borrowed<'a> = &'a Self;
4044 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4045 value
4046 }
4047 }
4048
4049 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
4050 type Owned = Self;
4051
4052 #[inline(always)]
4053 fn inline_align(_context: fidl::encoding::Context) -> usize {
4054 2
4055 }
4056
4057 #[inline(always)]
4058 fn inline_size(_context: fidl::encoding::Context) -> usize {
4059 10
4060 }
4061 }
4062
4063 unsafe impl<D: fidl::encoding::ResourceDialect>
4064 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
4065 {
4066 #[inline]
4067 unsafe fn encode(
4068 self,
4069 encoder: &mut fidl::encoding::Encoder<'_, D>,
4070 offset: usize,
4071 _depth: fidl::encoding::Depth,
4072 ) -> fidl::Result<()> {
4073 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4074 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
4076 (
4077 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4078 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4079 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
4080 ),
4081 encoder, offset, _depth
4082 )
4083 }
4084 }
4085 unsafe impl<
4086 D: fidl::encoding::ResourceDialect,
4087 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4088 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4089 T2: fidl::encoding::Encode<bool, D>,
4090 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
4091 {
4092 #[inline]
4093 unsafe fn encode(
4094 self,
4095 encoder: &mut fidl::encoding::Encoder<'_, D>,
4096 offset: usize,
4097 depth: fidl::encoding::Depth,
4098 ) -> fidl::Result<()> {
4099 encoder.debug_check_bounds::<DisassociateIndication>(offset);
4100 unsafe {
4103 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4104 (ptr as *mut u16).write_unaligned(0);
4105 }
4106 self.0.encode(encoder, offset + 0, depth)?;
4108 self.1.encode(encoder, offset + 6, depth)?;
4109 self.2.encode(encoder, offset + 8, depth)?;
4110 Ok(())
4111 }
4112 }
4113
4114 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4115 for DisassociateIndication
4116 {
4117 #[inline(always)]
4118 fn new_empty() -> Self {
4119 Self {
4120 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4121 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4122 locally_initiated: fidl::new_empty!(bool, D),
4123 }
4124 }
4125
4126 #[inline]
4127 unsafe fn decode(
4128 &mut self,
4129 decoder: &mut fidl::encoding::Decoder<'_, D>,
4130 offset: usize,
4131 _depth: fidl::encoding::Depth,
4132 ) -> fidl::Result<()> {
4133 decoder.debug_check_bounds::<Self>(offset);
4134 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4136 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4137 let mask = 0xff00u16;
4138 let maskedval = padval & mask;
4139 if maskedval != 0 {
4140 return Err(fidl::Error::NonZeroPadding {
4141 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4142 });
4143 }
4144 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4145 fidl::decode!(
4146 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4147 D,
4148 &mut self.reason_code,
4149 decoder,
4150 offset + 6,
4151 _depth
4152 )?;
4153 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4154 Ok(())
4155 }
4156 }
4157
4158 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4159 type Borrowed<'a> = &'a Self;
4160 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4161 value
4162 }
4163 }
4164
4165 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4166 type Owned = Self;
4167
4168 #[inline(always)]
4169 fn inline_align(_context: fidl::encoding::Context) -> usize {
4170 2
4171 }
4172
4173 #[inline(always)]
4174 fn inline_size(_context: fidl::encoding::Context) -> usize {
4175 8
4176 }
4177 }
4178
4179 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4180 for &DisassociateRequest
4181 {
4182 #[inline]
4183 unsafe fn encode(
4184 self,
4185 encoder: &mut fidl::encoding::Encoder<'_, D>,
4186 offset: usize,
4187 _depth: fidl::encoding::Depth,
4188 ) -> fidl::Result<()> {
4189 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4190 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4192 (
4193 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4194 <fidl_fuchsia_wlan_ieee80211_common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4195 ),
4196 encoder, offset, _depth
4197 )
4198 }
4199 }
4200 unsafe impl<
4201 D: fidl::encoding::ResourceDialect,
4202 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4203 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D>,
4204 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4205 {
4206 #[inline]
4207 unsafe fn encode(
4208 self,
4209 encoder: &mut fidl::encoding::Encoder<'_, D>,
4210 offset: usize,
4211 depth: fidl::encoding::Depth,
4212 ) -> fidl::Result<()> {
4213 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4214 self.0.encode(encoder, offset + 0, depth)?;
4218 self.1.encode(encoder, offset + 6, depth)?;
4219 Ok(())
4220 }
4221 }
4222
4223 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4224 #[inline(always)]
4225 fn new_empty() -> Self {
4226 Self {
4227 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4228 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ReasonCode, D),
4229 }
4230 }
4231
4232 #[inline]
4233 unsafe fn decode(
4234 &mut self,
4235 decoder: &mut fidl::encoding::Decoder<'_, D>,
4236 offset: usize,
4237 _depth: fidl::encoding::Depth,
4238 ) -> fidl::Result<()> {
4239 decoder.debug_check_bounds::<Self>(offset);
4240 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4242 fidl::decode!(
4243 fidl_fuchsia_wlan_ieee80211_common::ReasonCode,
4244 D,
4245 &mut self.reason_code,
4246 decoder,
4247 offset + 6,
4248 _depth
4249 )?;
4250 Ok(())
4251 }
4252 }
4253
4254 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4255 type Borrowed<'a> = &'a Self;
4256 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4257 value
4258 }
4259 }
4260
4261 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4262 type Owned = Self;
4263
4264 #[inline(always)]
4265 fn inline_align(_context: fidl::encoding::Context) -> usize {
4266 4
4267 }
4268
4269 #[inline(always)]
4270 fn inline_size(_context: fidl::encoding::Context) -> usize {
4271 12
4272 }
4273 }
4274
4275 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4276 for &EapolConfirm
4277 {
4278 #[inline]
4279 unsafe fn encode(
4280 self,
4281 encoder: &mut fidl::encoding::Encoder<'_, D>,
4282 offset: usize,
4283 _depth: fidl::encoding::Depth,
4284 ) -> fidl::Result<()> {
4285 encoder.debug_check_bounds::<EapolConfirm>(offset);
4286 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4288 (
4289 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4290 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4291 &self.dst_addr,
4292 ),
4293 ),
4294 encoder,
4295 offset,
4296 _depth,
4297 )
4298 }
4299 }
4300 unsafe impl<
4301 D: fidl::encoding::ResourceDialect,
4302 T0: fidl::encoding::Encode<EapolResultCode, D>,
4303 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4304 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4305 {
4306 #[inline]
4307 unsafe fn encode(
4308 self,
4309 encoder: &mut fidl::encoding::Encoder<'_, D>,
4310 offset: usize,
4311 depth: fidl::encoding::Depth,
4312 ) -> fidl::Result<()> {
4313 encoder.debug_check_bounds::<EapolConfirm>(offset);
4314 unsafe {
4317 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4318 (ptr as *mut u32).write_unaligned(0);
4319 }
4320 self.0.encode(encoder, offset + 0, depth)?;
4322 self.1.encode(encoder, offset + 4, depth)?;
4323 Ok(())
4324 }
4325 }
4326
4327 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4328 #[inline(always)]
4329 fn new_empty() -> Self {
4330 Self {
4331 result_code: fidl::new_empty!(EapolResultCode, D),
4332 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4333 }
4334 }
4335
4336 #[inline]
4337 unsafe fn decode(
4338 &mut self,
4339 decoder: &mut fidl::encoding::Decoder<'_, D>,
4340 offset: usize,
4341 _depth: fidl::encoding::Depth,
4342 ) -> fidl::Result<()> {
4343 decoder.debug_check_bounds::<Self>(offset);
4344 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4346 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4347 let mask = 0xffff0000u32;
4348 let maskedval = padval & mask;
4349 if maskedval != 0 {
4350 return Err(fidl::Error::NonZeroPadding {
4351 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4352 });
4353 }
4354 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4355 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4356 Ok(())
4357 }
4358 }
4359
4360 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4361 type Borrowed<'a> = &'a Self;
4362 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4363 value
4364 }
4365 }
4366
4367 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4368 type Owned = Self;
4369
4370 #[inline(always)]
4371 fn inline_align(_context: fidl::encoding::Context) -> usize {
4372 8
4373 }
4374
4375 #[inline(always)]
4376 fn inline_size(_context: fidl::encoding::Context) -> usize {
4377 32
4378 }
4379 }
4380
4381 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4382 for &EapolIndication
4383 {
4384 #[inline]
4385 unsafe fn encode(
4386 self,
4387 encoder: &mut fidl::encoding::Encoder<'_, D>,
4388 offset: usize,
4389 _depth: fidl::encoding::Depth,
4390 ) -> fidl::Result<()> {
4391 encoder.debug_check_bounds::<EapolIndication>(offset);
4392 fidl::encoding::Encode::<EapolIndication, D>::encode(
4394 (
4395 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4396 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4397 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4398 ),
4399 encoder, offset, _depth
4400 )
4401 }
4402 }
4403 unsafe impl<
4404 D: fidl::encoding::ResourceDialect,
4405 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4406 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4407 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4408 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4409 {
4410 #[inline]
4411 unsafe fn encode(
4412 self,
4413 encoder: &mut fidl::encoding::Encoder<'_, D>,
4414 offset: usize,
4415 depth: fidl::encoding::Depth,
4416 ) -> fidl::Result<()> {
4417 encoder.debug_check_bounds::<EapolIndication>(offset);
4418 unsafe {
4421 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4422 (ptr as *mut u64).write_unaligned(0);
4423 }
4424 self.0.encode(encoder, offset + 0, depth)?;
4426 self.1.encode(encoder, offset + 6, depth)?;
4427 self.2.encode(encoder, offset + 16, depth)?;
4428 Ok(())
4429 }
4430 }
4431
4432 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4433 #[inline(always)]
4434 fn new_empty() -> Self {
4435 Self {
4436 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4437 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4438 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4439 }
4440 }
4441
4442 #[inline]
4443 unsafe fn decode(
4444 &mut self,
4445 decoder: &mut fidl::encoding::Decoder<'_, D>,
4446 offset: usize,
4447 _depth: fidl::encoding::Depth,
4448 ) -> fidl::Result<()> {
4449 decoder.debug_check_bounds::<Self>(offset);
4450 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4452 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4453 let mask = 0xffffffff00000000u64;
4454 let maskedval = padval & mask;
4455 if maskedval != 0 {
4456 return Err(fidl::Error::NonZeroPadding {
4457 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4458 });
4459 }
4460 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4461 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4462 fidl::decode!(
4463 fidl::encoding::UnboundedVector<u8>,
4464 D,
4465 &mut self.data,
4466 decoder,
4467 offset + 16,
4468 _depth
4469 )?;
4470 Ok(())
4471 }
4472 }
4473
4474 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4475 type Borrowed<'a> = &'a Self;
4476 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4477 value
4478 }
4479 }
4480
4481 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4482 type Owned = Self;
4483
4484 #[inline(always)]
4485 fn inline_align(_context: fidl::encoding::Context) -> usize {
4486 8
4487 }
4488
4489 #[inline(always)]
4490 fn inline_size(_context: fidl::encoding::Context) -> usize {
4491 32
4492 }
4493 }
4494
4495 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4496 for &EapolRequest
4497 {
4498 #[inline]
4499 unsafe fn encode(
4500 self,
4501 encoder: &mut fidl::encoding::Encoder<'_, D>,
4502 offset: usize,
4503 _depth: fidl::encoding::Depth,
4504 ) -> fidl::Result<()> {
4505 encoder.debug_check_bounds::<EapolRequest>(offset);
4506 fidl::encoding::Encode::<EapolRequest, D>::encode(
4508 (
4509 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4510 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4511 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4512 ),
4513 encoder, offset, _depth
4514 )
4515 }
4516 }
4517 unsafe impl<
4518 D: fidl::encoding::ResourceDialect,
4519 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4520 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4521 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4522 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4523 {
4524 #[inline]
4525 unsafe fn encode(
4526 self,
4527 encoder: &mut fidl::encoding::Encoder<'_, D>,
4528 offset: usize,
4529 depth: fidl::encoding::Depth,
4530 ) -> fidl::Result<()> {
4531 encoder.debug_check_bounds::<EapolRequest>(offset);
4532 unsafe {
4535 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4536 (ptr as *mut u64).write_unaligned(0);
4537 }
4538 self.0.encode(encoder, offset + 0, depth)?;
4540 self.1.encode(encoder, offset + 6, depth)?;
4541 self.2.encode(encoder, offset + 16, depth)?;
4542 Ok(())
4543 }
4544 }
4545
4546 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4547 #[inline(always)]
4548 fn new_empty() -> Self {
4549 Self {
4550 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4551 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4552 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4553 }
4554 }
4555
4556 #[inline]
4557 unsafe fn decode(
4558 &mut self,
4559 decoder: &mut fidl::encoding::Decoder<'_, D>,
4560 offset: usize,
4561 _depth: fidl::encoding::Depth,
4562 ) -> fidl::Result<()> {
4563 decoder.debug_check_bounds::<Self>(offset);
4564 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4566 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4567 let mask = 0xffffffff00000000u64;
4568 let maskedval = padval & mask;
4569 if maskedval != 0 {
4570 return Err(fidl::Error::NonZeroPadding {
4571 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4572 });
4573 }
4574 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4575 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4576 fidl::decode!(
4577 fidl::encoding::UnboundedVector<u8>,
4578 D,
4579 &mut self.data,
4580 decoder,
4581 offset + 16,
4582 _depth
4583 )?;
4584 Ok(())
4585 }
4586 }
4587
4588 impl fidl::encoding::ValueTypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4589 type Borrowed<'a> = &'a Self;
4590 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4591 value
4592 }
4593 }
4594
4595 unsafe impl fidl::encoding::TypeMarker for MlmeGetApfPacketFilterEnabledResponse {
4596 type Owned = Self;
4597
4598 #[inline(always)]
4599 fn inline_align(_context: fidl::encoding::Context) -> usize {
4600 1
4601 }
4602
4603 #[inline(always)]
4604 fn inline_size(_context: fidl::encoding::Context) -> usize {
4605 1
4606 }
4607 }
4608
4609 unsafe impl<D: fidl::encoding::ResourceDialect>
4610 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D>
4611 for &MlmeGetApfPacketFilterEnabledResponse
4612 {
4613 #[inline]
4614 unsafe fn encode(
4615 self,
4616 encoder: &mut fidl::encoding::Encoder<'_, D>,
4617 offset: usize,
4618 _depth: fidl::encoding::Depth,
4619 ) -> fidl::Result<()> {
4620 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4621 fidl::encoding::Encode::<MlmeGetApfPacketFilterEnabledResponse, D>::encode(
4623 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
4624 encoder,
4625 offset,
4626 _depth,
4627 )
4628 }
4629 }
4630 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
4631 fidl::encoding::Encode<MlmeGetApfPacketFilterEnabledResponse, D> for (T0,)
4632 {
4633 #[inline]
4634 unsafe fn encode(
4635 self,
4636 encoder: &mut fidl::encoding::Encoder<'_, D>,
4637 offset: usize,
4638 depth: fidl::encoding::Depth,
4639 ) -> fidl::Result<()> {
4640 encoder.debug_check_bounds::<MlmeGetApfPacketFilterEnabledResponse>(offset);
4641 self.0.encode(encoder, offset + 0, depth)?;
4645 Ok(())
4646 }
4647 }
4648
4649 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4650 for MlmeGetApfPacketFilterEnabledResponse
4651 {
4652 #[inline(always)]
4653 fn new_empty() -> Self {
4654 Self { enabled: fidl::new_empty!(bool, D) }
4655 }
4656
4657 #[inline]
4658 unsafe fn decode(
4659 &mut self,
4660 decoder: &mut fidl::encoding::Decoder<'_, D>,
4661 offset: usize,
4662 _depth: fidl::encoding::Depth,
4663 ) -> fidl::Result<()> {
4664 decoder.debug_check_bounds::<Self>(offset);
4665 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
4667 Ok(())
4668 }
4669 }
4670
4671 impl fidl::encoding::ValueTypeMarker for MlmeGetScheduledScanEnabledResponse {
4672 type Borrowed<'a> = &'a Self;
4673 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4674 value
4675 }
4676 }
4677
4678 unsafe impl fidl::encoding::TypeMarker for MlmeGetScheduledScanEnabledResponse {
4679 type Owned = Self;
4680
4681 #[inline(always)]
4682 fn inline_align(_context: fidl::encoding::Context) -> usize {
4683 8
4684 }
4685
4686 #[inline(always)]
4687 fn inline_size(_context: fidl::encoding::Context) -> usize {
4688 16
4689 }
4690 }
4691
4692 unsafe impl<D: fidl::encoding::ResourceDialect>
4693 fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D>
4694 for &MlmeGetScheduledScanEnabledResponse
4695 {
4696 #[inline]
4697 unsafe fn encode(
4698 self,
4699 encoder: &mut fidl::encoding::Encoder<'_, D>,
4700 offset: usize,
4701 _depth: fidl::encoding::Depth,
4702 ) -> fidl::Result<()> {
4703 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4704 fidl::encoding::Encode::<MlmeGetScheduledScanEnabledResponse, D>::encode(
4706 (
4707 <fidl::encoding::UnboundedVector<u64> as fidl::encoding::ValueTypeMarker>::borrow(&self.active_txn_ids),
4708 ),
4709 encoder, offset, _depth
4710 )
4711 }
4712 }
4713 unsafe impl<
4714 D: fidl::encoding::ResourceDialect,
4715 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u64>, D>,
4716 > fidl::encoding::Encode<MlmeGetScheduledScanEnabledResponse, D> for (T0,)
4717 {
4718 #[inline]
4719 unsafe fn encode(
4720 self,
4721 encoder: &mut fidl::encoding::Encoder<'_, D>,
4722 offset: usize,
4723 depth: fidl::encoding::Depth,
4724 ) -> fidl::Result<()> {
4725 encoder.debug_check_bounds::<MlmeGetScheduledScanEnabledResponse>(offset);
4726 self.0.encode(encoder, offset + 0, depth)?;
4730 Ok(())
4731 }
4732 }
4733
4734 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4735 for MlmeGetScheduledScanEnabledResponse
4736 {
4737 #[inline(always)]
4738 fn new_empty() -> Self {
4739 Self { active_txn_ids: fidl::new_empty!(fidl::encoding::UnboundedVector<u64>, D) }
4740 }
4741
4742 #[inline]
4743 unsafe fn decode(
4744 &mut self,
4745 decoder: &mut fidl::encoding::Decoder<'_, D>,
4746 offset: usize,
4747 _depth: fidl::encoding::Depth,
4748 ) -> fidl::Result<()> {
4749 decoder.debug_check_bounds::<Self>(offset);
4750 fidl::decode!(
4752 fidl::encoding::UnboundedVector<u64>,
4753 D,
4754 &mut self.active_txn_ids,
4755 decoder,
4756 offset + 0,
4757 _depth
4758 )?;
4759 Ok(())
4760 }
4761 }
4762
4763 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4764 type Borrowed<'a> = &'a Self;
4765 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4766 value
4767 }
4768 }
4769
4770 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4771 type Owned = Self;
4772
4773 #[inline(always)]
4774 fn inline_align(_context: fidl::encoding::Context) -> usize {
4775 8
4776 }
4777
4778 #[inline(always)]
4779 fn inline_size(_context: fidl::encoding::Context) -> usize {
4780 16
4781 }
4782 }
4783
4784 unsafe impl<D: fidl::encoding::ResourceDialect>
4785 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4786 {
4787 #[inline]
4788 unsafe fn encode(
4789 self,
4790 encoder: &mut fidl::encoding::Encoder<'_, D>,
4791 offset: usize,
4792 _depth: fidl::encoding::Depth,
4793 ) -> fidl::Result<()> {
4794 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4795 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4797 (
4798 <fidl_fuchsia_wlan_stats_common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4799 ),
4800 encoder, offset, _depth
4801 )
4802 }
4803 }
4804 unsafe impl<
4805 D: fidl::encoding::ResourceDialect,
4806 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::SignalReport, D>,
4807 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4808 {
4809 #[inline]
4810 unsafe fn encode(
4811 self,
4812 encoder: &mut fidl::encoding::Encoder<'_, D>,
4813 offset: usize,
4814 depth: fidl::encoding::Depth,
4815 ) -> fidl::Result<()> {
4816 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4817 self.0.encode(encoder, offset + 0, depth)?;
4821 Ok(())
4822 }
4823 }
4824
4825 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4826 for MlmeGetSignalReportResponse
4827 {
4828 #[inline(always)]
4829 fn new_empty() -> Self {
4830 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::SignalReport, D) }
4831 }
4832
4833 #[inline]
4834 unsafe fn decode(
4835 &mut self,
4836 decoder: &mut fidl::encoding::Decoder<'_, D>,
4837 offset: usize,
4838 _depth: fidl::encoding::Depth,
4839 ) -> fidl::Result<()> {
4840 decoder.debug_check_bounds::<Self>(offset);
4841 fidl::decode!(
4843 fidl_fuchsia_wlan_stats_common::SignalReport,
4844 D,
4845 &mut self.resp,
4846 decoder,
4847 offset + 0,
4848 _depth
4849 )?;
4850 Ok(())
4851 }
4852 }
4853
4854 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4855 type Borrowed<'a> = &'a Self;
4856 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4857 value
4858 }
4859 }
4860
4861 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4862 type Owned = Self;
4863
4864 #[inline(always)]
4865 fn inline_align(_context: fidl::encoding::Context) -> usize {
4866 8
4867 }
4868
4869 #[inline(always)]
4870 fn inline_size(_context: fidl::encoding::Context) -> usize {
4871 16
4872 }
4873 }
4874
4875 unsafe impl<D: fidl::encoding::ResourceDialect>
4876 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4877 for &MlmeQueryTelemetrySupportResponse
4878 {
4879 #[inline]
4880 unsafe fn encode(
4881 self,
4882 encoder: &mut fidl::encoding::Encoder<'_, D>,
4883 offset: usize,
4884 _depth: fidl::encoding::Depth,
4885 ) -> fidl::Result<()> {
4886 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4887 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4889 (
4890 <fidl_fuchsia_wlan_stats_common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4891 ),
4892 encoder, offset, _depth
4893 )
4894 }
4895 }
4896 unsafe impl<
4897 D: fidl::encoding::ResourceDialect,
4898 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats_common::TelemetrySupport, D>,
4899 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4900 {
4901 #[inline]
4902 unsafe fn encode(
4903 self,
4904 encoder: &mut fidl::encoding::Encoder<'_, D>,
4905 offset: usize,
4906 depth: fidl::encoding::Depth,
4907 ) -> fidl::Result<()> {
4908 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4909 self.0.encode(encoder, offset + 0, depth)?;
4913 Ok(())
4914 }
4915 }
4916
4917 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4918 for MlmeQueryTelemetrySupportResponse
4919 {
4920 #[inline(always)]
4921 fn new_empty() -> Self {
4922 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats_common::TelemetrySupport, D) }
4923 }
4924
4925 #[inline]
4926 unsafe fn decode(
4927 &mut self,
4928 decoder: &mut fidl::encoding::Decoder<'_, D>,
4929 offset: usize,
4930 _depth: fidl::encoding::Depth,
4931 ) -> fidl::Result<()> {
4932 decoder.debug_check_bounds::<Self>(offset);
4933 fidl::decode!(
4935 fidl_fuchsia_wlan_stats_common::TelemetrySupport,
4936 D,
4937 &mut self.resp,
4938 decoder,
4939 offset + 0,
4940 _depth
4941 )?;
4942 Ok(())
4943 }
4944 }
4945
4946 impl fidl::encoding::ValueTypeMarker for MlmeReadApfPacketFilterDataResponse {
4947 type Borrowed<'a> = &'a Self;
4948 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4949 value
4950 }
4951 }
4952
4953 unsafe impl fidl::encoding::TypeMarker for MlmeReadApfPacketFilterDataResponse {
4954 type Owned = Self;
4955
4956 #[inline(always)]
4957 fn inline_align(_context: fidl::encoding::Context) -> usize {
4958 8
4959 }
4960
4961 #[inline(always)]
4962 fn inline_size(_context: fidl::encoding::Context) -> usize {
4963 16
4964 }
4965 }
4966
4967 unsafe impl<D: fidl::encoding::ResourceDialect>
4968 fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D>
4969 for &MlmeReadApfPacketFilterDataResponse
4970 {
4971 #[inline]
4972 unsafe fn encode(
4973 self,
4974 encoder: &mut fidl::encoding::Encoder<'_, D>,
4975 offset: usize,
4976 _depth: fidl::encoding::Depth,
4977 ) -> fidl::Result<()> {
4978 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
4979 fidl::encoding::Encode::<MlmeReadApfPacketFilterDataResponse, D>::encode(
4981 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
4982 &self.memory,
4983 ),),
4984 encoder,
4985 offset,
4986 _depth,
4987 )
4988 }
4989 }
4990 unsafe impl<
4991 D: fidl::encoding::ResourceDialect,
4992 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4993 > fidl::encoding::Encode<MlmeReadApfPacketFilterDataResponse, D> for (T0,)
4994 {
4995 #[inline]
4996 unsafe fn encode(
4997 self,
4998 encoder: &mut fidl::encoding::Encoder<'_, D>,
4999 offset: usize,
5000 depth: fidl::encoding::Depth,
5001 ) -> fidl::Result<()> {
5002 encoder.debug_check_bounds::<MlmeReadApfPacketFilterDataResponse>(offset);
5003 self.0.encode(encoder, offset + 0, depth)?;
5007 Ok(())
5008 }
5009 }
5010
5011 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5012 for MlmeReadApfPacketFilterDataResponse
5013 {
5014 #[inline(always)]
5015 fn new_empty() -> Self {
5016 Self { memory: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
5017 }
5018
5019 #[inline]
5020 unsafe fn decode(
5021 &mut self,
5022 decoder: &mut fidl::encoding::Decoder<'_, D>,
5023 offset: usize,
5024 _depth: fidl::encoding::Depth,
5025 ) -> fidl::Result<()> {
5026 decoder.debug_check_bounds::<Self>(offset);
5027 fidl::decode!(
5029 fidl::encoding::UnboundedVector<u8>,
5030 D,
5031 &mut self.memory,
5032 decoder,
5033 offset + 0,
5034 _depth
5035 )?;
5036 Ok(())
5037 }
5038 }
5039
5040 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
5041 type Borrowed<'a> = &'a Self;
5042 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5043 value
5044 }
5045 }
5046
5047 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
5048 type Owned = Self;
5049
5050 #[inline(always)]
5051 fn inline_align(_context: fidl::encoding::Context) -> usize {
5052 8
5053 }
5054
5055 #[inline(always)]
5056 fn inline_size(_context: fidl::encoding::Context) -> usize {
5057 16
5058 }
5059 }
5060
5061 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
5062 for &MinstrelListResponse
5063 {
5064 #[inline]
5065 unsafe fn encode(
5066 self,
5067 encoder: &mut fidl::encoding::Encoder<'_, D>,
5068 offset: usize,
5069 _depth: fidl::encoding::Depth,
5070 ) -> fidl::Result<()> {
5071 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5072 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
5074 (
5075 <fidl_fuchsia_wlan_minstrel_common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
5076 ),
5077 encoder, offset, _depth
5078 )
5079 }
5080 }
5081 unsafe impl<
5082 D: fidl::encoding::ResourceDialect,
5083 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel_common::Peers, D>,
5084 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
5085 {
5086 #[inline]
5087 unsafe fn encode(
5088 self,
5089 encoder: &mut fidl::encoding::Encoder<'_, D>,
5090 offset: usize,
5091 depth: fidl::encoding::Depth,
5092 ) -> fidl::Result<()> {
5093 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
5094 self.0.encode(encoder, offset + 0, depth)?;
5098 Ok(())
5099 }
5100 }
5101
5102 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
5103 #[inline(always)]
5104 fn new_empty() -> Self {
5105 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel_common::Peers, D) }
5106 }
5107
5108 #[inline]
5109 unsafe fn decode(
5110 &mut self,
5111 decoder: &mut fidl::encoding::Decoder<'_, D>,
5112 offset: usize,
5113 _depth: fidl::encoding::Depth,
5114 ) -> fidl::Result<()> {
5115 decoder.debug_check_bounds::<Self>(offset);
5116 fidl::decode!(
5118 fidl_fuchsia_wlan_minstrel_common::Peers,
5119 D,
5120 &mut self.peers,
5121 decoder,
5122 offset + 0,
5123 _depth
5124 )?;
5125 Ok(())
5126 }
5127 }
5128
5129 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
5130 type Borrowed<'a> = &'a Self;
5131 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5132 value
5133 }
5134 }
5135
5136 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
5137 type Owned = Self;
5138
5139 #[inline(always)]
5140 fn inline_align(_context: fidl::encoding::Context) -> usize {
5141 1
5142 }
5143
5144 #[inline(always)]
5145 fn inline_size(_context: fidl::encoding::Context) -> usize {
5146 6
5147 }
5148 #[inline(always)]
5149 fn encode_is_copy() -> bool {
5150 true
5151 }
5152
5153 #[inline(always)]
5154 fn decode_is_copy() -> bool {
5155 true
5156 }
5157 }
5158
5159 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
5160 for &MinstrelStatsRequest
5161 {
5162 #[inline]
5163 unsafe fn encode(
5164 self,
5165 encoder: &mut fidl::encoding::Encoder<'_, D>,
5166 offset: usize,
5167 _depth: fidl::encoding::Depth,
5168 ) -> fidl::Result<()> {
5169 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5170 unsafe {
5171 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5173 (buf_ptr as *mut MinstrelStatsRequest)
5174 .write_unaligned((self as *const MinstrelStatsRequest).read());
5175 }
5178 Ok(())
5179 }
5180 }
5181 unsafe impl<
5182 D: fidl::encoding::ResourceDialect,
5183 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
5184 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
5185 {
5186 #[inline]
5187 unsafe fn encode(
5188 self,
5189 encoder: &mut fidl::encoding::Encoder<'_, D>,
5190 offset: usize,
5191 depth: fidl::encoding::Depth,
5192 ) -> fidl::Result<()> {
5193 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
5194 self.0.encode(encoder, offset + 0, depth)?;
5198 Ok(())
5199 }
5200 }
5201
5202 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
5203 #[inline(always)]
5204 fn new_empty() -> Self {
5205 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
5206 }
5207
5208 #[inline]
5209 unsafe fn decode(
5210 &mut self,
5211 decoder: &mut fidl::encoding::Decoder<'_, D>,
5212 offset: usize,
5213 _depth: fidl::encoding::Depth,
5214 ) -> fidl::Result<()> {
5215 decoder.debug_check_bounds::<Self>(offset);
5216 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5217 unsafe {
5220 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5221 }
5222 Ok(())
5223 }
5224 }
5225
5226 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
5227 type Borrowed<'a> = &'a Self;
5228 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5229 value
5230 }
5231 }
5232
5233 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
5234 type Owned = Self;
5235
5236 #[inline(always)]
5237 fn inline_align(_context: fidl::encoding::Context) -> usize {
5238 8
5239 }
5240
5241 #[inline(always)]
5242 fn inline_size(_context: fidl::encoding::Context) -> usize {
5243 8
5244 }
5245 }
5246
5247 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
5248 for &MinstrelStatsResponse
5249 {
5250 #[inline]
5251 unsafe fn encode(
5252 self,
5253 encoder: &mut fidl::encoding::Encoder<'_, D>,
5254 offset: usize,
5255 _depth: fidl::encoding::Depth,
5256 ) -> fidl::Result<()> {
5257 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5258 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
5260 (
5261 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
5262 ),
5263 encoder, offset, _depth
5264 )
5265 }
5266 }
5267 unsafe impl<
5268 D: fidl::encoding::ResourceDialect,
5269 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>, D>,
5270 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
5271 {
5272 #[inline]
5273 unsafe fn encode(
5274 self,
5275 encoder: &mut fidl::encoding::Encoder<'_, D>,
5276 offset: usize,
5277 depth: fidl::encoding::Depth,
5278 ) -> fidl::Result<()> {
5279 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
5280 self.0.encode(encoder, offset + 0, depth)?;
5284 Ok(())
5285 }
5286 }
5287
5288 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
5289 #[inline(always)]
5290 fn new_empty() -> Self {
5291 Self {
5292 peer: fidl::new_empty!(
5293 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5294 D
5295 ),
5296 }
5297 }
5298
5299 #[inline]
5300 unsafe fn decode(
5301 &mut self,
5302 decoder: &mut fidl::encoding::Decoder<'_, D>,
5303 offset: usize,
5304 _depth: fidl::encoding::Depth,
5305 ) -> fidl::Result<()> {
5306 decoder.debug_check_bounds::<Self>(offset);
5307 fidl::decode!(
5309 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel_common::Peer>,
5310 D,
5311 &mut self.peer,
5312 decoder,
5313 offset + 0,
5314 _depth
5315 )?;
5316 Ok(())
5317 }
5318 }
5319
5320 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
5321 type Borrowed<'a> = &'a Self;
5322 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5323 value
5324 }
5325 }
5326
5327 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
5328 type Owned = Self;
5329
5330 #[inline(always)]
5331 fn inline_align(_context: fidl::encoding::Context) -> usize {
5332 8
5333 }
5334
5335 #[inline(always)]
5336 fn inline_size(_context: fidl::encoding::Context) -> usize {
5337 64
5338 }
5339 }
5340
5341 unsafe impl<D: fidl::encoding::ResourceDialect>
5342 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
5343 {
5344 #[inline]
5345 unsafe fn encode(
5346 self,
5347 encoder: &mut fidl::encoding::Encoder<'_, D>,
5348 offset: usize,
5349 _depth: fidl::encoding::Depth,
5350 ) -> fidl::Result<()> {
5351 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5352 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
5354 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5355 encoder,
5356 offset,
5357 _depth,
5358 )
5359 }
5360 }
5361 unsafe impl<
5362 D: fidl::encoding::ResourceDialect,
5363 T0: fidl::encoding::Encode<AssociateIndication, D>,
5364 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
5365 {
5366 #[inline]
5367 unsafe fn encode(
5368 self,
5369 encoder: &mut fidl::encoding::Encoder<'_, D>,
5370 offset: usize,
5371 depth: fidl::encoding::Depth,
5372 ) -> fidl::Result<()> {
5373 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
5374 self.0.encode(encoder, offset + 0, depth)?;
5378 Ok(())
5379 }
5380 }
5381
5382 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5383 for MlmeAssociateIndRequest
5384 {
5385 #[inline(always)]
5386 fn new_empty() -> Self {
5387 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5388 }
5389
5390 #[inline]
5391 unsafe fn decode(
5392 &mut self,
5393 decoder: &mut fidl::encoding::Decoder<'_, D>,
5394 offset: usize,
5395 _depth: fidl::encoding::Depth,
5396 ) -> fidl::Result<()> {
5397 decoder.debug_check_bounds::<Self>(offset);
5398 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5400 Ok(())
5401 }
5402 }
5403
5404 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5405 type Borrowed<'a> = &'a Self;
5406 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5407 value
5408 }
5409 }
5410
5411 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5412 type Owned = Self;
5413
5414 #[inline(always)]
5415 fn inline_align(_context: fidl::encoding::Context) -> usize {
5416 8
5417 }
5418
5419 #[inline(always)]
5420 fn inline_size(_context: fidl::encoding::Context) -> usize {
5421 32
5422 }
5423 }
5424
5425 unsafe impl<D: fidl::encoding::ResourceDialect>
5426 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5427 {
5428 #[inline]
5429 unsafe fn encode(
5430 self,
5431 encoder: &mut fidl::encoding::Encoder<'_, D>,
5432 offset: usize,
5433 _depth: fidl::encoding::Depth,
5434 ) -> fidl::Result<()> {
5435 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5436 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5438 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5439 encoder,
5440 offset,
5441 _depth,
5442 )
5443 }
5444 }
5445 unsafe impl<
5446 D: fidl::encoding::ResourceDialect,
5447 T0: fidl::encoding::Encode<AssociateResponse, D>,
5448 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5449 {
5450 #[inline]
5451 unsafe fn encode(
5452 self,
5453 encoder: &mut fidl::encoding::Encoder<'_, D>,
5454 offset: usize,
5455 depth: fidl::encoding::Depth,
5456 ) -> fidl::Result<()> {
5457 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5458 self.0.encode(encoder, offset + 0, depth)?;
5462 Ok(())
5463 }
5464 }
5465
5466 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5467 for MlmeAssociateRespRequest
5468 {
5469 #[inline(always)]
5470 fn new_empty() -> Self {
5471 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5472 }
5473
5474 #[inline]
5475 unsafe fn decode(
5476 &mut self,
5477 decoder: &mut fidl::encoding::Decoder<'_, D>,
5478 offset: usize,
5479 _depth: fidl::encoding::Depth,
5480 ) -> fidl::Result<()> {
5481 decoder.debug_check_bounds::<Self>(offset);
5482 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5484 Ok(())
5485 }
5486 }
5487
5488 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5489 type Borrowed<'a> = &'a Self;
5490 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5491 value
5492 }
5493 }
5494
5495 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5496 type Owned = Self;
5497
5498 #[inline(always)]
5499 fn inline_align(_context: fidl::encoding::Context) -> usize {
5500 4
5501 }
5502
5503 #[inline(always)]
5504 fn inline_size(_context: fidl::encoding::Context) -> usize {
5505 12
5506 }
5507 }
5508
5509 unsafe impl<D: fidl::encoding::ResourceDialect>
5510 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5511 {
5512 #[inline]
5513 unsafe fn encode(
5514 self,
5515 encoder: &mut fidl::encoding::Encoder<'_, D>,
5516 offset: usize,
5517 _depth: fidl::encoding::Depth,
5518 ) -> fidl::Result<()> {
5519 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5520 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5522 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5523 encoder,
5524 offset,
5525 _depth,
5526 )
5527 }
5528 }
5529 unsafe impl<
5530 D: fidl::encoding::ResourceDialect,
5531 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5532 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5533 {
5534 #[inline]
5535 unsafe fn encode(
5536 self,
5537 encoder: &mut fidl::encoding::Encoder<'_, D>,
5538 offset: usize,
5539 depth: fidl::encoding::Depth,
5540 ) -> fidl::Result<()> {
5541 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5542 self.0.encode(encoder, offset + 0, depth)?;
5546 Ok(())
5547 }
5548 }
5549
5550 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5551 for MlmeAuthenticateIndRequest
5552 {
5553 #[inline(always)]
5554 fn new_empty() -> Self {
5555 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5556 }
5557
5558 #[inline]
5559 unsafe fn decode(
5560 &mut self,
5561 decoder: &mut fidl::encoding::Decoder<'_, D>,
5562 offset: usize,
5563 _depth: fidl::encoding::Depth,
5564 ) -> fidl::Result<()> {
5565 decoder.debug_check_bounds::<Self>(offset);
5566 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5568 Ok(())
5569 }
5570 }
5571
5572 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5573 type Borrowed<'a> = &'a Self;
5574 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5575 value
5576 }
5577 }
5578
5579 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5580 type Owned = Self;
5581
5582 #[inline(always)]
5583 fn inline_align(_context: fidl::encoding::Context) -> usize {
5584 4
5585 }
5586
5587 #[inline(always)]
5588 fn inline_size(_context: fidl::encoding::Context) -> usize {
5589 12
5590 }
5591 }
5592
5593 unsafe impl<D: fidl::encoding::ResourceDialect>
5594 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5595 {
5596 #[inline]
5597 unsafe fn encode(
5598 self,
5599 encoder: &mut fidl::encoding::Encoder<'_, D>,
5600 offset: usize,
5601 _depth: fidl::encoding::Depth,
5602 ) -> fidl::Result<()> {
5603 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5604 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5606 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5607 encoder,
5608 offset,
5609 _depth,
5610 )
5611 }
5612 }
5613 unsafe impl<
5614 D: fidl::encoding::ResourceDialect,
5615 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5616 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5617 {
5618 #[inline]
5619 unsafe fn encode(
5620 self,
5621 encoder: &mut fidl::encoding::Encoder<'_, D>,
5622 offset: usize,
5623 depth: fidl::encoding::Depth,
5624 ) -> fidl::Result<()> {
5625 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5626 self.0.encode(encoder, offset + 0, depth)?;
5630 Ok(())
5631 }
5632 }
5633
5634 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5635 for MlmeAuthenticateRespRequest
5636 {
5637 #[inline(always)]
5638 fn new_empty() -> Self {
5639 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5640 }
5641
5642 #[inline]
5643 unsafe fn decode(
5644 &mut self,
5645 decoder: &mut fidl::encoding::Decoder<'_, D>,
5646 offset: usize,
5647 _depth: fidl::encoding::Depth,
5648 ) -> fidl::Result<()> {
5649 decoder.debug_check_bounds::<Self>(offset);
5650 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5652 Ok(())
5653 }
5654 }
5655
5656 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5657 type Borrowed<'a> = &'a Self;
5658 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5659 value
5660 }
5661 }
5662
5663 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5664 type Owned = Self;
5665
5666 #[inline(always)]
5667 fn inline_align(_context: fidl::encoding::Context) -> usize {
5668 8
5669 }
5670
5671 #[inline(always)]
5672 fn inline_size(_context: fidl::encoding::Context) -> usize {
5673 32
5674 }
5675 }
5676
5677 unsafe impl<D: fidl::encoding::ResourceDialect>
5678 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5679 {
5680 #[inline]
5681 unsafe fn encode(
5682 self,
5683 encoder: &mut fidl::encoding::Encoder<'_, D>,
5684 offset: usize,
5685 _depth: fidl::encoding::Depth,
5686 ) -> fidl::Result<()> {
5687 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5688 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5690 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5691 encoder,
5692 offset,
5693 _depth,
5694 )
5695 }
5696 }
5697 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5698 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5699 {
5700 #[inline]
5701 unsafe fn encode(
5702 self,
5703 encoder: &mut fidl::encoding::Encoder<'_, D>,
5704 offset: usize,
5705 depth: fidl::encoding::Depth,
5706 ) -> fidl::Result<()> {
5707 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5708 self.0.encode(encoder, offset + 0, depth)?;
5712 Ok(())
5713 }
5714 }
5715
5716 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5717 for MlmeConnectConfRequest
5718 {
5719 #[inline(always)]
5720 fn new_empty() -> Self {
5721 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5722 }
5723
5724 #[inline]
5725 unsafe fn decode(
5726 &mut self,
5727 decoder: &mut fidl::encoding::Decoder<'_, D>,
5728 offset: usize,
5729 _depth: fidl::encoding::Depth,
5730 ) -> fidl::Result<()> {
5731 decoder.debug_check_bounds::<Self>(offset);
5732 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5734 Ok(())
5735 }
5736 }
5737
5738 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5739 type Borrowed<'a> = &'a Self;
5740 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5741 value
5742 }
5743 }
5744
5745 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5746 type Owned = Self;
5747
5748 #[inline(always)]
5749 fn inline_align(_context: fidl::encoding::Context) -> usize {
5750 8
5751 }
5752
5753 #[inline(always)]
5754 fn inline_size(_context: fidl::encoding::Context) -> usize {
5755 104
5756 }
5757 }
5758
5759 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5760 for &MlmeConnectReqRequest
5761 {
5762 #[inline]
5763 unsafe fn encode(
5764 self,
5765 encoder: &mut fidl::encoding::Encoder<'_, D>,
5766 offset: usize,
5767 _depth: fidl::encoding::Depth,
5768 ) -> fidl::Result<()> {
5769 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5770 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5772 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5773 encoder,
5774 offset,
5775 _depth,
5776 )
5777 }
5778 }
5779 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5780 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5781 {
5782 #[inline]
5783 unsafe fn encode(
5784 self,
5785 encoder: &mut fidl::encoding::Encoder<'_, D>,
5786 offset: usize,
5787 depth: fidl::encoding::Depth,
5788 ) -> fidl::Result<()> {
5789 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5790 self.0.encode(encoder, offset + 0, depth)?;
5794 Ok(())
5795 }
5796 }
5797
5798 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5799 #[inline(always)]
5800 fn new_empty() -> Self {
5801 Self { req: fidl::new_empty!(ConnectRequest, D) }
5802 }
5803
5804 #[inline]
5805 unsafe fn decode(
5806 &mut self,
5807 decoder: &mut fidl::encoding::Decoder<'_, D>,
5808 offset: usize,
5809 _depth: fidl::encoding::Depth,
5810 ) -> fidl::Result<()> {
5811 decoder.debug_check_bounds::<Self>(offset);
5812 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5814 Ok(())
5815 }
5816 }
5817
5818 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5819 type Borrowed<'a> = &'a Self;
5820 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5821 value
5822 }
5823 }
5824
5825 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5826 type Owned = Self;
5827
5828 #[inline(always)]
5829 fn inline_align(_context: fidl::encoding::Context) -> usize {
5830 1
5831 }
5832
5833 #[inline(always)]
5834 fn inline_size(_context: fidl::encoding::Context) -> usize {
5835 6
5836 }
5837 #[inline(always)]
5838 fn encode_is_copy() -> bool {
5839 true
5840 }
5841
5842 #[inline(always)]
5843 fn decode_is_copy() -> bool {
5844 true
5845 }
5846 }
5847
5848 unsafe impl<D: fidl::encoding::ResourceDialect>
5849 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5850 for &MlmeDeauthenticateConfRequest
5851 {
5852 #[inline]
5853 unsafe fn encode(
5854 self,
5855 encoder: &mut fidl::encoding::Encoder<'_, D>,
5856 offset: usize,
5857 _depth: fidl::encoding::Depth,
5858 ) -> fidl::Result<()> {
5859 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5860 unsafe {
5861 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5863 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5864 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5865 }
5868 Ok(())
5869 }
5870 }
5871 unsafe impl<
5872 D: fidl::encoding::ResourceDialect,
5873 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5874 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5875 {
5876 #[inline]
5877 unsafe fn encode(
5878 self,
5879 encoder: &mut fidl::encoding::Encoder<'_, D>,
5880 offset: usize,
5881 depth: fidl::encoding::Depth,
5882 ) -> fidl::Result<()> {
5883 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5884 self.0.encode(encoder, offset + 0, depth)?;
5888 Ok(())
5889 }
5890 }
5891
5892 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5893 for MlmeDeauthenticateConfRequest
5894 {
5895 #[inline(always)]
5896 fn new_empty() -> Self {
5897 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5898 }
5899
5900 #[inline]
5901 unsafe fn decode(
5902 &mut self,
5903 decoder: &mut fidl::encoding::Decoder<'_, D>,
5904 offset: usize,
5905 _depth: fidl::encoding::Depth,
5906 ) -> fidl::Result<()> {
5907 decoder.debug_check_bounds::<Self>(offset);
5908 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5909 unsafe {
5912 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5913 }
5914 Ok(())
5915 }
5916 }
5917
5918 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5919 type Borrowed<'a> = &'a Self;
5920 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5921 value
5922 }
5923 }
5924
5925 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5926 type Owned = Self;
5927
5928 #[inline(always)]
5929 fn inline_align(_context: fidl::encoding::Context) -> usize {
5930 2
5931 }
5932
5933 #[inline(always)]
5934 fn inline_size(_context: fidl::encoding::Context) -> usize {
5935 10
5936 }
5937 }
5938
5939 unsafe impl<D: fidl::encoding::ResourceDialect>
5940 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5941 {
5942 #[inline]
5943 unsafe fn encode(
5944 self,
5945 encoder: &mut fidl::encoding::Encoder<'_, D>,
5946 offset: usize,
5947 _depth: fidl::encoding::Depth,
5948 ) -> fidl::Result<()> {
5949 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5950 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5952 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5953 encoder,
5954 offset,
5955 _depth,
5956 )
5957 }
5958 }
5959 unsafe impl<
5960 D: fidl::encoding::ResourceDialect,
5961 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5962 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5963 {
5964 #[inline]
5965 unsafe fn encode(
5966 self,
5967 encoder: &mut fidl::encoding::Encoder<'_, D>,
5968 offset: usize,
5969 depth: fidl::encoding::Depth,
5970 ) -> fidl::Result<()> {
5971 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5972 self.0.encode(encoder, offset + 0, depth)?;
5976 Ok(())
5977 }
5978 }
5979
5980 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5981 for MlmeDeauthenticateIndRequest
5982 {
5983 #[inline(always)]
5984 fn new_empty() -> Self {
5985 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5986 }
5987
5988 #[inline]
5989 unsafe fn decode(
5990 &mut self,
5991 decoder: &mut fidl::encoding::Decoder<'_, D>,
5992 offset: usize,
5993 _depth: fidl::encoding::Depth,
5994 ) -> fidl::Result<()> {
5995 decoder.debug_check_bounds::<Self>(offset);
5996 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5998 Ok(())
5999 }
6000 }
6001
6002 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
6003 type Borrowed<'a> = &'a Self;
6004 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6005 value
6006 }
6007 }
6008
6009 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
6010 type Owned = Self;
6011
6012 #[inline(always)]
6013 fn inline_align(_context: fidl::encoding::Context) -> usize {
6014 2
6015 }
6016
6017 #[inline(always)]
6018 fn inline_size(_context: fidl::encoding::Context) -> usize {
6019 8
6020 }
6021 }
6022
6023 unsafe impl<D: fidl::encoding::ResourceDialect>
6024 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
6025 {
6026 #[inline]
6027 unsafe fn encode(
6028 self,
6029 encoder: &mut fidl::encoding::Encoder<'_, D>,
6030 offset: usize,
6031 _depth: fidl::encoding::Depth,
6032 ) -> fidl::Result<()> {
6033 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6034 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
6036 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6037 encoder,
6038 offset,
6039 _depth,
6040 )
6041 }
6042 }
6043 unsafe impl<
6044 D: fidl::encoding::ResourceDialect,
6045 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
6046 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
6047 {
6048 #[inline]
6049 unsafe fn encode(
6050 self,
6051 encoder: &mut fidl::encoding::Encoder<'_, D>,
6052 offset: usize,
6053 depth: fidl::encoding::Depth,
6054 ) -> fidl::Result<()> {
6055 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
6056 self.0.encode(encoder, offset + 0, depth)?;
6060 Ok(())
6061 }
6062 }
6063
6064 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6065 for MlmeDeauthenticateReqRequest
6066 {
6067 #[inline(always)]
6068 fn new_empty() -> Self {
6069 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
6070 }
6071
6072 #[inline]
6073 unsafe fn decode(
6074 &mut self,
6075 decoder: &mut fidl::encoding::Decoder<'_, D>,
6076 offset: usize,
6077 _depth: fidl::encoding::Depth,
6078 ) -> fidl::Result<()> {
6079 decoder.debug_check_bounds::<Self>(offset);
6080 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6082 Ok(())
6083 }
6084 }
6085
6086 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
6087 type Borrowed<'a> = &'a Self;
6088 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6089 value
6090 }
6091 }
6092
6093 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
6094 type Owned = Self;
6095
6096 #[inline(always)]
6097 fn inline_align(_context: fidl::encoding::Context) -> usize {
6098 8
6099 }
6100
6101 #[inline(always)]
6102 fn inline_size(_context: fidl::encoding::Context) -> usize {
6103 16
6104 }
6105 }
6106
6107 unsafe impl<D: fidl::encoding::ResourceDialect>
6108 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
6109 {
6110 #[inline]
6111 unsafe fn encode(
6112 self,
6113 encoder: &mut fidl::encoding::Encoder<'_, D>,
6114 offset: usize,
6115 _depth: fidl::encoding::Depth,
6116 ) -> fidl::Result<()> {
6117 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6118 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
6120 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6121 encoder,
6122 offset,
6123 _depth,
6124 )
6125 }
6126 }
6127 unsafe impl<
6128 D: fidl::encoding::ResourceDialect,
6129 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
6130 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
6131 {
6132 #[inline]
6133 unsafe fn encode(
6134 self,
6135 encoder: &mut fidl::encoding::Encoder<'_, D>,
6136 offset: usize,
6137 depth: fidl::encoding::Depth,
6138 ) -> fidl::Result<()> {
6139 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
6140 self.0.encode(encoder, offset + 0, depth)?;
6144 Ok(())
6145 }
6146 }
6147
6148 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6149 for MlmeDeleteKeysReqRequest
6150 {
6151 #[inline(always)]
6152 fn new_empty() -> Self {
6153 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
6154 }
6155
6156 #[inline]
6157 unsafe fn decode(
6158 &mut self,
6159 decoder: &mut fidl::encoding::Decoder<'_, D>,
6160 offset: usize,
6161 _depth: fidl::encoding::Depth,
6162 ) -> fidl::Result<()> {
6163 decoder.debug_check_bounds::<Self>(offset);
6164 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6166 Ok(())
6167 }
6168 }
6169
6170 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
6171 type Borrowed<'a> = &'a Self;
6172 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6173 value
6174 }
6175 }
6176
6177 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
6178 type Owned = Self;
6179
6180 #[inline(always)]
6181 fn inline_align(_context: fidl::encoding::Context) -> usize {
6182 4
6183 }
6184
6185 #[inline(always)]
6186 fn inline_size(_context: fidl::encoding::Context) -> usize {
6187 4
6188 }
6189 #[inline(always)]
6190 fn encode_is_copy() -> bool {
6191 true
6192 }
6193
6194 #[inline(always)]
6195 fn decode_is_copy() -> bool {
6196 true
6197 }
6198 }
6199
6200 unsafe impl<D: fidl::encoding::ResourceDialect>
6201 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
6202 {
6203 #[inline]
6204 unsafe fn encode(
6205 self,
6206 encoder: &mut fidl::encoding::Encoder<'_, D>,
6207 offset: usize,
6208 _depth: fidl::encoding::Depth,
6209 ) -> fidl::Result<()> {
6210 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6211 unsafe {
6212 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6214 (buf_ptr as *mut MlmeDisassociateConfRequest)
6215 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
6216 }
6219 Ok(())
6220 }
6221 }
6222 unsafe impl<
6223 D: fidl::encoding::ResourceDialect,
6224 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
6225 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
6226 {
6227 #[inline]
6228 unsafe fn encode(
6229 self,
6230 encoder: &mut fidl::encoding::Encoder<'_, D>,
6231 offset: usize,
6232 depth: fidl::encoding::Depth,
6233 ) -> fidl::Result<()> {
6234 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
6235 self.0.encode(encoder, offset + 0, depth)?;
6239 Ok(())
6240 }
6241 }
6242
6243 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6244 for MlmeDisassociateConfRequest
6245 {
6246 #[inline(always)]
6247 fn new_empty() -> Self {
6248 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
6249 }
6250
6251 #[inline]
6252 unsafe fn decode(
6253 &mut self,
6254 decoder: &mut fidl::encoding::Decoder<'_, D>,
6255 offset: usize,
6256 _depth: fidl::encoding::Depth,
6257 ) -> fidl::Result<()> {
6258 decoder.debug_check_bounds::<Self>(offset);
6259 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6260 unsafe {
6263 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
6264 }
6265 Ok(())
6266 }
6267 }
6268
6269 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
6270 type Borrowed<'a> = &'a Self;
6271 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6272 value
6273 }
6274 }
6275
6276 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
6277 type Owned = Self;
6278
6279 #[inline(always)]
6280 fn inline_align(_context: fidl::encoding::Context) -> usize {
6281 2
6282 }
6283
6284 #[inline(always)]
6285 fn inline_size(_context: fidl::encoding::Context) -> usize {
6286 10
6287 }
6288 }
6289
6290 unsafe impl<D: fidl::encoding::ResourceDialect>
6291 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
6292 {
6293 #[inline]
6294 unsafe fn encode(
6295 self,
6296 encoder: &mut fidl::encoding::Encoder<'_, D>,
6297 offset: usize,
6298 _depth: fidl::encoding::Depth,
6299 ) -> fidl::Result<()> {
6300 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6301 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
6303 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6304 encoder,
6305 offset,
6306 _depth,
6307 )
6308 }
6309 }
6310 unsafe impl<
6311 D: fidl::encoding::ResourceDialect,
6312 T0: fidl::encoding::Encode<DisassociateIndication, D>,
6313 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
6314 {
6315 #[inline]
6316 unsafe fn encode(
6317 self,
6318 encoder: &mut fidl::encoding::Encoder<'_, D>,
6319 offset: usize,
6320 depth: fidl::encoding::Depth,
6321 ) -> fidl::Result<()> {
6322 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
6323 self.0.encode(encoder, offset + 0, depth)?;
6327 Ok(())
6328 }
6329 }
6330
6331 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6332 for MlmeDisassociateIndRequest
6333 {
6334 #[inline(always)]
6335 fn new_empty() -> Self {
6336 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
6337 }
6338
6339 #[inline]
6340 unsafe fn decode(
6341 &mut self,
6342 decoder: &mut fidl::encoding::Decoder<'_, D>,
6343 offset: usize,
6344 _depth: fidl::encoding::Depth,
6345 ) -> fidl::Result<()> {
6346 decoder.debug_check_bounds::<Self>(offset);
6347 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6349 Ok(())
6350 }
6351 }
6352
6353 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
6354 type Borrowed<'a> = &'a Self;
6355 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6356 value
6357 }
6358 }
6359
6360 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
6361 type Owned = Self;
6362
6363 #[inline(always)]
6364 fn inline_align(_context: fidl::encoding::Context) -> usize {
6365 2
6366 }
6367
6368 #[inline(always)]
6369 fn inline_size(_context: fidl::encoding::Context) -> usize {
6370 8
6371 }
6372 }
6373
6374 unsafe impl<D: fidl::encoding::ResourceDialect>
6375 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
6376 {
6377 #[inline]
6378 unsafe fn encode(
6379 self,
6380 encoder: &mut fidl::encoding::Encoder<'_, D>,
6381 offset: usize,
6382 _depth: fidl::encoding::Depth,
6383 ) -> fidl::Result<()> {
6384 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6385 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6387 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6388 encoder,
6389 offset,
6390 _depth,
6391 )
6392 }
6393 }
6394 unsafe impl<
6395 D: fidl::encoding::ResourceDialect,
6396 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6397 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6398 {
6399 #[inline]
6400 unsafe fn encode(
6401 self,
6402 encoder: &mut fidl::encoding::Encoder<'_, D>,
6403 offset: usize,
6404 depth: fidl::encoding::Depth,
6405 ) -> fidl::Result<()> {
6406 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6407 self.0.encode(encoder, offset + 0, depth)?;
6411 Ok(())
6412 }
6413 }
6414
6415 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6416 for MlmeDisassociateReqRequest
6417 {
6418 #[inline(always)]
6419 fn new_empty() -> Self {
6420 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6421 }
6422
6423 #[inline]
6424 unsafe fn decode(
6425 &mut self,
6426 decoder: &mut fidl::encoding::Decoder<'_, D>,
6427 offset: usize,
6428 _depth: fidl::encoding::Depth,
6429 ) -> fidl::Result<()> {
6430 decoder.debug_check_bounds::<Self>(offset);
6431 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6433 Ok(())
6434 }
6435 }
6436
6437 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6438 type Borrowed<'a> = &'a Self;
6439 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6440 value
6441 }
6442 }
6443
6444 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6445 type Owned = Self;
6446
6447 #[inline(always)]
6448 fn inline_align(_context: fidl::encoding::Context) -> usize {
6449 4
6450 }
6451
6452 #[inline(always)]
6453 fn inline_size(_context: fidl::encoding::Context) -> usize {
6454 12
6455 }
6456 }
6457
6458 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6459 for &MlmeEapolConfRequest
6460 {
6461 #[inline]
6462 unsafe fn encode(
6463 self,
6464 encoder: &mut fidl::encoding::Encoder<'_, D>,
6465 offset: usize,
6466 _depth: fidl::encoding::Depth,
6467 ) -> fidl::Result<()> {
6468 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6469 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6471 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6472 encoder,
6473 offset,
6474 _depth,
6475 )
6476 }
6477 }
6478 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6479 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6480 {
6481 #[inline]
6482 unsafe fn encode(
6483 self,
6484 encoder: &mut fidl::encoding::Encoder<'_, D>,
6485 offset: usize,
6486 depth: fidl::encoding::Depth,
6487 ) -> fidl::Result<()> {
6488 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6489 self.0.encode(encoder, offset + 0, depth)?;
6493 Ok(())
6494 }
6495 }
6496
6497 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6498 #[inline(always)]
6499 fn new_empty() -> Self {
6500 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6501 }
6502
6503 #[inline]
6504 unsafe fn decode(
6505 &mut self,
6506 decoder: &mut fidl::encoding::Decoder<'_, D>,
6507 offset: usize,
6508 _depth: fidl::encoding::Depth,
6509 ) -> fidl::Result<()> {
6510 decoder.debug_check_bounds::<Self>(offset);
6511 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6513 Ok(())
6514 }
6515 }
6516
6517 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6518 type Borrowed<'a> = &'a Self;
6519 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6520 value
6521 }
6522 }
6523
6524 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6525 type Owned = Self;
6526
6527 #[inline(always)]
6528 fn inline_align(_context: fidl::encoding::Context) -> usize {
6529 8
6530 }
6531
6532 #[inline(always)]
6533 fn inline_size(_context: fidl::encoding::Context) -> usize {
6534 32
6535 }
6536 }
6537
6538 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6539 for &MlmeEapolIndRequest
6540 {
6541 #[inline]
6542 unsafe fn encode(
6543 self,
6544 encoder: &mut fidl::encoding::Encoder<'_, D>,
6545 offset: usize,
6546 _depth: fidl::encoding::Depth,
6547 ) -> fidl::Result<()> {
6548 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6549 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6551 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6552 encoder,
6553 offset,
6554 _depth,
6555 )
6556 }
6557 }
6558 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6559 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6560 {
6561 #[inline]
6562 unsafe fn encode(
6563 self,
6564 encoder: &mut fidl::encoding::Encoder<'_, D>,
6565 offset: usize,
6566 depth: fidl::encoding::Depth,
6567 ) -> fidl::Result<()> {
6568 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6569 self.0.encode(encoder, offset + 0, depth)?;
6573 Ok(())
6574 }
6575 }
6576
6577 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6578 #[inline(always)]
6579 fn new_empty() -> Self {
6580 Self { ind: fidl::new_empty!(EapolIndication, D) }
6581 }
6582
6583 #[inline]
6584 unsafe fn decode(
6585 &mut self,
6586 decoder: &mut fidl::encoding::Decoder<'_, D>,
6587 offset: usize,
6588 _depth: fidl::encoding::Depth,
6589 ) -> fidl::Result<()> {
6590 decoder.debug_check_bounds::<Self>(offset);
6591 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6593 Ok(())
6594 }
6595 }
6596
6597 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6598 type Borrowed<'a> = &'a Self;
6599 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6600 value
6601 }
6602 }
6603
6604 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6605 type Owned = Self;
6606
6607 #[inline(always)]
6608 fn inline_align(_context: fidl::encoding::Context) -> usize {
6609 8
6610 }
6611
6612 #[inline(always)]
6613 fn inline_size(_context: fidl::encoding::Context) -> usize {
6614 32
6615 }
6616 }
6617
6618 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6619 for &MlmeEapolReqRequest
6620 {
6621 #[inline]
6622 unsafe fn encode(
6623 self,
6624 encoder: &mut fidl::encoding::Encoder<'_, D>,
6625 offset: usize,
6626 _depth: fidl::encoding::Depth,
6627 ) -> fidl::Result<()> {
6628 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6629 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6631 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6632 encoder,
6633 offset,
6634 _depth,
6635 )
6636 }
6637 }
6638 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6639 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6640 {
6641 #[inline]
6642 unsafe fn encode(
6643 self,
6644 encoder: &mut fidl::encoding::Encoder<'_, D>,
6645 offset: usize,
6646 depth: fidl::encoding::Depth,
6647 ) -> fidl::Result<()> {
6648 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6649 self.0.encode(encoder, offset + 0, depth)?;
6653 Ok(())
6654 }
6655 }
6656
6657 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6658 #[inline(always)]
6659 fn new_empty() -> Self {
6660 Self { req: fidl::new_empty!(EapolRequest, D) }
6661 }
6662
6663 #[inline]
6664 unsafe fn decode(
6665 &mut self,
6666 decoder: &mut fidl::encoding::Decoder<'_, D>,
6667 offset: usize,
6668 _depth: fidl::encoding::Depth,
6669 ) -> fidl::Result<()> {
6670 decoder.debug_check_bounds::<Self>(offset);
6671 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6673 Ok(())
6674 }
6675 }
6676
6677 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6678 type Borrowed<'a> = &'a Self;
6679 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6680 value
6681 }
6682 }
6683
6684 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6685 type Owned = Self;
6686
6687 #[inline(always)]
6688 fn inline_align(_context: fidl::encoding::Context) -> usize {
6689 8
6690 }
6691
6692 #[inline(always)]
6693 fn inline_size(_context: fidl::encoding::Context) -> usize {
6694 48
6695 }
6696 }
6697
6698 unsafe impl<D: fidl::encoding::ResourceDialect>
6699 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6700 for &MlmeFinalizeAssociationReqRequest
6701 {
6702 #[inline]
6703 unsafe fn encode(
6704 self,
6705 encoder: &mut fidl::encoding::Encoder<'_, D>,
6706 offset: usize,
6707 _depth: fidl::encoding::Depth,
6708 ) -> fidl::Result<()> {
6709 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6710 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6712 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6713 &self.negotiated_capabilities,
6714 ),),
6715 encoder,
6716 offset,
6717 _depth,
6718 )
6719 }
6720 }
6721 unsafe impl<
6722 D: fidl::encoding::ResourceDialect,
6723 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6724 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6725 {
6726 #[inline]
6727 unsafe fn encode(
6728 self,
6729 encoder: &mut fidl::encoding::Encoder<'_, D>,
6730 offset: usize,
6731 depth: fidl::encoding::Depth,
6732 ) -> fidl::Result<()> {
6733 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6734 self.0.encode(encoder, offset + 0, depth)?;
6738 Ok(())
6739 }
6740 }
6741
6742 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6743 for MlmeFinalizeAssociationReqRequest
6744 {
6745 #[inline(always)]
6746 fn new_empty() -> Self {
6747 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6748 }
6749
6750 #[inline]
6751 unsafe fn decode(
6752 &mut self,
6753 decoder: &mut fidl::encoding::Decoder<'_, D>,
6754 offset: usize,
6755 _depth: fidl::encoding::Depth,
6756 ) -> fidl::Result<()> {
6757 decoder.debug_check_bounds::<Self>(offset);
6758 fidl::decode!(
6760 NegotiatedCapabilities,
6761 D,
6762 &mut self.negotiated_capabilities,
6763 decoder,
6764 offset + 0,
6765 _depth
6766 )?;
6767 Ok(())
6768 }
6769 }
6770
6771 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6772 type Borrowed<'a> = &'a Self;
6773 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6774 value
6775 }
6776 }
6777
6778 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6779 type Owned = Self;
6780
6781 #[inline(always)]
6782 fn inline_align(_context: fidl::encoding::Context) -> usize {
6783 8
6784 }
6785
6786 #[inline(always)]
6787 fn inline_size(_context: fidl::encoding::Context) -> usize {
6788 16
6789 }
6790 }
6791
6792 unsafe impl<D: fidl::encoding::ResourceDialect>
6793 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6794 for &MlmeGetIfaceHistogramStatsResponse
6795 {
6796 #[inline]
6797 unsafe fn encode(
6798 self,
6799 encoder: &mut fidl::encoding::Encoder<'_, D>,
6800 offset: usize,
6801 _depth: fidl::encoding::Depth,
6802 ) -> fidl::Result<()> {
6803 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6804 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6806 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6807 &self.resp,
6808 ),),
6809 encoder,
6810 offset,
6811 _depth,
6812 )
6813 }
6814 }
6815 unsafe impl<
6816 D: fidl::encoding::ResourceDialect,
6817 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6818 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6819 {
6820 #[inline]
6821 unsafe fn encode(
6822 self,
6823 encoder: &mut fidl::encoding::Encoder<'_, D>,
6824 offset: usize,
6825 depth: fidl::encoding::Depth,
6826 ) -> fidl::Result<()> {
6827 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6828 self.0.encode(encoder, offset + 0, depth)?;
6832 Ok(())
6833 }
6834 }
6835
6836 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6837 for MlmeGetIfaceHistogramStatsResponse
6838 {
6839 #[inline(always)]
6840 fn new_empty() -> Self {
6841 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6842 }
6843
6844 #[inline]
6845 unsafe fn decode(
6846 &mut self,
6847 decoder: &mut fidl::encoding::Decoder<'_, D>,
6848 offset: usize,
6849 _depth: fidl::encoding::Depth,
6850 ) -> fidl::Result<()> {
6851 decoder.debug_check_bounds::<Self>(offset);
6852 fidl::decode!(
6854 GetIfaceHistogramStatsResponse,
6855 D,
6856 &mut self.resp,
6857 decoder,
6858 offset + 0,
6859 _depth
6860 )?;
6861 Ok(())
6862 }
6863 }
6864
6865 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6866 type Borrowed<'a> = &'a Self;
6867 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6868 value
6869 }
6870 }
6871
6872 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6873 type Owned = Self;
6874
6875 #[inline(always)]
6876 fn inline_align(_context: fidl::encoding::Context) -> usize {
6877 8
6878 }
6879
6880 #[inline(always)]
6881 fn inline_size(_context: fidl::encoding::Context) -> usize {
6882 16
6883 }
6884 }
6885
6886 unsafe impl<D: fidl::encoding::ResourceDialect>
6887 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6888 {
6889 #[inline]
6890 unsafe fn encode(
6891 self,
6892 encoder: &mut fidl::encoding::Encoder<'_, D>,
6893 offset: usize,
6894 _depth: fidl::encoding::Depth,
6895 ) -> fidl::Result<()> {
6896 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6897 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6899 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6900 encoder,
6901 offset,
6902 _depth,
6903 )
6904 }
6905 }
6906 unsafe impl<
6907 D: fidl::encoding::ResourceDialect,
6908 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6909 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6910 {
6911 #[inline]
6912 unsafe fn encode(
6913 self,
6914 encoder: &mut fidl::encoding::Encoder<'_, D>,
6915 offset: usize,
6916 depth: fidl::encoding::Depth,
6917 ) -> fidl::Result<()> {
6918 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6919 self.0.encode(encoder, offset + 0, depth)?;
6923 Ok(())
6924 }
6925 }
6926
6927 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6928 for MlmeGetIfaceStatsResponse
6929 {
6930 #[inline(always)]
6931 fn new_empty() -> Self {
6932 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6933 }
6934
6935 #[inline]
6936 unsafe fn decode(
6937 &mut self,
6938 decoder: &mut fidl::encoding::Decoder<'_, D>,
6939 offset: usize,
6940 _depth: fidl::encoding::Depth,
6941 ) -> fidl::Result<()> {
6942 decoder.debug_check_bounds::<Self>(offset);
6943 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6945 Ok(())
6946 }
6947 }
6948
6949 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6950 type Borrowed<'a> = &'a Self;
6951 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6952 value
6953 }
6954 }
6955
6956 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6957 type Owned = Self;
6958
6959 #[inline(always)]
6960 fn inline_align(_context: fidl::encoding::Context) -> usize {
6961 1
6962 }
6963
6964 #[inline(always)]
6965 fn inline_size(_context: fidl::encoding::Context) -> usize {
6966 6
6967 }
6968 #[inline(always)]
6969 fn encode_is_copy() -> bool {
6970 true
6971 }
6972
6973 #[inline(always)]
6974 fn decode_is_copy() -> bool {
6975 true
6976 }
6977 }
6978
6979 unsafe impl<D: fidl::encoding::ResourceDialect>
6980 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6981 {
6982 #[inline]
6983 unsafe fn encode(
6984 self,
6985 encoder: &mut fidl::encoding::Encoder<'_, D>,
6986 offset: usize,
6987 _depth: fidl::encoding::Depth,
6988 ) -> fidl::Result<()> {
6989 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6990 unsafe {
6991 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6993 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6994 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6995 }
6998 Ok(())
6999 }
7000 }
7001 unsafe impl<
7002 D: fidl::encoding::ResourceDialect,
7003 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
7004 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
7005 {
7006 #[inline]
7007 unsafe fn encode(
7008 self,
7009 encoder: &mut fidl::encoding::Encoder<'_, D>,
7010 offset: usize,
7011 depth: fidl::encoding::Depth,
7012 ) -> fidl::Result<()> {
7013 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
7014 self.0.encode(encoder, offset + 0, depth)?;
7018 Ok(())
7019 }
7020 }
7021
7022 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7023 for MlmeGetMinstrelStatsRequest
7024 {
7025 #[inline(always)]
7026 fn new_empty() -> Self {
7027 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
7028 }
7029
7030 #[inline]
7031 unsafe fn decode(
7032 &mut self,
7033 decoder: &mut fidl::encoding::Decoder<'_, D>,
7034 offset: usize,
7035 _depth: fidl::encoding::Depth,
7036 ) -> fidl::Result<()> {
7037 decoder.debug_check_bounds::<Self>(offset);
7038 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7039 unsafe {
7042 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7043 }
7044 Ok(())
7045 }
7046 }
7047
7048 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
7049 type Borrowed<'a> = &'a Self;
7050 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7051 value
7052 }
7053 }
7054
7055 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
7056 type Owned = Self;
7057
7058 #[inline(always)]
7059 fn inline_align(_context: fidl::encoding::Context) -> usize {
7060 8
7061 }
7062
7063 #[inline(always)]
7064 fn inline_size(_context: fidl::encoding::Context) -> usize {
7065 8
7066 }
7067 }
7068
7069 unsafe impl<D: fidl::encoding::ResourceDialect>
7070 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
7071 {
7072 #[inline]
7073 unsafe fn encode(
7074 self,
7075 encoder: &mut fidl::encoding::Encoder<'_, D>,
7076 offset: usize,
7077 _depth: fidl::encoding::Depth,
7078 ) -> fidl::Result<()> {
7079 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7080 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
7082 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7083 encoder,
7084 offset,
7085 _depth,
7086 )
7087 }
7088 }
7089 unsafe impl<
7090 D: fidl::encoding::ResourceDialect,
7091 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
7092 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
7093 {
7094 #[inline]
7095 unsafe fn encode(
7096 self,
7097 encoder: &mut fidl::encoding::Encoder<'_, D>,
7098 offset: usize,
7099 depth: fidl::encoding::Depth,
7100 ) -> fidl::Result<()> {
7101 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
7102 self.0.encode(encoder, offset + 0, depth)?;
7106 Ok(())
7107 }
7108 }
7109
7110 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7111 for MlmeGetMinstrelStatsResponse
7112 {
7113 #[inline(always)]
7114 fn new_empty() -> Self {
7115 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
7116 }
7117
7118 #[inline]
7119 unsafe fn decode(
7120 &mut self,
7121 decoder: &mut fidl::encoding::Decoder<'_, D>,
7122 offset: usize,
7123 _depth: fidl::encoding::Depth,
7124 ) -> fidl::Result<()> {
7125 decoder.debug_check_bounds::<Self>(offset);
7126 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7128 Ok(())
7129 }
7130 }
7131
7132 impl fidl::encoding::ValueTypeMarker for MlmeInstallApfPacketFilterRequest {
7133 type Borrowed<'a> = &'a Self;
7134 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7135 value
7136 }
7137 }
7138
7139 unsafe impl fidl::encoding::TypeMarker for MlmeInstallApfPacketFilterRequest {
7140 type Owned = Self;
7141
7142 #[inline(always)]
7143 fn inline_align(_context: fidl::encoding::Context) -> usize {
7144 8
7145 }
7146
7147 #[inline(always)]
7148 fn inline_size(_context: fidl::encoding::Context) -> usize {
7149 16
7150 }
7151 }
7152
7153 unsafe impl<D: fidl::encoding::ResourceDialect>
7154 fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D>
7155 for &MlmeInstallApfPacketFilterRequest
7156 {
7157 #[inline]
7158 unsafe fn encode(
7159 self,
7160 encoder: &mut fidl::encoding::Encoder<'_, D>,
7161 offset: usize,
7162 _depth: fidl::encoding::Depth,
7163 ) -> fidl::Result<()> {
7164 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7165 fidl::encoding::Encode::<MlmeInstallApfPacketFilterRequest, D>::encode(
7167 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
7168 &self.program,
7169 ),),
7170 encoder,
7171 offset,
7172 _depth,
7173 )
7174 }
7175 }
7176 unsafe impl<
7177 D: fidl::encoding::ResourceDialect,
7178 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
7179 > fidl::encoding::Encode<MlmeInstallApfPacketFilterRequest, D> for (T0,)
7180 {
7181 #[inline]
7182 unsafe fn encode(
7183 self,
7184 encoder: &mut fidl::encoding::Encoder<'_, D>,
7185 offset: usize,
7186 depth: fidl::encoding::Depth,
7187 ) -> fidl::Result<()> {
7188 encoder.debug_check_bounds::<MlmeInstallApfPacketFilterRequest>(offset);
7189 self.0.encode(encoder, offset + 0, depth)?;
7193 Ok(())
7194 }
7195 }
7196
7197 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7198 for MlmeInstallApfPacketFilterRequest
7199 {
7200 #[inline(always)]
7201 fn new_empty() -> Self {
7202 Self { program: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
7203 }
7204
7205 #[inline]
7206 unsafe fn decode(
7207 &mut self,
7208 decoder: &mut fidl::encoding::Decoder<'_, D>,
7209 offset: usize,
7210 _depth: fidl::encoding::Depth,
7211 ) -> fidl::Result<()> {
7212 decoder.debug_check_bounds::<Self>(offset);
7213 fidl::decode!(
7215 fidl::encoding::UnboundedVector<u8>,
7216 D,
7217 &mut self.program,
7218 decoder,
7219 offset + 0,
7220 _depth
7221 )?;
7222 Ok(())
7223 }
7224 }
7225
7226 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
7227 type Borrowed<'a> = &'a Self;
7228 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7229 value
7230 }
7231 }
7232
7233 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
7234 type Owned = Self;
7235
7236 #[inline(always)]
7237 fn inline_align(_context: fidl::encoding::Context) -> usize {
7238 8
7239 }
7240
7241 #[inline(always)]
7242 fn inline_size(_context: fidl::encoding::Context) -> usize {
7243 16
7244 }
7245 }
7246
7247 unsafe impl<D: fidl::encoding::ResourceDialect>
7248 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
7249 for &MlmeListMinstrelPeersResponse
7250 {
7251 #[inline]
7252 unsafe fn encode(
7253 self,
7254 encoder: &mut fidl::encoding::Encoder<'_, D>,
7255 offset: usize,
7256 _depth: fidl::encoding::Depth,
7257 ) -> fidl::Result<()> {
7258 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7259 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
7261 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
7262 encoder,
7263 offset,
7264 _depth,
7265 )
7266 }
7267 }
7268 unsafe impl<
7269 D: fidl::encoding::ResourceDialect,
7270 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
7271 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
7272 {
7273 #[inline]
7274 unsafe fn encode(
7275 self,
7276 encoder: &mut fidl::encoding::Encoder<'_, D>,
7277 offset: usize,
7278 depth: fidl::encoding::Depth,
7279 ) -> fidl::Result<()> {
7280 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
7281 self.0.encode(encoder, offset + 0, depth)?;
7285 Ok(())
7286 }
7287 }
7288
7289 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7290 for MlmeListMinstrelPeersResponse
7291 {
7292 #[inline(always)]
7293 fn new_empty() -> Self {
7294 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
7295 }
7296
7297 #[inline]
7298 unsafe fn decode(
7299 &mut self,
7300 decoder: &mut fidl::encoding::Decoder<'_, D>,
7301 offset: usize,
7302 _depth: fidl::encoding::Depth,
7303 ) -> fidl::Result<()> {
7304 decoder.debug_check_bounds::<Self>(offset);
7305 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
7307 Ok(())
7308 }
7309 }
7310
7311 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
7312 type Borrowed<'a> = &'a Self;
7313 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7314 value
7315 }
7316 }
7317
7318 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
7319 type Owned = Self;
7320
7321 #[inline(always)]
7322 fn inline_align(_context: fidl::encoding::Context) -> usize {
7323 4
7324 }
7325
7326 #[inline(always)]
7327 fn inline_size(_context: fidl::encoding::Context) -> usize {
7328 12
7329 }
7330 }
7331
7332 unsafe impl<D: fidl::encoding::ResourceDialect>
7333 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
7334 {
7335 #[inline]
7336 unsafe fn encode(
7337 self,
7338 encoder: &mut fidl::encoding::Encoder<'_, D>,
7339 offset: usize,
7340 _depth: fidl::encoding::Depth,
7341 ) -> fidl::Result<()> {
7342 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7343 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
7345 (
7346 <fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
7347 ),
7348 encoder, offset, _depth
7349 )
7350 }
7351 }
7352 unsafe impl<
7353 D: fidl::encoding::ResourceDialect,
7354 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D>,
7355 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
7356 {
7357 #[inline]
7358 unsafe fn encode(
7359 self,
7360 encoder: &mut fidl::encoding::Encoder<'_, D>,
7361 offset: usize,
7362 depth: fidl::encoding::Depth,
7363 ) -> fidl::Result<()> {
7364 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
7365 self.0.encode(encoder, offset + 0, depth)?;
7369 Ok(())
7370 }
7371 }
7372
7373 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7374 for MlmeOnChannelSwitchedRequest
7375 {
7376 #[inline(always)]
7377 fn new_empty() -> Self {
7378 Self { info: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo, D) }
7379 }
7380
7381 #[inline]
7382 unsafe fn decode(
7383 &mut self,
7384 decoder: &mut fidl::encoding::Decoder<'_, D>,
7385 offset: usize,
7386 _depth: fidl::encoding::Depth,
7387 ) -> fidl::Result<()> {
7388 decoder.debug_check_bounds::<Self>(offset);
7389 fidl::decode!(
7391 fidl_fuchsia_wlan_internal_common::ChannelSwitchInfo,
7392 D,
7393 &mut self.info,
7394 decoder,
7395 offset + 0,
7396 _depth
7397 )?;
7398 Ok(())
7399 }
7400 }
7401
7402 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
7403 type Borrowed<'a> = &'a Self;
7404 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7405 value
7406 }
7407 }
7408
7409 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
7410 type Owned = Self;
7411
7412 #[inline(always)]
7413 fn inline_align(_context: fidl::encoding::Context) -> usize {
7414 8
7415 }
7416
7417 #[inline(always)]
7418 fn inline_size(_context: fidl::encoding::Context) -> usize {
7419 32
7420 }
7421 }
7422
7423 unsafe impl<D: fidl::encoding::ResourceDialect>
7424 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
7425 {
7426 #[inline]
7427 unsafe fn encode(
7428 self,
7429 encoder: &mut fidl::encoding::Encoder<'_, D>,
7430 offset: usize,
7431 _depth: fidl::encoding::Depth,
7432 ) -> fidl::Result<()> {
7433 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7434 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
7436 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7437 encoder,
7438 offset,
7439 _depth,
7440 )
7441 }
7442 }
7443 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
7444 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
7445 {
7446 #[inline]
7447 unsafe fn encode(
7448 self,
7449 encoder: &mut fidl::encoding::Encoder<'_, D>,
7450 offset: usize,
7451 depth: fidl::encoding::Depth,
7452 ) -> fidl::Result<()> {
7453 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
7454 self.0.encode(encoder, offset + 0, depth)?;
7458 Ok(())
7459 }
7460 }
7461
7462 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7463 for MlmeOnPmkAvailableRequest
7464 {
7465 #[inline(always)]
7466 fn new_empty() -> Self {
7467 Self { info: fidl::new_empty!(PmkInfo, D) }
7468 }
7469
7470 #[inline]
7471 unsafe fn decode(
7472 &mut self,
7473 decoder: &mut fidl::encoding::Decoder<'_, D>,
7474 offset: usize,
7475 _depth: fidl::encoding::Depth,
7476 ) -> fidl::Result<()> {
7477 decoder.debug_check_bounds::<Self>(offset);
7478 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7480 Ok(())
7481 }
7482 }
7483
7484 impl fidl::encoding::ValueTypeMarker for MlmeOnRssiThresholdBreachedRequest {
7485 type Borrowed<'a> = &'a Self;
7486 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7487 value
7488 }
7489 }
7490
7491 unsafe impl fidl::encoding::TypeMarker for MlmeOnRssiThresholdBreachedRequest {
7492 type Owned = Self;
7493
7494 #[inline(always)]
7495 fn inline_align(_context: fidl::encoding::Context) -> usize {
7496 1
7497 }
7498
7499 #[inline(always)]
7500 fn inline_size(_context: fidl::encoding::Context) -> usize {
7501 1
7502 }
7503 #[inline(always)]
7504 fn encode_is_copy() -> bool {
7505 true
7506 }
7507
7508 #[inline(always)]
7509 fn decode_is_copy() -> bool {
7510 true
7511 }
7512 }
7513
7514 unsafe impl<D: fidl::encoding::ResourceDialect>
7515 fidl::encoding::Encode<MlmeOnRssiThresholdBreachedRequest, D>
7516 for &MlmeOnRssiThresholdBreachedRequest
7517 {
7518 #[inline]
7519 unsafe fn encode(
7520 self,
7521 encoder: &mut fidl::encoding::Encoder<'_, D>,
7522 offset: usize,
7523 _depth: fidl::encoding::Depth,
7524 ) -> fidl::Result<()> {
7525 encoder.debug_check_bounds::<MlmeOnRssiThresholdBreachedRequest>(offset);
7526 unsafe {
7527 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7529 (buf_ptr as *mut MlmeOnRssiThresholdBreachedRequest)
7530 .write_unaligned((self as *const MlmeOnRssiThresholdBreachedRequest).read());
7531 }
7534 Ok(())
7535 }
7536 }
7537 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i8, D>>
7538 fidl::encoding::Encode<MlmeOnRssiThresholdBreachedRequest, D> for (T0,)
7539 {
7540 #[inline]
7541 unsafe fn encode(
7542 self,
7543 encoder: &mut fidl::encoding::Encoder<'_, D>,
7544 offset: usize,
7545 depth: fidl::encoding::Depth,
7546 ) -> fidl::Result<()> {
7547 encoder.debug_check_bounds::<MlmeOnRssiThresholdBreachedRequest>(offset);
7548 self.0.encode(encoder, offset + 0, depth)?;
7552 Ok(())
7553 }
7554 }
7555
7556 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7557 for MlmeOnRssiThresholdBreachedRequest
7558 {
7559 #[inline(always)]
7560 fn new_empty() -> Self {
7561 Self { cur_rssi_dbm: fidl::new_empty!(i8, D) }
7562 }
7563
7564 #[inline]
7565 unsafe fn decode(
7566 &mut self,
7567 decoder: &mut fidl::encoding::Decoder<'_, D>,
7568 offset: usize,
7569 _depth: fidl::encoding::Depth,
7570 ) -> fidl::Result<()> {
7571 decoder.debug_check_bounds::<Self>(offset);
7572 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7573 unsafe {
7576 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 1);
7577 }
7578 Ok(())
7579 }
7580 }
7581
7582 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7583 type Borrowed<'a> = &'a Self;
7584 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7585 value
7586 }
7587 }
7588
7589 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7590 type Owned = Self;
7591
7592 #[inline(always)]
7593 fn inline_align(_context: fidl::encoding::Context) -> usize {
7594 8
7595 }
7596
7597 #[inline(always)]
7598 fn inline_size(_context: fidl::encoding::Context) -> usize {
7599 32
7600 }
7601 }
7602
7603 unsafe impl<D: fidl::encoding::ResourceDialect>
7604 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7605 {
7606 #[inline]
7607 unsafe fn encode(
7608 self,
7609 encoder: &mut fidl::encoding::Encoder<'_, D>,
7610 offset: usize,
7611 _depth: fidl::encoding::Depth,
7612 ) -> fidl::Result<()> {
7613 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7614 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7616 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7617 encoder,
7618 offset,
7619 _depth,
7620 )
7621 }
7622 }
7623 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7624 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7625 {
7626 #[inline]
7627 unsafe fn encode(
7628 self,
7629 encoder: &mut fidl::encoding::Encoder<'_, D>,
7630 offset: usize,
7631 depth: fidl::encoding::Depth,
7632 ) -> fidl::Result<()> {
7633 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7634 self.0.encode(encoder, offset + 0, depth)?;
7638 Ok(())
7639 }
7640 }
7641
7642 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7643 for MlmeOnSaeFrameRxRequest
7644 {
7645 #[inline(always)]
7646 fn new_empty() -> Self {
7647 Self { frame: fidl::new_empty!(SaeFrame, D) }
7648 }
7649
7650 #[inline]
7651 unsafe fn decode(
7652 &mut self,
7653 decoder: &mut fidl::encoding::Decoder<'_, D>,
7654 offset: usize,
7655 _depth: fidl::encoding::Depth,
7656 ) -> fidl::Result<()> {
7657 decoder.debug_check_bounds::<Self>(offset);
7658 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7660 Ok(())
7661 }
7662 }
7663
7664 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7665 type Borrowed<'a> = &'a Self;
7666 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7667 value
7668 }
7669 }
7670
7671 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7672 type Owned = Self;
7673
7674 #[inline(always)]
7675 fn inline_align(_context: fidl::encoding::Context) -> usize {
7676 1
7677 }
7678
7679 #[inline(always)]
7680 fn inline_size(_context: fidl::encoding::Context) -> usize {
7681 6
7682 }
7683 #[inline(always)]
7684 fn encode_is_copy() -> bool {
7685 true
7686 }
7687
7688 #[inline(always)]
7689 fn decode_is_copy() -> bool {
7690 true
7691 }
7692 }
7693
7694 unsafe impl<D: fidl::encoding::ResourceDialect>
7695 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7696 {
7697 #[inline]
7698 unsafe fn encode(
7699 self,
7700 encoder: &mut fidl::encoding::Encoder<'_, D>,
7701 offset: usize,
7702 _depth: fidl::encoding::Depth,
7703 ) -> fidl::Result<()> {
7704 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7705 unsafe {
7706 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7708 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7709 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7710 }
7713 Ok(())
7714 }
7715 }
7716 unsafe impl<
7717 D: fidl::encoding::ResourceDialect,
7718 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7719 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7720 {
7721 #[inline]
7722 unsafe fn encode(
7723 self,
7724 encoder: &mut fidl::encoding::Encoder<'_, D>,
7725 offset: usize,
7726 depth: fidl::encoding::Depth,
7727 ) -> fidl::Result<()> {
7728 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7729 self.0.encode(encoder, offset + 0, depth)?;
7733 Ok(())
7734 }
7735 }
7736
7737 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7738 for MlmeOnSaeHandshakeIndRequest
7739 {
7740 #[inline(always)]
7741 fn new_empty() -> Self {
7742 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7743 }
7744
7745 #[inline]
7746 unsafe fn decode(
7747 &mut self,
7748 decoder: &mut fidl::encoding::Decoder<'_, D>,
7749 offset: usize,
7750 _depth: fidl::encoding::Depth,
7751 ) -> fidl::Result<()> {
7752 decoder.debug_check_bounds::<Self>(offset);
7753 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7754 unsafe {
7757 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7758 }
7759 Ok(())
7760 }
7761 }
7762
7763 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7764 type Borrowed<'a> = &'a Self;
7765 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7766 value
7767 }
7768 }
7769
7770 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7771 type Owned = Self;
7772
7773 #[inline(always)]
7774 fn inline_align(_context: fidl::encoding::Context) -> usize {
7775 8
7776 }
7777
7778 #[inline(always)]
7779 fn inline_size(_context: fidl::encoding::Context) -> usize {
7780 16
7781 }
7782 }
7783
7784 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7785 for &MlmeOnScanEndRequest
7786 {
7787 #[inline]
7788 unsafe fn encode(
7789 self,
7790 encoder: &mut fidl::encoding::Encoder<'_, D>,
7791 offset: usize,
7792 _depth: fidl::encoding::Depth,
7793 ) -> fidl::Result<()> {
7794 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7795 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7797 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7798 encoder,
7799 offset,
7800 _depth,
7801 )
7802 }
7803 }
7804 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7805 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7806 {
7807 #[inline]
7808 unsafe fn encode(
7809 self,
7810 encoder: &mut fidl::encoding::Encoder<'_, D>,
7811 offset: usize,
7812 depth: fidl::encoding::Depth,
7813 ) -> fidl::Result<()> {
7814 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7815 self.0.encode(encoder, offset + 0, depth)?;
7819 Ok(())
7820 }
7821 }
7822
7823 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7824 #[inline(always)]
7825 fn new_empty() -> Self {
7826 Self { end: fidl::new_empty!(ScanEnd, D) }
7827 }
7828
7829 #[inline]
7830 unsafe fn decode(
7831 &mut self,
7832 decoder: &mut fidl::encoding::Decoder<'_, D>,
7833 offset: usize,
7834 _depth: fidl::encoding::Depth,
7835 ) -> fidl::Result<()> {
7836 decoder.debug_check_bounds::<Self>(offset);
7837 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7839 Ok(())
7840 }
7841 }
7842
7843 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7844 type Borrowed<'a> = &'a Self;
7845 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7846 value
7847 }
7848 }
7849
7850 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7851 type Owned = Self;
7852
7853 #[inline(always)]
7854 fn inline_align(_context: fidl::encoding::Context) -> usize {
7855 8
7856 }
7857
7858 #[inline(always)]
7859 fn inline_size(_context: fidl::encoding::Context) -> usize {
7860 64
7861 }
7862 }
7863
7864 unsafe impl<D: fidl::encoding::ResourceDialect>
7865 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7866 {
7867 #[inline]
7868 unsafe fn encode(
7869 self,
7870 encoder: &mut fidl::encoding::Encoder<'_, D>,
7871 offset: usize,
7872 _depth: fidl::encoding::Depth,
7873 ) -> fidl::Result<()> {
7874 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7875 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7877 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7878 encoder,
7879 offset,
7880 _depth,
7881 )
7882 }
7883 }
7884 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7885 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7886 {
7887 #[inline]
7888 unsafe fn encode(
7889 self,
7890 encoder: &mut fidl::encoding::Encoder<'_, D>,
7891 offset: usize,
7892 depth: fidl::encoding::Depth,
7893 ) -> fidl::Result<()> {
7894 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7895 self.0.encode(encoder, offset + 0, depth)?;
7899 Ok(())
7900 }
7901 }
7902
7903 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7904 for MlmeOnScanResultRequest
7905 {
7906 #[inline(always)]
7907 fn new_empty() -> Self {
7908 Self { result: fidl::new_empty!(ScanResult, D) }
7909 }
7910
7911 #[inline]
7912 unsafe fn decode(
7913 &mut self,
7914 decoder: &mut fidl::encoding::Decoder<'_, D>,
7915 offset: usize,
7916 _depth: fidl::encoding::Depth,
7917 ) -> fidl::Result<()> {
7918 decoder.debug_check_bounds::<Self>(offset);
7919 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7921 Ok(())
7922 }
7923 }
7924
7925 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7926 type Borrowed<'a> = &'a Self;
7927 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7928 value
7929 }
7930 }
7931
7932 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanMatchesAvailableRequest {
7933 type Owned = Self;
7934
7935 #[inline(always)]
7936 fn inline_align(_context: fidl::encoding::Context) -> usize {
7937 8
7938 }
7939
7940 #[inline(always)]
7941 fn inline_size(_context: fidl::encoding::Context) -> usize {
7942 8
7943 }
7944 #[inline(always)]
7945 fn encode_is_copy() -> bool {
7946 true
7947 }
7948
7949 #[inline(always)]
7950 fn decode_is_copy() -> bool {
7951 true
7952 }
7953 }
7954
7955 unsafe impl<D: fidl::encoding::ResourceDialect>
7956 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D>
7957 for &MlmeOnScheduledScanMatchesAvailableRequest
7958 {
7959 #[inline]
7960 unsafe fn encode(
7961 self,
7962 encoder: &mut fidl::encoding::Encoder<'_, D>,
7963 offset: usize,
7964 _depth: fidl::encoding::Depth,
7965 ) -> fidl::Result<()> {
7966 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7967 unsafe {
7968 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7970 (buf_ptr as *mut MlmeOnScheduledScanMatchesAvailableRequest).write_unaligned(
7971 (self as *const MlmeOnScheduledScanMatchesAvailableRequest).read(),
7972 );
7973 }
7976 Ok(())
7977 }
7978 }
7979 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
7980 fidl::encoding::Encode<MlmeOnScheduledScanMatchesAvailableRequest, D> for (T0,)
7981 {
7982 #[inline]
7983 unsafe fn encode(
7984 self,
7985 encoder: &mut fidl::encoding::Encoder<'_, D>,
7986 offset: usize,
7987 depth: fidl::encoding::Depth,
7988 ) -> fidl::Result<()> {
7989 encoder.debug_check_bounds::<MlmeOnScheduledScanMatchesAvailableRequest>(offset);
7990 self.0.encode(encoder, offset + 0, depth)?;
7994 Ok(())
7995 }
7996 }
7997
7998 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7999 for MlmeOnScheduledScanMatchesAvailableRequest
8000 {
8001 #[inline(always)]
8002 fn new_empty() -> Self {
8003 Self { txn_id: fidl::new_empty!(u64, D) }
8004 }
8005
8006 #[inline]
8007 unsafe fn decode(
8008 &mut self,
8009 decoder: &mut fidl::encoding::Decoder<'_, D>,
8010 offset: usize,
8011 _depth: fidl::encoding::Depth,
8012 ) -> fidl::Result<()> {
8013 decoder.debug_check_bounds::<Self>(offset);
8014 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8015 unsafe {
8018 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
8019 }
8020 Ok(())
8021 }
8022 }
8023
8024 impl fidl::encoding::ValueTypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
8025 type Borrowed<'a> = &'a Self;
8026 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8027 value
8028 }
8029 }
8030
8031 unsafe impl fidl::encoding::TypeMarker for MlmeOnScheduledScanStoppedByFirmwareRequest {
8032 type Owned = Self;
8033
8034 #[inline(always)]
8035 fn inline_align(_context: fidl::encoding::Context) -> usize {
8036 8
8037 }
8038
8039 #[inline(always)]
8040 fn inline_size(_context: fidl::encoding::Context) -> usize {
8041 8
8042 }
8043 #[inline(always)]
8044 fn encode_is_copy() -> bool {
8045 true
8046 }
8047
8048 #[inline(always)]
8049 fn decode_is_copy() -> bool {
8050 true
8051 }
8052 }
8053
8054 unsafe impl<D: fidl::encoding::ResourceDialect>
8055 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D>
8056 for &MlmeOnScheduledScanStoppedByFirmwareRequest
8057 {
8058 #[inline]
8059 unsafe fn encode(
8060 self,
8061 encoder: &mut fidl::encoding::Encoder<'_, D>,
8062 offset: usize,
8063 _depth: fidl::encoding::Depth,
8064 ) -> fidl::Result<()> {
8065 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
8066 unsafe {
8067 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8069 (buf_ptr as *mut MlmeOnScheduledScanStoppedByFirmwareRequest).write_unaligned(
8070 (self as *const MlmeOnScheduledScanStoppedByFirmwareRequest).read(),
8071 );
8072 }
8075 Ok(())
8076 }
8077 }
8078 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
8079 fidl::encoding::Encode<MlmeOnScheduledScanStoppedByFirmwareRequest, D> for (T0,)
8080 {
8081 #[inline]
8082 unsafe fn encode(
8083 self,
8084 encoder: &mut fidl::encoding::Encoder<'_, D>,
8085 offset: usize,
8086 depth: fidl::encoding::Depth,
8087 ) -> fidl::Result<()> {
8088 encoder.debug_check_bounds::<MlmeOnScheduledScanStoppedByFirmwareRequest>(offset);
8089 self.0.encode(encoder, offset + 0, depth)?;
8093 Ok(())
8094 }
8095 }
8096
8097 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8098 for MlmeOnScheduledScanStoppedByFirmwareRequest
8099 {
8100 #[inline(always)]
8101 fn new_empty() -> Self {
8102 Self { txn_id: fidl::new_empty!(u64, D) }
8103 }
8104
8105 #[inline]
8106 unsafe fn decode(
8107 &mut self,
8108 decoder: &mut fidl::encoding::Decoder<'_, D>,
8109 offset: usize,
8110 _depth: fidl::encoding::Depth,
8111 ) -> fidl::Result<()> {
8112 decoder.debug_check_bounds::<Self>(offset);
8113 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8114 unsafe {
8117 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
8118 }
8119 Ok(())
8120 }
8121 }
8122
8123 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
8124 type Borrowed<'a> = &'a Self;
8125 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8126 value
8127 }
8128 }
8129
8130 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
8131 type Owned = Self;
8132
8133 #[inline(always)]
8134 fn inline_align(_context: fidl::encoding::Context) -> usize {
8135 4
8136 }
8137
8138 #[inline(always)]
8139 fn inline_size(_context: fidl::encoding::Context) -> usize {
8140 40
8141 }
8142 }
8143
8144 unsafe impl<D: fidl::encoding::ResourceDialect>
8145 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
8146 {
8147 #[inline]
8148 unsafe fn encode(
8149 self,
8150 encoder: &mut fidl::encoding::Encoder<'_, D>,
8151 offset: usize,
8152 _depth: fidl::encoding::Depth,
8153 ) -> fidl::Result<()> {
8154 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8155 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
8157 (
8158 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
8159 <fidl_fuchsia_wlan_internal_common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
8160 ),
8161 encoder, offset, _depth
8162 )
8163 }
8164 }
8165 unsafe impl<
8166 D: fidl::encoding::ResourceDialect,
8167 T0: fidl::encoding::Encode<i32, D>,
8168 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D>,
8169 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
8170 {
8171 #[inline]
8172 unsafe fn encode(
8173 self,
8174 encoder: &mut fidl::encoding::Encoder<'_, D>,
8175 offset: usize,
8176 depth: fidl::encoding::Depth,
8177 ) -> fidl::Result<()> {
8178 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
8179 unsafe {
8182 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
8183 (ptr as *mut u32).write_unaligned(0);
8184 }
8185 self.0.encode(encoder, offset + 0, depth)?;
8187 self.1.encode(encoder, offset + 4, depth)?;
8188 Ok(())
8189 }
8190 }
8191
8192 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8193 for MlmeOnWmmStatusRespRequest
8194 {
8195 #[inline(always)]
8196 fn new_empty() -> Self {
8197 Self {
8198 status: fidl::new_empty!(i32, D),
8199 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::WmmStatusResponse, D),
8200 }
8201 }
8202
8203 #[inline]
8204 unsafe fn decode(
8205 &mut self,
8206 decoder: &mut fidl::encoding::Decoder<'_, D>,
8207 offset: usize,
8208 _depth: fidl::encoding::Depth,
8209 ) -> fidl::Result<()> {
8210 decoder.debug_check_bounds::<Self>(offset);
8211 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
8213 let padval = unsafe { (ptr as *const u32).read_unaligned() };
8214 let mask = 0xffff0000u32;
8215 let maskedval = padval & mask;
8216 if maskedval != 0 {
8217 return Err(fidl::Error::NonZeroPadding {
8218 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
8219 });
8220 }
8221 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
8222 fidl::decode!(
8223 fidl_fuchsia_wlan_internal_common::WmmStatusResponse,
8224 D,
8225 &mut self.resp,
8226 decoder,
8227 offset + 4,
8228 _depth
8229 )?;
8230 Ok(())
8231 }
8232 }
8233
8234 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
8235 type Borrowed<'a> = &'a Self;
8236 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8237 value
8238 }
8239 }
8240
8241 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
8242 type Owned = Self;
8243
8244 #[inline(always)]
8245 fn inline_align(_context: fidl::encoding::Context) -> usize {
8246 8
8247 }
8248
8249 #[inline(always)]
8250 fn inline_size(_context: fidl::encoding::Context) -> usize {
8251 40
8252 }
8253 }
8254
8255 unsafe impl<D: fidl::encoding::ResourceDialect>
8256 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
8257 {
8258 #[inline]
8259 unsafe fn encode(
8260 self,
8261 encoder: &mut fidl::encoding::Encoder<'_, D>,
8262 offset: usize,
8263 _depth: fidl::encoding::Depth,
8264 ) -> fidl::Result<()> {
8265 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8266 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
8268 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
8269 encoder,
8270 offset,
8271 _depth,
8272 )
8273 }
8274 }
8275 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
8276 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
8277 {
8278 #[inline]
8279 unsafe fn encode(
8280 self,
8281 encoder: &mut fidl::encoding::Encoder<'_, D>,
8282 offset: usize,
8283 depth: fidl::encoding::Depth,
8284 ) -> fidl::Result<()> {
8285 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
8286 self.0.encode(encoder, offset + 0, depth)?;
8290 Ok(())
8291 }
8292 }
8293
8294 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8295 for MlmeQueryDeviceInfoResponse
8296 {
8297 #[inline(always)]
8298 fn new_empty() -> Self {
8299 Self { info: fidl::new_empty!(DeviceInfo, D) }
8300 }
8301
8302 #[inline]
8303 unsafe fn decode(
8304 &mut self,
8305 decoder: &mut fidl::encoding::Decoder<'_, D>,
8306 offset: usize,
8307 _depth: fidl::encoding::Depth,
8308 ) -> fidl::Result<()> {
8309 decoder.debug_check_bounds::<Self>(offset);
8310 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
8312 Ok(())
8313 }
8314 }
8315
8316 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
8317 type Borrowed<'a> = &'a Self;
8318 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8319 value
8320 }
8321 }
8322
8323 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
8324 type Owned = Self;
8325
8326 #[inline(always)]
8327 fn inline_align(_context: fidl::encoding::Context) -> usize {
8328 1
8329 }
8330
8331 #[inline(always)]
8332 fn inline_size(_context: fidl::encoding::Context) -> usize {
8333 6
8334 }
8335 #[inline(always)]
8336 fn encode_is_copy() -> bool {
8337 true
8338 }
8339
8340 #[inline(always)]
8341 fn decode_is_copy() -> bool {
8342 true
8343 }
8344 }
8345
8346 unsafe impl<D: fidl::encoding::ResourceDialect>
8347 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
8348 {
8349 #[inline]
8350 unsafe fn encode(
8351 self,
8352 encoder: &mut fidl::encoding::Encoder<'_, D>,
8353 offset: usize,
8354 _depth: fidl::encoding::Depth,
8355 ) -> fidl::Result<()> {
8356 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8357 unsafe {
8358 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
8360 (buf_ptr as *mut MlmeReconnectReqRequest)
8361 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
8362 }
8365 Ok(())
8366 }
8367 }
8368 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
8369 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
8370 {
8371 #[inline]
8372 unsafe fn encode(
8373 self,
8374 encoder: &mut fidl::encoding::Encoder<'_, D>,
8375 offset: usize,
8376 depth: fidl::encoding::Depth,
8377 ) -> fidl::Result<()> {
8378 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
8379 self.0.encode(encoder, offset + 0, depth)?;
8383 Ok(())
8384 }
8385 }
8386
8387 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8388 for MlmeReconnectReqRequest
8389 {
8390 #[inline(always)]
8391 fn new_empty() -> Self {
8392 Self { req: fidl::new_empty!(ReconnectRequest, D) }
8393 }
8394
8395 #[inline]
8396 unsafe fn decode(
8397 &mut self,
8398 decoder: &mut fidl::encoding::Decoder<'_, D>,
8399 offset: usize,
8400 _depth: fidl::encoding::Depth,
8401 ) -> fidl::Result<()> {
8402 decoder.debug_check_bounds::<Self>(offset);
8403 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
8404 unsafe {
8407 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
8408 }
8409 Ok(())
8410 }
8411 }
8412
8413 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
8414 type Borrowed<'a> = &'a Self;
8415 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8416 value
8417 }
8418 }
8419
8420 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
8421 type Owned = Self;
8422
8423 #[inline(always)]
8424 fn inline_align(_context: fidl::encoding::Context) -> usize {
8425 8
8426 }
8427
8428 #[inline(always)]
8429 fn inline_size(_context: fidl::encoding::Context) -> usize {
8430 16
8431 }
8432 }
8433
8434 unsafe impl<D: fidl::encoding::ResourceDialect>
8435 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
8436 for &MlmeRelayCapturedFrameRequest
8437 {
8438 #[inline]
8439 unsafe fn encode(
8440 self,
8441 encoder: &mut fidl::encoding::Encoder<'_, D>,
8442 offset: usize,
8443 _depth: fidl::encoding::Depth,
8444 ) -> fidl::Result<()> {
8445 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8446 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
8448 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
8449 encoder,
8450 offset,
8451 _depth,
8452 )
8453 }
8454 }
8455 unsafe impl<
8456 D: fidl::encoding::ResourceDialect,
8457 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
8458 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
8459 {
8460 #[inline]
8461 unsafe fn encode(
8462 self,
8463 encoder: &mut fidl::encoding::Encoder<'_, D>,
8464 offset: usize,
8465 depth: fidl::encoding::Depth,
8466 ) -> fidl::Result<()> {
8467 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
8468 self.0.encode(encoder, offset + 0, depth)?;
8472 Ok(())
8473 }
8474 }
8475
8476 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8477 for MlmeRelayCapturedFrameRequest
8478 {
8479 #[inline(always)]
8480 fn new_empty() -> Self {
8481 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
8482 }
8483
8484 #[inline]
8485 unsafe fn decode(
8486 &mut self,
8487 decoder: &mut fidl::encoding::Decoder<'_, D>,
8488 offset: usize,
8489 _depth: fidl::encoding::Depth,
8490 ) -> fidl::Result<()> {
8491 decoder.debug_check_bounds::<Self>(offset);
8492 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
8494 Ok(())
8495 }
8496 }
8497
8498 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
8499 type Borrowed<'a> = &'a Self;
8500 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8501 value
8502 }
8503 }
8504
8505 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
8506 type Owned = Self;
8507
8508 #[inline(always)]
8509 fn inline_align(_context: fidl::encoding::Context) -> usize {
8510 1
8511 }
8512
8513 #[inline(always)]
8514 fn inline_size(_context: fidl::encoding::Context) -> usize {
8515 7
8516 }
8517 }
8518
8519 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
8520 for &MlmeResetReqRequest
8521 {
8522 #[inline]
8523 unsafe fn encode(
8524 self,
8525 encoder: &mut fidl::encoding::Encoder<'_, D>,
8526 offset: usize,
8527 _depth: fidl::encoding::Depth,
8528 ) -> fidl::Result<()> {
8529 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8530 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
8532 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8533 encoder,
8534 offset,
8535 _depth,
8536 )
8537 }
8538 }
8539 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
8540 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
8541 {
8542 #[inline]
8543 unsafe fn encode(
8544 self,
8545 encoder: &mut fidl::encoding::Encoder<'_, D>,
8546 offset: usize,
8547 depth: fidl::encoding::Depth,
8548 ) -> fidl::Result<()> {
8549 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
8550 self.0.encode(encoder, offset + 0, depth)?;
8554 Ok(())
8555 }
8556 }
8557
8558 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
8559 #[inline(always)]
8560 fn new_empty() -> Self {
8561 Self { req: fidl::new_empty!(ResetRequest, D) }
8562 }
8563
8564 #[inline]
8565 unsafe fn decode(
8566 &mut self,
8567 decoder: &mut fidl::encoding::Decoder<'_, D>,
8568 offset: usize,
8569 _depth: fidl::encoding::Depth,
8570 ) -> fidl::Result<()> {
8571 decoder.debug_check_bounds::<Self>(offset);
8572 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8574 Ok(())
8575 }
8576 }
8577
8578 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
8579 type Borrowed<'a> = &'a Self;
8580 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8581 value
8582 }
8583 }
8584
8585 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
8586 type Owned = Self;
8587
8588 #[inline(always)]
8589 fn inline_align(_context: fidl::encoding::Context) -> usize {
8590 8
8591 }
8592
8593 #[inline(always)]
8594 fn inline_size(_context: fidl::encoding::Context) -> usize {
8595 32
8596 }
8597 }
8598
8599 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
8600 for &MlmeRoamConfRequest
8601 {
8602 #[inline]
8603 unsafe fn encode(
8604 self,
8605 encoder: &mut fidl::encoding::Encoder<'_, D>,
8606 offset: usize,
8607 _depth: fidl::encoding::Depth,
8608 ) -> fidl::Result<()> {
8609 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8610 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
8612 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8613 encoder,
8614 offset,
8615 _depth,
8616 )
8617 }
8618 }
8619 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
8620 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
8621 {
8622 #[inline]
8623 unsafe fn encode(
8624 self,
8625 encoder: &mut fidl::encoding::Encoder<'_, D>,
8626 offset: usize,
8627 depth: fidl::encoding::Depth,
8628 ) -> fidl::Result<()> {
8629 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
8630 self.0.encode(encoder, offset + 0, depth)?;
8634 Ok(())
8635 }
8636 }
8637
8638 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
8639 #[inline(always)]
8640 fn new_empty() -> Self {
8641 Self { conf: fidl::new_empty!(RoamConfirm, D) }
8642 }
8643
8644 #[inline]
8645 unsafe fn decode(
8646 &mut self,
8647 decoder: &mut fidl::encoding::Decoder<'_, D>,
8648 offset: usize,
8649 _depth: fidl::encoding::Depth,
8650 ) -> fidl::Result<()> {
8651 decoder.debug_check_bounds::<Self>(offset);
8652 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8654 Ok(())
8655 }
8656 }
8657
8658 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
8659 type Borrowed<'a> = &'a Self;
8660 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8661 value
8662 }
8663 }
8664
8665 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
8666 type Owned = Self;
8667
8668 #[inline(always)]
8669 fn inline_align(_context: fidl::encoding::Context) -> usize {
8670 8
8671 }
8672
8673 #[inline(always)]
8674 fn inline_size(_context: fidl::encoding::Context) -> usize {
8675 48
8676 }
8677 }
8678
8679 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
8680 for &MlmeRoamReqRequest
8681 {
8682 #[inline]
8683 unsafe fn encode(
8684 self,
8685 encoder: &mut fidl::encoding::Encoder<'_, D>,
8686 offset: usize,
8687 _depth: fidl::encoding::Depth,
8688 ) -> fidl::Result<()> {
8689 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8690 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
8692 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8693 encoder,
8694 offset,
8695 _depth,
8696 )
8697 }
8698 }
8699 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
8700 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
8701 {
8702 #[inline]
8703 unsafe fn encode(
8704 self,
8705 encoder: &mut fidl::encoding::Encoder<'_, D>,
8706 offset: usize,
8707 depth: fidl::encoding::Depth,
8708 ) -> fidl::Result<()> {
8709 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
8710 self.0.encode(encoder, offset + 0, depth)?;
8714 Ok(())
8715 }
8716 }
8717
8718 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
8719 #[inline(always)]
8720 fn new_empty() -> Self {
8721 Self { req: fidl::new_empty!(RoamRequest, D) }
8722 }
8723
8724 #[inline]
8725 unsafe fn decode(
8726 &mut self,
8727 decoder: &mut fidl::encoding::Decoder<'_, D>,
8728 offset: usize,
8729 _depth: fidl::encoding::Depth,
8730 ) -> fidl::Result<()> {
8731 decoder.debug_check_bounds::<Self>(offset);
8732 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8734 Ok(())
8735 }
8736 }
8737
8738 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
8739 type Borrowed<'a> = &'a Self;
8740 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8741 value
8742 }
8743 }
8744
8745 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
8746 type Owned = Self;
8747
8748 #[inline(always)]
8749 fn inline_align(_context: fidl::encoding::Context) -> usize {
8750 8
8751 }
8752
8753 #[inline(always)]
8754 fn inline_size(_context: fidl::encoding::Context) -> usize {
8755 32
8756 }
8757 }
8758
8759 unsafe impl<D: fidl::encoding::ResourceDialect>
8760 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
8761 {
8762 #[inline]
8763 unsafe fn encode(
8764 self,
8765 encoder: &mut fidl::encoding::Encoder<'_, D>,
8766 offset: usize,
8767 _depth: fidl::encoding::Depth,
8768 ) -> fidl::Result<()> {
8769 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8770 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8772 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8773 encoder,
8774 offset,
8775 _depth,
8776 )
8777 }
8778 }
8779 unsafe impl<
8780 D: fidl::encoding::ResourceDialect,
8781 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8782 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8783 {
8784 #[inline]
8785 unsafe fn encode(
8786 self,
8787 encoder: &mut fidl::encoding::Encoder<'_, D>,
8788 offset: usize,
8789 depth: fidl::encoding::Depth,
8790 ) -> fidl::Result<()> {
8791 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8792 self.0.encode(encoder, offset + 0, depth)?;
8796 Ok(())
8797 }
8798 }
8799
8800 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8801 for MlmeRoamResultIndRequest
8802 {
8803 #[inline(always)]
8804 fn new_empty() -> Self {
8805 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8806 }
8807
8808 #[inline]
8809 unsafe fn decode(
8810 &mut self,
8811 decoder: &mut fidl::encoding::Decoder<'_, D>,
8812 offset: usize,
8813 _depth: fidl::encoding::Depth,
8814 ) -> fidl::Result<()> {
8815 decoder.debug_check_bounds::<Self>(offset);
8816 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8818 Ok(())
8819 }
8820 }
8821
8822 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8823 type Borrowed<'a> = &'a Self;
8824 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8825 value
8826 }
8827 }
8828
8829 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8830 type Owned = Self;
8831
8832 #[inline(always)]
8833 fn inline_align(_context: fidl::encoding::Context) -> usize {
8834 8
8835 }
8836
8837 #[inline(always)]
8838 fn inline_size(_context: fidl::encoding::Context) -> usize {
8839 64
8840 }
8841 }
8842
8843 unsafe impl<D: fidl::encoding::ResourceDialect>
8844 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8845 {
8846 #[inline]
8847 unsafe fn encode(
8848 self,
8849 encoder: &mut fidl::encoding::Encoder<'_, D>,
8850 offset: usize,
8851 _depth: fidl::encoding::Depth,
8852 ) -> fidl::Result<()> {
8853 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8854 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8856 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8857 encoder,
8858 offset,
8859 _depth,
8860 )
8861 }
8862 }
8863 unsafe impl<
8864 D: fidl::encoding::ResourceDialect,
8865 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8866 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8867 {
8868 #[inline]
8869 unsafe fn encode(
8870 self,
8871 encoder: &mut fidl::encoding::Encoder<'_, D>,
8872 offset: usize,
8873 depth: fidl::encoding::Depth,
8874 ) -> fidl::Result<()> {
8875 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8876 self.0.encode(encoder, offset + 0, depth)?;
8880 Ok(())
8881 }
8882 }
8883
8884 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8885 for MlmeRoamStartIndRequest
8886 {
8887 #[inline(always)]
8888 fn new_empty() -> Self {
8889 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8890 }
8891
8892 #[inline]
8893 unsafe fn decode(
8894 &mut self,
8895 decoder: &mut fidl::encoding::Decoder<'_, D>,
8896 offset: usize,
8897 _depth: fidl::encoding::Depth,
8898 ) -> fidl::Result<()> {
8899 decoder.debug_check_bounds::<Self>(offset);
8900 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8902 Ok(())
8903 }
8904 }
8905
8906 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8907 type Borrowed<'a> = &'a Self;
8908 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8909 value
8910 }
8911 }
8912
8913 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8914 type Owned = Self;
8915
8916 #[inline(always)]
8917 fn inline_align(_context: fidl::encoding::Context) -> usize {
8918 8
8919 }
8920
8921 #[inline(always)]
8922 fn inline_size(_context: fidl::encoding::Context) -> usize {
8923 32
8924 }
8925 }
8926
8927 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8928 for &MlmeSaeFrameTxRequest
8929 {
8930 #[inline]
8931 unsafe fn encode(
8932 self,
8933 encoder: &mut fidl::encoding::Encoder<'_, D>,
8934 offset: usize,
8935 _depth: fidl::encoding::Depth,
8936 ) -> fidl::Result<()> {
8937 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8938 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8940 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8941 encoder,
8942 offset,
8943 _depth,
8944 )
8945 }
8946 }
8947 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8948 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8949 {
8950 #[inline]
8951 unsafe fn encode(
8952 self,
8953 encoder: &mut fidl::encoding::Encoder<'_, D>,
8954 offset: usize,
8955 depth: fidl::encoding::Depth,
8956 ) -> fidl::Result<()> {
8957 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8958 self.0.encode(encoder, offset + 0, depth)?;
8962 Ok(())
8963 }
8964 }
8965
8966 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8967 #[inline(always)]
8968 fn new_empty() -> Self {
8969 Self { frame: fidl::new_empty!(SaeFrame, D) }
8970 }
8971
8972 #[inline]
8973 unsafe fn decode(
8974 &mut self,
8975 decoder: &mut fidl::encoding::Decoder<'_, D>,
8976 offset: usize,
8977 _depth: fidl::encoding::Depth,
8978 ) -> fidl::Result<()> {
8979 decoder.debug_check_bounds::<Self>(offset);
8980 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8982 Ok(())
8983 }
8984 }
8985
8986 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8987 type Borrowed<'a> = &'a Self;
8988 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8989 value
8990 }
8991 }
8992
8993 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8994 type Owned = Self;
8995
8996 #[inline(always)]
8997 fn inline_align(_context: fidl::encoding::Context) -> usize {
8998 2
8999 }
9000
9001 #[inline(always)]
9002 fn inline_size(_context: fidl::encoding::Context) -> usize {
9003 8
9004 }
9005 }
9006
9007 unsafe impl<D: fidl::encoding::ResourceDialect>
9008 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
9009 {
9010 #[inline]
9011 unsafe fn encode(
9012 self,
9013 encoder: &mut fidl::encoding::Encoder<'_, D>,
9014 offset: usize,
9015 _depth: fidl::encoding::Depth,
9016 ) -> fidl::Result<()> {
9017 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
9018 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
9020 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9021 encoder,
9022 offset,
9023 _depth,
9024 )
9025 }
9026 }
9027 unsafe impl<
9028 D: fidl::encoding::ResourceDialect,
9029 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
9030 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
9031 {
9032 #[inline]
9033 unsafe fn encode(
9034 self,
9035 encoder: &mut fidl::encoding::Encoder<'_, D>,
9036 offset: usize,
9037 depth: fidl::encoding::Depth,
9038 ) -> fidl::Result<()> {
9039 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
9040 self.0.encode(encoder, offset + 0, depth)?;
9044 Ok(())
9045 }
9046 }
9047
9048 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9049 for MlmeSaeHandshakeRespRequest
9050 {
9051 #[inline(always)]
9052 fn new_empty() -> Self {
9053 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
9054 }
9055
9056 #[inline]
9057 unsafe fn decode(
9058 &mut self,
9059 decoder: &mut fidl::encoding::Decoder<'_, D>,
9060 offset: usize,
9061 _depth: fidl::encoding::Depth,
9062 ) -> fidl::Result<()> {
9063 decoder.debug_check_bounds::<Self>(offset);
9064 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
9066 Ok(())
9067 }
9068 }
9069
9070 impl fidl::encoding::ValueTypeMarker for MlmeSetApfPacketFilterEnabledRequest {
9071 type Borrowed<'a> = &'a Self;
9072 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9073 value
9074 }
9075 }
9076
9077 unsafe impl fidl::encoding::TypeMarker for MlmeSetApfPacketFilterEnabledRequest {
9078 type Owned = Self;
9079
9080 #[inline(always)]
9081 fn inline_align(_context: fidl::encoding::Context) -> usize {
9082 1
9083 }
9084
9085 #[inline(always)]
9086 fn inline_size(_context: fidl::encoding::Context) -> usize {
9087 1
9088 }
9089 }
9090
9091 unsafe impl<D: fidl::encoding::ResourceDialect>
9092 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D>
9093 for &MlmeSetApfPacketFilterEnabledRequest
9094 {
9095 #[inline]
9096 unsafe fn encode(
9097 self,
9098 encoder: &mut fidl::encoding::Encoder<'_, D>,
9099 offset: usize,
9100 _depth: fidl::encoding::Depth,
9101 ) -> fidl::Result<()> {
9102 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
9103 fidl::encoding::Encode::<MlmeSetApfPacketFilterEnabledRequest, D>::encode(
9105 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.enabled),),
9106 encoder,
9107 offset,
9108 _depth,
9109 )
9110 }
9111 }
9112 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
9113 fidl::encoding::Encode<MlmeSetApfPacketFilterEnabledRequest, D> for (T0,)
9114 {
9115 #[inline]
9116 unsafe fn encode(
9117 self,
9118 encoder: &mut fidl::encoding::Encoder<'_, D>,
9119 offset: usize,
9120 depth: fidl::encoding::Depth,
9121 ) -> fidl::Result<()> {
9122 encoder.debug_check_bounds::<MlmeSetApfPacketFilterEnabledRequest>(offset);
9123 self.0.encode(encoder, offset + 0, depth)?;
9127 Ok(())
9128 }
9129 }
9130
9131 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9132 for MlmeSetApfPacketFilterEnabledRequest
9133 {
9134 #[inline(always)]
9135 fn new_empty() -> Self {
9136 Self { enabled: fidl::new_empty!(bool, D) }
9137 }
9138
9139 #[inline]
9140 unsafe fn decode(
9141 &mut self,
9142 decoder: &mut fidl::encoding::Decoder<'_, D>,
9143 offset: usize,
9144 _depth: fidl::encoding::Depth,
9145 ) -> fidl::Result<()> {
9146 decoder.debug_check_bounds::<Self>(offset);
9147 fidl::decode!(bool, D, &mut self.enabled, decoder, offset + 0, _depth)?;
9149 Ok(())
9150 }
9151 }
9152
9153 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
9154 type Borrowed<'a> = &'a Self;
9155 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9156 value
9157 }
9158 }
9159
9160 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
9161 type Owned = Self;
9162
9163 #[inline(always)]
9164 fn inline_align(_context: fidl::encoding::Context) -> usize {
9165 4
9166 }
9167
9168 #[inline(always)]
9169 fn inline_size(_context: fidl::encoding::Context) -> usize {
9170 12
9171 }
9172 }
9173
9174 unsafe impl<D: fidl::encoding::ResourceDialect>
9175 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
9176 {
9177 #[inline]
9178 unsafe fn encode(
9179 self,
9180 encoder: &mut fidl::encoding::Encoder<'_, D>,
9181 offset: usize,
9182 _depth: fidl::encoding::Depth,
9183 ) -> fidl::Result<()> {
9184 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9185 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
9187 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9188 encoder,
9189 offset,
9190 _depth,
9191 )
9192 }
9193 }
9194 unsafe impl<
9195 D: fidl::encoding::ResourceDialect,
9196 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
9197 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
9198 {
9199 #[inline]
9200 unsafe fn encode(
9201 self,
9202 encoder: &mut fidl::encoding::Encoder<'_, D>,
9203 offset: usize,
9204 depth: fidl::encoding::Depth,
9205 ) -> fidl::Result<()> {
9206 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
9207 self.0.encode(encoder, offset + 0, depth)?;
9211 Ok(())
9212 }
9213 }
9214
9215 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9216 for MlmeSetControlledPortRequest
9217 {
9218 #[inline(always)]
9219 fn new_empty() -> Self {
9220 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
9221 }
9222
9223 #[inline]
9224 unsafe fn decode(
9225 &mut self,
9226 decoder: &mut fidl::encoding::Decoder<'_, D>,
9227 offset: usize,
9228 _depth: fidl::encoding::Depth,
9229 ) -> fidl::Result<()> {
9230 decoder.debug_check_bounds::<Self>(offset);
9231 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9233 Ok(())
9234 }
9235 }
9236
9237 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
9238 type Borrowed<'a> = &'a Self;
9239 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9240 value
9241 }
9242 }
9243
9244 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
9245 type Owned = Self;
9246
9247 #[inline(always)]
9248 fn inline_align(_context: fidl::encoding::Context) -> usize {
9249 8
9250 }
9251
9252 #[inline(always)]
9253 fn inline_size(_context: fidl::encoding::Context) -> usize {
9254 16
9255 }
9256 }
9257
9258 unsafe impl<D: fidl::encoding::ResourceDialect>
9259 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
9260 {
9261 #[inline]
9262 unsafe fn encode(
9263 self,
9264 encoder: &mut fidl::encoding::Encoder<'_, D>,
9265 offset: usize,
9266 _depth: fidl::encoding::Depth,
9267 ) -> fidl::Result<()> {
9268 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9269 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
9271 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
9272 encoder,
9273 offset,
9274 _depth,
9275 )
9276 }
9277 }
9278 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
9279 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
9280 {
9281 #[inline]
9282 unsafe fn encode(
9283 self,
9284 encoder: &mut fidl::encoding::Encoder<'_, D>,
9285 offset: usize,
9286 depth: fidl::encoding::Depth,
9287 ) -> fidl::Result<()> {
9288 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
9289 self.0.encode(encoder, offset + 0, depth)?;
9293 Ok(())
9294 }
9295 }
9296
9297 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9298 for MlmeSetKeysConfRequest
9299 {
9300 #[inline(always)]
9301 fn new_empty() -> Self {
9302 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
9303 }
9304
9305 #[inline]
9306 unsafe fn decode(
9307 &mut self,
9308 decoder: &mut fidl::encoding::Decoder<'_, D>,
9309 offset: usize,
9310 _depth: fidl::encoding::Depth,
9311 ) -> fidl::Result<()> {
9312 decoder.debug_check_bounds::<Self>(offset);
9313 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
9315 Ok(())
9316 }
9317 }
9318
9319 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
9320 type Borrowed<'a> = &'a Self;
9321 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9322 value
9323 }
9324 }
9325
9326 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
9327 type Owned = Self;
9328
9329 #[inline(always)]
9330 fn inline_align(_context: fidl::encoding::Context) -> usize {
9331 8
9332 }
9333
9334 #[inline(always)]
9335 fn inline_size(_context: fidl::encoding::Context) -> usize {
9336 16
9337 }
9338 }
9339
9340 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
9341 for &MlmeSetKeysReqRequest
9342 {
9343 #[inline]
9344 unsafe fn encode(
9345 self,
9346 encoder: &mut fidl::encoding::Encoder<'_, D>,
9347 offset: usize,
9348 _depth: fidl::encoding::Depth,
9349 ) -> fidl::Result<()> {
9350 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
9351 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
9353 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9354 encoder,
9355 offset,
9356 _depth,
9357 )
9358 }
9359 }
9360 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
9361 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
9362 {
9363 #[inline]
9364 unsafe fn encode(
9365 self,
9366 encoder: &mut fidl::encoding::Encoder<'_, D>,
9367 offset: usize,
9368 depth: fidl::encoding::Depth,
9369 ) -> fidl::Result<()> {
9370 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
9371 self.0.encode(encoder, offset + 0, depth)?;
9375 Ok(())
9376 }
9377 }
9378
9379 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
9380 #[inline(always)]
9381 fn new_empty() -> Self {
9382 Self { req: fidl::new_empty!(SetKeysRequest, D) }
9383 }
9384
9385 #[inline]
9386 unsafe fn decode(
9387 &mut self,
9388 decoder: &mut fidl::encoding::Decoder<'_, D>,
9389 offset: usize,
9390 _depth: fidl::encoding::Depth,
9391 ) -> fidl::Result<()> {
9392 decoder.debug_check_bounds::<Self>(offset);
9393 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9395 Ok(())
9396 }
9397 }
9398
9399 impl fidl::encoding::ValueTypeMarker for MlmeSetMacAddressRequest {
9400 type Borrowed<'a> = &'a Self;
9401 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9402 value
9403 }
9404 }
9405
9406 unsafe impl fidl::encoding::TypeMarker for MlmeSetMacAddressRequest {
9407 type Owned = Self;
9408
9409 #[inline(always)]
9410 fn inline_align(_context: fidl::encoding::Context) -> usize {
9411 1
9412 }
9413
9414 #[inline(always)]
9415 fn inline_size(_context: fidl::encoding::Context) -> usize {
9416 6
9417 }
9418 #[inline(always)]
9419 fn encode_is_copy() -> bool {
9420 true
9421 }
9422
9423 #[inline(always)]
9424 fn decode_is_copy() -> bool {
9425 true
9426 }
9427 }
9428
9429 unsafe impl<D: fidl::encoding::ResourceDialect>
9430 fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for &MlmeSetMacAddressRequest
9431 {
9432 #[inline]
9433 unsafe fn encode(
9434 self,
9435 encoder: &mut fidl::encoding::Encoder<'_, D>,
9436 offset: usize,
9437 _depth: fidl::encoding::Depth,
9438 ) -> fidl::Result<()> {
9439 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9440 unsafe {
9441 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9443 (buf_ptr as *mut MlmeSetMacAddressRequest)
9444 .write_unaligned((self as *const MlmeSetMacAddressRequest).read());
9445 }
9448 Ok(())
9449 }
9450 }
9451 unsafe impl<
9452 D: fidl::encoding::ResourceDialect,
9453 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9454 > fidl::encoding::Encode<MlmeSetMacAddressRequest, D> for (T0,)
9455 {
9456 #[inline]
9457 unsafe fn encode(
9458 self,
9459 encoder: &mut fidl::encoding::Encoder<'_, D>,
9460 offset: usize,
9461 depth: fidl::encoding::Depth,
9462 ) -> fidl::Result<()> {
9463 encoder.debug_check_bounds::<MlmeSetMacAddressRequest>(offset);
9464 self.0.encode(encoder, offset + 0, depth)?;
9468 Ok(())
9469 }
9470 }
9471
9472 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9473 for MlmeSetMacAddressRequest
9474 {
9475 #[inline(always)]
9476 fn new_empty() -> Self {
9477 Self { mac_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9478 }
9479
9480 #[inline]
9481 unsafe fn decode(
9482 &mut self,
9483 decoder: &mut fidl::encoding::Decoder<'_, D>,
9484 offset: usize,
9485 _depth: fidl::encoding::Depth,
9486 ) -> fidl::Result<()> {
9487 decoder.debug_check_bounds::<Self>(offset);
9488 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9489 unsafe {
9492 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9493 }
9494 Ok(())
9495 }
9496 }
9497
9498 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
9499 type Borrowed<'a> = &'a Self;
9500 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9501 value
9502 }
9503 }
9504
9505 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
9506 type Owned = Self;
9507
9508 #[inline(always)]
9509 fn inline_align(_context: fidl::encoding::Context) -> usize {
9510 8
9511 }
9512
9513 #[inline(always)]
9514 fn inline_size(_context: fidl::encoding::Context) -> usize {
9515 16
9516 }
9517 }
9518
9519 unsafe impl<D: fidl::encoding::ResourceDialect>
9520 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
9521 {
9522 #[inline]
9523 unsafe fn encode(
9524 self,
9525 encoder: &mut fidl::encoding::Encoder<'_, D>,
9526 offset: usize,
9527 _depth: fidl::encoding::Depth,
9528 ) -> fidl::Result<()> {
9529 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9530 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
9532 (
9533 <fidl_fuchsia_wlan_internal_common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
9534 ),
9535 encoder, offset, _depth
9536 )
9537 }
9538 }
9539 unsafe impl<
9540 D: fidl::encoding::ResourceDialect,
9541 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal_common::SignalReportIndication, D>,
9542 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
9543 {
9544 #[inline]
9545 unsafe fn encode(
9546 self,
9547 encoder: &mut fidl::encoding::Encoder<'_, D>,
9548 offset: usize,
9549 depth: fidl::encoding::Depth,
9550 ) -> fidl::Result<()> {
9551 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
9552 self.0.encode(encoder, offset + 0, depth)?;
9556 Ok(())
9557 }
9558 }
9559
9560 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9561 for MlmeSignalReportRequest
9562 {
9563 #[inline(always)]
9564 fn new_empty() -> Self {
9565 Self {
9566 ind: fidl::new_empty!(fidl_fuchsia_wlan_internal_common::SignalReportIndication, D),
9567 }
9568 }
9569
9570 #[inline]
9571 unsafe fn decode(
9572 &mut self,
9573 decoder: &mut fidl::encoding::Decoder<'_, D>,
9574 offset: usize,
9575 _depth: fidl::encoding::Depth,
9576 ) -> fidl::Result<()> {
9577 decoder.debug_check_bounds::<Self>(offset);
9578 fidl::decode!(
9580 fidl_fuchsia_wlan_internal_common::SignalReportIndication,
9581 D,
9582 &mut self.ind,
9583 decoder,
9584 offset + 0,
9585 _depth
9586 )?;
9587 Ok(())
9588 }
9589 }
9590
9591 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
9592 type Borrowed<'a> = &'a Self;
9593 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9594 value
9595 }
9596 }
9597
9598 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
9599 type Owned = Self;
9600
9601 #[inline(always)]
9602 fn inline_align(_context: fidl::encoding::Context) -> usize {
9603 4
9604 }
9605
9606 #[inline(always)]
9607 fn inline_size(_context: fidl::encoding::Context) -> usize {
9608 4
9609 }
9610 }
9611
9612 unsafe impl<D: fidl::encoding::ResourceDialect>
9613 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
9614 for &MlmeStartCaptureFramesRequest
9615 {
9616 #[inline]
9617 unsafe fn encode(
9618 self,
9619 encoder: &mut fidl::encoding::Encoder<'_, D>,
9620 offset: usize,
9621 _depth: fidl::encoding::Depth,
9622 ) -> fidl::Result<()> {
9623 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9624 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
9626 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9627 encoder,
9628 offset,
9629 _depth,
9630 )
9631 }
9632 }
9633 unsafe impl<
9634 D: fidl::encoding::ResourceDialect,
9635 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
9636 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
9637 {
9638 #[inline]
9639 unsafe fn encode(
9640 self,
9641 encoder: &mut fidl::encoding::Encoder<'_, D>,
9642 offset: usize,
9643 depth: fidl::encoding::Depth,
9644 ) -> fidl::Result<()> {
9645 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
9646 self.0.encode(encoder, offset + 0, depth)?;
9650 Ok(())
9651 }
9652 }
9653
9654 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9655 for MlmeStartCaptureFramesRequest
9656 {
9657 #[inline(always)]
9658 fn new_empty() -> Self {
9659 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
9660 }
9661
9662 #[inline]
9663 unsafe fn decode(
9664 &mut self,
9665 decoder: &mut fidl::encoding::Decoder<'_, D>,
9666 offset: usize,
9667 _depth: fidl::encoding::Depth,
9668 ) -> fidl::Result<()> {
9669 decoder.debug_check_bounds::<Self>(offset);
9670 fidl::decode!(
9672 StartCaptureFramesRequest,
9673 D,
9674 &mut self.req,
9675 decoder,
9676 offset + 0,
9677 _depth
9678 )?;
9679 Ok(())
9680 }
9681 }
9682
9683 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
9684 type Borrowed<'a> = &'a Self;
9685 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9686 value
9687 }
9688 }
9689
9690 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
9691 type Owned = Self;
9692
9693 #[inline(always)]
9694 fn inline_align(_context: fidl::encoding::Context) -> usize {
9695 4
9696 }
9697
9698 #[inline(always)]
9699 fn inline_size(_context: fidl::encoding::Context) -> usize {
9700 8
9701 }
9702 }
9703
9704 unsafe impl<D: fidl::encoding::ResourceDialect>
9705 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
9706 for &MlmeStartCaptureFramesResponse
9707 {
9708 #[inline]
9709 unsafe fn encode(
9710 self,
9711 encoder: &mut fidl::encoding::Encoder<'_, D>,
9712 offset: usize,
9713 _depth: fidl::encoding::Depth,
9714 ) -> fidl::Result<()> {
9715 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9716 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
9718 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
9719 &self.resp,
9720 ),),
9721 encoder,
9722 offset,
9723 _depth,
9724 )
9725 }
9726 }
9727 unsafe impl<
9728 D: fidl::encoding::ResourceDialect,
9729 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
9730 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
9731 {
9732 #[inline]
9733 unsafe fn encode(
9734 self,
9735 encoder: &mut fidl::encoding::Encoder<'_, D>,
9736 offset: usize,
9737 depth: fidl::encoding::Depth,
9738 ) -> fidl::Result<()> {
9739 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
9740 self.0.encode(encoder, offset + 0, depth)?;
9744 Ok(())
9745 }
9746 }
9747
9748 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9749 for MlmeStartCaptureFramesResponse
9750 {
9751 #[inline(always)]
9752 fn new_empty() -> Self {
9753 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
9754 }
9755
9756 #[inline]
9757 unsafe fn decode(
9758 &mut self,
9759 decoder: &mut fidl::encoding::Decoder<'_, D>,
9760 offset: usize,
9761 _depth: fidl::encoding::Depth,
9762 ) -> fidl::Result<()> {
9763 decoder.debug_check_bounds::<Self>(offset);
9764 fidl::decode!(
9766 StartCaptureFramesResponse,
9767 D,
9768 &mut self.resp,
9769 decoder,
9770 offset + 0,
9771 _depth
9772 )?;
9773 Ok(())
9774 }
9775 }
9776
9777 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
9778 type Borrowed<'a> = &'a Self;
9779 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9780 value
9781 }
9782 }
9783
9784 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
9785 type Owned = Self;
9786
9787 #[inline(always)]
9788 fn inline_align(_context: fidl::encoding::Context) -> usize {
9789 4
9790 }
9791
9792 #[inline(always)]
9793 fn inline_size(_context: fidl::encoding::Context) -> usize {
9794 4
9795 }
9796 }
9797
9798 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
9799 for &MlmeStartConfRequest
9800 {
9801 #[inline]
9802 unsafe fn encode(
9803 self,
9804 encoder: &mut fidl::encoding::Encoder<'_, D>,
9805 offset: usize,
9806 _depth: fidl::encoding::Depth,
9807 ) -> fidl::Result<()> {
9808 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9809 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
9811 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9812 encoder,
9813 offset,
9814 _depth,
9815 )
9816 }
9817 }
9818 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
9819 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
9820 {
9821 #[inline]
9822 unsafe fn encode(
9823 self,
9824 encoder: &mut fidl::encoding::Encoder<'_, D>,
9825 offset: usize,
9826 depth: fidl::encoding::Depth,
9827 ) -> fidl::Result<()> {
9828 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
9829 self.0.encode(encoder, offset + 0, depth)?;
9833 Ok(())
9834 }
9835 }
9836
9837 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
9838 #[inline(always)]
9839 fn new_empty() -> Self {
9840 Self { resp: fidl::new_empty!(StartConfirm, D) }
9841 }
9842
9843 #[inline]
9844 unsafe fn decode(
9845 &mut self,
9846 decoder: &mut fidl::encoding::Decoder<'_, D>,
9847 offset: usize,
9848 _depth: fidl::encoding::Depth,
9849 ) -> fidl::Result<()> {
9850 decoder.debug_check_bounds::<Self>(offset);
9851 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9853 Ok(())
9854 }
9855 }
9856
9857 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
9858 type Borrowed<'a> = &'a Self;
9859 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9860 value
9861 }
9862 }
9863
9864 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
9865 type Owned = Self;
9866
9867 #[inline(always)]
9868 fn inline_align(_context: fidl::encoding::Context) -> usize {
9869 8
9870 }
9871
9872 #[inline(always)]
9873 fn inline_size(_context: fidl::encoding::Context) -> usize {
9874 96
9875 }
9876 }
9877
9878 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
9879 for &MlmeStartReqRequest
9880 {
9881 #[inline]
9882 unsafe fn encode(
9883 self,
9884 encoder: &mut fidl::encoding::Encoder<'_, D>,
9885 offset: usize,
9886 _depth: fidl::encoding::Depth,
9887 ) -> fidl::Result<()> {
9888 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9889 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
9891 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9892 encoder,
9893 offset,
9894 _depth,
9895 )
9896 }
9897 }
9898 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
9899 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
9900 {
9901 #[inline]
9902 unsafe fn encode(
9903 self,
9904 encoder: &mut fidl::encoding::Encoder<'_, D>,
9905 offset: usize,
9906 depth: fidl::encoding::Depth,
9907 ) -> fidl::Result<()> {
9908 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
9909 self.0.encode(encoder, offset + 0, depth)?;
9913 Ok(())
9914 }
9915 }
9916
9917 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
9918 #[inline(always)]
9919 fn new_empty() -> Self {
9920 Self { req: fidl::new_empty!(StartRequest, D) }
9921 }
9922
9923 #[inline]
9924 unsafe fn decode(
9925 &mut self,
9926 decoder: &mut fidl::encoding::Decoder<'_, D>,
9927 offset: usize,
9928 _depth: fidl::encoding::Depth,
9929 ) -> fidl::Result<()> {
9930 decoder.debug_check_bounds::<Self>(offset);
9931 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9933 Ok(())
9934 }
9935 }
9936
9937 impl fidl::encoding::ValueTypeMarker for MlmeStartRssiMonitorRequest {
9938 type Borrowed<'a> = &'a Self;
9939 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9940 value
9941 }
9942 }
9943
9944 unsafe impl fidl::encoding::TypeMarker for MlmeStartRssiMonitorRequest {
9945 type Owned = Self;
9946
9947 #[inline(always)]
9948 fn inline_align(_context: fidl::encoding::Context) -> usize {
9949 1
9950 }
9951
9952 #[inline(always)]
9953 fn inline_size(_context: fidl::encoding::Context) -> usize {
9954 2
9955 }
9956 #[inline(always)]
9957 fn encode_is_copy() -> bool {
9958 true
9959 }
9960
9961 #[inline(always)]
9962 fn decode_is_copy() -> bool {
9963 true
9964 }
9965 }
9966
9967 unsafe impl<D: fidl::encoding::ResourceDialect>
9968 fidl::encoding::Encode<MlmeStartRssiMonitorRequest, D> for &MlmeStartRssiMonitorRequest
9969 {
9970 #[inline]
9971 unsafe fn encode(
9972 self,
9973 encoder: &mut fidl::encoding::Encoder<'_, D>,
9974 offset: usize,
9975 _depth: fidl::encoding::Depth,
9976 ) -> fidl::Result<()> {
9977 encoder.debug_check_bounds::<MlmeStartRssiMonitorRequest>(offset);
9978 unsafe {
9979 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9981 (buf_ptr as *mut MlmeStartRssiMonitorRequest)
9982 .write_unaligned((self as *const MlmeStartRssiMonitorRequest).read());
9983 }
9986 Ok(())
9987 }
9988 }
9989 unsafe impl<
9990 D: fidl::encoding::ResourceDialect,
9991 T0: fidl::encoding::Encode<i8, D>,
9992 T1: fidl::encoding::Encode<i8, D>,
9993 > fidl::encoding::Encode<MlmeStartRssiMonitorRequest, D> for (T0, T1)
9994 {
9995 #[inline]
9996 unsafe fn encode(
9997 self,
9998 encoder: &mut fidl::encoding::Encoder<'_, D>,
9999 offset: usize,
10000 depth: fidl::encoding::Depth,
10001 ) -> fidl::Result<()> {
10002 encoder.debug_check_bounds::<MlmeStartRssiMonitorRequest>(offset);
10003 self.0.encode(encoder, offset + 0, depth)?;
10007 self.1.encode(encoder, offset + 1, depth)?;
10008 Ok(())
10009 }
10010 }
10011
10012 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10013 for MlmeStartRssiMonitorRequest
10014 {
10015 #[inline(always)]
10016 fn new_empty() -> Self {
10017 Self { min_rssi_dbm: fidl::new_empty!(i8, D), max_rssi_dbm: fidl::new_empty!(i8, D) }
10018 }
10019
10020 #[inline]
10021 unsafe fn decode(
10022 &mut self,
10023 decoder: &mut fidl::encoding::Decoder<'_, D>,
10024 offset: usize,
10025 _depth: fidl::encoding::Depth,
10026 ) -> fidl::Result<()> {
10027 decoder.debug_check_bounds::<Self>(offset);
10028 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10029 unsafe {
10032 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
10033 }
10034 Ok(())
10035 }
10036 }
10037
10038 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
10039 type Borrowed<'a> = &'a Self;
10040 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10041 value
10042 }
10043 }
10044
10045 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
10046 type Owned = Self;
10047
10048 #[inline(always)]
10049 fn inline_align(_context: fidl::encoding::Context) -> usize {
10050 8
10051 }
10052
10053 #[inline(always)]
10054 fn inline_size(_context: fidl::encoding::Context) -> usize {
10055 64
10056 }
10057 }
10058
10059 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
10060 for &MlmeStartScanRequest
10061 {
10062 #[inline]
10063 unsafe fn encode(
10064 self,
10065 encoder: &mut fidl::encoding::Encoder<'_, D>,
10066 offset: usize,
10067 _depth: fidl::encoding::Depth,
10068 ) -> fidl::Result<()> {
10069 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
10070 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
10072 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
10073 encoder,
10074 offset,
10075 _depth,
10076 )
10077 }
10078 }
10079 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
10080 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
10081 {
10082 #[inline]
10083 unsafe fn encode(
10084 self,
10085 encoder: &mut fidl::encoding::Encoder<'_, D>,
10086 offset: usize,
10087 depth: fidl::encoding::Depth,
10088 ) -> fidl::Result<()> {
10089 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
10090 self.0.encode(encoder, offset + 0, depth)?;
10094 Ok(())
10095 }
10096 }
10097
10098 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
10099 #[inline(always)]
10100 fn new_empty() -> Self {
10101 Self { req: fidl::new_empty!(ScanRequest, D) }
10102 }
10103
10104 #[inline]
10105 unsafe fn decode(
10106 &mut self,
10107 decoder: &mut fidl::encoding::Decoder<'_, D>,
10108 offset: usize,
10109 _depth: fidl::encoding::Depth,
10110 ) -> fidl::Result<()> {
10111 decoder.debug_check_bounds::<Self>(offset);
10112 fidl::decode!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
10114 Ok(())
10115 }
10116 }
10117
10118 impl fidl::encoding::ValueTypeMarker for MlmeStartScheduledScanRequest {
10119 type Borrowed<'a> = &'a Self;
10120 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10121 value
10122 }
10123 }
10124
10125 unsafe impl fidl::encoding::TypeMarker for MlmeStartScheduledScanRequest {
10126 type Owned = Self;
10127
10128 #[inline(always)]
10129 fn inline_align(_context: fidl::encoding::Context) -> usize {
10130 8
10131 }
10132
10133 #[inline(always)]
10134 fn inline_size(_context: fidl::encoding::Context) -> usize {
10135 24
10136 }
10137 }
10138
10139 unsafe impl<D: fidl::encoding::ResourceDialect>
10140 fidl::encoding::Encode<MlmeStartScheduledScanRequest, D>
10141 for &MlmeStartScheduledScanRequest
10142 {
10143 #[inline]
10144 unsafe fn encode(
10145 self,
10146 encoder: &mut fidl::encoding::Encoder<'_, D>,
10147 offset: usize,
10148 _depth: fidl::encoding::Depth,
10149 ) -> fidl::Result<()> {
10150 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
10151 fidl::encoding::Encode::<MlmeStartScheduledScanRequest, D>::encode(
10153 (
10154 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10155 <fidl_fuchsia_wlan_common_common::ScheduledScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),
10156 ),
10157 encoder, offset, _depth
10158 )
10159 }
10160 }
10161 unsafe impl<
10162 D: fidl::encoding::ResourceDialect,
10163 T0: fidl::encoding::Encode<u64, D>,
10164 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D>,
10165 > fidl::encoding::Encode<MlmeStartScheduledScanRequest, D> for (T0, T1)
10166 {
10167 #[inline]
10168 unsafe fn encode(
10169 self,
10170 encoder: &mut fidl::encoding::Encoder<'_, D>,
10171 offset: usize,
10172 depth: fidl::encoding::Depth,
10173 ) -> fidl::Result<()> {
10174 encoder.debug_check_bounds::<MlmeStartScheduledScanRequest>(offset);
10175 self.0.encode(encoder, offset + 0, depth)?;
10179 self.1.encode(encoder, offset + 8, depth)?;
10180 Ok(())
10181 }
10182 }
10183
10184 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10185 for MlmeStartScheduledScanRequest
10186 {
10187 #[inline(always)]
10188 fn new_empty() -> Self {
10189 Self {
10190 txn_id: fidl::new_empty!(u64, D),
10191 req: fidl::new_empty!(fidl_fuchsia_wlan_common_common::ScheduledScanRequest, D),
10192 }
10193 }
10194
10195 #[inline]
10196 unsafe fn decode(
10197 &mut self,
10198 decoder: &mut fidl::encoding::Decoder<'_, D>,
10199 offset: usize,
10200 _depth: fidl::encoding::Depth,
10201 ) -> fidl::Result<()> {
10202 decoder.debug_check_bounds::<Self>(offset);
10203 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10205 fidl::decode!(
10206 fidl_fuchsia_wlan_common_common::ScheduledScanRequest,
10207 D,
10208 &mut self.req,
10209 decoder,
10210 offset + 8,
10211 _depth
10212 )?;
10213 Ok(())
10214 }
10215 }
10216
10217 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
10218 type Borrowed<'a> = &'a Self;
10219 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10220 value
10221 }
10222 }
10223
10224 unsafe impl fidl::encoding::TypeMarker for MlmeStopConfRequest {
10225 type Owned = Self;
10226
10227 #[inline(always)]
10228 fn inline_align(_context: fidl::encoding::Context) -> usize {
10229 4
10230 }
10231
10232 #[inline(always)]
10233 fn inline_size(_context: fidl::encoding::Context) -> usize {
10234 4
10235 }
10236 }
10237
10238 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
10239 for &MlmeStopConfRequest
10240 {
10241 #[inline]
10242 unsafe fn encode(
10243 self,
10244 encoder: &mut fidl::encoding::Encoder<'_, D>,
10245 offset: usize,
10246 _depth: fidl::encoding::Depth,
10247 ) -> fidl::Result<()> {
10248 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10249 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
10251 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
10252 encoder,
10253 offset,
10254 _depth,
10255 )
10256 }
10257 }
10258 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
10259 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
10260 {
10261 #[inline]
10262 unsafe fn encode(
10263 self,
10264 encoder: &mut fidl::encoding::Encoder<'_, D>,
10265 offset: usize,
10266 depth: fidl::encoding::Depth,
10267 ) -> fidl::Result<()> {
10268 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
10269 self.0.encode(encoder, offset + 0, depth)?;
10273 Ok(())
10274 }
10275 }
10276
10277 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
10278 #[inline(always)]
10279 fn new_empty() -> Self {
10280 Self { resp: fidl::new_empty!(StopConfirm, D) }
10281 }
10282
10283 #[inline]
10284 unsafe fn decode(
10285 &mut self,
10286 decoder: &mut fidl::encoding::Decoder<'_, D>,
10287 offset: usize,
10288 _depth: fidl::encoding::Depth,
10289 ) -> fidl::Result<()> {
10290 decoder.debug_check_bounds::<Self>(offset);
10291 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
10293 Ok(())
10294 }
10295 }
10296
10297 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
10298 type Borrowed<'a> = &'a Self;
10299 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10300 value
10301 }
10302 }
10303
10304 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
10305 type Owned = Self;
10306
10307 #[inline(always)]
10308 fn inline_align(_context: fidl::encoding::Context) -> usize {
10309 8
10310 }
10311
10312 #[inline(always)]
10313 fn inline_size(_context: fidl::encoding::Context) -> usize {
10314 16
10315 }
10316 }
10317
10318 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
10319 for &MlmeStopReqRequest
10320 {
10321 #[inline]
10322 unsafe fn encode(
10323 self,
10324 encoder: &mut fidl::encoding::Encoder<'_, D>,
10325 offset: usize,
10326 _depth: fidl::encoding::Depth,
10327 ) -> fidl::Result<()> {
10328 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10329 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
10331 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
10332 encoder,
10333 offset,
10334 _depth,
10335 )
10336 }
10337 }
10338 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
10339 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
10340 {
10341 #[inline]
10342 unsafe fn encode(
10343 self,
10344 encoder: &mut fidl::encoding::Encoder<'_, D>,
10345 offset: usize,
10346 depth: fidl::encoding::Depth,
10347 ) -> fidl::Result<()> {
10348 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
10349 self.0.encode(encoder, offset + 0, depth)?;
10353 Ok(())
10354 }
10355 }
10356
10357 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
10358 #[inline(always)]
10359 fn new_empty() -> Self {
10360 Self { req: fidl::new_empty!(StopRequest, D) }
10361 }
10362
10363 #[inline]
10364 unsafe fn decode(
10365 &mut self,
10366 decoder: &mut fidl::encoding::Decoder<'_, D>,
10367 offset: usize,
10368 _depth: fidl::encoding::Depth,
10369 ) -> fidl::Result<()> {
10370 decoder.debug_check_bounds::<Self>(offset);
10371 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
10373 Ok(())
10374 }
10375 }
10376
10377 impl fidl::encoding::ValueTypeMarker for MlmeStopScheduledScanRequest {
10378 type Borrowed<'a> = &'a Self;
10379 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10380 value
10381 }
10382 }
10383
10384 unsafe impl fidl::encoding::TypeMarker for MlmeStopScheduledScanRequest {
10385 type Owned = Self;
10386
10387 #[inline(always)]
10388 fn inline_align(_context: fidl::encoding::Context) -> usize {
10389 8
10390 }
10391
10392 #[inline(always)]
10393 fn inline_size(_context: fidl::encoding::Context) -> usize {
10394 8
10395 }
10396 #[inline(always)]
10397 fn encode_is_copy() -> bool {
10398 true
10399 }
10400
10401 #[inline(always)]
10402 fn decode_is_copy() -> bool {
10403 true
10404 }
10405 }
10406
10407 unsafe impl<D: fidl::encoding::ResourceDialect>
10408 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for &MlmeStopScheduledScanRequest
10409 {
10410 #[inline]
10411 unsafe fn encode(
10412 self,
10413 encoder: &mut fidl::encoding::Encoder<'_, D>,
10414 offset: usize,
10415 _depth: fidl::encoding::Depth,
10416 ) -> fidl::Result<()> {
10417 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10418 unsafe {
10419 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10421 (buf_ptr as *mut MlmeStopScheduledScanRequest)
10422 .write_unaligned((self as *const MlmeStopScheduledScanRequest).read());
10423 }
10426 Ok(())
10427 }
10428 }
10429 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
10430 fidl::encoding::Encode<MlmeStopScheduledScanRequest, D> for (T0,)
10431 {
10432 #[inline]
10433 unsafe fn encode(
10434 self,
10435 encoder: &mut fidl::encoding::Encoder<'_, D>,
10436 offset: usize,
10437 depth: fidl::encoding::Depth,
10438 ) -> fidl::Result<()> {
10439 encoder.debug_check_bounds::<MlmeStopScheduledScanRequest>(offset);
10440 self.0.encode(encoder, offset + 0, depth)?;
10444 Ok(())
10445 }
10446 }
10447
10448 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10449 for MlmeStopScheduledScanRequest
10450 {
10451 #[inline(always)]
10452 fn new_empty() -> Self {
10453 Self { txn_id: fidl::new_empty!(u64, D) }
10454 }
10455
10456 #[inline]
10457 unsafe fn decode(
10458 &mut self,
10459 decoder: &mut fidl::encoding::Decoder<'_, D>,
10460 offset: usize,
10461 _depth: fidl::encoding::Depth,
10462 ) -> fidl::Result<()> {
10463 decoder.debug_check_bounds::<Self>(offset);
10464 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10465 unsafe {
10468 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
10469 }
10470 Ok(())
10471 }
10472 }
10473
10474 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
10475 type Borrowed<'a> = &'a Self;
10476 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10477 value
10478 }
10479 }
10480
10481 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
10482 type Owned = Self;
10483
10484 #[inline(always)]
10485 fn inline_align(_context: fidl::encoding::Context) -> usize {
10486 8
10487 }
10488
10489 #[inline(always)]
10490 fn inline_size(_context: fidl::encoding::Context) -> usize {
10491 48
10492 }
10493 }
10494
10495 unsafe impl<D: fidl::encoding::ResourceDialect>
10496 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
10497 {
10498 #[inline]
10499 unsafe fn encode(
10500 self,
10501 encoder: &mut fidl::encoding::Encoder<'_, D>,
10502 offset: usize,
10503 _depth: fidl::encoding::Depth,
10504 ) -> fidl::Result<()> {
10505 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10506 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
10508 (
10509 <fidl_fuchsia_wlan_ieee80211_common::ChannelNumber as fidl::encoding::ValueTypeMarker>::borrow(&self.primary),
10510 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
10511 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
10512 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
10513 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
10514 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
10515 ),
10516 encoder, offset, _depth
10517 )
10518 }
10519 }
10520 unsafe impl<
10521 D: fidl::encoding::ResourceDialect,
10522 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D>,
10523 T1: fidl::encoding::Encode<u16, D>,
10524 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
10525 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
10526 T4: fidl::encoding::Encode<
10527 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10528 D,
10529 >,
10530 T5: fidl::encoding::Encode<
10531 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10532 D,
10533 >,
10534 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
10535 {
10536 #[inline]
10537 unsafe fn encode(
10538 self,
10539 encoder: &mut fidl::encoding::Encoder<'_, D>,
10540 offset: usize,
10541 depth: fidl::encoding::Depth,
10542 ) -> fidl::Result<()> {
10543 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
10544 unsafe {
10547 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10548 (ptr as *mut u64).write_unaligned(0);
10549 }
10550 self.0.encode(encoder, offset + 0, depth)?;
10552 self.1.encode(encoder, offset + 2, depth)?;
10553 self.2.encode(encoder, offset + 8, depth)?;
10554 self.3.encode(encoder, offset + 24, depth)?;
10555 self.4.encode(encoder, offset + 32, depth)?;
10556 self.5.encode(encoder, offset + 40, depth)?;
10557 Ok(())
10558 }
10559 }
10560
10561 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10562 for NegotiatedCapabilities
10563 {
10564 #[inline(always)]
10565 fn new_empty() -> Self {
10566 Self {
10567 primary: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D),
10568 capability_info: fidl::new_empty!(u16, D),
10569 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
10570 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
10571 ht_cap: fidl::new_empty!(
10572 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10573 D
10574 ),
10575 vht_cap: fidl::new_empty!(
10576 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10577 D
10578 ),
10579 }
10580 }
10581
10582 #[inline]
10583 unsafe fn decode(
10584 &mut self,
10585 decoder: &mut fidl::encoding::Decoder<'_, D>,
10586 offset: usize,
10587 _depth: fidl::encoding::Depth,
10588 ) -> fidl::Result<()> {
10589 decoder.debug_check_bounds::<Self>(offset);
10590 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10592 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10593 let mask = 0xffffffff00000000u64;
10594 let maskedval = padval & mask;
10595 if maskedval != 0 {
10596 return Err(fidl::Error::NonZeroPadding {
10597 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10598 });
10599 }
10600 fidl::decode!(
10601 fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
10602 D,
10603 &mut self.primary,
10604 decoder,
10605 offset + 0,
10606 _depth
10607 )?;
10608 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 2, _depth)?;
10609 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 8, _depth)?;
10610 fidl::decode!(
10611 fidl::encoding::Boxed<WmmParameter>,
10612 D,
10613 &mut self.wmm_param,
10614 decoder,
10615 offset + 24,
10616 _depth
10617 )?;
10618 fidl::decode!(
10619 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::HtCapabilities>,
10620 D,
10621 &mut self.ht_cap,
10622 decoder,
10623 offset + 32,
10624 _depth
10625 )?;
10626 fidl::decode!(
10627 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211_common::VhtCapabilities>,
10628 D,
10629 &mut self.vht_cap,
10630 decoder,
10631 offset + 40,
10632 _depth
10633 )?;
10634 Ok(())
10635 }
10636 }
10637
10638 impl fidl::encoding::ValueTypeMarker for PmkInfo {
10639 type Borrowed<'a> = &'a Self;
10640 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10641 value
10642 }
10643 }
10644
10645 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
10646 type Owned = Self;
10647
10648 #[inline(always)]
10649 fn inline_align(_context: fidl::encoding::Context) -> usize {
10650 8
10651 }
10652
10653 #[inline(always)]
10654 fn inline_size(_context: fidl::encoding::Context) -> usize {
10655 32
10656 }
10657 }
10658
10659 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
10660 #[inline]
10661 unsafe fn encode(
10662 self,
10663 encoder: &mut fidl::encoding::Encoder<'_, D>,
10664 offset: usize,
10665 _depth: fidl::encoding::Depth,
10666 ) -> fidl::Result<()> {
10667 encoder.debug_check_bounds::<PmkInfo>(offset);
10668 fidl::encoding::Encode::<PmkInfo, D>::encode(
10670 (
10671 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
10672 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
10673 ),
10674 encoder, offset, _depth
10675 )
10676 }
10677 }
10678 unsafe impl<
10679 D: fidl::encoding::ResourceDialect,
10680 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10681 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10682 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
10683 {
10684 #[inline]
10685 unsafe fn encode(
10686 self,
10687 encoder: &mut fidl::encoding::Encoder<'_, D>,
10688 offset: usize,
10689 depth: fidl::encoding::Depth,
10690 ) -> fidl::Result<()> {
10691 encoder.debug_check_bounds::<PmkInfo>(offset);
10692 self.0.encode(encoder, offset + 0, depth)?;
10696 self.1.encode(encoder, offset + 16, depth)?;
10697 Ok(())
10698 }
10699 }
10700
10701 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
10702 #[inline(always)]
10703 fn new_empty() -> Self {
10704 Self {
10705 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10706 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10707 }
10708 }
10709
10710 #[inline]
10711 unsafe fn decode(
10712 &mut self,
10713 decoder: &mut fidl::encoding::Decoder<'_, D>,
10714 offset: usize,
10715 _depth: fidl::encoding::Depth,
10716 ) -> fidl::Result<()> {
10717 decoder.debug_check_bounds::<Self>(offset);
10718 fidl::decode!(
10720 fidl::encoding::UnboundedVector<u8>,
10721 D,
10722 &mut self.pmk,
10723 decoder,
10724 offset + 0,
10725 _depth
10726 )?;
10727 fidl::decode!(
10728 fidl::encoding::UnboundedVector<u8>,
10729 D,
10730 &mut self.pmkid,
10731 decoder,
10732 offset + 16,
10733 _depth
10734 )?;
10735 Ok(())
10736 }
10737 }
10738
10739 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
10740 type Borrowed<'a> = &'a Self;
10741 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10742 value
10743 }
10744 }
10745
10746 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
10747 type Owned = Self;
10748
10749 #[inline(always)]
10750 fn inline_align(_context: fidl::encoding::Context) -> usize {
10751 1
10752 }
10753
10754 #[inline(always)]
10755 fn inline_size(_context: fidl::encoding::Context) -> usize {
10756 6
10757 }
10758 #[inline(always)]
10759 fn encode_is_copy() -> bool {
10760 true
10761 }
10762
10763 #[inline(always)]
10764 fn decode_is_copy() -> bool {
10765 true
10766 }
10767 }
10768
10769 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
10770 for &ReconnectRequest
10771 {
10772 #[inline]
10773 unsafe fn encode(
10774 self,
10775 encoder: &mut fidl::encoding::Encoder<'_, D>,
10776 offset: usize,
10777 _depth: fidl::encoding::Depth,
10778 ) -> fidl::Result<()> {
10779 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10780 unsafe {
10781 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10783 (buf_ptr as *mut ReconnectRequest)
10784 .write_unaligned((self as *const ReconnectRequest).read());
10785 }
10788 Ok(())
10789 }
10790 }
10791 unsafe impl<
10792 D: fidl::encoding::ResourceDialect,
10793 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10794 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
10795 {
10796 #[inline]
10797 unsafe fn encode(
10798 self,
10799 encoder: &mut fidl::encoding::Encoder<'_, D>,
10800 offset: usize,
10801 depth: fidl::encoding::Depth,
10802 ) -> fidl::Result<()> {
10803 encoder.debug_check_bounds::<ReconnectRequest>(offset);
10804 self.0.encode(encoder, offset + 0, depth)?;
10808 Ok(())
10809 }
10810 }
10811
10812 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
10813 #[inline(always)]
10814 fn new_empty() -> Self {
10815 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10816 }
10817
10818 #[inline]
10819 unsafe fn decode(
10820 &mut self,
10821 decoder: &mut fidl::encoding::Decoder<'_, D>,
10822 offset: usize,
10823 _depth: fidl::encoding::Depth,
10824 ) -> fidl::Result<()> {
10825 decoder.debug_check_bounds::<Self>(offset);
10826 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10827 unsafe {
10830 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10831 }
10832 Ok(())
10833 }
10834 }
10835
10836 impl fidl::encoding::ValueTypeMarker for ResetRequest {
10837 type Borrowed<'a> = &'a Self;
10838 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10839 value
10840 }
10841 }
10842
10843 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
10844 type Owned = Self;
10845
10846 #[inline(always)]
10847 fn inline_align(_context: fidl::encoding::Context) -> usize {
10848 1
10849 }
10850
10851 #[inline(always)]
10852 fn inline_size(_context: fidl::encoding::Context) -> usize {
10853 7
10854 }
10855 }
10856
10857 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
10858 for &ResetRequest
10859 {
10860 #[inline]
10861 unsafe fn encode(
10862 self,
10863 encoder: &mut fidl::encoding::Encoder<'_, D>,
10864 offset: usize,
10865 _depth: fidl::encoding::Depth,
10866 ) -> fidl::Result<()> {
10867 encoder.debug_check_bounds::<ResetRequest>(offset);
10868 fidl::encoding::Encode::<ResetRequest, D>::encode(
10870 (
10871 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10872 &self.sta_address,
10873 ),
10874 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
10875 ),
10876 encoder,
10877 offset,
10878 _depth,
10879 )
10880 }
10881 }
10882 unsafe impl<
10883 D: fidl::encoding::ResourceDialect,
10884 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10885 T1: fidl::encoding::Encode<bool, D>,
10886 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
10887 {
10888 #[inline]
10889 unsafe fn encode(
10890 self,
10891 encoder: &mut fidl::encoding::Encoder<'_, D>,
10892 offset: usize,
10893 depth: fidl::encoding::Depth,
10894 ) -> fidl::Result<()> {
10895 encoder.debug_check_bounds::<ResetRequest>(offset);
10896 self.0.encode(encoder, offset + 0, depth)?;
10900 self.1.encode(encoder, offset + 6, depth)?;
10901 Ok(())
10902 }
10903 }
10904
10905 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
10906 #[inline(always)]
10907 fn new_empty() -> Self {
10908 Self {
10909 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10910 set_default_mib: fidl::new_empty!(bool, D),
10911 }
10912 }
10913
10914 #[inline]
10915 unsafe fn decode(
10916 &mut self,
10917 decoder: &mut fidl::encoding::Decoder<'_, D>,
10918 offset: usize,
10919 _depth: fidl::encoding::Depth,
10920 ) -> fidl::Result<()> {
10921 decoder.debug_check_bounds::<Self>(offset);
10922 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
10924 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
10925 Ok(())
10926 }
10927 }
10928
10929 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
10930 type Borrowed<'a> = &'a Self;
10931 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10932 value
10933 }
10934 }
10935
10936 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
10937 type Owned = Self;
10938
10939 #[inline(always)]
10940 fn inline_align(_context: fidl::encoding::Context) -> usize {
10941 8
10942 }
10943
10944 #[inline(always)]
10945 fn inline_size(_context: fidl::encoding::Context) -> usize {
10946 32
10947 }
10948 }
10949
10950 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
10951 for &RoamConfirm
10952 {
10953 #[inline]
10954 unsafe fn encode(
10955 self,
10956 encoder: &mut fidl::encoding::Encoder<'_, D>,
10957 offset: usize,
10958 _depth: fidl::encoding::Depth,
10959 ) -> fidl::Result<()> {
10960 encoder.debug_check_bounds::<RoamConfirm>(offset);
10961 fidl::encoding::Encode::<RoamConfirm, D>::encode(
10963 (
10964 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10965 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10966 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10967 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
10968 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
10969 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
10970 ),
10971 encoder, offset, _depth
10972 )
10973 }
10974 }
10975 unsafe impl<
10976 D: fidl::encoding::ResourceDialect,
10977 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10978 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
10979 T2: fidl::encoding::Encode<bool, D>,
10980 T3: fidl::encoding::Encode<bool, D>,
10981 T4: fidl::encoding::Encode<u16, D>,
10982 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10983 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
10984 {
10985 #[inline]
10986 unsafe fn encode(
10987 self,
10988 encoder: &mut fidl::encoding::Encoder<'_, D>,
10989 offset: usize,
10990 depth: fidl::encoding::Depth,
10991 ) -> fidl::Result<()> {
10992 encoder.debug_check_bounds::<RoamConfirm>(offset);
10993 unsafe {
10996 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10997 (ptr as *mut u64).write_unaligned(0);
10998 }
10999 self.0.encode(encoder, offset + 0, depth)?;
11001 self.1.encode(encoder, offset + 6, depth)?;
11002 self.2.encode(encoder, offset + 8, depth)?;
11003 self.3.encode(encoder, offset + 9, depth)?;
11004 self.4.encode(encoder, offset + 10, depth)?;
11005 self.5.encode(encoder, offset + 16, depth)?;
11006 Ok(())
11007 }
11008 }
11009
11010 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
11011 #[inline(always)]
11012 fn new_empty() -> Self {
11013 Self {
11014 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11015 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11016 original_association_maintained: fidl::new_empty!(bool, D),
11017 target_bss_authenticated: fidl::new_empty!(bool, D),
11018 association_id: fidl::new_empty!(u16, D),
11019 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11020 }
11021 }
11022
11023 #[inline]
11024 unsafe fn decode(
11025 &mut self,
11026 decoder: &mut fidl::encoding::Decoder<'_, D>,
11027 offset: usize,
11028 _depth: fidl::encoding::Depth,
11029 ) -> fidl::Result<()> {
11030 decoder.debug_check_bounds::<Self>(offset);
11031 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11033 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11034 let mask = 0xffffffff00000000u64;
11035 let maskedval = padval & mask;
11036 if maskedval != 0 {
11037 return Err(fidl::Error::NonZeroPadding {
11038 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11039 });
11040 }
11041 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11042 fidl::decode!(
11043 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11044 D,
11045 &mut self.status_code,
11046 decoder,
11047 offset + 6,
11048 _depth
11049 )?;
11050 fidl::decode!(
11051 bool,
11052 D,
11053 &mut self.original_association_maintained,
11054 decoder,
11055 offset + 8,
11056 _depth
11057 )?;
11058 fidl::decode!(
11059 bool,
11060 D,
11061 &mut self.target_bss_authenticated,
11062 decoder,
11063 offset + 9,
11064 _depth
11065 )?;
11066 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
11067 fidl::decode!(
11068 fidl::encoding::UnboundedVector<u8>,
11069 D,
11070 &mut self.association_ies,
11071 decoder,
11072 offset + 16,
11073 _depth
11074 )?;
11075 Ok(())
11076 }
11077 }
11078
11079 impl fidl::encoding::ValueTypeMarker for RoamRequest {
11080 type Borrowed<'a> = &'a Self;
11081 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11082 value
11083 }
11084 }
11085
11086 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
11087 type Owned = Self;
11088
11089 #[inline(always)]
11090 fn inline_align(_context: fidl::encoding::Context) -> usize {
11091 8
11092 }
11093
11094 #[inline(always)]
11095 fn inline_size(_context: fidl::encoding::Context) -> usize {
11096 48
11097 }
11098 }
11099
11100 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
11101 for &RoamRequest
11102 {
11103 #[inline]
11104 unsafe fn encode(
11105 self,
11106 encoder: &mut fidl::encoding::Encoder<'_, D>,
11107 offset: usize,
11108 _depth: fidl::encoding::Depth,
11109 ) -> fidl::Result<()> {
11110 encoder.debug_check_bounds::<RoamRequest>(offset);
11111 fidl::encoding::Encode::<RoamRequest, D>::encode(
11113 (
11114 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
11115 ),
11116 encoder, offset, _depth
11117 )
11118 }
11119 }
11120 unsafe impl<
11121 D: fidl::encoding::ResourceDialect,
11122 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11123 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
11124 {
11125 #[inline]
11126 unsafe fn encode(
11127 self,
11128 encoder: &mut fidl::encoding::Encoder<'_, D>,
11129 offset: usize,
11130 depth: fidl::encoding::Depth,
11131 ) -> fidl::Result<()> {
11132 encoder.debug_check_bounds::<RoamRequest>(offset);
11133 self.0.encode(encoder, offset + 0, depth)?;
11137 Ok(())
11138 }
11139 }
11140
11141 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
11142 #[inline(always)]
11143 fn new_empty() -> Self {
11144 Self {
11145 selected_bss: fidl::new_empty!(
11146 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11147 D
11148 ),
11149 }
11150 }
11151
11152 #[inline]
11153 unsafe fn decode(
11154 &mut self,
11155 decoder: &mut fidl::encoding::Decoder<'_, D>,
11156 offset: usize,
11157 _depth: fidl::encoding::Depth,
11158 ) -> fidl::Result<()> {
11159 decoder.debug_check_bounds::<Self>(offset);
11160 fidl::decode!(
11162 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11163 D,
11164 &mut self.selected_bss,
11165 decoder,
11166 offset + 0,
11167 _depth
11168 )?;
11169 Ok(())
11170 }
11171 }
11172
11173 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
11174 type Borrowed<'a> = &'a Self;
11175 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11176 value
11177 }
11178 }
11179
11180 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
11181 type Owned = Self;
11182
11183 #[inline(always)]
11184 fn inline_align(_context: fidl::encoding::Context) -> usize {
11185 8
11186 }
11187
11188 #[inline(always)]
11189 fn inline_size(_context: fidl::encoding::Context) -> usize {
11190 32
11191 }
11192 }
11193
11194 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
11195 for &RoamResultIndication
11196 {
11197 #[inline]
11198 unsafe fn encode(
11199 self,
11200 encoder: &mut fidl::encoding::Encoder<'_, D>,
11201 offset: usize,
11202 _depth: fidl::encoding::Depth,
11203 ) -> fidl::Result<()> {
11204 encoder.debug_check_bounds::<RoamResultIndication>(offset);
11205 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
11207 (
11208 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
11209 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11210 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
11211 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
11212 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
11213 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
11214 ),
11215 encoder, offset, _depth
11216 )
11217 }
11218 }
11219 unsafe impl<
11220 D: fidl::encoding::ResourceDialect,
11221 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11222 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11223 T2: fidl::encoding::Encode<bool, D>,
11224 T3: fidl::encoding::Encode<bool, D>,
11225 T4: fidl::encoding::Encode<u16, D>,
11226 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11227 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
11228 {
11229 #[inline]
11230 unsafe fn encode(
11231 self,
11232 encoder: &mut fidl::encoding::Encoder<'_, D>,
11233 offset: usize,
11234 depth: fidl::encoding::Depth,
11235 ) -> fidl::Result<()> {
11236 encoder.debug_check_bounds::<RoamResultIndication>(offset);
11237 unsafe {
11240 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11241 (ptr as *mut u64).write_unaligned(0);
11242 }
11243 self.0.encode(encoder, offset + 0, depth)?;
11245 self.1.encode(encoder, offset + 6, depth)?;
11246 self.2.encode(encoder, offset + 8, depth)?;
11247 self.3.encode(encoder, offset + 9, depth)?;
11248 self.4.encode(encoder, offset + 10, depth)?;
11249 self.5.encode(encoder, offset + 16, depth)?;
11250 Ok(())
11251 }
11252 }
11253
11254 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
11255 #[inline(always)]
11256 fn new_empty() -> Self {
11257 Self {
11258 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11259 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11260 original_association_maintained: fidl::new_empty!(bool, D),
11261 target_bss_authenticated: fidl::new_empty!(bool, D),
11262 association_id: fidl::new_empty!(u16, D),
11263 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11264 }
11265 }
11266
11267 #[inline]
11268 unsafe fn decode(
11269 &mut self,
11270 decoder: &mut fidl::encoding::Decoder<'_, D>,
11271 offset: usize,
11272 _depth: fidl::encoding::Depth,
11273 ) -> fidl::Result<()> {
11274 decoder.debug_check_bounds::<Self>(offset);
11275 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11277 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11278 let mask = 0xffffffff00000000u64;
11279 let maskedval = padval & mask;
11280 if maskedval != 0 {
11281 return Err(fidl::Error::NonZeroPadding {
11282 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11283 });
11284 }
11285 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11286 fidl::decode!(
11287 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11288 D,
11289 &mut self.status_code,
11290 decoder,
11291 offset + 6,
11292 _depth
11293 )?;
11294 fidl::decode!(
11295 bool,
11296 D,
11297 &mut self.original_association_maintained,
11298 decoder,
11299 offset + 8,
11300 _depth
11301 )?;
11302 fidl::decode!(
11303 bool,
11304 D,
11305 &mut self.target_bss_authenticated,
11306 decoder,
11307 offset + 9,
11308 _depth
11309 )?;
11310 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
11311 fidl::decode!(
11312 fidl::encoding::UnboundedVector<u8>,
11313 D,
11314 &mut self.association_ies,
11315 decoder,
11316 offset + 16,
11317 _depth
11318 )?;
11319 Ok(())
11320 }
11321 }
11322
11323 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
11324 type Borrowed<'a> = &'a Self;
11325 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11326 value
11327 }
11328 }
11329
11330 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
11331 type Owned = Self;
11332
11333 #[inline(always)]
11334 fn inline_align(_context: fidl::encoding::Context) -> usize {
11335 8
11336 }
11337
11338 #[inline(always)]
11339 fn inline_size(_context: fidl::encoding::Context) -> usize {
11340 64
11341 }
11342 }
11343
11344 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
11345 for &RoamStartIndication
11346 {
11347 #[inline]
11348 unsafe fn encode(
11349 self,
11350 encoder: &mut fidl::encoding::Encoder<'_, D>,
11351 offset: usize,
11352 _depth: fidl::encoding::Depth,
11353 ) -> fidl::Result<()> {
11354 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11355 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
11357 (
11358 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
11359 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
11360 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
11361 ),
11362 encoder, offset, _depth
11363 )
11364 }
11365 }
11366 unsafe impl<
11367 D: fidl::encoding::ResourceDialect,
11368 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11369 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
11370 T2: fidl::encoding::Encode<bool, D>,
11371 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
11372 {
11373 #[inline]
11374 unsafe fn encode(
11375 self,
11376 encoder: &mut fidl::encoding::Encoder<'_, D>,
11377 offset: usize,
11378 depth: fidl::encoding::Depth,
11379 ) -> fidl::Result<()> {
11380 encoder.debug_check_bounds::<RoamStartIndication>(offset);
11381 unsafe {
11384 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11385 (ptr as *mut u64).write_unaligned(0);
11386 }
11387 unsafe {
11388 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11389 (ptr as *mut u64).write_unaligned(0);
11390 }
11391 self.0.encode(encoder, offset + 0, depth)?;
11393 self.1.encode(encoder, offset + 8, depth)?;
11394 self.2.encode(encoder, offset + 56, depth)?;
11395 Ok(())
11396 }
11397 }
11398
11399 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
11400 #[inline(always)]
11401 fn new_empty() -> Self {
11402 Self {
11403 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11404 selected_bss: fidl::new_empty!(
11405 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11406 D
11407 ),
11408 original_association_maintained: fidl::new_empty!(bool, D),
11409 }
11410 }
11411
11412 #[inline]
11413 unsafe fn decode(
11414 &mut self,
11415 decoder: &mut fidl::encoding::Decoder<'_, D>,
11416 offset: usize,
11417 _depth: fidl::encoding::Depth,
11418 ) -> fidl::Result<()> {
11419 decoder.debug_check_bounds::<Self>(offset);
11420 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
11422 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11423 let mask = 0xffff000000000000u64;
11424 let maskedval = padval & mask;
11425 if maskedval != 0 {
11426 return Err(fidl::Error::NonZeroPadding {
11427 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11428 });
11429 }
11430 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
11431 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11432 let mask = 0xffffffffffffff00u64;
11433 let maskedval = padval & mask;
11434 if maskedval != 0 {
11435 return Err(fidl::Error::NonZeroPadding {
11436 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
11437 });
11438 }
11439 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
11440 fidl::decode!(
11441 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
11442 D,
11443 &mut self.selected_bss,
11444 decoder,
11445 offset + 8,
11446 _depth
11447 )?;
11448 fidl::decode!(
11449 bool,
11450 D,
11451 &mut self.original_association_maintained,
11452 decoder,
11453 offset + 56,
11454 _depth
11455 )?;
11456 Ok(())
11457 }
11458 }
11459
11460 impl fidl::encoding::ValueTypeMarker for SaeFrame {
11461 type Borrowed<'a> = &'a Self;
11462 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11463 value
11464 }
11465 }
11466
11467 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
11468 type Owned = Self;
11469
11470 #[inline(always)]
11471 fn inline_align(_context: fidl::encoding::Context) -> usize {
11472 8
11473 }
11474
11475 #[inline(always)]
11476 fn inline_size(_context: fidl::encoding::Context) -> usize {
11477 32
11478 }
11479 }
11480
11481 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
11482 #[inline]
11483 unsafe fn encode(
11484 self,
11485 encoder: &mut fidl::encoding::Encoder<'_, D>,
11486 offset: usize,
11487 _depth: fidl::encoding::Depth,
11488 ) -> fidl::Result<()> {
11489 encoder.debug_check_bounds::<SaeFrame>(offset);
11490 fidl::encoding::Encode::<SaeFrame, D>::encode(
11492 (
11493 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11494 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11495 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
11496 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
11497 ),
11498 encoder, offset, _depth
11499 )
11500 }
11501 }
11502 unsafe impl<
11503 D: fidl::encoding::ResourceDialect,
11504 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11505 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11506 T2: fidl::encoding::Encode<u16, D>,
11507 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11508 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
11509 {
11510 #[inline]
11511 unsafe fn encode(
11512 self,
11513 encoder: &mut fidl::encoding::Encoder<'_, D>,
11514 offset: usize,
11515 depth: fidl::encoding::Depth,
11516 ) -> fidl::Result<()> {
11517 encoder.debug_check_bounds::<SaeFrame>(offset);
11518 unsafe {
11521 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11522 (ptr as *mut u64).write_unaligned(0);
11523 }
11524 self.0.encode(encoder, offset + 0, depth)?;
11526 self.1.encode(encoder, offset + 6, depth)?;
11527 self.2.encode(encoder, offset + 8, depth)?;
11528 self.3.encode(encoder, offset + 16, depth)?;
11529 Ok(())
11530 }
11531 }
11532
11533 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
11534 #[inline(always)]
11535 fn new_empty() -> Self {
11536 Self {
11537 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11538 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11539 seq_num: fidl::new_empty!(u16, D),
11540 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11541 }
11542 }
11543
11544 #[inline]
11545 unsafe fn decode(
11546 &mut self,
11547 decoder: &mut fidl::encoding::Decoder<'_, D>,
11548 offset: usize,
11549 _depth: fidl::encoding::Depth,
11550 ) -> fidl::Result<()> {
11551 decoder.debug_check_bounds::<Self>(offset);
11552 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11554 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11555 let mask = 0xffffffffffff0000u64;
11556 let maskedval = padval & mask;
11557 if maskedval != 0 {
11558 return Err(fidl::Error::NonZeroPadding {
11559 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11560 });
11561 }
11562 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11563 fidl::decode!(
11564 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11565 D,
11566 &mut self.status_code,
11567 decoder,
11568 offset + 6,
11569 _depth
11570 )?;
11571 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
11572 fidl::decode!(
11573 fidl::encoding::UnboundedVector<u8>,
11574 D,
11575 &mut self.sae_fields,
11576 decoder,
11577 offset + 16,
11578 _depth
11579 )?;
11580 Ok(())
11581 }
11582 }
11583
11584 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
11585 type Borrowed<'a> = &'a Self;
11586 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11587 value
11588 }
11589 }
11590
11591 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
11592 type Owned = Self;
11593
11594 #[inline(always)]
11595 fn inline_align(_context: fidl::encoding::Context) -> usize {
11596 1
11597 }
11598
11599 #[inline(always)]
11600 fn inline_size(_context: fidl::encoding::Context) -> usize {
11601 6
11602 }
11603 #[inline(always)]
11604 fn encode_is_copy() -> bool {
11605 true
11606 }
11607
11608 #[inline(always)]
11609 fn decode_is_copy() -> bool {
11610 true
11611 }
11612 }
11613
11614 unsafe impl<D: fidl::encoding::ResourceDialect>
11615 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
11616 {
11617 #[inline]
11618 unsafe fn encode(
11619 self,
11620 encoder: &mut fidl::encoding::Encoder<'_, D>,
11621 offset: usize,
11622 _depth: fidl::encoding::Depth,
11623 ) -> fidl::Result<()> {
11624 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
11625 unsafe {
11626 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11628 (buf_ptr as *mut SaeHandshakeIndication)
11629 .write_unaligned((self as *const SaeHandshakeIndication).read());
11630 }
11633 Ok(())
11634 }
11635 }
11636 unsafe impl<
11637 D: fidl::encoding::ResourceDialect,
11638 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11639 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
11640 {
11641 #[inline]
11642 unsafe fn encode(
11643 self,
11644 encoder: &mut fidl::encoding::Encoder<'_, D>,
11645 offset: usize,
11646 depth: fidl::encoding::Depth,
11647 ) -> fidl::Result<()> {
11648 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
11649 self.0.encode(encoder, offset + 0, depth)?;
11653 Ok(())
11654 }
11655 }
11656
11657 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11658 for SaeHandshakeIndication
11659 {
11660 #[inline(always)]
11661 fn new_empty() -> Self {
11662 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
11663 }
11664
11665 #[inline]
11666 unsafe fn decode(
11667 &mut self,
11668 decoder: &mut fidl::encoding::Decoder<'_, D>,
11669 offset: usize,
11670 _depth: fidl::encoding::Depth,
11671 ) -> fidl::Result<()> {
11672 decoder.debug_check_bounds::<Self>(offset);
11673 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11674 unsafe {
11677 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
11678 }
11679 Ok(())
11680 }
11681 }
11682
11683 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
11684 type Borrowed<'a> = &'a Self;
11685 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11686 value
11687 }
11688 }
11689
11690 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
11691 type Owned = Self;
11692
11693 #[inline(always)]
11694 fn inline_align(_context: fidl::encoding::Context) -> usize {
11695 2
11696 }
11697
11698 #[inline(always)]
11699 fn inline_size(_context: fidl::encoding::Context) -> usize {
11700 8
11701 }
11702 }
11703
11704 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
11705 for &SaeHandshakeResponse
11706 {
11707 #[inline]
11708 unsafe fn encode(
11709 self,
11710 encoder: &mut fidl::encoding::Encoder<'_, D>,
11711 offset: usize,
11712 _depth: fidl::encoding::Depth,
11713 ) -> fidl::Result<()> {
11714 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11715 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
11717 (
11718 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
11719 <fidl_fuchsia_wlan_ieee80211_common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
11720 ),
11721 encoder, offset, _depth
11722 )
11723 }
11724 }
11725 unsafe impl<
11726 D: fidl::encoding::ResourceDialect,
11727 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11728 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::StatusCode, D>,
11729 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
11730 {
11731 #[inline]
11732 unsafe fn encode(
11733 self,
11734 encoder: &mut fidl::encoding::Encoder<'_, D>,
11735 offset: usize,
11736 depth: fidl::encoding::Depth,
11737 ) -> fidl::Result<()> {
11738 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
11739 self.0.encode(encoder, offset + 0, depth)?;
11743 self.1.encode(encoder, offset + 6, depth)?;
11744 Ok(())
11745 }
11746 }
11747
11748 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
11749 #[inline(always)]
11750 fn new_empty() -> Self {
11751 Self {
11752 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11753 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::StatusCode, D),
11754 }
11755 }
11756
11757 #[inline]
11758 unsafe fn decode(
11759 &mut self,
11760 decoder: &mut fidl::encoding::Decoder<'_, D>,
11761 offset: usize,
11762 _depth: fidl::encoding::Depth,
11763 ) -> fidl::Result<()> {
11764 decoder.debug_check_bounds::<Self>(offset);
11765 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
11767 fidl::decode!(
11768 fidl_fuchsia_wlan_ieee80211_common::StatusCode,
11769 D,
11770 &mut self.status_code,
11771 decoder,
11772 offset + 6,
11773 _depth
11774 )?;
11775 Ok(())
11776 }
11777 }
11778
11779 impl fidl::encoding::ValueTypeMarker for ScanEnd {
11780 type Borrowed<'a> = &'a Self;
11781 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11782 value
11783 }
11784 }
11785
11786 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
11787 type Owned = Self;
11788
11789 #[inline(always)]
11790 fn inline_align(_context: fidl::encoding::Context) -> usize {
11791 8
11792 }
11793
11794 #[inline(always)]
11795 fn inline_size(_context: fidl::encoding::Context) -> usize {
11796 16
11797 }
11798 }
11799
11800 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
11801 #[inline]
11802 unsafe fn encode(
11803 self,
11804 encoder: &mut fidl::encoding::Encoder<'_, D>,
11805 offset: usize,
11806 _depth: fidl::encoding::Depth,
11807 ) -> fidl::Result<()> {
11808 encoder.debug_check_bounds::<ScanEnd>(offset);
11809 fidl::encoding::Encode::<ScanEnd, D>::encode(
11811 (
11812 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11813 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
11814 ),
11815 encoder,
11816 offset,
11817 _depth,
11818 )
11819 }
11820 }
11821 unsafe impl<
11822 D: fidl::encoding::ResourceDialect,
11823 T0: fidl::encoding::Encode<u64, D>,
11824 T1: fidl::encoding::Encode<ScanResultCode, D>,
11825 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
11826 {
11827 #[inline]
11828 unsafe fn encode(
11829 self,
11830 encoder: &mut fidl::encoding::Encoder<'_, D>,
11831 offset: usize,
11832 depth: fidl::encoding::Depth,
11833 ) -> fidl::Result<()> {
11834 encoder.debug_check_bounds::<ScanEnd>(offset);
11835 unsafe {
11838 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11839 (ptr as *mut u64).write_unaligned(0);
11840 }
11841 self.0.encode(encoder, offset + 0, depth)?;
11843 self.1.encode(encoder, offset + 8, depth)?;
11844 Ok(())
11845 }
11846 }
11847
11848 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
11849 #[inline(always)]
11850 fn new_empty() -> Self {
11851 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
11852 }
11853
11854 #[inline]
11855 unsafe fn decode(
11856 &mut self,
11857 decoder: &mut fidl::encoding::Decoder<'_, D>,
11858 offset: usize,
11859 _depth: fidl::encoding::Depth,
11860 ) -> fidl::Result<()> {
11861 decoder.debug_check_bounds::<Self>(offset);
11862 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11864 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11865 let mask = 0xffffffff00000000u64;
11866 let maskedval = padval & mask;
11867 if maskedval != 0 {
11868 return Err(fidl::Error::NonZeroPadding {
11869 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
11870 });
11871 }
11872 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
11873 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
11874 Ok(())
11875 }
11876 }
11877
11878 impl fidl::encoding::ValueTypeMarker for ScanRequest {
11879 type Borrowed<'a> = &'a Self;
11880 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11881 value
11882 }
11883 }
11884
11885 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
11886 type Owned = Self;
11887
11888 #[inline(always)]
11889 fn inline_align(_context: fidl::encoding::Context) -> usize {
11890 8
11891 }
11892
11893 #[inline(always)]
11894 fn inline_size(_context: fidl::encoding::Context) -> usize {
11895 64
11896 }
11897 }
11898
11899 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
11900 for &ScanRequest
11901 {
11902 #[inline]
11903 unsafe fn encode(
11904 self,
11905 encoder: &mut fidl::encoding::Encoder<'_, D>,
11906 offset: usize,
11907 _depth: fidl::encoding::Depth,
11908 ) -> fidl::Result<()> {
11909 encoder.debug_check_bounds::<ScanRequest>(offset);
11910 fidl::encoding::Encode::<ScanRequest, D>::encode(
11912 (
11913 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
11914 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
11915 <fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
11916 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
11917 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
11918 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
11919 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
11920 ),
11921 encoder, offset, _depth
11922 )
11923 }
11924 }
11925 unsafe impl<
11926 D: fidl::encoding::ResourceDialect,
11927 T0: fidl::encoding::Encode<u64, D>,
11928 T1: fidl::encoding::Encode<ScanTypes, D>,
11929 T2: fidl::encoding::Encode<
11930 fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>,
11931 D,
11932 >,
11933 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
11934 T4: fidl::encoding::Encode<u32, D>,
11935 T5: fidl::encoding::Encode<u32, D>,
11936 T6: fidl::encoding::Encode<u32, D>,
11937 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
11938 {
11939 #[inline]
11940 unsafe fn encode(
11941 self,
11942 encoder: &mut fidl::encoding::Encoder<'_, D>,
11943 offset: usize,
11944 depth: fidl::encoding::Depth,
11945 ) -> fidl::Result<()> {
11946 encoder.debug_check_bounds::<ScanRequest>(offset);
11947 unsafe {
11950 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
11951 (ptr as *mut u64).write_unaligned(0);
11952 }
11953 unsafe {
11954 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
11955 (ptr as *mut u64).write_unaligned(0);
11956 }
11957 self.0.encode(encoder, offset + 0, depth)?;
11959 self.1.encode(encoder, offset + 8, depth)?;
11960 self.2.encode(encoder, offset + 16, depth)?;
11961 self.3.encode(encoder, offset + 32, depth)?;
11962 self.4.encode(encoder, offset + 48, depth)?;
11963 self.5.encode(encoder, offset + 52, depth)?;
11964 self.6.encode(encoder, offset + 56, depth)?;
11965 Ok(())
11966 }
11967 }
11968
11969 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
11970 #[inline(always)]
11971 fn new_empty() -> Self {
11972 Self {
11973 txn_id: fidl::new_empty!(u64, D),
11974 scan_type: fidl::new_empty!(ScanTypes, D),
11975 channel_list: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D),
11976 ssid_list: fidl::new_empty!(
11977 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
11978 D
11979 ),
11980 probe_delay: fidl::new_empty!(u32, D),
11981 min_channel_time: fidl::new_empty!(u32, D),
11982 max_channel_time: fidl::new_empty!(u32, D),
11983 }
11984 }
11985
11986 #[inline]
11987 unsafe fn decode(
11988 &mut self,
11989 decoder: &mut fidl::encoding::Decoder<'_, D>,
11990 offset: usize,
11991 _depth: fidl::encoding::Depth,
11992 ) -> fidl::Result<()> {
11993 decoder.debug_check_bounds::<Self>(offset);
11994 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
11996 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11997 let mask = 0xffffffff00000000u64;
11998 let maskedval = padval & mask;
11999 if maskedval != 0 {
12000 return Err(fidl::Error::NonZeroPadding {
12001 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
12002 });
12003 }
12004 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
12005 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12006 let mask = 0xffffffff00000000u64;
12007 let maskedval = padval & mask;
12008 if maskedval != 0 {
12009 return Err(fidl::Error::NonZeroPadding {
12010 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
12011 });
12012 }
12013 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
12014 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
12015 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
12016 fidl::decode!(
12017 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
12018 D,
12019 &mut self.ssid_list,
12020 decoder,
12021 offset + 32,
12022 _depth
12023 )?;
12024 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
12025 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
12026 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
12027 Ok(())
12028 }
12029 }
12030
12031 impl fidl::encoding::ValueTypeMarker for ScanResult {
12032 type Borrowed<'a> = &'a Self;
12033 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12034 value
12035 }
12036 }
12037
12038 unsafe impl fidl::encoding::TypeMarker for ScanResult {
12039 type Owned = Self;
12040
12041 #[inline(always)]
12042 fn inline_align(_context: fidl::encoding::Context) -> usize {
12043 8
12044 }
12045
12046 #[inline(always)]
12047 fn inline_size(_context: fidl::encoding::Context) -> usize {
12048 64
12049 }
12050 }
12051
12052 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
12053 for &ScanResult
12054 {
12055 #[inline]
12056 unsafe fn encode(
12057 self,
12058 encoder: &mut fidl::encoding::Encoder<'_, D>,
12059 offset: usize,
12060 _depth: fidl::encoding::Depth,
12061 ) -> fidl::Result<()> {
12062 encoder.debug_check_bounds::<ScanResult>(offset);
12063 fidl::encoding::Encode::<ScanResult, D>::encode(
12065 (
12066 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
12067 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
12068 <fidl_fuchsia_wlan_ieee80211_common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
12069 ),
12070 encoder, offset, _depth
12071 )
12072 }
12073 }
12074 unsafe impl<
12075 D: fidl::encoding::ResourceDialect,
12076 T0: fidl::encoding::Encode<u64, D>,
12077 T1: fidl::encoding::Encode<i64, D>,
12078 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssDescription, D>,
12079 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
12080 {
12081 #[inline]
12082 unsafe fn encode(
12083 self,
12084 encoder: &mut fidl::encoding::Encoder<'_, D>,
12085 offset: usize,
12086 depth: fidl::encoding::Depth,
12087 ) -> fidl::Result<()> {
12088 encoder.debug_check_bounds::<ScanResult>(offset);
12089 self.0.encode(encoder, offset + 0, depth)?;
12093 self.1.encode(encoder, offset + 8, depth)?;
12094 self.2.encode(encoder, offset + 16, depth)?;
12095 Ok(())
12096 }
12097 }
12098
12099 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
12100 #[inline(always)]
12101 fn new_empty() -> Self {
12102 Self {
12103 txn_id: fidl::new_empty!(u64, D),
12104 timestamp_nanos: fidl::new_empty!(i64, D),
12105 bss: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssDescription, D),
12106 }
12107 }
12108
12109 #[inline]
12110 unsafe fn decode(
12111 &mut self,
12112 decoder: &mut fidl::encoding::Decoder<'_, D>,
12113 offset: usize,
12114 _depth: fidl::encoding::Depth,
12115 ) -> fidl::Result<()> {
12116 decoder.debug_check_bounds::<Self>(offset);
12117 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
12119 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
12120 fidl::decode!(
12121 fidl_fuchsia_wlan_ieee80211_common::BssDescription,
12122 D,
12123 &mut self.bss,
12124 decoder,
12125 offset + 16,
12126 _depth
12127 )?;
12128 Ok(())
12129 }
12130 }
12131
12132 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
12133 type Borrowed<'a> = &'a Self;
12134 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12135 value
12136 }
12137 }
12138
12139 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
12140 type Owned = Self;
12141
12142 #[inline(always)]
12143 fn inline_align(_context: fidl::encoding::Context) -> usize {
12144 4
12145 }
12146
12147 #[inline(always)]
12148 fn inline_size(_context: fidl::encoding::Context) -> usize {
12149 12
12150 }
12151 }
12152
12153 unsafe impl<D: fidl::encoding::ResourceDialect>
12154 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
12155 {
12156 #[inline]
12157 unsafe fn encode(
12158 self,
12159 encoder: &mut fidl::encoding::Encoder<'_, D>,
12160 offset: usize,
12161 _depth: fidl::encoding::Depth,
12162 ) -> fidl::Result<()> {
12163 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
12164 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
12166 (
12167 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
12168 &self.peer_sta_address,
12169 ),
12170 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
12171 ),
12172 encoder,
12173 offset,
12174 _depth,
12175 )
12176 }
12177 }
12178 unsafe impl<
12179 D: fidl::encoding::ResourceDialect,
12180 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
12181 T1: fidl::encoding::Encode<ControlledPortState, D>,
12182 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
12183 {
12184 #[inline]
12185 unsafe fn encode(
12186 self,
12187 encoder: &mut fidl::encoding::Encoder<'_, D>,
12188 offset: usize,
12189 depth: fidl::encoding::Depth,
12190 ) -> fidl::Result<()> {
12191 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
12192 unsafe {
12195 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
12196 (ptr as *mut u32).write_unaligned(0);
12197 }
12198 self.0.encode(encoder, offset + 0, depth)?;
12200 self.1.encode(encoder, offset + 8, depth)?;
12201 Ok(())
12202 }
12203 }
12204
12205 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12206 for SetControlledPortRequest
12207 {
12208 #[inline(always)]
12209 fn new_empty() -> Self {
12210 Self {
12211 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
12212 state: fidl::new_empty!(ControlledPortState, D),
12213 }
12214 }
12215
12216 #[inline]
12217 unsafe fn decode(
12218 &mut self,
12219 decoder: &mut fidl::encoding::Decoder<'_, D>,
12220 offset: usize,
12221 _depth: fidl::encoding::Depth,
12222 ) -> fidl::Result<()> {
12223 decoder.debug_check_bounds::<Self>(offset);
12224 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
12226 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12227 let mask = 0xffff0000u32;
12228 let maskedval = padval & mask;
12229 if maskedval != 0 {
12230 return Err(fidl::Error::NonZeroPadding {
12231 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
12232 });
12233 }
12234 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
12235 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
12236 Ok(())
12237 }
12238 }
12239
12240 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
12241 type Borrowed<'a> = &'a Self;
12242 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12243 value
12244 }
12245 }
12246
12247 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
12248 type Owned = Self;
12249
12250 #[inline(always)]
12251 fn inline_align(_context: fidl::encoding::Context) -> usize {
12252 8
12253 }
12254
12255 #[inline(always)]
12256 fn inline_size(_context: fidl::encoding::Context) -> usize {
12257 48
12258 }
12259 }
12260
12261 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
12262 for &SetKeyDescriptor
12263 {
12264 #[inline]
12265 unsafe fn encode(
12266 self,
12267 encoder: &mut fidl::encoding::Encoder<'_, D>,
12268 offset: usize,
12269 _depth: fidl::encoding::Depth,
12270 ) -> fidl::Result<()> {
12271 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12272 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
12274 (
12275 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
12276 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
12277 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
12278 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
12279 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
12280 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
12281 <fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
12282 ),
12283 encoder, offset, _depth
12284 )
12285 }
12286 }
12287 unsafe impl<
12288 D: fidl::encoding::ResourceDialect,
12289 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
12290 T1: fidl::encoding::Encode<u16, D>,
12291 T2: fidl::encoding::Encode<KeyType, D>,
12292 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
12293 T4: fidl::encoding::Encode<u64, D>,
12294 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
12295 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType, D>,
12296 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
12297 {
12298 #[inline]
12299 unsafe fn encode(
12300 self,
12301 encoder: &mut fidl::encoding::Encoder<'_, D>,
12302 offset: usize,
12303 depth: fidl::encoding::Depth,
12304 ) -> fidl::Result<()> {
12305 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
12306 unsafe {
12309 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
12310 (ptr as *mut u64).write_unaligned(0);
12311 }
12312 unsafe {
12313 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
12314 (ptr as *mut u64).write_unaligned(0);
12315 }
12316 unsafe {
12317 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
12318 (ptr as *mut u64).write_unaligned(0);
12319 }
12320 self.0.encode(encoder, offset + 0, depth)?;
12322 self.1.encode(encoder, offset + 16, depth)?;
12323 self.2.encode(encoder, offset + 20, depth)?;
12324 self.3.encode(encoder, offset + 24, depth)?;
12325 self.4.encode(encoder, offset + 32, depth)?;
12326 self.5.encode(encoder, offset + 40, depth)?;
12327 self.6.encode(encoder, offset + 44, depth)?;
12328 Ok(())
12329 }
12330 }
12331
12332 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
12333 #[inline(always)]
12334 fn new_empty() -> Self {
12335 Self {
12336 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
12337 key_id: fidl::new_empty!(u16, D),
12338 key_type: fidl::new_empty!(KeyType, D),
12339 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
12340 rsc: fidl::new_empty!(u64, D),
12341 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
12342 cipher_suite_type: fidl::new_empty!(
12343 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12344 D
12345 ),
12346 }
12347 }
12348
12349 #[inline]
12350 unsafe fn decode(
12351 &mut self,
12352 decoder: &mut fidl::encoding::Decoder<'_, D>,
12353 offset: usize,
12354 _depth: fidl::encoding::Depth,
12355 ) -> fidl::Result<()> {
12356 decoder.debug_check_bounds::<Self>(offset);
12357 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
12359 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12360 let mask = 0xffff0000u64;
12361 let maskedval = padval & mask;
12362 if maskedval != 0 {
12363 return Err(fidl::Error::NonZeroPadding {
12364 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
12365 });
12366 }
12367 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
12368 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12369 let mask = 0xffff000000000000u64;
12370 let maskedval = padval & mask;
12371 if maskedval != 0 {
12372 return Err(fidl::Error::NonZeroPadding {
12373 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
12374 });
12375 }
12376 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
12377 let padval = unsafe { (ptr as *const u64).read_unaligned() };
12378 let mask = 0xff000000u64;
12379 let maskedval = padval & mask;
12380 if maskedval != 0 {
12381 return Err(fidl::Error::NonZeroPadding {
12382 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
12383 });
12384 }
12385 fidl::decode!(
12386 fidl::encoding::UnboundedVector<u8>,
12387 D,
12388 &mut self.key,
12389 decoder,
12390 offset + 0,
12391 _depth
12392 )?;
12393 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
12394 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
12395 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
12396 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
12397 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
12398 fidl::decode!(
12399 fidl_fuchsia_wlan_ieee80211_common::CipherSuiteType,
12400 D,
12401 &mut self.cipher_suite_type,
12402 decoder,
12403 offset + 44,
12404 _depth
12405 )?;
12406 Ok(())
12407 }
12408 }
12409
12410 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
12411 type Borrowed<'a> = &'a Self;
12412 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12413 value
12414 }
12415 }
12416
12417 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
12418 type Owned = Self;
12419
12420 #[inline(always)]
12421 fn inline_align(_context: fidl::encoding::Context) -> usize {
12422 4
12423 }
12424
12425 #[inline(always)]
12426 fn inline_size(_context: fidl::encoding::Context) -> usize {
12427 8
12428 }
12429 }
12430
12431 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
12432 for &SetKeyResult
12433 {
12434 #[inline]
12435 unsafe fn encode(
12436 self,
12437 encoder: &mut fidl::encoding::Encoder<'_, D>,
12438 offset: usize,
12439 _depth: fidl::encoding::Depth,
12440 ) -> fidl::Result<()> {
12441 encoder.debug_check_bounds::<SetKeyResult>(offset);
12442 unsafe {
12443 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12445 (buf_ptr as *mut SetKeyResult)
12446 .write_unaligned((self as *const SetKeyResult).read());
12447 let padding_ptr = buf_ptr.offset(0) as *mut u32;
12450 let padding_mask = 0xffff0000u32;
12451 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
12452 }
12453 Ok(())
12454 }
12455 }
12456 unsafe impl<
12457 D: fidl::encoding::ResourceDialect,
12458 T0: fidl::encoding::Encode<u16, D>,
12459 T1: fidl::encoding::Encode<i32, D>,
12460 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
12461 {
12462 #[inline]
12463 unsafe fn encode(
12464 self,
12465 encoder: &mut fidl::encoding::Encoder<'_, D>,
12466 offset: usize,
12467 depth: fidl::encoding::Depth,
12468 ) -> fidl::Result<()> {
12469 encoder.debug_check_bounds::<SetKeyResult>(offset);
12470 unsafe {
12473 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
12474 (ptr as *mut u32).write_unaligned(0);
12475 }
12476 self.0.encode(encoder, offset + 0, depth)?;
12478 self.1.encode(encoder, offset + 4, depth)?;
12479 Ok(())
12480 }
12481 }
12482
12483 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
12484 #[inline(always)]
12485 fn new_empty() -> Self {
12486 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
12487 }
12488
12489 #[inline]
12490 unsafe fn decode(
12491 &mut self,
12492 decoder: &mut fidl::encoding::Decoder<'_, D>,
12493 offset: usize,
12494 _depth: fidl::encoding::Depth,
12495 ) -> fidl::Result<()> {
12496 decoder.debug_check_bounds::<Self>(offset);
12497 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12498 let ptr = unsafe { buf_ptr.offset(0) };
12500 let padval = unsafe { (ptr as *const u32).read_unaligned() };
12501 let mask = 0xffff0000u32;
12502 let maskedval = padval & mask;
12503 if maskedval != 0 {
12504 return Err(fidl::Error::NonZeroPadding {
12505 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
12506 });
12507 }
12508 unsafe {
12510 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
12511 }
12512 Ok(())
12513 }
12514 }
12515
12516 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
12517 type Borrowed<'a> = &'a Self;
12518 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12519 value
12520 }
12521 }
12522
12523 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
12524 type Owned = Self;
12525
12526 #[inline(always)]
12527 fn inline_align(_context: fidl::encoding::Context) -> usize {
12528 8
12529 }
12530
12531 #[inline(always)]
12532 fn inline_size(_context: fidl::encoding::Context) -> usize {
12533 16
12534 }
12535 }
12536
12537 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
12538 for &SetKeysConfirm
12539 {
12540 #[inline]
12541 unsafe fn encode(
12542 self,
12543 encoder: &mut fidl::encoding::Encoder<'_, D>,
12544 offset: usize,
12545 _depth: fidl::encoding::Depth,
12546 ) -> fidl::Result<()> {
12547 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12548 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
12550 (
12551 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
12552 ),
12553 encoder, offset, _depth
12554 )
12555 }
12556 }
12557 unsafe impl<
12558 D: fidl::encoding::ResourceDialect,
12559 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
12560 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
12561 {
12562 #[inline]
12563 unsafe fn encode(
12564 self,
12565 encoder: &mut fidl::encoding::Encoder<'_, D>,
12566 offset: usize,
12567 depth: fidl::encoding::Depth,
12568 ) -> fidl::Result<()> {
12569 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
12570 self.0.encode(encoder, offset + 0, depth)?;
12574 Ok(())
12575 }
12576 }
12577
12578 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
12579 #[inline(always)]
12580 fn new_empty() -> Self {
12581 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
12582 }
12583
12584 #[inline]
12585 unsafe fn decode(
12586 &mut self,
12587 decoder: &mut fidl::encoding::Decoder<'_, D>,
12588 offset: usize,
12589 _depth: fidl::encoding::Depth,
12590 ) -> fidl::Result<()> {
12591 decoder.debug_check_bounds::<Self>(offset);
12592 fidl::decode!(
12594 fidl::encoding::UnboundedVector<SetKeyResult>,
12595 D,
12596 &mut self.results,
12597 decoder,
12598 offset + 0,
12599 _depth
12600 )?;
12601 Ok(())
12602 }
12603 }
12604
12605 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
12606 type Borrowed<'a> = &'a Self;
12607 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12608 value
12609 }
12610 }
12611
12612 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
12613 type Owned = Self;
12614
12615 #[inline(always)]
12616 fn inline_align(_context: fidl::encoding::Context) -> usize {
12617 8
12618 }
12619
12620 #[inline(always)]
12621 fn inline_size(_context: fidl::encoding::Context) -> usize {
12622 16
12623 }
12624 }
12625
12626 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
12627 for &SetKeysRequest
12628 {
12629 #[inline]
12630 unsafe fn encode(
12631 self,
12632 encoder: &mut fidl::encoding::Encoder<'_, D>,
12633 offset: usize,
12634 _depth: fidl::encoding::Depth,
12635 ) -> fidl::Result<()> {
12636 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12637 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
12639 (
12640 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
12641 ),
12642 encoder, offset, _depth
12643 )
12644 }
12645 }
12646 unsafe impl<
12647 D: fidl::encoding::ResourceDialect,
12648 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
12649 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
12650 {
12651 #[inline]
12652 unsafe fn encode(
12653 self,
12654 encoder: &mut fidl::encoding::Encoder<'_, D>,
12655 offset: usize,
12656 depth: fidl::encoding::Depth,
12657 ) -> fidl::Result<()> {
12658 encoder.debug_check_bounds::<SetKeysRequest>(offset);
12659 self.0.encode(encoder, offset + 0, depth)?;
12663 Ok(())
12664 }
12665 }
12666
12667 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
12668 #[inline(always)]
12669 fn new_empty() -> Self {
12670 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
12671 }
12672
12673 #[inline]
12674 unsafe fn decode(
12675 &mut self,
12676 decoder: &mut fidl::encoding::Decoder<'_, D>,
12677 offset: usize,
12678 _depth: fidl::encoding::Depth,
12679 ) -> fidl::Result<()> {
12680 decoder.debug_check_bounds::<Self>(offset);
12681 fidl::decode!(
12683 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
12684 D,
12685 &mut self.keylist,
12686 decoder,
12687 offset + 0,
12688 _depth
12689 )?;
12690 Ok(())
12691 }
12692 }
12693
12694 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
12695 type Borrowed<'a> = &'a Self;
12696 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12697 value
12698 }
12699 }
12700
12701 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
12702 type Owned = Self;
12703
12704 #[inline(always)]
12705 fn inline_align(_context: fidl::encoding::Context) -> usize {
12706 4
12707 }
12708
12709 #[inline(always)]
12710 fn inline_size(_context: fidl::encoding::Context) -> usize {
12711 4
12712 }
12713 }
12714
12715 unsafe impl<D: fidl::encoding::ResourceDialect>
12716 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
12717 {
12718 #[inline]
12719 unsafe fn encode(
12720 self,
12721 encoder: &mut fidl::encoding::Encoder<'_, D>,
12722 offset: usize,
12723 _depth: fidl::encoding::Depth,
12724 ) -> fidl::Result<()> {
12725 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12726 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
12728 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12729 &self.mgmt_frame_flags,
12730 ),),
12731 encoder,
12732 offset,
12733 _depth,
12734 )
12735 }
12736 }
12737 unsafe impl<
12738 D: fidl::encoding::ResourceDialect,
12739 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12740 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
12741 {
12742 #[inline]
12743 unsafe fn encode(
12744 self,
12745 encoder: &mut fidl::encoding::Encoder<'_, D>,
12746 offset: usize,
12747 depth: fidl::encoding::Depth,
12748 ) -> fidl::Result<()> {
12749 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
12750 self.0.encode(encoder, offset + 0, depth)?;
12754 Ok(())
12755 }
12756 }
12757
12758 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12759 for StartCaptureFramesRequest
12760 {
12761 #[inline(always)]
12762 fn new_empty() -> Self {
12763 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
12764 }
12765
12766 #[inline]
12767 unsafe fn decode(
12768 &mut self,
12769 decoder: &mut fidl::encoding::Decoder<'_, D>,
12770 offset: usize,
12771 _depth: fidl::encoding::Depth,
12772 ) -> fidl::Result<()> {
12773 decoder.debug_check_bounds::<Self>(offset);
12774 fidl::decode!(
12776 MgmtFrameCaptureFlags,
12777 D,
12778 &mut self.mgmt_frame_flags,
12779 decoder,
12780 offset + 0,
12781 _depth
12782 )?;
12783 Ok(())
12784 }
12785 }
12786
12787 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
12788 type Borrowed<'a> = &'a Self;
12789 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12790 value
12791 }
12792 }
12793
12794 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
12795 type Owned = Self;
12796
12797 #[inline(always)]
12798 fn inline_align(_context: fidl::encoding::Context) -> usize {
12799 4
12800 }
12801
12802 #[inline(always)]
12803 fn inline_size(_context: fidl::encoding::Context) -> usize {
12804 8
12805 }
12806 }
12807
12808 unsafe impl<D: fidl::encoding::ResourceDialect>
12809 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
12810 {
12811 #[inline]
12812 unsafe fn encode(
12813 self,
12814 encoder: &mut fidl::encoding::Encoder<'_, D>,
12815 offset: usize,
12816 _depth: fidl::encoding::Depth,
12817 ) -> fidl::Result<()> {
12818 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12819 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
12821 (
12822 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
12823 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
12824 &self.supported_mgmt_frames,
12825 ),
12826 ),
12827 encoder,
12828 offset,
12829 _depth,
12830 )
12831 }
12832 }
12833 unsafe impl<
12834 D: fidl::encoding::ResourceDialect,
12835 T0: fidl::encoding::Encode<i32, D>,
12836 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
12837 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
12838 {
12839 #[inline]
12840 unsafe fn encode(
12841 self,
12842 encoder: &mut fidl::encoding::Encoder<'_, D>,
12843 offset: usize,
12844 depth: fidl::encoding::Depth,
12845 ) -> fidl::Result<()> {
12846 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
12847 self.0.encode(encoder, offset + 0, depth)?;
12851 self.1.encode(encoder, offset + 4, depth)?;
12852 Ok(())
12853 }
12854 }
12855
12856 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12857 for StartCaptureFramesResponse
12858 {
12859 #[inline(always)]
12860 fn new_empty() -> Self {
12861 Self {
12862 status: fidl::new_empty!(i32, D),
12863 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
12864 }
12865 }
12866
12867 #[inline]
12868 unsafe fn decode(
12869 &mut self,
12870 decoder: &mut fidl::encoding::Decoder<'_, D>,
12871 offset: usize,
12872 _depth: fidl::encoding::Depth,
12873 ) -> fidl::Result<()> {
12874 decoder.debug_check_bounds::<Self>(offset);
12875 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
12877 fidl::decode!(
12878 MgmtFrameCaptureFlags,
12879 D,
12880 &mut self.supported_mgmt_frames,
12881 decoder,
12882 offset + 4,
12883 _depth
12884 )?;
12885 Ok(())
12886 }
12887 }
12888
12889 impl fidl::encoding::ValueTypeMarker for StartConfirm {
12890 type Borrowed<'a> = &'a Self;
12891 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12892 value
12893 }
12894 }
12895
12896 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
12897 type Owned = Self;
12898
12899 #[inline(always)]
12900 fn inline_align(_context: fidl::encoding::Context) -> usize {
12901 4
12902 }
12903
12904 #[inline(always)]
12905 fn inline_size(_context: fidl::encoding::Context) -> usize {
12906 4
12907 }
12908 }
12909
12910 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
12911 for &StartConfirm
12912 {
12913 #[inline]
12914 unsafe fn encode(
12915 self,
12916 encoder: &mut fidl::encoding::Encoder<'_, D>,
12917 offset: usize,
12918 _depth: fidl::encoding::Depth,
12919 ) -> fidl::Result<()> {
12920 encoder.debug_check_bounds::<StartConfirm>(offset);
12921 fidl::encoding::Encode::<StartConfirm, D>::encode(
12923 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
12924 encoder,
12925 offset,
12926 _depth,
12927 )
12928 }
12929 }
12930 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
12931 fidl::encoding::Encode<StartConfirm, D> for (T0,)
12932 {
12933 #[inline]
12934 unsafe fn encode(
12935 self,
12936 encoder: &mut fidl::encoding::Encoder<'_, D>,
12937 offset: usize,
12938 depth: fidl::encoding::Depth,
12939 ) -> fidl::Result<()> {
12940 encoder.debug_check_bounds::<StartConfirm>(offset);
12941 self.0.encode(encoder, offset + 0, depth)?;
12945 Ok(())
12946 }
12947 }
12948
12949 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
12950 #[inline(always)]
12951 fn new_empty() -> Self {
12952 Self { result_code: fidl::new_empty!(StartResultCode, D) }
12953 }
12954
12955 #[inline]
12956 unsafe fn decode(
12957 &mut self,
12958 decoder: &mut fidl::encoding::Decoder<'_, D>,
12959 offset: usize,
12960 _depth: fidl::encoding::Depth,
12961 ) -> fidl::Result<()> {
12962 decoder.debug_check_bounds::<Self>(offset);
12963 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
12965 Ok(())
12966 }
12967 }
12968
12969 impl fidl::encoding::ValueTypeMarker for StartRequest {
12970 type Borrowed<'a> = &'a Self;
12971 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12972 value
12973 }
12974 }
12975
12976 unsafe impl fidl::encoding::TypeMarker for StartRequest {
12977 type Owned = Self;
12978
12979 #[inline(always)]
12980 fn inline_align(_context: fidl::encoding::Context) -> usize {
12981 8
12982 }
12983
12984 #[inline(always)]
12985 fn inline_size(_context: fidl::encoding::Context) -> usize {
12986 96
12987 }
12988 }
12989
12990 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
12991 for &StartRequest
12992 {
12993 #[inline]
12994 unsafe fn encode(
12995 self,
12996 encoder: &mut fidl::encoding::Encoder<'_, D>,
12997 offset: usize,
12998 _depth: fidl::encoding::Depth,
12999 ) -> fidl::Result<()> {
13000 encoder.debug_check_bounds::<StartRequest>(offset);
13001 fidl::encoding::Encode::<StartRequest, D>::encode(
13003 (
13004 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
13005 <fidl_fuchsia_wlan_ieee80211_common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
13006 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
13007 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
13008 <fidl_fuchsia_wlan_ieee80211_common::ChannelNumber as fidl::encoding::ValueTypeMarker>::borrow(&self.primary),
13009 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
13010 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
13011 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
13012 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
13013 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
13014 <fidl_fuchsia_wlan_ieee80211_common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
13015 <fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.bandwidth),
13016 ),
13017 encoder, offset, _depth
13018 )
13019 }
13020 }
13021 unsafe impl<
13022 D: fidl::encoding::ResourceDialect,
13023 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
13024 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::BssType, D>,
13025 T2: fidl::encoding::Encode<u16, D>,
13026 T3: fidl::encoding::Encode<u8, D>,
13027 T4: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D>,
13028 T5: fidl::encoding::Encode<u16, D>,
13029 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
13030 T7: fidl::encoding::Encode<Country, D>,
13031 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
13032 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
13033 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D>,
13034 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth, D>,
13035 > fidl::encoding::Encode<StartRequest, D>
13036 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
13037 {
13038 #[inline]
13039 unsafe fn encode(
13040 self,
13041 encoder: &mut fidl::encoding::Encoder<'_, D>,
13042 offset: usize,
13043 depth: fidl::encoding::Depth,
13044 ) -> fidl::Result<()> {
13045 encoder.debug_check_bounds::<StartRequest>(offset);
13046 unsafe {
13049 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
13050 (ptr as *mut u64).write_unaligned(0);
13051 }
13052 unsafe {
13053 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
13054 (ptr as *mut u64).write_unaligned(0);
13055 }
13056 self.0.encode(encoder, offset + 0, depth)?;
13058 self.1.encode(encoder, offset + 16, depth)?;
13059 self.2.encode(encoder, offset + 20, depth)?;
13060 self.3.encode(encoder, offset + 22, depth)?;
13061 self.4.encode(encoder, offset + 23, depth)?;
13062 self.5.encode(encoder, offset + 26, depth)?;
13063 self.6.encode(encoder, offset + 32, depth)?;
13064 self.7.encode(encoder, offset + 48, depth)?;
13065 self.8.encode(encoder, offset + 56, depth)?;
13066 self.9.encode(encoder, offset + 72, depth)?;
13067 self.10.encode(encoder, offset + 88, depth)?;
13068 self.11.encode(encoder, offset + 92, depth)?;
13069 Ok(())
13070 }
13071 }
13072
13073 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
13074 #[inline(always)]
13075 fn new_empty() -> Self {
13076 Self {
13077 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
13078 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::BssType, D),
13079 beacon_period: fidl::new_empty!(u16, D),
13080 dtim_period: fidl::new_empty!(u8, D),
13081 primary: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::ChannelNumber, D),
13082 capability_info: fidl::new_empty!(u16, D),
13083 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
13084 country: fidl::new_empty!(Country, D),
13085 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
13086 rsne: fidl::new_empty!(
13087 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
13088 D
13089 ),
13090 phy: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211_common::WlanPhyType, D),
13091 bandwidth: fidl::new_empty!(
13092 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
13093 D
13094 ),
13095 }
13096 }
13097
13098 #[inline]
13099 unsafe fn decode(
13100 &mut self,
13101 decoder: &mut fidl::encoding::Decoder<'_, D>,
13102 offset: usize,
13103 _depth: fidl::encoding::Depth,
13104 ) -> fidl::Result<()> {
13105 decoder.debug_check_bounds::<Self>(offset);
13106 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
13108 let padval = unsafe { (ptr as *const u64).read_unaligned() };
13109 let mask = 0xffffffff0000ff00u64;
13110 let maskedval = padval & mask;
13111 if maskedval != 0 {
13112 return Err(fidl::Error::NonZeroPadding {
13113 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
13114 });
13115 }
13116 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
13117 let padval = unsafe { (ptr as *const u64).read_unaligned() };
13118 let mask = 0xffffffffff000000u64;
13119 let maskedval = padval & mask;
13120 if maskedval != 0 {
13121 return Err(fidl::Error::NonZeroPadding {
13122 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
13123 });
13124 }
13125 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
13126 fidl::decode!(
13127 fidl_fuchsia_wlan_ieee80211_common::BssType,
13128 D,
13129 &mut self.bss_type,
13130 decoder,
13131 offset + 16,
13132 _depth
13133 )?;
13134 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
13135 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
13136 fidl::decode!(
13137 fidl_fuchsia_wlan_ieee80211_common::ChannelNumber,
13138 D,
13139 &mut self.primary,
13140 decoder,
13141 offset + 23,
13142 _depth
13143 )?;
13144 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 26, _depth)?;
13145 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
13146 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
13147 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
13148 fidl::decode!(
13149 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
13150 D,
13151 &mut self.rsne,
13152 decoder,
13153 offset + 72,
13154 _depth
13155 )?;
13156 fidl::decode!(
13157 fidl_fuchsia_wlan_ieee80211_common::WlanPhyType,
13158 D,
13159 &mut self.phy,
13160 decoder,
13161 offset + 88,
13162 _depth
13163 )?;
13164 fidl::decode!(
13165 fidl_fuchsia_wlan_ieee80211_common::ChannelBandwidth,
13166 D,
13167 &mut self.bandwidth,
13168 decoder,
13169 offset + 92,
13170 _depth
13171 )?;
13172 Ok(())
13173 }
13174 }
13175
13176 impl fidl::encoding::ValueTypeMarker for StopConfirm {
13177 type Borrowed<'a> = &'a Self;
13178 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13179 value
13180 }
13181 }
13182
13183 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
13184 type Owned = Self;
13185
13186 #[inline(always)]
13187 fn inline_align(_context: fidl::encoding::Context) -> usize {
13188 4
13189 }
13190
13191 #[inline(always)]
13192 fn inline_size(_context: fidl::encoding::Context) -> usize {
13193 4
13194 }
13195 }
13196
13197 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
13198 for &StopConfirm
13199 {
13200 #[inline]
13201 unsafe fn encode(
13202 self,
13203 encoder: &mut fidl::encoding::Encoder<'_, D>,
13204 offset: usize,
13205 _depth: fidl::encoding::Depth,
13206 ) -> fidl::Result<()> {
13207 encoder.debug_check_bounds::<StopConfirm>(offset);
13208 fidl::encoding::Encode::<StopConfirm, D>::encode(
13210 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
13211 encoder,
13212 offset,
13213 _depth,
13214 )
13215 }
13216 }
13217 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
13218 fidl::encoding::Encode<StopConfirm, D> for (T0,)
13219 {
13220 #[inline]
13221 unsafe fn encode(
13222 self,
13223 encoder: &mut fidl::encoding::Encoder<'_, D>,
13224 offset: usize,
13225 depth: fidl::encoding::Depth,
13226 ) -> fidl::Result<()> {
13227 encoder.debug_check_bounds::<StopConfirm>(offset);
13228 self.0.encode(encoder, offset + 0, depth)?;
13232 Ok(())
13233 }
13234 }
13235
13236 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
13237 #[inline(always)]
13238 fn new_empty() -> Self {
13239 Self { result_code: fidl::new_empty!(StopResultCode, D) }
13240 }
13241
13242 #[inline]
13243 unsafe fn decode(
13244 &mut self,
13245 decoder: &mut fidl::encoding::Decoder<'_, D>,
13246 offset: usize,
13247 _depth: fidl::encoding::Depth,
13248 ) -> fidl::Result<()> {
13249 decoder.debug_check_bounds::<Self>(offset);
13250 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
13252 Ok(())
13253 }
13254 }
13255
13256 impl fidl::encoding::ValueTypeMarker for StopRequest {
13257 type Borrowed<'a> = &'a Self;
13258 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13259 value
13260 }
13261 }
13262
13263 unsafe impl fidl::encoding::TypeMarker for StopRequest {
13264 type Owned = Self;
13265
13266 #[inline(always)]
13267 fn inline_align(_context: fidl::encoding::Context) -> usize {
13268 8
13269 }
13270
13271 #[inline(always)]
13272 fn inline_size(_context: fidl::encoding::Context) -> usize {
13273 16
13274 }
13275 }
13276
13277 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
13278 for &StopRequest
13279 {
13280 #[inline]
13281 unsafe fn encode(
13282 self,
13283 encoder: &mut fidl::encoding::Encoder<'_, D>,
13284 offset: usize,
13285 _depth: fidl::encoding::Depth,
13286 ) -> fidl::Result<()> {
13287 encoder.debug_check_bounds::<StopRequest>(offset);
13288 fidl::encoding::Encode::<StopRequest, D>::encode(
13290 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
13291 &self.ssid,
13292 ),),
13293 encoder,
13294 offset,
13295 _depth,
13296 )
13297 }
13298 }
13299 unsafe impl<
13300 D: fidl::encoding::ResourceDialect,
13301 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
13302 > fidl::encoding::Encode<StopRequest, D> for (T0,)
13303 {
13304 #[inline]
13305 unsafe fn encode(
13306 self,
13307 encoder: &mut fidl::encoding::Encoder<'_, D>,
13308 offset: usize,
13309 depth: fidl::encoding::Depth,
13310 ) -> fidl::Result<()> {
13311 encoder.debug_check_bounds::<StopRequest>(offset);
13312 self.0.encode(encoder, offset + 0, depth)?;
13316 Ok(())
13317 }
13318 }
13319
13320 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
13321 #[inline(always)]
13322 fn new_empty() -> Self {
13323 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
13324 }
13325
13326 #[inline]
13327 unsafe fn decode(
13328 &mut self,
13329 decoder: &mut fidl::encoding::Decoder<'_, D>,
13330 offset: usize,
13331 _depth: fidl::encoding::Depth,
13332 ) -> fidl::Result<()> {
13333 decoder.debug_check_bounds::<Self>(offset);
13334 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
13336 Ok(())
13337 }
13338 }
13339
13340 impl fidl::encoding::ValueTypeMarker for WmmParameter {
13341 type Borrowed<'a> = &'a Self;
13342 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13343 value
13344 }
13345 }
13346
13347 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
13348 type Owned = Self;
13349
13350 #[inline(always)]
13351 fn inline_align(_context: fidl::encoding::Context) -> usize {
13352 1
13353 }
13354
13355 #[inline(always)]
13356 fn inline_size(_context: fidl::encoding::Context) -> usize {
13357 18
13358 }
13359 #[inline(always)]
13360 fn encode_is_copy() -> bool {
13361 true
13362 }
13363
13364 #[inline(always)]
13365 fn decode_is_copy() -> bool {
13366 true
13367 }
13368 }
13369
13370 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
13371 for &WmmParameter
13372 {
13373 #[inline]
13374 unsafe fn encode(
13375 self,
13376 encoder: &mut fidl::encoding::Encoder<'_, D>,
13377 offset: usize,
13378 _depth: fidl::encoding::Depth,
13379 ) -> fidl::Result<()> {
13380 encoder.debug_check_bounds::<WmmParameter>(offset);
13381 unsafe {
13382 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
13384 (buf_ptr as *mut WmmParameter)
13385 .write_unaligned((self as *const WmmParameter).read());
13386 }
13389 Ok(())
13390 }
13391 }
13392 unsafe impl<
13393 D: fidl::encoding::ResourceDialect,
13394 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
13395 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
13396 {
13397 #[inline]
13398 unsafe fn encode(
13399 self,
13400 encoder: &mut fidl::encoding::Encoder<'_, D>,
13401 offset: usize,
13402 depth: fidl::encoding::Depth,
13403 ) -> fidl::Result<()> {
13404 encoder.debug_check_bounds::<WmmParameter>(offset);
13405 self.0.encode(encoder, offset + 0, depth)?;
13409 Ok(())
13410 }
13411 }
13412
13413 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
13414 #[inline(always)]
13415 fn new_empty() -> Self {
13416 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
13417 }
13418
13419 #[inline]
13420 unsafe fn decode(
13421 &mut self,
13422 decoder: &mut fidl::encoding::Decoder<'_, D>,
13423 offset: usize,
13424 _depth: fidl::encoding::Depth,
13425 ) -> fidl::Result<()> {
13426 decoder.debug_check_bounds::<Self>(offset);
13427 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
13428 unsafe {
13431 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
13432 }
13433 Ok(())
13434 }
13435 }
13436
13437 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
13438 type Borrowed<'a> = &'a Self;
13439 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13440 value
13441 }
13442 }
13443
13444 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
13445 type Owned = Self;
13446
13447 #[inline(always)]
13448 fn inline_align(_context: fidl::encoding::Context) -> usize {
13449 8
13450 }
13451
13452 #[inline(always)]
13453 fn inline_size(_context: fidl::encoding::Context) -> usize {
13454 16
13455 }
13456 }
13457
13458 unsafe impl<D: fidl::encoding::ResourceDialect>
13459 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
13460 for &GetIfaceHistogramStatsResponse
13461 {
13462 #[inline]
13463 unsafe fn encode(
13464 self,
13465 encoder: &mut fidl::encoding::Encoder<'_, D>,
13466 offset: usize,
13467 _depth: fidl::encoding::Depth,
13468 ) -> fidl::Result<()> {
13469 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
13470 encoder.write_num::<u64>(self.ordinal(), offset);
13471 match self {
13472 GetIfaceHistogramStatsResponse::Stats(ref val) => {
13473 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D>(
13474 <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13475 encoder, offset + 8, _depth
13476 )
13477 }
13478 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
13479 fidl::encoding::encode_in_envelope::<i32, D>(
13480 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13481 encoder, offset + 8, _depth
13482 )
13483 }
13484 }
13485 }
13486 }
13487
13488 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
13489 for GetIfaceHistogramStatsResponse
13490 {
13491 #[inline(always)]
13492 fn new_empty() -> Self {
13493 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceHistogramStats, D))
13494 }
13495
13496 #[inline]
13497 unsafe fn decode(
13498 &mut self,
13499 decoder: &mut fidl::encoding::Decoder<'_, D>,
13500 offset: usize,
13501 mut depth: fidl::encoding::Depth,
13502 ) -> fidl::Result<()> {
13503 decoder.debug_check_bounds::<Self>(offset);
13504 #[allow(unused_variables)]
13505 let next_out_of_line = decoder.next_out_of_line();
13506 let handles_before = decoder.remaining_handles();
13507 let (ordinal, inlined, num_bytes, num_handles) =
13508 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13509
13510 let member_inline_size = match ordinal {
13511 1 => <fidl_fuchsia_wlan_stats_common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13512 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13513 _ => return Err(fidl::Error::UnknownUnionTag),
13514 };
13515
13516 if inlined != (member_inline_size <= 4) {
13517 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13518 }
13519 let _inner_offset;
13520 if inlined {
13521 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13522 _inner_offset = offset + 8;
13523 } else {
13524 depth.increment()?;
13525 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13526 }
13527 match ordinal {
13528 1 => {
13529 #[allow(irrefutable_let_patterns)]
13530 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
13531 } else {
13533 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
13535 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13536 D
13537 ));
13538 }
13539 #[allow(irrefutable_let_patterns)]
13540 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
13541 fidl::decode!(
13542 fidl_fuchsia_wlan_stats_common::IfaceHistogramStats,
13543 D,
13544 val,
13545 decoder,
13546 _inner_offset,
13547 depth
13548 )?;
13549 } else {
13550 unreachable!()
13551 }
13552 }
13553 2 => {
13554 #[allow(irrefutable_let_patterns)]
13555 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
13556 } else {
13558 *self =
13560 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13561 }
13562 #[allow(irrefutable_let_patterns)]
13563 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
13564 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13565 } else {
13566 unreachable!()
13567 }
13568 }
13569 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13570 }
13571 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13572 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13573 }
13574 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13575 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13576 }
13577 Ok(())
13578 }
13579 }
13580
13581 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
13582 type Borrowed<'a> = &'a Self;
13583 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
13584 value
13585 }
13586 }
13587
13588 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
13589 type Owned = Self;
13590
13591 #[inline(always)]
13592 fn inline_align(_context: fidl::encoding::Context) -> usize {
13593 8
13594 }
13595
13596 #[inline(always)]
13597 fn inline_size(_context: fidl::encoding::Context) -> usize {
13598 16
13599 }
13600 }
13601
13602 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
13603 for &GetIfaceStatsResponse
13604 {
13605 #[inline]
13606 unsafe fn encode(
13607 self,
13608 encoder: &mut fidl::encoding::Encoder<'_, D>,
13609 offset: usize,
13610 _depth: fidl::encoding::Depth,
13611 ) -> fidl::Result<()> {
13612 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
13613 encoder.write_num::<u64>(self.ordinal(), offset);
13614 match self {
13615 GetIfaceStatsResponse::Stats(ref val) => {
13616 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats_common::IfaceStats, D>(
13617 <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
13618 encoder, offset + 8, _depth
13619 )
13620 }
13621 GetIfaceStatsResponse::ErrorStatus(ref val) => {
13622 fidl::encoding::encode_in_envelope::<i32, D>(
13623 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
13624 encoder, offset + 8, _depth
13625 )
13626 }
13627 }
13628 }
13629 }
13630
13631 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
13632 #[inline(always)]
13633 fn new_empty() -> Self {
13634 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats_common::IfaceStats, D))
13635 }
13636
13637 #[inline]
13638 unsafe fn decode(
13639 &mut self,
13640 decoder: &mut fidl::encoding::Decoder<'_, D>,
13641 offset: usize,
13642 mut depth: fidl::encoding::Depth,
13643 ) -> fidl::Result<()> {
13644 decoder.debug_check_bounds::<Self>(offset);
13645 #[allow(unused_variables)]
13646 let next_out_of_line = decoder.next_out_of_line();
13647 let handles_before = decoder.remaining_handles();
13648 let (ordinal, inlined, num_bytes, num_handles) =
13649 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
13650
13651 let member_inline_size = match ordinal {
13652 1 => <fidl_fuchsia_wlan_stats_common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13653 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
13654 _ => return Err(fidl::Error::UnknownUnionTag),
13655 };
13656
13657 if inlined != (member_inline_size <= 4) {
13658 return Err(fidl::Error::InvalidInlineBitInEnvelope);
13659 }
13660 let _inner_offset;
13661 if inlined {
13662 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
13663 _inner_offset = offset + 8;
13664 } else {
13665 depth.increment()?;
13666 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
13667 }
13668 match ordinal {
13669 1 => {
13670 #[allow(irrefutable_let_patterns)]
13671 if let GetIfaceStatsResponse::Stats(_) = self {
13672 } else {
13674 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
13676 fidl_fuchsia_wlan_stats_common::IfaceStats,
13677 D
13678 ));
13679 }
13680 #[allow(irrefutable_let_patterns)]
13681 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
13682 fidl::decode!(
13683 fidl_fuchsia_wlan_stats_common::IfaceStats,
13684 D,
13685 val,
13686 decoder,
13687 _inner_offset,
13688 depth
13689 )?;
13690 } else {
13691 unreachable!()
13692 }
13693 }
13694 2 => {
13695 #[allow(irrefutable_let_patterns)]
13696 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
13697 } else {
13699 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
13701 }
13702 #[allow(irrefutable_let_patterns)]
13703 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
13704 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
13705 } else {
13706 unreachable!()
13707 }
13708 }
13709 ordinal => panic!("unexpected ordinal {:?}", ordinal),
13710 }
13711 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
13712 return Err(fidl::Error::InvalidNumBytesInEnvelope);
13713 }
13714 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
13715 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
13716 }
13717 Ok(())
13718 }
13719 }
13720}