1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11pub type QosInfo = u8;
13
14pub const MAX_SSIDS_PER_SCAN_REQUEST: u32 = 32;
15
16pub const WMM_PARAM_LEN: u8 = 18;
20
21pub const COUNTRY_ENVIRON_ALL: u8 = 32;
22
23pub const COUNTRY_ENVIRON_INDOOR: u8 = 73;
24
25pub const COUNTRY_ENVIRON_NON_COUNTRY: u8 = 88;
26
27pub const COUNTRY_ENVIRON_OUTDOOR: u8 = 79;
28
29bitflags! {
30 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
36 pub struct MgmtFrameCaptureFlags: u32 {
37 const ASSOC_REQ = 1;
38 const ASSOC_RESP = 2;
39 const REASSOC_REQ = 4;
40 const REASSOC_RESP = 8;
41 const PROBE_REQ = 16;
42 const PROBE_RESP = 32;
43 const TIMING_AD = 64;
44 const BEACON = 256;
45 const ATIM = 512;
46 const DISASSOC = 1024;
47 const AUTH = 2048;
48 const DEAUTH = 4096;
49 const ACTION = 8192;
50 const ACTION_NO_ACK = 16384;
51 }
52}
53
54impl MgmtFrameCaptureFlags {}
55
56#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
57#[repr(u32)]
58pub enum AssociateResultCode {
59 Success = 0,
60 RefusedReasonUnspecified = 1,
61 RefusedNotAuthenticated = 2,
62 RefusedCapabilitiesMismatch = 3,
63 RefusedExternalReason = 4,
64 RefusedApOutOfMemory = 5,
65 RefusedBasicRatesMismatch = 6,
66 RejectedEmergencyServicesNotSupported = 7,
67 RefusedTemporarily = 8,
68}
69
70impl AssociateResultCode {
71 #[inline]
72 pub fn from_primitive(prim: u32) -> Option<Self> {
73 match prim {
74 0 => Some(Self::Success),
75 1 => Some(Self::RefusedReasonUnspecified),
76 2 => Some(Self::RefusedNotAuthenticated),
77 3 => Some(Self::RefusedCapabilitiesMismatch),
78 4 => Some(Self::RefusedExternalReason),
79 5 => Some(Self::RefusedApOutOfMemory),
80 6 => Some(Self::RefusedBasicRatesMismatch),
81 7 => Some(Self::RejectedEmergencyServicesNotSupported),
82 8 => Some(Self::RefusedTemporarily),
83 _ => None,
84 }
85 }
86
87 #[inline]
88 pub const fn into_primitive(self) -> u32 {
89 self as u32
90 }
91}
92
93#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
94#[repr(u32)]
95pub enum AuthenticateResultCode {
96 Success = 0,
97 Refused = 1,
98 AntiCloggingTokenRequired = 2,
99 FiniteCyclicGroupNotSupported = 3,
100 AuthenticationRejected = 4,
101 AuthFailureTimeout = 5,
102}
103
104impl AuthenticateResultCode {
105 #[inline]
106 pub fn from_primitive(prim: u32) -> Option<Self> {
107 match prim {
108 0 => Some(Self::Success),
109 1 => Some(Self::Refused),
110 2 => Some(Self::AntiCloggingTokenRequired),
111 3 => Some(Self::FiniteCyclicGroupNotSupported),
112 4 => Some(Self::AuthenticationRejected),
113 5 => Some(Self::AuthFailureTimeout),
114 _ => None,
115 }
116 }
117
118 #[inline]
119 pub const fn into_primitive(self) -> u32 {
120 self as u32
121 }
122}
123
124#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
125#[repr(u32)]
126pub enum AuthenticationTypes {
127 OpenSystem = 1,
128 SharedKey = 2,
129 FastBssTransition = 3,
130 Sae = 4,
131}
132
133impl AuthenticationTypes {
134 #[inline]
135 pub fn from_primitive(prim: u32) -> Option<Self> {
136 match prim {
137 1 => Some(Self::OpenSystem),
138 2 => Some(Self::SharedKey),
139 3 => Some(Self::FastBssTransition),
140 4 => Some(Self::Sae),
141 _ => None,
142 }
143 }
144
145 #[inline]
146 pub const fn into_primitive(self) -> u32 {
147 self as u32
148 }
149}
150
151#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
152#[repr(u32)]
153pub enum ControlledPortState {
154 Closed = 0,
155 Open = 1,
156}
157
158impl ControlledPortState {
159 #[inline]
160 pub fn from_primitive(prim: u32) -> Option<Self> {
161 match prim {
162 0 => Some(Self::Closed),
163 1 => Some(Self::Open),
164 _ => None,
165 }
166 }
167
168 #[inline]
169 pub const fn into_primitive(self) -> u32 {
170 self as u32
171 }
172}
173
174#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
175#[repr(u32)]
176pub enum EapolResultCode {
177 Success = 0,
178 TransmissionFailure = 1,
179}
180
181impl EapolResultCode {
182 #[inline]
183 pub fn from_primitive(prim: u32) -> Option<Self> {
184 match prim {
185 0 => Some(Self::Success),
186 1 => Some(Self::TransmissionFailure),
187 _ => None,
188 }
189 }
190
191 #[inline]
192 pub const fn into_primitive(self) -> u32 {
193 self as u32
194 }
195}
196
197#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
198#[repr(u32)]
199pub enum KeyType {
200 Group = 1,
201 Pairwise = 2,
202 PeerKey = 3,
203 Igtk = 4,
204}
205
206impl KeyType {
207 #[inline]
208 pub fn from_primitive(prim: u32) -> Option<Self> {
209 match prim {
210 1 => Some(Self::Group),
211 2 => Some(Self::Pairwise),
212 3 => Some(Self::PeerKey),
213 4 => Some(Self::Igtk),
214 _ => None,
215 }
216 }
217
218 #[inline]
219 pub const fn into_primitive(self) -> u32 {
220 self as u32
221 }
222}
223
224#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
225#[repr(u32)]
226pub enum ScanResultCode {
227 Success = 0,
228 NotSupported = 1,
229 InvalidArgs = 2,
230 InternalError = 3,
231 ShouldWait = 4,
232 CanceledByDriverOrFirmware = 5,
233}
234
235impl ScanResultCode {
236 #[inline]
237 pub fn from_primitive(prim: u32) -> Option<Self> {
238 match prim {
239 0 => Some(Self::Success),
240 1 => Some(Self::NotSupported),
241 2 => Some(Self::InvalidArgs),
242 3 => Some(Self::InternalError),
243 4 => Some(Self::ShouldWait),
244 5 => Some(Self::CanceledByDriverOrFirmware),
245 _ => None,
246 }
247 }
248
249 #[inline]
250 pub const fn into_primitive(self) -> u32 {
251 self as u32
252 }
253}
254
255#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
256#[repr(u32)]
257pub enum ScanTypes {
258 Active = 1,
259 Passive = 2,
260}
261
262impl ScanTypes {
263 #[inline]
264 pub fn from_primitive(prim: u32) -> Option<Self> {
265 match prim {
266 1 => Some(Self::Active),
267 2 => Some(Self::Passive),
268 _ => None,
269 }
270 }
271
272 #[inline]
273 pub const fn into_primitive(self) -> u32 {
274 self as u32
275 }
276}
277
278#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
279#[repr(u32)]
280pub enum StartResultCode {
281 Success = 0,
282 BssAlreadyStartedOrJoined = 1,
283 ResetRequiredBeforeStart = 2,
284 NotSupported = 3,
285 InternalError = 4,
286}
287
288impl StartResultCode {
289 #[inline]
290 pub fn from_primitive(prim: u32) -> Option<Self> {
291 match prim {
292 0 => Some(Self::Success),
293 1 => Some(Self::BssAlreadyStartedOrJoined),
294 2 => Some(Self::ResetRequiredBeforeStart),
295 3 => Some(Self::NotSupported),
296 4 => Some(Self::InternalError),
297 _ => None,
298 }
299 }
300
301 #[inline]
302 pub const fn into_primitive(self) -> u32 {
303 self as u32
304 }
305}
306
307#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
308#[repr(u32)]
309pub enum StopResultCode {
310 Success = 0,
311 BssAlreadyStopped = 1,
312 InternalError = 2,
313}
314
315impl StopResultCode {
316 #[inline]
317 pub fn from_primitive(prim: u32) -> Option<Self> {
318 match prim {
319 0 => Some(Self::Success),
320 1 => Some(Self::BssAlreadyStopped),
321 2 => Some(Self::InternalError),
322 _ => None,
323 }
324 }
325
326 #[inline]
327 pub const fn into_primitive(self) -> u32 {
328 self as u32
329 }
330}
331
332#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
333pub struct AssociateIndication {
334 pub peer_sta_address: [u8; 6],
335 pub capability_info: u16,
336 pub listen_interval: u16,
337 pub ssid: Option<Vec<u8>>,
338 pub rates: Vec<u8>,
339 pub rsne: Option<Vec<u8>>,
340}
341
342impl fidl::Persistable for AssociateIndication {}
343
344#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
345pub struct AssociateResponse {
346 pub peer_sta_address: [u8; 6],
347 pub result_code: AssociateResultCode,
348 pub association_id: u16,
349 pub capability_info: u16,
350 pub rates: Vec<u8>,
351}
352
353impl fidl::Persistable for AssociateResponse {}
354
355#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
356pub struct AuthenticateIndication {
357 pub peer_sta_address: [u8; 6],
358 pub auth_type: AuthenticationTypes,
359}
360
361impl fidl::Persistable for AuthenticateIndication {}
362
363#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
364pub struct AuthenticateResponse {
365 pub peer_sta_address: [u8; 6],
366 pub result_code: AuthenticateResultCode,
367}
368
369impl fidl::Persistable for AuthenticateResponse {}
370
371#[derive(Clone, Debug, PartialEq)]
372pub struct BandCapability {
373 pub band: fidl_fuchsia_wlan_ieee80211__common::WlanBand,
375 pub basic_rates: Vec<u8>,
380 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
381 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
382 pub operating_channels: Vec<u8>,
392}
393
394impl fidl::Persistable for BandCapability {}
395
396#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
397pub struct CapturedFrameResult {
398 pub frame: Vec<u8>,
399}
400
401impl fidl::Persistable for CapturedFrameResult {}
402
403#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
404pub struct ConnectConfirm {
405 pub peer_sta_address: [u8; 6],
406 pub result_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
407 pub association_id: u16,
408 pub association_ies: Vec<u8>,
409}
410
411impl fidl::Persistable for ConnectConfirm {}
412
413#[derive(Clone, Debug, PartialEq)]
414pub struct ConnectRequest {
415 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
416 pub connect_failure_timeout: u32,
417 pub auth_type: AuthenticationTypes,
419 pub sae_password: Vec<u8>,
420 pub wep_key: Option<Box<SetKeyDescriptor>>,
422 pub security_ie: Vec<u8>,
424}
425
426impl fidl::Persistable for ConnectRequest {}
427
428#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
429#[repr(C)]
430pub struct Country {
431 pub alpha2: [u8; 2],
432 pub suffix: u8,
433}
434
435impl fidl::Persistable for Country {}
436
437#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
438#[repr(C)]
439pub struct DeauthenticateConfirm {
440 pub peer_sta_address: [u8; 6],
441}
442
443impl fidl::Persistable for DeauthenticateConfirm {}
444
445#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
446pub struct DeauthenticateIndication {
447 pub peer_sta_address: [u8; 6],
448 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
449 pub locally_initiated: bool,
452}
453
454impl fidl::Persistable for DeauthenticateIndication {}
455
456#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
457pub struct DeauthenticateRequest {
458 pub peer_sta_address: [u8; 6],
459 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
460}
461
462impl fidl::Persistable for DeauthenticateRequest {}
463
464#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
465pub struct DeleteKeyDescriptor {
466 pub key_id: u16,
467 pub key_type: KeyType,
468 pub address: [u8; 6],
469}
470
471impl fidl::Persistable for DeleteKeyDescriptor {}
472
473#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
474pub struct DeleteKeysRequest {
475 pub keylist: Vec<DeleteKeyDescriptor>,
476}
477
478impl fidl::Persistable for DeleteKeysRequest {}
479
480#[derive(Clone, Debug, PartialEq)]
481pub struct DeviceInfo {
482 pub sta_addr: [u8; 6],
483 pub role: fidl_fuchsia_wlan_common__common::WlanMacRole,
484 pub bands: Vec<BandCapability>,
485 pub softmac_hardware_capability: u32,
486 pub qos_capable: bool,
487}
488
489impl fidl::Persistable for DeviceInfo {}
490
491#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
492#[repr(C)]
493pub struct DisassociateConfirm {
494 pub status: i32,
495}
496
497impl fidl::Persistable for DisassociateConfirm {}
498
499#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
500pub struct DisassociateIndication {
501 pub peer_sta_address: [u8; 6],
502 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
503 pub locally_initiated: bool,
506}
507
508impl fidl::Persistable for DisassociateIndication {}
509
510#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
511pub struct DisassociateRequest {
512 pub peer_sta_address: [u8; 6],
513 pub reason_code: fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
514}
515
516impl fidl::Persistable for DisassociateRequest {}
517
518#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
519pub struct EapolConfirm {
520 pub result_code: EapolResultCode,
521 pub dst_addr: [u8; 6],
525}
526
527impl fidl::Persistable for EapolConfirm {}
528
529#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
530pub struct EapolIndication {
531 pub src_addr: [u8; 6],
532 pub dst_addr: [u8; 6],
533 pub data: Vec<u8>,
534}
535
536impl fidl::Persistable for EapolIndication {}
537
538#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
539pub struct EapolRequest {
540 pub src_addr: [u8; 6],
541 pub dst_addr: [u8; 6],
542 pub data: Vec<u8>,
543}
544
545impl fidl::Persistable for EapolRequest {}
546
547#[derive(Clone, Debug, PartialEq)]
548pub struct MlmeGetSignalReportResponse {
549 pub resp: fidl_fuchsia_wlan_stats__common::SignalReport,
550}
551
552impl fidl::Persistable for MlmeGetSignalReportResponse {}
553
554#[derive(Clone, Debug, PartialEq)]
555pub struct MlmeQueryTelemetrySupportResponse {
556 pub resp: fidl_fuchsia_wlan_stats__common::TelemetrySupport,
557}
558
559impl fidl::Persistable for MlmeQueryTelemetrySupportResponse {}
560
561#[derive(Clone, Debug, PartialEq)]
562pub struct MinstrelListResponse {
563 pub peers: fidl_fuchsia_wlan_minstrel__common::Peers,
564}
565
566impl fidl::Persistable for MinstrelListResponse {}
567
568#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
569#[repr(C)]
570pub struct MinstrelStatsRequest {
571 pub peer_addr: [u8; 6],
572}
573
574impl fidl::Persistable for MinstrelStatsRequest {}
575
576#[derive(Clone, Debug, PartialEq)]
577pub struct MinstrelStatsResponse {
578 pub peer: Option<Box<fidl_fuchsia_wlan_minstrel__common::Peer>>,
579}
580
581impl fidl::Persistable for MinstrelStatsResponse {}
582
583#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
584pub struct MlmeAssociateIndRequest {
585 pub ind: AssociateIndication,
586}
587
588impl fidl::Persistable for MlmeAssociateIndRequest {}
589
590#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
591pub struct MlmeAssociateRespRequest {
592 pub resp: AssociateResponse,
593}
594
595impl fidl::Persistable for MlmeAssociateRespRequest {}
596
597#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
598pub struct MlmeAuthenticateIndRequest {
599 pub ind: AuthenticateIndication,
600}
601
602impl fidl::Persistable for MlmeAuthenticateIndRequest {}
603
604#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
605pub struct MlmeAuthenticateRespRequest {
606 pub resp: AuthenticateResponse,
607}
608
609impl fidl::Persistable for MlmeAuthenticateRespRequest {}
610
611#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
612pub struct MlmeConnectConfRequest {
613 pub resp: ConnectConfirm,
614}
615
616impl fidl::Persistable for MlmeConnectConfRequest {}
617
618#[derive(Clone, Debug, PartialEq)]
619pub struct MlmeConnectReqRequest {
620 pub req: ConnectRequest,
621}
622
623impl fidl::Persistable for MlmeConnectReqRequest {}
624
625#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
626#[repr(C)]
627pub struct MlmeDeauthenticateConfRequest {
628 pub resp: DeauthenticateConfirm,
629}
630
631impl fidl::Persistable for MlmeDeauthenticateConfRequest {}
632
633#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
634pub struct MlmeDeauthenticateIndRequest {
635 pub ind: DeauthenticateIndication,
636}
637
638impl fidl::Persistable for MlmeDeauthenticateIndRequest {}
639
640#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
641pub struct MlmeDeauthenticateReqRequest {
642 pub req: DeauthenticateRequest,
643}
644
645impl fidl::Persistable for MlmeDeauthenticateReqRequest {}
646
647#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
648pub struct MlmeDeleteKeysReqRequest {
649 pub req: DeleteKeysRequest,
650}
651
652impl fidl::Persistable for MlmeDeleteKeysReqRequest {}
653
654#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
655#[repr(C)]
656pub struct MlmeDisassociateConfRequest {
657 pub resp: DisassociateConfirm,
658}
659
660impl fidl::Persistable for MlmeDisassociateConfRequest {}
661
662#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
663pub struct MlmeDisassociateIndRequest {
664 pub ind: DisassociateIndication,
665}
666
667impl fidl::Persistable for MlmeDisassociateIndRequest {}
668
669#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
670pub struct MlmeDisassociateReqRequest {
671 pub req: DisassociateRequest,
672}
673
674impl fidl::Persistable for MlmeDisassociateReqRequest {}
675
676#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
677pub struct MlmeEapolConfRequest {
678 pub resp: EapolConfirm,
679}
680
681impl fidl::Persistable for MlmeEapolConfRequest {}
682
683#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
684pub struct MlmeEapolIndRequest {
685 pub ind: EapolIndication,
686}
687
688impl fidl::Persistable for MlmeEapolIndRequest {}
689
690#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
691pub struct MlmeEapolReqRequest {
692 pub req: EapolRequest,
693}
694
695impl fidl::Persistable for MlmeEapolReqRequest {}
696
697#[derive(Clone, Debug, PartialEq)]
698pub struct MlmeFinalizeAssociationReqRequest {
699 pub negotiated_capabilities: NegotiatedCapabilities,
700}
701
702impl fidl::Persistable for MlmeFinalizeAssociationReqRequest {}
703
704#[derive(Clone, Debug, PartialEq)]
705pub struct MlmeGetIfaceHistogramStatsResponse {
706 pub resp: GetIfaceHistogramStatsResponse,
707}
708
709impl fidl::Persistable for MlmeGetIfaceHistogramStatsResponse {}
710
711#[derive(Clone, Debug, PartialEq)]
712pub struct MlmeGetIfaceStatsResponse {
713 pub resp: GetIfaceStatsResponse,
714}
715
716impl fidl::Persistable for MlmeGetIfaceStatsResponse {}
717
718#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
719#[repr(C)]
720pub struct MlmeGetMinstrelStatsRequest {
721 pub req: MinstrelStatsRequest,
722}
723
724impl fidl::Persistable for MlmeGetMinstrelStatsRequest {}
725
726#[derive(Clone, Debug, PartialEq)]
727pub struct MlmeGetMinstrelStatsResponse {
728 pub resp: MinstrelStatsResponse,
729}
730
731impl fidl::Persistable for MlmeGetMinstrelStatsResponse {}
732
733#[derive(Clone, Debug, PartialEq)]
734pub struct MlmeListMinstrelPeersResponse {
735 pub resp: MinstrelListResponse,
736}
737
738impl fidl::Persistable for MlmeListMinstrelPeersResponse {}
739
740#[derive(Clone, Debug, PartialEq)]
741pub struct MlmeOnChannelSwitchedRequest {
742 pub info: fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
743}
744
745impl fidl::Persistable for MlmeOnChannelSwitchedRequest {}
746
747#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
748pub struct MlmeOnPmkAvailableRequest {
749 pub info: PmkInfo,
750}
751
752impl fidl::Persistable for MlmeOnPmkAvailableRequest {}
753
754#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
755pub struct MlmeOnSaeFrameRxRequest {
756 pub frame: SaeFrame,
757}
758
759impl fidl::Persistable for MlmeOnSaeFrameRxRequest {}
760
761#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
762#[repr(C)]
763pub struct MlmeOnSaeHandshakeIndRequest {
764 pub ind: SaeHandshakeIndication,
765}
766
767impl fidl::Persistable for MlmeOnSaeHandshakeIndRequest {}
768
769#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
770pub struct MlmeOnScanEndRequest {
771 pub end: ScanEnd,
772}
773
774impl fidl::Persistable for MlmeOnScanEndRequest {}
775
776#[derive(Clone, Debug, PartialEq)]
777pub struct MlmeOnScanResultRequest {
778 pub result: ScanResult,
779}
780
781impl fidl::Persistable for MlmeOnScanResultRequest {}
782
783#[derive(Clone, Debug, PartialEq)]
784pub struct MlmeOnWmmStatusRespRequest {
785 pub status: i32,
786 pub resp: fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
787}
788
789impl fidl::Persistable for MlmeOnWmmStatusRespRequest {}
790
791#[derive(Clone, Debug, PartialEq)]
792pub struct MlmeQueryDeviceInfoResponse {
793 pub info: DeviceInfo,
794}
795
796impl fidl::Persistable for MlmeQueryDeviceInfoResponse {}
797
798#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
799#[repr(C)]
800pub struct MlmeReconnectReqRequest {
801 pub req: ReconnectRequest,
802}
803
804impl fidl::Persistable for MlmeReconnectReqRequest {}
805
806#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
807pub struct MlmeRelayCapturedFrameRequest {
808 pub result: CapturedFrameResult,
809}
810
811impl fidl::Persistable for MlmeRelayCapturedFrameRequest {}
812
813#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
814pub struct MlmeResetReqRequest {
815 pub req: ResetRequest,
816}
817
818impl fidl::Persistable for MlmeResetReqRequest {}
819
820#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
821pub struct MlmeRoamConfRequest {
822 pub conf: RoamConfirm,
823}
824
825impl fidl::Persistable for MlmeRoamConfRequest {}
826
827#[derive(Clone, Debug, PartialEq)]
828pub struct MlmeRoamReqRequest {
829 pub req: RoamRequest,
830}
831
832impl fidl::Persistable for MlmeRoamReqRequest {}
833
834#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
835pub struct MlmeRoamResultIndRequest {
836 pub ind: RoamResultIndication,
837}
838
839impl fidl::Persistable for MlmeRoamResultIndRequest {}
840
841#[derive(Clone, Debug, PartialEq)]
842pub struct MlmeRoamStartIndRequest {
843 pub ind: RoamStartIndication,
844}
845
846impl fidl::Persistable for MlmeRoamStartIndRequest {}
847
848#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
849pub struct MlmeSaeFrameTxRequest {
850 pub frame: SaeFrame,
851}
852
853impl fidl::Persistable for MlmeSaeFrameTxRequest {}
854
855#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
856pub struct MlmeSaeHandshakeRespRequest {
857 pub resp: SaeHandshakeResponse,
858}
859
860impl fidl::Persistable for MlmeSaeHandshakeRespRequest {}
861
862#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
863pub struct MlmeSetControlledPortRequest {
864 pub req: SetControlledPortRequest,
865}
866
867impl fidl::Persistable for MlmeSetControlledPortRequest {}
868
869#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
870pub struct MlmeSetKeysConfRequest {
871 pub conf: SetKeysConfirm,
872}
873
874impl fidl::Persistable for MlmeSetKeysConfRequest {}
875
876#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
877pub struct MlmeSetKeysReqRequest {
878 pub req: SetKeysRequest,
879}
880
881impl fidl::Persistable for MlmeSetKeysReqRequest {}
882
883#[derive(Clone, Debug, PartialEq)]
884pub struct MlmeSignalReportRequest {
885 pub ind: fidl_fuchsia_wlan_internal__common::SignalReportIndication,
886}
887
888impl fidl::Persistable for MlmeSignalReportRequest {}
889
890#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
891pub struct MlmeStartCaptureFramesRequest {
892 pub req: StartCaptureFramesRequest,
893}
894
895impl fidl::Persistable for MlmeStartCaptureFramesRequest {}
896
897#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
898pub struct MlmeStartCaptureFramesResponse {
899 pub resp: StartCaptureFramesResponse,
900}
901
902impl fidl::Persistable for MlmeStartCaptureFramesResponse {}
903
904#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
905pub struct MlmeStartConfRequest {
906 pub resp: StartConfirm,
907}
908
909impl fidl::Persistable for MlmeStartConfRequest {}
910
911#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
912pub struct MlmeStartReqRequest {
913 pub req: StartRequest,
914}
915
916impl fidl::Persistable for MlmeStartReqRequest {}
917
918#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
919pub struct MlmeStartScanRequest {
920 pub req: ScanRequest,
921}
922
923impl fidl::Persistable for MlmeStartScanRequest {}
924
925#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
926pub struct MlmeStopConfRequest {
927 pub resp: StopConfirm,
928}
929
930impl fidl::Persistable for MlmeStopConfRequest {}
931
932#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
933pub struct MlmeStopReqRequest {
934 pub req: StopRequest,
935}
936
937impl fidl::Persistable for MlmeStopReqRequest {}
938
939#[derive(Clone, Debug, PartialEq)]
941pub struct NegotiatedCapabilities {
942 pub channel: fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
943 pub capability_info: u16,
944 pub rates: Vec<u8>,
945 pub wmm_param: Option<Box<WmmParameter>>,
946 pub ht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>>,
947 pub vht_cap: Option<Box<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>>,
948}
949
950impl fidl::Persistable for NegotiatedCapabilities {}
951
952#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
953pub struct PmkInfo {
954 pub pmk: Vec<u8>,
955 pub pmkid: Vec<u8>,
956}
957
958impl fidl::Persistable for PmkInfo {}
959
960#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
961#[repr(C)]
962pub struct ReconnectRequest {
963 pub peer_sta_address: [u8; 6],
964}
965
966impl fidl::Persistable for ReconnectRequest {}
967
968#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
969pub struct ResetRequest {
970 pub sta_address: [u8; 6],
971 pub set_default_mib: bool,
972}
973
974impl fidl::Persistable for ResetRequest {}
975
976#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
978pub struct RoamConfirm {
979 pub selected_bssid: [u8; 6],
980 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
981 pub original_association_maintained: bool,
986 pub target_bss_authenticated: bool,
991 pub association_id: u16,
992 pub association_ies: Vec<u8>,
993}
994
995impl fidl::Persistable for RoamConfirm {}
996
997#[derive(Clone, Debug, PartialEq)]
998pub struct RoamRequest {
999 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1000}
1001
1002impl fidl::Persistable for RoamRequest {}
1003
1004#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1006pub struct RoamResultIndication {
1007 pub selected_bssid: [u8; 6],
1008 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1009 pub original_association_maintained: bool,
1014 pub target_bss_authenticated: bool,
1019 pub association_id: u16,
1020 pub association_ies: Vec<u8>,
1021}
1022
1023impl fidl::Persistable for RoamResultIndication {}
1024
1025#[derive(Clone, Debug, PartialEq)]
1027pub struct RoamStartIndication {
1028 pub selected_bssid: [u8; 6],
1029 pub selected_bss: fidl_fuchsia_wlan_common__common::BssDescription,
1030 pub original_association_maintained: bool,
1037}
1038
1039impl fidl::Persistable for RoamStartIndication {}
1040
1041#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1042pub struct SaeFrame {
1043 pub peer_sta_address: [u8; 6],
1044 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1045 pub seq_num: u16,
1046 pub sae_fields: Vec<u8>,
1047}
1048
1049impl fidl::Persistable for SaeFrame {}
1050
1051#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1052#[repr(C)]
1053pub struct SaeHandshakeIndication {
1054 pub peer_sta_address: [u8; 6],
1055}
1056
1057impl fidl::Persistable for SaeHandshakeIndication {}
1058
1059#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1060pub struct SaeHandshakeResponse {
1061 pub peer_sta_address: [u8; 6],
1062 pub status_code: fidl_fuchsia_wlan_ieee80211__common::StatusCode,
1063}
1064
1065impl fidl::Persistable for SaeHandshakeResponse {}
1066
1067#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1068pub struct ScanEnd {
1069 pub txn_id: u64,
1070 pub code: ScanResultCode,
1071}
1072
1073impl fidl::Persistable for ScanEnd {}
1074
1075#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1076pub struct ScanRequest {
1077 pub txn_id: u64,
1078 pub scan_type: ScanTypes,
1079 pub channel_list: Vec<u8>,
1086 pub ssid_list: Vec<Vec<u8>>,
1095 pub probe_delay: u32,
1096 pub min_channel_time: u32,
1097 pub max_channel_time: u32,
1098}
1099
1100impl fidl::Persistable for ScanRequest {}
1101
1102#[derive(Clone, Debug, PartialEq)]
1103pub struct ScanResult {
1104 pub txn_id: u64,
1105 pub timestamp_nanos: i64,
1106 pub bss: fidl_fuchsia_wlan_common__common::BssDescription,
1107}
1108
1109impl fidl::Persistable for ScanResult {}
1110
1111#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1112pub struct SetControlledPortRequest {
1113 pub peer_sta_address: [u8; 6],
1114 pub state: ControlledPortState,
1115}
1116
1117impl fidl::Persistable for SetControlledPortRequest {}
1118
1119#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1120pub struct SetKeyDescriptor {
1121 pub key: Vec<u8>,
1122 pub key_id: u16,
1123 pub key_type: KeyType,
1124 pub address: [u8; 6],
1125 pub rsc: u64,
1126 pub cipher_suite_oui: [u8; 3],
1127 pub cipher_suite_type: fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
1128}
1129
1130impl fidl::Persistable for SetKeyDescriptor {}
1131
1132#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1133#[repr(C)]
1134pub struct SetKeyResult {
1135 pub key_id: u16,
1136 pub status: i32,
1137}
1138
1139impl fidl::Persistable for SetKeyResult {}
1140
1141#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1142pub struct SetKeysConfirm {
1143 pub results: Vec<SetKeyResult>,
1144}
1145
1146impl fidl::Persistable for SetKeysConfirm {}
1147
1148#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1149pub struct SetKeysRequest {
1150 pub keylist: Vec<SetKeyDescriptor>,
1151}
1152
1153impl fidl::Persistable for SetKeysRequest {}
1154
1155#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1156pub struct StartCaptureFramesRequest {
1157 pub mgmt_frame_flags: MgmtFrameCaptureFlags,
1158}
1159
1160impl fidl::Persistable for StartCaptureFramesRequest {}
1161
1162#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1163pub struct StartCaptureFramesResponse {
1164 pub status: i32,
1165 pub supported_mgmt_frames: MgmtFrameCaptureFlags,
1166}
1167
1168impl fidl::Persistable for StartCaptureFramesResponse {}
1169
1170#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1171pub struct StartConfirm {
1172 pub result_code: StartResultCode,
1173}
1174
1175impl fidl::Persistable for StartConfirm {}
1176
1177#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1178pub struct StartRequest {
1179 pub ssid: Vec<u8>,
1180 pub bss_type: fidl_fuchsia_wlan_common__common::BssType,
1181 pub beacon_period: u16,
1182 pub dtim_period: u8,
1183 pub channel: u8,
1184 pub capability_info: u16,
1185 pub rates: Vec<u8>,
1186 pub country: Country,
1187 pub mesh_id: Vec<u8>,
1188 pub rsne: Option<Vec<u8>>,
1189 pub phy: fidl_fuchsia_wlan_common__common::WlanPhyType,
1190 pub channel_bandwidth: fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
1191}
1192
1193impl fidl::Persistable for StartRequest {}
1194
1195#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1196pub struct StopConfirm {
1197 pub result_code: StopResultCode,
1198}
1199
1200impl fidl::Persistable for StopConfirm {}
1201
1202#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1203pub struct StopRequest {
1204 pub ssid: Vec<u8>,
1205}
1206
1207impl fidl::Persistable for StopRequest {}
1208
1209#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
1210#[repr(C)]
1211pub struct WmmParameter {
1212 pub bytes: [u8; 18],
1213}
1214
1215impl fidl::Persistable for WmmParameter {}
1216
1217#[derive(Clone, Debug, PartialEq)]
1218pub enum GetIfaceHistogramStatsResponse {
1219 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
1220 ErrorStatus(i32),
1221}
1222
1223impl GetIfaceHistogramStatsResponse {
1224 #[inline]
1225 pub fn ordinal(&self) -> u64 {
1226 match *self {
1227 Self::Stats(_) => 1,
1228 Self::ErrorStatus(_) => 2,
1229 }
1230 }
1231}
1232
1233impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
1234
1235#[derive(Clone, Debug, PartialEq)]
1236pub enum GetIfaceStatsResponse {
1237 Stats(fidl_fuchsia_wlan_stats__common::IfaceStats),
1238 ErrorStatus(i32),
1239}
1240
1241impl GetIfaceStatsResponse {
1242 #[inline]
1243 pub fn ordinal(&self) -> u64 {
1244 match *self {
1245 Self::Stats(_) => 1,
1246 Self::ErrorStatus(_) => 2,
1247 }
1248 }
1249}
1250
1251impl fidl::Persistable for GetIfaceStatsResponse {}
1252
1253pub mod connector_ordinals {
1254 pub const CONNECT: u64 = 0x42131859717af962;
1255}
1256
1257pub mod mlme_ordinals {
1258 pub const START_SCAN: u64 = 0x342cc5ec6a957479;
1259 pub const ON_SCAN_RESULT: u64 = 0x681af7466a75074d;
1260 pub const ON_SCAN_END: u64 = 0x7f2702d253e7ca59;
1261 pub const CONNECT_REQ: u64 = 0x31153dc85f8f64c;
1262 pub const CONNECT_CONF: u64 = 0x77b27623279b981e;
1263 pub const RECONNECT_REQ: u64 = 0x74e0f1bd758b6b78;
1264 pub const ROAM_REQ: u64 = 0x3ba163eadf7dba45;
1265 pub const ROAM_CONF: u64 = 0x3f608034faa054bc;
1266 pub const ROAM_START_IND: u64 = 0x270a1ec78672d094;
1267 pub const ROAM_RESULT_IND: u64 = 0x26d074364fc84865;
1268 pub const AUTHENTICATE_IND: u64 = 0x460f49ae891adbe9;
1269 pub const AUTHENTICATE_RESP: u64 = 0x26108aade2fdd2f4;
1270 pub const DEAUTHENTICATE_REQ: u64 = 0x228983b200de5d12;
1271 pub const DEAUTHENTICATE_CONF: u64 = 0x3b44debc21b88c8c;
1272 pub const DEAUTHENTICATE_IND: u64 = 0x7ee0889b326da1d7;
1273 pub const ASSOCIATE_IND: u64 = 0x6a86f20e3063dd63;
1274 pub const ASSOCIATE_RESP: u64 = 0x70244dbd652ed6d9;
1275 pub const DISASSOCIATE_REQ: u64 = 0x5765807f1387d764;
1276 pub const DISASSOCIATE_CONF: u64 = 0x61345fbce732a28d;
1277 pub const DISASSOCIATE_IND: u64 = 0x77ac0ebf387c1f35;
1278 pub const RESET_REQ: u64 = 0x780b98c58a286b9f;
1279 pub const START_REQ: u64 = 0x5d95885f8053654;
1280 pub const START_CONF: u64 = 0x15ea6cdf3b8382b3;
1281 pub const STOP_REQ: u64 = 0x27b9a2ab04a2c79f;
1282 pub const STOP_CONF: u64 = 0x50b426ef4a84a2df;
1283 pub const SET_KEYS_REQ: u64 = 0x6b30a07fd3a11a79;
1284 pub const SET_KEYS_CONF: u64 = 0x5bafb3a8d4039380;
1285 pub const DELETE_KEYS_REQ: u64 = 0x1e3524d20d190c8f;
1286 pub const EAPOL_REQ: u64 = 0xc3c096924704d4;
1287 pub const EAPOL_CONF: u64 = 0x6ffa21f4ee73ce64;
1288 pub const SIGNAL_REPORT: u64 = 0x48f32a876aa53d8f;
1289 pub const EAPOL_IND: u64 = 0x7038dca46a3142fc;
1290 pub const SET_CONTROLLED_PORT: u64 = 0x4e47065668890c8d;
1291 pub const QUERY_DEVICE_INFO: u64 = 0x6ee3e7f63f2b7bc0;
1292 pub const QUERY_TELEMETRY_SUPPORT: u64 = 0x1598879b70332c99;
1293 pub const GET_IFACE_STATS: u64 = 0xede1a8342d1b211;
1294 pub const GET_IFACE_HISTOGRAM_STATS: u64 = 0x1979c9d3449f8675;
1295 pub const GET_SIGNAL_REPORT: u64 = 0x7e47e7ebe92acec9;
1296 pub const LIST_MINSTREL_PEERS: u64 = 0x4ac5d1e66fe1ffd5;
1297 pub const GET_MINSTREL_STATS: u64 = 0x2f688b1245323f4b;
1298 pub const START_CAPTURE_FRAMES: u64 = 0x23b369ed5749ee69;
1299 pub const STOP_CAPTURE_FRAMES: u64 = 0x2f1aebbc68bf7c54;
1300 pub const RELAY_CAPTURED_FRAME: u64 = 0x6f00a6f3cff9b1f5;
1301 pub const ON_CHANNEL_SWITCHED: u64 = 0x581750594e4c0c1;
1302 pub const ON_PMK_AVAILABLE: u64 = 0x1314fc2c79643f90;
1303 pub const ON_SAE_HANDSHAKE_IND: u64 = 0x6308b10e18986d7e;
1304 pub const SAE_HANDSHAKE_RESP: u64 = 0x28477bd2f7a5ab0c;
1305 pub const SAE_FRAME_TX: u64 = 0x7700c0d536733d8c;
1306 pub const ON_SAE_FRAME_RX: u64 = 0x4ebf51c86ef5f3cd;
1307 pub const WMM_STATUS_REQ: u64 = 0xef4851f6088fede;
1308 pub const ON_WMM_STATUS_RESP: u64 = 0x53f056b432e7b5cb;
1309 pub const FINALIZE_ASSOCIATION_REQ: u64 = 0x7aea59787cfd385a;
1310}
1311
1312mod internal {
1313 use super::*;
1314 unsafe impl fidl::encoding::TypeMarker for MgmtFrameCaptureFlags {
1315 type Owned = Self;
1316
1317 #[inline(always)]
1318 fn inline_align(_context: fidl::encoding::Context) -> usize {
1319 4
1320 }
1321
1322 #[inline(always)]
1323 fn inline_size(_context: fidl::encoding::Context) -> usize {
1324 4
1325 }
1326 }
1327
1328 impl fidl::encoding::ValueTypeMarker for MgmtFrameCaptureFlags {
1329 type Borrowed<'a> = Self;
1330 #[inline(always)]
1331 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1332 *value
1333 }
1334 }
1335
1336 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1337 for MgmtFrameCaptureFlags
1338 {
1339 #[inline]
1340 unsafe fn encode(
1341 self,
1342 encoder: &mut fidl::encoding::Encoder<'_, D>,
1343 offset: usize,
1344 _depth: fidl::encoding::Depth,
1345 ) -> fidl::Result<()> {
1346 encoder.debug_check_bounds::<Self>(offset);
1347 if self.bits() & Self::all().bits() != self.bits() {
1348 return Err(fidl::Error::InvalidBitsValue);
1349 }
1350 encoder.write_num(self.bits(), offset);
1351 Ok(())
1352 }
1353 }
1354
1355 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MgmtFrameCaptureFlags {
1356 #[inline(always)]
1357 fn new_empty() -> Self {
1358 Self::empty()
1359 }
1360
1361 #[inline]
1362 unsafe fn decode(
1363 &mut self,
1364 decoder: &mut fidl::encoding::Decoder<'_, D>,
1365 offset: usize,
1366 _depth: fidl::encoding::Depth,
1367 ) -> fidl::Result<()> {
1368 decoder.debug_check_bounds::<Self>(offset);
1369 let prim = decoder.read_num::<u32>(offset);
1370 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1371 Ok(())
1372 }
1373 }
1374 unsafe impl fidl::encoding::TypeMarker for AssociateResultCode {
1375 type Owned = Self;
1376
1377 #[inline(always)]
1378 fn inline_align(_context: fidl::encoding::Context) -> usize {
1379 std::mem::align_of::<u32>()
1380 }
1381
1382 #[inline(always)]
1383 fn inline_size(_context: fidl::encoding::Context) -> usize {
1384 std::mem::size_of::<u32>()
1385 }
1386
1387 #[inline(always)]
1388 fn encode_is_copy() -> bool {
1389 true
1390 }
1391
1392 #[inline(always)]
1393 fn decode_is_copy() -> bool {
1394 false
1395 }
1396 }
1397
1398 impl fidl::encoding::ValueTypeMarker for AssociateResultCode {
1399 type Borrowed<'a> = Self;
1400 #[inline(always)]
1401 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1402 *value
1403 }
1404 }
1405
1406 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1407 for AssociateResultCode
1408 {
1409 #[inline]
1410 unsafe fn encode(
1411 self,
1412 encoder: &mut fidl::encoding::Encoder<'_, D>,
1413 offset: usize,
1414 _depth: fidl::encoding::Depth,
1415 ) -> fidl::Result<()> {
1416 encoder.debug_check_bounds::<Self>(offset);
1417 encoder.write_num(self.into_primitive(), offset);
1418 Ok(())
1419 }
1420 }
1421
1422 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResultCode {
1423 #[inline(always)]
1424 fn new_empty() -> Self {
1425 Self::Success
1426 }
1427
1428 #[inline]
1429 unsafe fn decode(
1430 &mut self,
1431 decoder: &mut fidl::encoding::Decoder<'_, D>,
1432 offset: usize,
1433 _depth: fidl::encoding::Depth,
1434 ) -> fidl::Result<()> {
1435 decoder.debug_check_bounds::<Self>(offset);
1436 let prim = decoder.read_num::<u32>(offset);
1437
1438 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1439 Ok(())
1440 }
1441 }
1442 unsafe impl fidl::encoding::TypeMarker for AuthenticateResultCode {
1443 type Owned = Self;
1444
1445 #[inline(always)]
1446 fn inline_align(_context: fidl::encoding::Context) -> usize {
1447 std::mem::align_of::<u32>()
1448 }
1449
1450 #[inline(always)]
1451 fn inline_size(_context: fidl::encoding::Context) -> usize {
1452 std::mem::size_of::<u32>()
1453 }
1454
1455 #[inline(always)]
1456 fn encode_is_copy() -> bool {
1457 true
1458 }
1459
1460 #[inline(always)]
1461 fn decode_is_copy() -> bool {
1462 false
1463 }
1464 }
1465
1466 impl fidl::encoding::ValueTypeMarker for AuthenticateResultCode {
1467 type Borrowed<'a> = Self;
1468 #[inline(always)]
1469 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1470 *value
1471 }
1472 }
1473
1474 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1475 for AuthenticateResultCode
1476 {
1477 #[inline]
1478 unsafe fn encode(
1479 self,
1480 encoder: &mut fidl::encoding::Encoder<'_, D>,
1481 offset: usize,
1482 _depth: fidl::encoding::Depth,
1483 ) -> fidl::Result<()> {
1484 encoder.debug_check_bounds::<Self>(offset);
1485 encoder.write_num(self.into_primitive(), offset);
1486 Ok(())
1487 }
1488 }
1489
1490 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1491 for AuthenticateResultCode
1492 {
1493 #[inline(always)]
1494 fn new_empty() -> Self {
1495 Self::Success
1496 }
1497
1498 #[inline]
1499 unsafe fn decode(
1500 &mut self,
1501 decoder: &mut fidl::encoding::Decoder<'_, D>,
1502 offset: usize,
1503 _depth: fidl::encoding::Depth,
1504 ) -> fidl::Result<()> {
1505 decoder.debug_check_bounds::<Self>(offset);
1506 let prim = decoder.read_num::<u32>(offset);
1507
1508 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1509 Ok(())
1510 }
1511 }
1512 unsafe impl fidl::encoding::TypeMarker for AuthenticationTypes {
1513 type Owned = Self;
1514
1515 #[inline(always)]
1516 fn inline_align(_context: fidl::encoding::Context) -> usize {
1517 std::mem::align_of::<u32>()
1518 }
1519
1520 #[inline(always)]
1521 fn inline_size(_context: fidl::encoding::Context) -> usize {
1522 std::mem::size_of::<u32>()
1523 }
1524
1525 #[inline(always)]
1526 fn encode_is_copy() -> bool {
1527 true
1528 }
1529
1530 #[inline(always)]
1531 fn decode_is_copy() -> bool {
1532 false
1533 }
1534 }
1535
1536 impl fidl::encoding::ValueTypeMarker for AuthenticationTypes {
1537 type Borrowed<'a> = Self;
1538 #[inline(always)]
1539 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1540 *value
1541 }
1542 }
1543
1544 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1545 for AuthenticationTypes
1546 {
1547 #[inline]
1548 unsafe fn encode(
1549 self,
1550 encoder: &mut fidl::encoding::Encoder<'_, D>,
1551 offset: usize,
1552 _depth: fidl::encoding::Depth,
1553 ) -> fidl::Result<()> {
1554 encoder.debug_check_bounds::<Self>(offset);
1555 encoder.write_num(self.into_primitive(), offset);
1556 Ok(())
1557 }
1558 }
1559
1560 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticationTypes {
1561 #[inline(always)]
1562 fn new_empty() -> Self {
1563 Self::OpenSystem
1564 }
1565
1566 #[inline]
1567 unsafe fn decode(
1568 &mut self,
1569 decoder: &mut fidl::encoding::Decoder<'_, D>,
1570 offset: usize,
1571 _depth: fidl::encoding::Depth,
1572 ) -> fidl::Result<()> {
1573 decoder.debug_check_bounds::<Self>(offset);
1574 let prim = decoder.read_num::<u32>(offset);
1575
1576 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1577 Ok(())
1578 }
1579 }
1580 unsafe impl fidl::encoding::TypeMarker for ControlledPortState {
1581 type Owned = Self;
1582
1583 #[inline(always)]
1584 fn inline_align(_context: fidl::encoding::Context) -> usize {
1585 std::mem::align_of::<u32>()
1586 }
1587
1588 #[inline(always)]
1589 fn inline_size(_context: fidl::encoding::Context) -> usize {
1590 std::mem::size_of::<u32>()
1591 }
1592
1593 #[inline(always)]
1594 fn encode_is_copy() -> bool {
1595 true
1596 }
1597
1598 #[inline(always)]
1599 fn decode_is_copy() -> bool {
1600 false
1601 }
1602 }
1603
1604 impl fidl::encoding::ValueTypeMarker for ControlledPortState {
1605 type Borrowed<'a> = Self;
1606 #[inline(always)]
1607 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1608 *value
1609 }
1610 }
1611
1612 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1613 for ControlledPortState
1614 {
1615 #[inline]
1616 unsafe fn encode(
1617 self,
1618 encoder: &mut fidl::encoding::Encoder<'_, D>,
1619 offset: usize,
1620 _depth: fidl::encoding::Depth,
1621 ) -> fidl::Result<()> {
1622 encoder.debug_check_bounds::<Self>(offset);
1623 encoder.write_num(self.into_primitive(), offset);
1624 Ok(())
1625 }
1626 }
1627
1628 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ControlledPortState {
1629 #[inline(always)]
1630 fn new_empty() -> Self {
1631 Self::Closed
1632 }
1633
1634 #[inline]
1635 unsafe fn decode(
1636 &mut self,
1637 decoder: &mut fidl::encoding::Decoder<'_, D>,
1638 offset: usize,
1639 _depth: fidl::encoding::Depth,
1640 ) -> fidl::Result<()> {
1641 decoder.debug_check_bounds::<Self>(offset);
1642 let prim = decoder.read_num::<u32>(offset);
1643
1644 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1645 Ok(())
1646 }
1647 }
1648 unsafe impl fidl::encoding::TypeMarker for EapolResultCode {
1649 type Owned = Self;
1650
1651 #[inline(always)]
1652 fn inline_align(_context: fidl::encoding::Context) -> usize {
1653 std::mem::align_of::<u32>()
1654 }
1655
1656 #[inline(always)]
1657 fn inline_size(_context: fidl::encoding::Context) -> usize {
1658 std::mem::size_of::<u32>()
1659 }
1660
1661 #[inline(always)]
1662 fn encode_is_copy() -> bool {
1663 true
1664 }
1665
1666 #[inline(always)]
1667 fn decode_is_copy() -> bool {
1668 false
1669 }
1670 }
1671
1672 impl fidl::encoding::ValueTypeMarker for EapolResultCode {
1673 type Borrowed<'a> = Self;
1674 #[inline(always)]
1675 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1676 *value
1677 }
1678 }
1679
1680 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1681 for EapolResultCode
1682 {
1683 #[inline]
1684 unsafe fn encode(
1685 self,
1686 encoder: &mut fidl::encoding::Encoder<'_, D>,
1687 offset: usize,
1688 _depth: fidl::encoding::Depth,
1689 ) -> fidl::Result<()> {
1690 encoder.debug_check_bounds::<Self>(offset);
1691 encoder.write_num(self.into_primitive(), offset);
1692 Ok(())
1693 }
1694 }
1695
1696 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolResultCode {
1697 #[inline(always)]
1698 fn new_empty() -> Self {
1699 Self::Success
1700 }
1701
1702 #[inline]
1703 unsafe fn decode(
1704 &mut self,
1705 decoder: &mut fidl::encoding::Decoder<'_, D>,
1706 offset: usize,
1707 _depth: fidl::encoding::Depth,
1708 ) -> fidl::Result<()> {
1709 decoder.debug_check_bounds::<Self>(offset);
1710 let prim = decoder.read_num::<u32>(offset);
1711
1712 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1713 Ok(())
1714 }
1715 }
1716 unsafe impl fidl::encoding::TypeMarker for KeyType {
1717 type Owned = Self;
1718
1719 #[inline(always)]
1720 fn inline_align(_context: fidl::encoding::Context) -> usize {
1721 std::mem::align_of::<u32>()
1722 }
1723
1724 #[inline(always)]
1725 fn inline_size(_context: fidl::encoding::Context) -> usize {
1726 std::mem::size_of::<u32>()
1727 }
1728
1729 #[inline(always)]
1730 fn encode_is_copy() -> bool {
1731 true
1732 }
1733
1734 #[inline(always)]
1735 fn decode_is_copy() -> bool {
1736 false
1737 }
1738 }
1739
1740 impl fidl::encoding::ValueTypeMarker for KeyType {
1741 type Borrowed<'a> = Self;
1742 #[inline(always)]
1743 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1744 *value
1745 }
1746 }
1747
1748 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for KeyType {
1749 #[inline]
1750 unsafe fn encode(
1751 self,
1752 encoder: &mut fidl::encoding::Encoder<'_, D>,
1753 offset: usize,
1754 _depth: fidl::encoding::Depth,
1755 ) -> fidl::Result<()> {
1756 encoder.debug_check_bounds::<Self>(offset);
1757 encoder.write_num(self.into_primitive(), offset);
1758 Ok(())
1759 }
1760 }
1761
1762 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for KeyType {
1763 #[inline(always)]
1764 fn new_empty() -> Self {
1765 Self::Group
1766 }
1767
1768 #[inline]
1769 unsafe fn decode(
1770 &mut self,
1771 decoder: &mut fidl::encoding::Decoder<'_, D>,
1772 offset: usize,
1773 _depth: fidl::encoding::Depth,
1774 ) -> fidl::Result<()> {
1775 decoder.debug_check_bounds::<Self>(offset);
1776 let prim = decoder.read_num::<u32>(offset);
1777
1778 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1779 Ok(())
1780 }
1781 }
1782 unsafe impl fidl::encoding::TypeMarker for ScanResultCode {
1783 type Owned = Self;
1784
1785 #[inline(always)]
1786 fn inline_align(_context: fidl::encoding::Context) -> usize {
1787 std::mem::align_of::<u32>()
1788 }
1789
1790 #[inline(always)]
1791 fn inline_size(_context: fidl::encoding::Context) -> usize {
1792 std::mem::size_of::<u32>()
1793 }
1794
1795 #[inline(always)]
1796 fn encode_is_copy() -> bool {
1797 true
1798 }
1799
1800 #[inline(always)]
1801 fn decode_is_copy() -> bool {
1802 false
1803 }
1804 }
1805
1806 impl fidl::encoding::ValueTypeMarker for ScanResultCode {
1807 type Borrowed<'a> = Self;
1808 #[inline(always)]
1809 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1810 *value
1811 }
1812 }
1813
1814 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanResultCode {
1815 #[inline]
1816 unsafe fn encode(
1817 self,
1818 encoder: &mut fidl::encoding::Encoder<'_, D>,
1819 offset: usize,
1820 _depth: fidl::encoding::Depth,
1821 ) -> fidl::Result<()> {
1822 encoder.debug_check_bounds::<Self>(offset);
1823 encoder.write_num(self.into_primitive(), offset);
1824 Ok(())
1825 }
1826 }
1827
1828 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResultCode {
1829 #[inline(always)]
1830 fn new_empty() -> Self {
1831 Self::Success
1832 }
1833
1834 #[inline]
1835 unsafe fn decode(
1836 &mut self,
1837 decoder: &mut fidl::encoding::Decoder<'_, D>,
1838 offset: usize,
1839 _depth: fidl::encoding::Depth,
1840 ) -> fidl::Result<()> {
1841 decoder.debug_check_bounds::<Self>(offset);
1842 let prim = decoder.read_num::<u32>(offset);
1843
1844 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1845 Ok(())
1846 }
1847 }
1848 unsafe impl fidl::encoding::TypeMarker for ScanTypes {
1849 type Owned = Self;
1850
1851 #[inline(always)]
1852 fn inline_align(_context: fidl::encoding::Context) -> usize {
1853 std::mem::align_of::<u32>()
1854 }
1855
1856 #[inline(always)]
1857 fn inline_size(_context: fidl::encoding::Context) -> usize {
1858 std::mem::size_of::<u32>()
1859 }
1860
1861 #[inline(always)]
1862 fn encode_is_copy() -> bool {
1863 true
1864 }
1865
1866 #[inline(always)]
1867 fn decode_is_copy() -> bool {
1868 false
1869 }
1870 }
1871
1872 impl fidl::encoding::ValueTypeMarker for ScanTypes {
1873 type Borrowed<'a> = Self;
1874 #[inline(always)]
1875 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1876 *value
1877 }
1878 }
1879
1880 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ScanTypes {
1881 #[inline]
1882 unsafe fn encode(
1883 self,
1884 encoder: &mut fidl::encoding::Encoder<'_, D>,
1885 offset: usize,
1886 _depth: fidl::encoding::Depth,
1887 ) -> fidl::Result<()> {
1888 encoder.debug_check_bounds::<Self>(offset);
1889 encoder.write_num(self.into_primitive(), offset);
1890 Ok(())
1891 }
1892 }
1893
1894 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanTypes {
1895 #[inline(always)]
1896 fn new_empty() -> Self {
1897 Self::Active
1898 }
1899
1900 #[inline]
1901 unsafe fn decode(
1902 &mut self,
1903 decoder: &mut fidl::encoding::Decoder<'_, D>,
1904 offset: usize,
1905 _depth: fidl::encoding::Depth,
1906 ) -> fidl::Result<()> {
1907 decoder.debug_check_bounds::<Self>(offset);
1908 let prim = decoder.read_num::<u32>(offset);
1909
1910 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1911 Ok(())
1912 }
1913 }
1914 unsafe impl fidl::encoding::TypeMarker for StartResultCode {
1915 type Owned = Self;
1916
1917 #[inline(always)]
1918 fn inline_align(_context: fidl::encoding::Context) -> usize {
1919 std::mem::align_of::<u32>()
1920 }
1921
1922 #[inline(always)]
1923 fn inline_size(_context: fidl::encoding::Context) -> usize {
1924 std::mem::size_of::<u32>()
1925 }
1926
1927 #[inline(always)]
1928 fn encode_is_copy() -> bool {
1929 true
1930 }
1931
1932 #[inline(always)]
1933 fn decode_is_copy() -> bool {
1934 false
1935 }
1936 }
1937
1938 impl fidl::encoding::ValueTypeMarker for StartResultCode {
1939 type Borrowed<'a> = Self;
1940 #[inline(always)]
1941 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1942 *value
1943 }
1944 }
1945
1946 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1947 for StartResultCode
1948 {
1949 #[inline]
1950 unsafe fn encode(
1951 self,
1952 encoder: &mut fidl::encoding::Encoder<'_, D>,
1953 offset: usize,
1954 _depth: fidl::encoding::Depth,
1955 ) -> fidl::Result<()> {
1956 encoder.debug_check_bounds::<Self>(offset);
1957 encoder.write_num(self.into_primitive(), offset);
1958 Ok(())
1959 }
1960 }
1961
1962 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartResultCode {
1963 #[inline(always)]
1964 fn new_empty() -> Self {
1965 Self::Success
1966 }
1967
1968 #[inline]
1969 unsafe fn decode(
1970 &mut self,
1971 decoder: &mut fidl::encoding::Decoder<'_, D>,
1972 offset: usize,
1973 _depth: fidl::encoding::Depth,
1974 ) -> fidl::Result<()> {
1975 decoder.debug_check_bounds::<Self>(offset);
1976 let prim = decoder.read_num::<u32>(offset);
1977
1978 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1979 Ok(())
1980 }
1981 }
1982 unsafe impl fidl::encoding::TypeMarker for StopResultCode {
1983 type Owned = Self;
1984
1985 #[inline(always)]
1986 fn inline_align(_context: fidl::encoding::Context) -> usize {
1987 std::mem::align_of::<u32>()
1988 }
1989
1990 #[inline(always)]
1991 fn inline_size(_context: fidl::encoding::Context) -> usize {
1992 std::mem::size_of::<u32>()
1993 }
1994
1995 #[inline(always)]
1996 fn encode_is_copy() -> bool {
1997 true
1998 }
1999
2000 #[inline(always)]
2001 fn decode_is_copy() -> bool {
2002 false
2003 }
2004 }
2005
2006 impl fidl::encoding::ValueTypeMarker for StopResultCode {
2007 type Borrowed<'a> = Self;
2008 #[inline(always)]
2009 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2010 *value
2011 }
2012 }
2013
2014 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for StopResultCode {
2015 #[inline]
2016 unsafe fn encode(
2017 self,
2018 encoder: &mut fidl::encoding::Encoder<'_, D>,
2019 offset: usize,
2020 _depth: fidl::encoding::Depth,
2021 ) -> fidl::Result<()> {
2022 encoder.debug_check_bounds::<Self>(offset);
2023 encoder.write_num(self.into_primitive(), offset);
2024 Ok(())
2025 }
2026 }
2027
2028 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopResultCode {
2029 #[inline(always)]
2030 fn new_empty() -> Self {
2031 Self::Success
2032 }
2033
2034 #[inline]
2035 unsafe fn decode(
2036 &mut self,
2037 decoder: &mut fidl::encoding::Decoder<'_, D>,
2038 offset: usize,
2039 _depth: fidl::encoding::Depth,
2040 ) -> fidl::Result<()> {
2041 decoder.debug_check_bounds::<Self>(offset);
2042 let prim = decoder.read_num::<u32>(offset);
2043
2044 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2045 Ok(())
2046 }
2047 }
2048
2049 impl fidl::encoding::ValueTypeMarker for AssociateIndication {
2050 type Borrowed<'a> = &'a Self;
2051 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2052 value
2053 }
2054 }
2055
2056 unsafe impl fidl::encoding::TypeMarker for AssociateIndication {
2057 type Owned = Self;
2058
2059 #[inline(always)]
2060 fn inline_align(_context: fidl::encoding::Context) -> usize {
2061 8
2062 }
2063
2064 #[inline(always)]
2065 fn inline_size(_context: fidl::encoding::Context) -> usize {
2066 64
2067 }
2068 }
2069
2070 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateIndication, D>
2071 for &AssociateIndication
2072 {
2073 #[inline]
2074 unsafe fn encode(
2075 self,
2076 encoder: &mut fidl::encoding::Encoder<'_, D>,
2077 offset: usize,
2078 _depth: fidl::encoding::Depth,
2079 ) -> fidl::Result<()> {
2080 encoder.debug_check_bounds::<AssociateIndication>(offset);
2081 fidl::encoding::Encode::<AssociateIndication, D>::encode(
2083 (
2084 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2085 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2086 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.listen_interval),
2087 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
2088 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
2089 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
2090 ),
2091 encoder, offset, _depth
2092 )
2093 }
2094 }
2095 unsafe impl<
2096 D: fidl::encoding::ResourceDialect,
2097 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2098 T1: fidl::encoding::Encode<u16, D>,
2099 T2: fidl::encoding::Encode<u16, D>,
2100 T3: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D>,
2101 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2102 T5: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
2103 > fidl::encoding::Encode<AssociateIndication, D> for (T0, T1, T2, T3, T4, T5)
2104 {
2105 #[inline]
2106 unsafe fn encode(
2107 self,
2108 encoder: &mut fidl::encoding::Encoder<'_, D>,
2109 offset: usize,
2110 depth: fidl::encoding::Depth,
2111 ) -> fidl::Result<()> {
2112 encoder.debug_check_bounds::<AssociateIndication>(offset);
2113 unsafe {
2116 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2117 (ptr as *mut u64).write_unaligned(0);
2118 }
2119 self.0.encode(encoder, offset + 0, depth)?;
2121 self.1.encode(encoder, offset + 6, depth)?;
2122 self.2.encode(encoder, offset + 8, depth)?;
2123 self.3.encode(encoder, offset + 16, depth)?;
2124 self.4.encode(encoder, offset + 32, depth)?;
2125 self.5.encode(encoder, offset + 48, depth)?;
2126 Ok(())
2127 }
2128 }
2129
2130 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateIndication {
2131 #[inline(always)]
2132 fn new_empty() -> Self {
2133 Self {
2134 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2135 capability_info: fidl::new_empty!(u16, D),
2136 listen_interval: fidl::new_empty!(u16, D),
2137 ssid: fidl::new_empty!(fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>, D),
2138 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2139 rsne: fidl::new_empty!(
2140 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2141 D
2142 ),
2143 }
2144 }
2145
2146 #[inline]
2147 unsafe fn decode(
2148 &mut self,
2149 decoder: &mut fidl::encoding::Decoder<'_, D>,
2150 offset: usize,
2151 _depth: fidl::encoding::Depth,
2152 ) -> fidl::Result<()> {
2153 decoder.debug_check_bounds::<Self>(offset);
2154 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2156 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2157 let mask = 0xffffffffffff0000u64;
2158 let maskedval = padval & mask;
2159 if maskedval != 0 {
2160 return Err(fidl::Error::NonZeroPadding {
2161 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2162 });
2163 }
2164 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2165 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 6, _depth)?;
2166 fidl::decode!(u16, D, &mut self.listen_interval, decoder, offset + 8, _depth)?;
2167 fidl::decode!(
2168 fidl::encoding::Optional<fidl::encoding::Vector<u8, 32>>,
2169 D,
2170 &mut self.ssid,
2171 decoder,
2172 offset + 16,
2173 _depth
2174 )?;
2175 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
2176 fidl::decode!(
2177 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
2178 D,
2179 &mut self.rsne,
2180 decoder,
2181 offset + 48,
2182 _depth
2183 )?;
2184 Ok(())
2185 }
2186 }
2187
2188 impl fidl::encoding::ValueTypeMarker for AssociateResponse {
2189 type Borrowed<'a> = &'a Self;
2190 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2191 value
2192 }
2193 }
2194
2195 unsafe impl fidl::encoding::TypeMarker for AssociateResponse {
2196 type Owned = Self;
2197
2198 #[inline(always)]
2199 fn inline_align(_context: fidl::encoding::Context) -> usize {
2200 8
2201 }
2202
2203 #[inline(always)]
2204 fn inline_size(_context: fidl::encoding::Context) -> usize {
2205 32
2206 }
2207 }
2208
2209 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AssociateResponse, D>
2210 for &AssociateResponse
2211 {
2212 #[inline]
2213 unsafe fn encode(
2214 self,
2215 encoder: &mut fidl::encoding::Encoder<'_, D>,
2216 offset: usize,
2217 _depth: fidl::encoding::Depth,
2218 ) -> fidl::Result<()> {
2219 encoder.debug_check_bounds::<AssociateResponse>(offset);
2220 fidl::encoding::Encode::<AssociateResponse, D>::encode(
2222 (
2223 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2224 &self.peer_sta_address,
2225 ),
2226 <AssociateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2227 &self.result_code,
2228 ),
2229 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2230 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
2231 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(
2232 &self.rates,
2233 ),
2234 ),
2235 encoder,
2236 offset,
2237 _depth,
2238 )
2239 }
2240 }
2241 unsafe impl<
2242 D: fidl::encoding::ResourceDialect,
2243 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2244 T1: fidl::encoding::Encode<AssociateResultCode, D>,
2245 T2: fidl::encoding::Encode<u16, D>,
2246 T3: fidl::encoding::Encode<u16, D>,
2247 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
2248 > fidl::encoding::Encode<AssociateResponse, D> for (T0, T1, T2, T3, T4)
2249 {
2250 #[inline]
2251 unsafe fn encode(
2252 self,
2253 encoder: &mut fidl::encoding::Encoder<'_, D>,
2254 offset: usize,
2255 depth: fidl::encoding::Depth,
2256 ) -> fidl::Result<()> {
2257 encoder.debug_check_bounds::<AssociateResponse>(offset);
2258 unsafe {
2261 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2262 (ptr as *mut u64).write_unaligned(0);
2263 }
2264 self.0.encode(encoder, offset + 0, depth)?;
2266 self.1.encode(encoder, offset + 8, depth)?;
2267 self.2.encode(encoder, offset + 12, depth)?;
2268 self.3.encode(encoder, offset + 14, depth)?;
2269 self.4.encode(encoder, offset + 16, depth)?;
2270 Ok(())
2271 }
2272 }
2273
2274 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AssociateResponse {
2275 #[inline(always)]
2276 fn new_empty() -> Self {
2277 Self {
2278 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2279 result_code: fidl::new_empty!(AssociateResultCode, D),
2280 association_id: fidl::new_empty!(u16, D),
2281 capability_info: fidl::new_empty!(u16, D),
2282 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
2283 }
2284 }
2285
2286 #[inline]
2287 unsafe fn decode(
2288 &mut self,
2289 decoder: &mut fidl::encoding::Decoder<'_, D>,
2290 offset: usize,
2291 _depth: fidl::encoding::Depth,
2292 ) -> fidl::Result<()> {
2293 decoder.debug_check_bounds::<Self>(offset);
2294 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2296 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2297 let mask = 0xffff000000000000u64;
2298 let maskedval = padval & mask;
2299 if maskedval != 0 {
2300 return Err(fidl::Error::NonZeroPadding {
2301 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2302 });
2303 }
2304 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2305 fidl::decode!(
2306 AssociateResultCode,
2307 D,
2308 &mut self.result_code,
2309 decoder,
2310 offset + 8,
2311 _depth
2312 )?;
2313 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 12, _depth)?;
2314 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 14, _depth)?;
2315 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
2316 Ok(())
2317 }
2318 }
2319
2320 impl fidl::encoding::ValueTypeMarker for AuthenticateIndication {
2321 type Borrowed<'a> = &'a Self;
2322 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2323 value
2324 }
2325 }
2326
2327 unsafe impl fidl::encoding::TypeMarker for AuthenticateIndication {
2328 type Owned = Self;
2329
2330 #[inline(always)]
2331 fn inline_align(_context: fidl::encoding::Context) -> usize {
2332 4
2333 }
2334
2335 #[inline(always)]
2336 fn inline_size(_context: fidl::encoding::Context) -> usize {
2337 12
2338 }
2339 }
2340
2341 unsafe impl<D: fidl::encoding::ResourceDialect>
2342 fidl::encoding::Encode<AuthenticateIndication, D> for &AuthenticateIndication
2343 {
2344 #[inline]
2345 unsafe fn encode(
2346 self,
2347 encoder: &mut fidl::encoding::Encoder<'_, D>,
2348 offset: usize,
2349 _depth: fidl::encoding::Depth,
2350 ) -> fidl::Result<()> {
2351 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2352 fidl::encoding::Encode::<AuthenticateIndication, D>::encode(
2354 (
2355 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2356 &self.peer_sta_address,
2357 ),
2358 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(
2359 &self.auth_type,
2360 ),
2361 ),
2362 encoder,
2363 offset,
2364 _depth,
2365 )
2366 }
2367 }
2368 unsafe impl<
2369 D: fidl::encoding::ResourceDialect,
2370 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2371 T1: fidl::encoding::Encode<AuthenticationTypes, D>,
2372 > fidl::encoding::Encode<AuthenticateIndication, D> for (T0, T1)
2373 {
2374 #[inline]
2375 unsafe fn encode(
2376 self,
2377 encoder: &mut fidl::encoding::Encoder<'_, D>,
2378 offset: usize,
2379 depth: fidl::encoding::Depth,
2380 ) -> fidl::Result<()> {
2381 encoder.debug_check_bounds::<AuthenticateIndication>(offset);
2382 unsafe {
2385 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2386 (ptr as *mut u32).write_unaligned(0);
2387 }
2388 self.0.encode(encoder, offset + 0, depth)?;
2390 self.1.encode(encoder, offset + 8, depth)?;
2391 Ok(())
2392 }
2393 }
2394
2395 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2396 for AuthenticateIndication
2397 {
2398 #[inline(always)]
2399 fn new_empty() -> Self {
2400 Self {
2401 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2402 auth_type: fidl::new_empty!(AuthenticationTypes, D),
2403 }
2404 }
2405
2406 #[inline]
2407 unsafe fn decode(
2408 &mut self,
2409 decoder: &mut fidl::encoding::Decoder<'_, D>,
2410 offset: usize,
2411 _depth: fidl::encoding::Depth,
2412 ) -> fidl::Result<()> {
2413 decoder.debug_check_bounds::<Self>(offset);
2414 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2416 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2417 let mask = 0xffff0000u32;
2418 let maskedval = padval & mask;
2419 if maskedval != 0 {
2420 return Err(fidl::Error::NonZeroPadding {
2421 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2422 });
2423 }
2424 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2425 fidl::decode!(
2426 AuthenticationTypes,
2427 D,
2428 &mut self.auth_type,
2429 decoder,
2430 offset + 8,
2431 _depth
2432 )?;
2433 Ok(())
2434 }
2435 }
2436
2437 impl fidl::encoding::ValueTypeMarker for AuthenticateResponse {
2438 type Borrowed<'a> = &'a Self;
2439 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2440 value
2441 }
2442 }
2443
2444 unsafe impl fidl::encoding::TypeMarker for AuthenticateResponse {
2445 type Owned = Self;
2446
2447 #[inline(always)]
2448 fn inline_align(_context: fidl::encoding::Context) -> usize {
2449 4
2450 }
2451
2452 #[inline(always)]
2453 fn inline_size(_context: fidl::encoding::Context) -> usize {
2454 12
2455 }
2456 }
2457
2458 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<AuthenticateResponse, D>
2459 for &AuthenticateResponse
2460 {
2461 #[inline]
2462 unsafe fn encode(
2463 self,
2464 encoder: &mut fidl::encoding::Encoder<'_, D>,
2465 offset: usize,
2466 _depth: fidl::encoding::Depth,
2467 ) -> fidl::Result<()> {
2468 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2469 fidl::encoding::Encode::<AuthenticateResponse, D>::encode(
2471 (
2472 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
2473 &self.peer_sta_address,
2474 ),
2475 <AuthenticateResultCode as fidl::encoding::ValueTypeMarker>::borrow(
2476 &self.result_code,
2477 ),
2478 ),
2479 encoder,
2480 offset,
2481 _depth,
2482 )
2483 }
2484 }
2485 unsafe impl<
2486 D: fidl::encoding::ResourceDialect,
2487 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2488 T1: fidl::encoding::Encode<AuthenticateResultCode, D>,
2489 > fidl::encoding::Encode<AuthenticateResponse, D> for (T0, T1)
2490 {
2491 #[inline]
2492 unsafe fn encode(
2493 self,
2494 encoder: &mut fidl::encoding::Encoder<'_, D>,
2495 offset: usize,
2496 depth: fidl::encoding::Depth,
2497 ) -> fidl::Result<()> {
2498 encoder.debug_check_bounds::<AuthenticateResponse>(offset);
2499 unsafe {
2502 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
2503 (ptr as *mut u32).write_unaligned(0);
2504 }
2505 self.0.encode(encoder, offset + 0, depth)?;
2507 self.1.encode(encoder, offset + 8, depth)?;
2508 Ok(())
2509 }
2510 }
2511
2512 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AuthenticateResponse {
2513 #[inline(always)]
2514 fn new_empty() -> Self {
2515 Self {
2516 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2517 result_code: fidl::new_empty!(AuthenticateResultCode, D),
2518 }
2519 }
2520
2521 #[inline]
2522 unsafe fn decode(
2523 &mut self,
2524 decoder: &mut fidl::encoding::Decoder<'_, D>,
2525 offset: usize,
2526 _depth: fidl::encoding::Depth,
2527 ) -> fidl::Result<()> {
2528 decoder.debug_check_bounds::<Self>(offset);
2529 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
2531 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2532 let mask = 0xffff0000u32;
2533 let maskedval = padval & mask;
2534 if maskedval != 0 {
2535 return Err(fidl::Error::NonZeroPadding {
2536 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
2537 });
2538 }
2539 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2540 fidl::decode!(
2541 AuthenticateResultCode,
2542 D,
2543 &mut self.result_code,
2544 decoder,
2545 offset + 8,
2546 _depth
2547 )?;
2548 Ok(())
2549 }
2550 }
2551
2552 impl fidl::encoding::ValueTypeMarker for BandCapability {
2553 type Borrowed<'a> = &'a Self;
2554 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2555 value
2556 }
2557 }
2558
2559 unsafe impl fidl::encoding::TypeMarker for BandCapability {
2560 type Owned = Self;
2561
2562 #[inline(always)]
2563 fn inline_align(_context: fidl::encoding::Context) -> usize {
2564 8
2565 }
2566
2567 #[inline(always)]
2568 fn inline_size(_context: fidl::encoding::Context) -> usize {
2569 56
2570 }
2571 }
2572
2573 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<BandCapability, D>
2574 for &BandCapability
2575 {
2576 #[inline]
2577 unsafe fn encode(
2578 self,
2579 encoder: &mut fidl::encoding::Encoder<'_, D>,
2580 offset: usize,
2581 _depth: fidl::encoding::Depth,
2582 ) -> fidl::Result<()> {
2583 encoder.debug_check_bounds::<BandCapability>(offset);
2584 fidl::encoding::Encode::<BandCapability, D>::encode(
2586 (
2587 <fidl_fuchsia_wlan_ieee80211__common::WlanBand as fidl::encoding::ValueTypeMarker>::borrow(&self.band),
2588 <fidl::encoding::Vector<u8, 12> as fidl::encoding::ValueTypeMarker>::borrow(&self.basic_rates),
2589 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
2590 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
2591 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.operating_channels),
2592 ),
2593 encoder, offset, _depth
2594 )
2595 }
2596 }
2597 unsafe impl<
2598 D: fidl::encoding::ResourceDialect,
2599 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanBand, D>,
2600 T1: fidl::encoding::Encode<fidl::encoding::Vector<u8, 12>, D>,
2601 T2: fidl::encoding::Encode<
2602 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2603 D,
2604 >,
2605 T3: fidl::encoding::Encode<
2606 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2607 D,
2608 >,
2609 T4: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
2610 > fidl::encoding::Encode<BandCapability, D> for (T0, T1, T2, T3, T4)
2611 {
2612 #[inline]
2613 unsafe fn encode(
2614 self,
2615 encoder: &mut fidl::encoding::Encoder<'_, D>,
2616 offset: usize,
2617 depth: fidl::encoding::Depth,
2618 ) -> fidl::Result<()> {
2619 encoder.debug_check_bounds::<BandCapability>(offset);
2620 unsafe {
2623 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2624 (ptr as *mut u64).write_unaligned(0);
2625 }
2626 self.0.encode(encoder, offset + 0, depth)?;
2628 self.1.encode(encoder, offset + 8, depth)?;
2629 self.2.encode(encoder, offset + 24, depth)?;
2630 self.3.encode(encoder, offset + 32, depth)?;
2631 self.4.encode(encoder, offset + 40, depth)?;
2632 Ok(())
2633 }
2634 }
2635
2636 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for BandCapability {
2637 #[inline(always)]
2638 fn new_empty() -> Self {
2639 Self {
2640 band: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanBand, D),
2641 basic_rates: fidl::new_empty!(fidl::encoding::Vector<u8, 12>, D),
2642 ht_cap: fidl::new_empty!(
2643 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2644 D
2645 ),
2646 vht_cap: fidl::new_empty!(
2647 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2648 D
2649 ),
2650 operating_channels: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
2651 }
2652 }
2653
2654 #[inline]
2655 unsafe fn decode(
2656 &mut self,
2657 decoder: &mut fidl::encoding::Decoder<'_, D>,
2658 offset: usize,
2659 _depth: fidl::encoding::Depth,
2660 ) -> fidl::Result<()> {
2661 decoder.debug_check_bounds::<Self>(offset);
2662 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2664 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2665 let mask = 0xffffffffffffff00u64;
2666 let maskedval = padval & mask;
2667 if maskedval != 0 {
2668 return Err(fidl::Error::NonZeroPadding {
2669 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2670 });
2671 }
2672 fidl::decode!(
2673 fidl_fuchsia_wlan_ieee80211__common::WlanBand,
2674 D,
2675 &mut self.band,
2676 decoder,
2677 offset + 0,
2678 _depth
2679 )?;
2680 fidl::decode!(fidl::encoding::Vector<u8, 12>, D, &mut self.basic_rates, decoder, offset + 8, _depth)?;
2681 fidl::decode!(
2682 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
2683 D,
2684 &mut self.ht_cap,
2685 decoder,
2686 offset + 24,
2687 _depth
2688 )?;
2689 fidl::decode!(
2690 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
2691 D,
2692 &mut self.vht_cap,
2693 decoder,
2694 offset + 32,
2695 _depth
2696 )?;
2697 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.operating_channels, decoder, offset + 40, _depth)?;
2698 Ok(())
2699 }
2700 }
2701
2702 impl fidl::encoding::ValueTypeMarker for CapturedFrameResult {
2703 type Borrowed<'a> = &'a Self;
2704 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2705 value
2706 }
2707 }
2708
2709 unsafe impl fidl::encoding::TypeMarker for CapturedFrameResult {
2710 type Owned = Self;
2711
2712 #[inline(always)]
2713 fn inline_align(_context: fidl::encoding::Context) -> usize {
2714 8
2715 }
2716
2717 #[inline(always)]
2718 fn inline_size(_context: fidl::encoding::Context) -> usize {
2719 16
2720 }
2721 }
2722
2723 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CapturedFrameResult, D>
2724 for &CapturedFrameResult
2725 {
2726 #[inline]
2727 unsafe fn encode(
2728 self,
2729 encoder: &mut fidl::encoding::Encoder<'_, D>,
2730 offset: usize,
2731 _depth: fidl::encoding::Depth,
2732 ) -> fidl::Result<()> {
2733 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2734 fidl::encoding::Encode::<CapturedFrameResult, D>::encode(
2736 (<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(
2737 &self.frame,
2738 ),),
2739 encoder,
2740 offset,
2741 _depth,
2742 )
2743 }
2744 }
2745 unsafe impl<
2746 D: fidl::encoding::ResourceDialect,
2747 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2748 > fidl::encoding::Encode<CapturedFrameResult, D> for (T0,)
2749 {
2750 #[inline]
2751 unsafe fn encode(
2752 self,
2753 encoder: &mut fidl::encoding::Encoder<'_, D>,
2754 offset: usize,
2755 depth: fidl::encoding::Depth,
2756 ) -> fidl::Result<()> {
2757 encoder.debug_check_bounds::<CapturedFrameResult>(offset);
2758 self.0.encode(encoder, offset + 0, depth)?;
2762 Ok(())
2763 }
2764 }
2765
2766 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CapturedFrameResult {
2767 #[inline(always)]
2768 fn new_empty() -> Self {
2769 Self { frame: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D) }
2770 }
2771
2772 #[inline]
2773 unsafe fn decode(
2774 &mut self,
2775 decoder: &mut fidl::encoding::Decoder<'_, D>,
2776 offset: usize,
2777 _depth: fidl::encoding::Depth,
2778 ) -> fidl::Result<()> {
2779 decoder.debug_check_bounds::<Self>(offset);
2780 fidl::decode!(
2782 fidl::encoding::UnboundedVector<u8>,
2783 D,
2784 &mut self.frame,
2785 decoder,
2786 offset + 0,
2787 _depth
2788 )?;
2789 Ok(())
2790 }
2791 }
2792
2793 impl fidl::encoding::ValueTypeMarker for ConnectConfirm {
2794 type Borrowed<'a> = &'a Self;
2795 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2796 value
2797 }
2798 }
2799
2800 unsafe impl fidl::encoding::TypeMarker for ConnectConfirm {
2801 type Owned = Self;
2802
2803 #[inline(always)]
2804 fn inline_align(_context: fidl::encoding::Context) -> usize {
2805 8
2806 }
2807
2808 #[inline(always)]
2809 fn inline_size(_context: fidl::encoding::Context) -> usize {
2810 32
2811 }
2812 }
2813
2814 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectConfirm, D>
2815 for &ConnectConfirm
2816 {
2817 #[inline]
2818 unsafe fn encode(
2819 self,
2820 encoder: &mut fidl::encoding::Encoder<'_, D>,
2821 offset: usize,
2822 _depth: fidl::encoding::Depth,
2823 ) -> fidl::Result<()> {
2824 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2825 fidl::encoding::Encode::<ConnectConfirm, D>::encode(
2827 (
2828 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
2829 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
2830 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
2831 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
2832 ),
2833 encoder, offset, _depth
2834 )
2835 }
2836 }
2837 unsafe impl<
2838 D: fidl::encoding::ResourceDialect,
2839 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
2840 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
2841 T2: fidl::encoding::Encode<u16, D>,
2842 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2843 > fidl::encoding::Encode<ConnectConfirm, D> for (T0, T1, T2, T3)
2844 {
2845 #[inline]
2846 unsafe fn encode(
2847 self,
2848 encoder: &mut fidl::encoding::Encoder<'_, D>,
2849 offset: usize,
2850 depth: fidl::encoding::Depth,
2851 ) -> fidl::Result<()> {
2852 encoder.debug_check_bounds::<ConnectConfirm>(offset);
2853 unsafe {
2856 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2857 (ptr as *mut u64).write_unaligned(0);
2858 }
2859 self.0.encode(encoder, offset + 0, depth)?;
2861 self.1.encode(encoder, offset + 6, depth)?;
2862 self.2.encode(encoder, offset + 8, depth)?;
2863 self.3.encode(encoder, offset + 16, depth)?;
2864 Ok(())
2865 }
2866 }
2867
2868 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectConfirm {
2869 #[inline(always)]
2870 fn new_empty() -> Self {
2871 Self {
2872 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
2873 result_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
2874 association_id: fidl::new_empty!(u16, D),
2875 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
2876 }
2877 }
2878
2879 #[inline]
2880 unsafe fn decode(
2881 &mut self,
2882 decoder: &mut fidl::encoding::Decoder<'_, D>,
2883 offset: usize,
2884 _depth: fidl::encoding::Depth,
2885 ) -> fidl::Result<()> {
2886 decoder.debug_check_bounds::<Self>(offset);
2887 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2889 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2890 let mask = 0xffffffffffff0000u64;
2891 let maskedval = padval & mask;
2892 if maskedval != 0 {
2893 return Err(fidl::Error::NonZeroPadding {
2894 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2895 });
2896 }
2897 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
2898 fidl::decode!(
2899 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
2900 D,
2901 &mut self.result_code,
2902 decoder,
2903 offset + 6,
2904 _depth
2905 )?;
2906 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 8, _depth)?;
2907 fidl::decode!(
2908 fidl::encoding::UnboundedVector<u8>,
2909 D,
2910 &mut self.association_ies,
2911 decoder,
2912 offset + 16,
2913 _depth
2914 )?;
2915 Ok(())
2916 }
2917 }
2918
2919 impl fidl::encoding::ValueTypeMarker for ConnectRequest {
2920 type Borrowed<'a> = &'a Self;
2921 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2922 value
2923 }
2924 }
2925
2926 unsafe impl fidl::encoding::TypeMarker for ConnectRequest {
2927 type Owned = Self;
2928
2929 #[inline(always)]
2930 fn inline_align(_context: fidl::encoding::Context) -> usize {
2931 8
2932 }
2933
2934 #[inline(always)]
2935 fn inline_size(_context: fidl::encoding::Context) -> usize {
2936 96
2937 }
2938 }
2939
2940 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ConnectRequest, D>
2941 for &ConnectRequest
2942 {
2943 #[inline]
2944 unsafe fn encode(
2945 self,
2946 encoder: &mut fidl::encoding::Encoder<'_, D>,
2947 offset: usize,
2948 _depth: fidl::encoding::Depth,
2949 ) -> fidl::Result<()> {
2950 encoder.debug_check_bounds::<ConnectRequest>(offset);
2951 fidl::encoding::Encode::<ConnectRequest, D>::encode(
2953 (
2954 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
2955 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.connect_failure_timeout),
2956 <AuthenticationTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.auth_type),
2957 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_password),
2958 <fidl::encoding::Boxed<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.wep_key),
2959 <fidl::encoding::Vector<u8, 257> as fidl::encoding::ValueTypeMarker>::borrow(&self.security_ie),
2960 ),
2961 encoder, offset, _depth
2962 )
2963 }
2964 }
2965 unsafe impl<
2966 D: fidl::encoding::ResourceDialect,
2967 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
2968 T1: fidl::encoding::Encode<u32, D>,
2969 T2: fidl::encoding::Encode<AuthenticationTypes, D>,
2970 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
2971 T4: fidl::encoding::Encode<fidl::encoding::Boxed<SetKeyDescriptor>, D>,
2972 T5: fidl::encoding::Encode<fidl::encoding::Vector<u8, 257>, D>,
2973 > fidl::encoding::Encode<ConnectRequest, D> for (T0, T1, T2, T3, T4, T5)
2974 {
2975 #[inline]
2976 unsafe fn encode(
2977 self,
2978 encoder: &mut fidl::encoding::Encoder<'_, D>,
2979 offset: usize,
2980 depth: fidl::encoding::Depth,
2981 ) -> fidl::Result<()> {
2982 encoder.debug_check_bounds::<ConnectRequest>(offset);
2983 self.0.encode(encoder, offset + 0, depth)?;
2987 self.1.encode(encoder, offset + 48, depth)?;
2988 self.2.encode(encoder, offset + 52, depth)?;
2989 self.3.encode(encoder, offset + 56, depth)?;
2990 self.4.encode(encoder, offset + 72, depth)?;
2991 self.5.encode(encoder, offset + 80, depth)?;
2992 Ok(())
2993 }
2994 }
2995
2996 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConnectRequest {
2997 #[inline(always)]
2998 fn new_empty() -> Self {
2999 Self {
3000 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
3001 connect_failure_timeout: fidl::new_empty!(u32, D),
3002 auth_type: fidl::new_empty!(AuthenticationTypes, D),
3003 sae_password: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
3004 wep_key: fidl::new_empty!(fidl::encoding::Boxed<SetKeyDescriptor>, D),
3005 security_ie: fidl::new_empty!(fidl::encoding::Vector<u8, 257>, D),
3006 }
3007 }
3008
3009 #[inline]
3010 unsafe fn decode(
3011 &mut self,
3012 decoder: &mut fidl::encoding::Decoder<'_, D>,
3013 offset: usize,
3014 _depth: fidl::encoding::Depth,
3015 ) -> fidl::Result<()> {
3016 decoder.debug_check_bounds::<Self>(offset);
3017 fidl::decode!(
3019 fidl_fuchsia_wlan_common__common::BssDescription,
3020 D,
3021 &mut self.selected_bss,
3022 decoder,
3023 offset + 0,
3024 _depth
3025 )?;
3026 fidl::decode!(u32, D, &mut self.connect_failure_timeout, decoder, offset + 48, _depth)?;
3027 fidl::decode!(
3028 AuthenticationTypes,
3029 D,
3030 &mut self.auth_type,
3031 decoder,
3032 offset + 52,
3033 _depth
3034 )?;
3035 fidl::decode!(
3036 fidl::encoding::UnboundedVector<u8>,
3037 D,
3038 &mut self.sae_password,
3039 decoder,
3040 offset + 56,
3041 _depth
3042 )?;
3043 fidl::decode!(
3044 fidl::encoding::Boxed<SetKeyDescriptor>,
3045 D,
3046 &mut self.wep_key,
3047 decoder,
3048 offset + 72,
3049 _depth
3050 )?;
3051 fidl::decode!(fidl::encoding::Vector<u8, 257>, D, &mut self.security_ie, decoder, offset + 80, _depth)?;
3052 Ok(())
3053 }
3054 }
3055
3056 impl fidl::encoding::ValueTypeMarker for Country {
3057 type Borrowed<'a> = &'a Self;
3058 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3059 value
3060 }
3061 }
3062
3063 unsafe impl fidl::encoding::TypeMarker for Country {
3064 type Owned = Self;
3065
3066 #[inline(always)]
3067 fn inline_align(_context: fidl::encoding::Context) -> usize {
3068 1
3069 }
3070
3071 #[inline(always)]
3072 fn inline_size(_context: fidl::encoding::Context) -> usize {
3073 3
3074 }
3075 #[inline(always)]
3076 fn encode_is_copy() -> bool {
3077 true
3078 }
3079
3080 #[inline(always)]
3081 fn decode_is_copy() -> bool {
3082 true
3083 }
3084 }
3085
3086 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Country, D> for &Country {
3087 #[inline]
3088 unsafe fn encode(
3089 self,
3090 encoder: &mut fidl::encoding::Encoder<'_, D>,
3091 offset: usize,
3092 _depth: fidl::encoding::Depth,
3093 ) -> fidl::Result<()> {
3094 encoder.debug_check_bounds::<Country>(offset);
3095 unsafe {
3096 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3098 (buf_ptr as *mut Country).write_unaligned((self as *const Country).read());
3099 }
3102 Ok(())
3103 }
3104 }
3105 unsafe impl<
3106 D: fidl::encoding::ResourceDialect,
3107 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3108 T1: fidl::encoding::Encode<u8, D>,
3109 > fidl::encoding::Encode<Country, D> for (T0, T1)
3110 {
3111 #[inline]
3112 unsafe fn encode(
3113 self,
3114 encoder: &mut fidl::encoding::Encoder<'_, D>,
3115 offset: usize,
3116 depth: fidl::encoding::Depth,
3117 ) -> fidl::Result<()> {
3118 encoder.debug_check_bounds::<Country>(offset);
3119 self.0.encode(encoder, offset + 0, depth)?;
3123 self.1.encode(encoder, offset + 2, depth)?;
3124 Ok(())
3125 }
3126 }
3127
3128 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for Country {
3129 #[inline(always)]
3130 fn new_empty() -> Self {
3131 Self {
3132 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3133 suffix: fidl::new_empty!(u8, D),
3134 }
3135 }
3136
3137 #[inline]
3138 unsafe fn decode(
3139 &mut self,
3140 decoder: &mut fidl::encoding::Decoder<'_, D>,
3141 offset: usize,
3142 _depth: fidl::encoding::Depth,
3143 ) -> fidl::Result<()> {
3144 decoder.debug_check_bounds::<Self>(offset);
3145 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3146 unsafe {
3149 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 3);
3150 }
3151 Ok(())
3152 }
3153 }
3154
3155 impl fidl::encoding::ValueTypeMarker for DeauthenticateConfirm {
3156 type Borrowed<'a> = &'a Self;
3157 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3158 value
3159 }
3160 }
3161
3162 unsafe impl fidl::encoding::TypeMarker for DeauthenticateConfirm {
3163 type Owned = Self;
3164
3165 #[inline(always)]
3166 fn inline_align(_context: fidl::encoding::Context) -> usize {
3167 1
3168 }
3169
3170 #[inline(always)]
3171 fn inline_size(_context: fidl::encoding::Context) -> usize {
3172 6
3173 }
3174 #[inline(always)]
3175 fn encode_is_copy() -> bool {
3176 true
3177 }
3178
3179 #[inline(always)]
3180 fn decode_is_copy() -> bool {
3181 true
3182 }
3183 }
3184
3185 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateConfirm, D>
3186 for &DeauthenticateConfirm
3187 {
3188 #[inline]
3189 unsafe fn encode(
3190 self,
3191 encoder: &mut fidl::encoding::Encoder<'_, D>,
3192 offset: usize,
3193 _depth: fidl::encoding::Depth,
3194 ) -> fidl::Result<()> {
3195 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3196 unsafe {
3197 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3199 (buf_ptr as *mut DeauthenticateConfirm)
3200 .write_unaligned((self as *const DeauthenticateConfirm).read());
3201 }
3204 Ok(())
3205 }
3206 }
3207 unsafe impl<
3208 D: fidl::encoding::ResourceDialect,
3209 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3210 > fidl::encoding::Encode<DeauthenticateConfirm, D> for (T0,)
3211 {
3212 #[inline]
3213 unsafe fn encode(
3214 self,
3215 encoder: &mut fidl::encoding::Encoder<'_, D>,
3216 offset: usize,
3217 depth: fidl::encoding::Depth,
3218 ) -> fidl::Result<()> {
3219 encoder.debug_check_bounds::<DeauthenticateConfirm>(offset);
3220 self.0.encode(encoder, offset + 0, depth)?;
3224 Ok(())
3225 }
3226 }
3227
3228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateConfirm {
3229 #[inline(always)]
3230 fn new_empty() -> Self {
3231 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
3232 }
3233
3234 #[inline]
3235 unsafe fn decode(
3236 &mut self,
3237 decoder: &mut fidl::encoding::Decoder<'_, D>,
3238 offset: usize,
3239 _depth: fidl::encoding::Depth,
3240 ) -> fidl::Result<()> {
3241 decoder.debug_check_bounds::<Self>(offset);
3242 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3243 unsafe {
3246 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
3247 }
3248 Ok(())
3249 }
3250 }
3251
3252 impl fidl::encoding::ValueTypeMarker for DeauthenticateIndication {
3253 type Borrowed<'a> = &'a Self;
3254 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3255 value
3256 }
3257 }
3258
3259 unsafe impl fidl::encoding::TypeMarker for DeauthenticateIndication {
3260 type Owned = Self;
3261
3262 #[inline(always)]
3263 fn inline_align(_context: fidl::encoding::Context) -> usize {
3264 2
3265 }
3266
3267 #[inline(always)]
3268 fn inline_size(_context: fidl::encoding::Context) -> usize {
3269 10
3270 }
3271 }
3272
3273 unsafe impl<D: fidl::encoding::ResourceDialect>
3274 fidl::encoding::Encode<DeauthenticateIndication, D> for &DeauthenticateIndication
3275 {
3276 #[inline]
3277 unsafe fn encode(
3278 self,
3279 encoder: &mut fidl::encoding::Encoder<'_, D>,
3280 offset: usize,
3281 _depth: fidl::encoding::Depth,
3282 ) -> fidl::Result<()> {
3283 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3284 fidl::encoding::Encode::<DeauthenticateIndication, D>::encode(
3286 (
3287 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3288 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3289 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3290 ),
3291 encoder, offset, _depth
3292 )
3293 }
3294 }
3295 unsafe impl<
3296 D: fidl::encoding::ResourceDialect,
3297 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3298 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3299 T2: fidl::encoding::Encode<bool, D>,
3300 > fidl::encoding::Encode<DeauthenticateIndication, D> for (T0, T1, T2)
3301 {
3302 #[inline]
3303 unsafe fn encode(
3304 self,
3305 encoder: &mut fidl::encoding::Encoder<'_, D>,
3306 offset: usize,
3307 depth: fidl::encoding::Depth,
3308 ) -> fidl::Result<()> {
3309 encoder.debug_check_bounds::<DeauthenticateIndication>(offset);
3310 unsafe {
3313 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3314 (ptr as *mut u16).write_unaligned(0);
3315 }
3316 self.0.encode(encoder, offset + 0, depth)?;
3318 self.1.encode(encoder, offset + 6, depth)?;
3319 self.2.encode(encoder, offset + 8, depth)?;
3320 Ok(())
3321 }
3322 }
3323
3324 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3325 for DeauthenticateIndication
3326 {
3327 #[inline(always)]
3328 fn new_empty() -> Self {
3329 Self {
3330 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3331 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3332 locally_initiated: fidl::new_empty!(bool, D),
3333 }
3334 }
3335
3336 #[inline]
3337 unsafe fn decode(
3338 &mut self,
3339 decoder: &mut fidl::encoding::Decoder<'_, D>,
3340 offset: usize,
3341 _depth: fidl::encoding::Depth,
3342 ) -> fidl::Result<()> {
3343 decoder.debug_check_bounds::<Self>(offset);
3344 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3346 let padval = unsafe { (ptr as *const u16).read_unaligned() };
3347 let mask = 0xff00u16;
3348 let maskedval = padval & mask;
3349 if maskedval != 0 {
3350 return Err(fidl::Error::NonZeroPadding {
3351 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3352 });
3353 }
3354 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3355 fidl::decode!(
3356 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3357 D,
3358 &mut self.reason_code,
3359 decoder,
3360 offset + 6,
3361 _depth
3362 )?;
3363 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
3364 Ok(())
3365 }
3366 }
3367
3368 impl fidl::encoding::ValueTypeMarker for DeauthenticateRequest {
3369 type Borrowed<'a> = &'a Self;
3370 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3371 value
3372 }
3373 }
3374
3375 unsafe impl fidl::encoding::TypeMarker for DeauthenticateRequest {
3376 type Owned = Self;
3377
3378 #[inline(always)]
3379 fn inline_align(_context: fidl::encoding::Context) -> usize {
3380 2
3381 }
3382
3383 #[inline(always)]
3384 fn inline_size(_context: fidl::encoding::Context) -> usize {
3385 8
3386 }
3387 }
3388
3389 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeauthenticateRequest, D>
3390 for &DeauthenticateRequest
3391 {
3392 #[inline]
3393 unsafe fn encode(
3394 self,
3395 encoder: &mut fidl::encoding::Encoder<'_, D>,
3396 offset: usize,
3397 _depth: fidl::encoding::Depth,
3398 ) -> fidl::Result<()> {
3399 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3400 fidl::encoding::Encode::<DeauthenticateRequest, D>::encode(
3402 (
3403 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3404 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3405 ),
3406 encoder, offset, _depth
3407 )
3408 }
3409 }
3410 unsafe impl<
3411 D: fidl::encoding::ResourceDialect,
3412 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3413 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3414 > fidl::encoding::Encode<DeauthenticateRequest, D> for (T0, T1)
3415 {
3416 #[inline]
3417 unsafe fn encode(
3418 self,
3419 encoder: &mut fidl::encoding::Encoder<'_, D>,
3420 offset: usize,
3421 depth: fidl::encoding::Depth,
3422 ) -> fidl::Result<()> {
3423 encoder.debug_check_bounds::<DeauthenticateRequest>(offset);
3424 self.0.encode(encoder, offset + 0, depth)?;
3428 self.1.encode(encoder, offset + 6, depth)?;
3429 Ok(())
3430 }
3431 }
3432
3433 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeauthenticateRequest {
3434 #[inline(always)]
3435 fn new_empty() -> Self {
3436 Self {
3437 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3438 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
3439 }
3440 }
3441
3442 #[inline]
3443 unsafe fn decode(
3444 &mut self,
3445 decoder: &mut fidl::encoding::Decoder<'_, D>,
3446 offset: usize,
3447 _depth: fidl::encoding::Depth,
3448 ) -> fidl::Result<()> {
3449 decoder.debug_check_bounds::<Self>(offset);
3450 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
3452 fidl::decode!(
3453 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
3454 D,
3455 &mut self.reason_code,
3456 decoder,
3457 offset + 6,
3458 _depth
3459 )?;
3460 Ok(())
3461 }
3462 }
3463
3464 impl fidl::encoding::ValueTypeMarker for DeleteKeyDescriptor {
3465 type Borrowed<'a> = &'a Self;
3466 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3467 value
3468 }
3469 }
3470
3471 unsafe impl fidl::encoding::TypeMarker for DeleteKeyDescriptor {
3472 type Owned = Self;
3473
3474 #[inline(always)]
3475 fn inline_align(_context: fidl::encoding::Context) -> usize {
3476 4
3477 }
3478
3479 #[inline(always)]
3480 fn inline_size(_context: fidl::encoding::Context) -> usize {
3481 16
3482 }
3483 }
3484
3485 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeyDescriptor, D>
3486 for &DeleteKeyDescriptor
3487 {
3488 #[inline]
3489 unsafe fn encode(
3490 self,
3491 encoder: &mut fidl::encoding::Encoder<'_, D>,
3492 offset: usize,
3493 _depth: fidl::encoding::Depth,
3494 ) -> fidl::Result<()> {
3495 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3496 fidl::encoding::Encode::<DeleteKeyDescriptor, D>::encode(
3498 (
3499 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
3500 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
3501 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
3502 &self.address,
3503 ),
3504 ),
3505 encoder,
3506 offset,
3507 _depth,
3508 )
3509 }
3510 }
3511 unsafe impl<
3512 D: fidl::encoding::ResourceDialect,
3513 T0: fidl::encoding::Encode<u16, D>,
3514 T1: fidl::encoding::Encode<KeyType, D>,
3515 T2: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3516 > fidl::encoding::Encode<DeleteKeyDescriptor, D> for (T0, T1, T2)
3517 {
3518 #[inline]
3519 unsafe fn encode(
3520 self,
3521 encoder: &mut fidl::encoding::Encoder<'_, D>,
3522 offset: usize,
3523 depth: fidl::encoding::Depth,
3524 ) -> fidl::Result<()> {
3525 encoder.debug_check_bounds::<DeleteKeyDescriptor>(offset);
3526 unsafe {
3529 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3530 (ptr as *mut u32).write_unaligned(0);
3531 }
3532 unsafe {
3533 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(12);
3534 (ptr as *mut u32).write_unaligned(0);
3535 }
3536 self.0.encode(encoder, offset + 0, depth)?;
3538 self.1.encode(encoder, offset + 4, depth)?;
3539 self.2.encode(encoder, offset + 8, depth)?;
3540 Ok(())
3541 }
3542 }
3543
3544 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeyDescriptor {
3545 #[inline(always)]
3546 fn new_empty() -> Self {
3547 Self {
3548 key_id: fidl::new_empty!(u16, D),
3549 key_type: fidl::new_empty!(KeyType, D),
3550 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3551 }
3552 }
3553
3554 #[inline]
3555 unsafe fn decode(
3556 &mut self,
3557 decoder: &mut fidl::encoding::Decoder<'_, D>,
3558 offset: usize,
3559 _depth: fidl::encoding::Depth,
3560 ) -> fidl::Result<()> {
3561 decoder.debug_check_bounds::<Self>(offset);
3562 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3564 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3565 let mask = 0xffff0000u32;
3566 let maskedval = padval & mask;
3567 if maskedval != 0 {
3568 return Err(fidl::Error::NonZeroPadding {
3569 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3570 });
3571 }
3572 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(12) };
3573 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3574 let mask = 0xffff0000u32;
3575 let maskedval = padval & mask;
3576 if maskedval != 0 {
3577 return Err(fidl::Error::NonZeroPadding {
3578 padding_start: offset + 12 + ((mask as u64).trailing_zeros() / 8) as usize,
3579 });
3580 }
3581 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 0, _depth)?;
3582 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 4, _depth)?;
3583 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 8, _depth)?;
3584 Ok(())
3585 }
3586 }
3587
3588 impl fidl::encoding::ValueTypeMarker for DeleteKeysRequest {
3589 type Borrowed<'a> = &'a Self;
3590 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3591 value
3592 }
3593 }
3594
3595 unsafe impl fidl::encoding::TypeMarker for DeleteKeysRequest {
3596 type Owned = Self;
3597
3598 #[inline(always)]
3599 fn inline_align(_context: fidl::encoding::Context) -> usize {
3600 8
3601 }
3602
3603 #[inline(always)]
3604 fn inline_size(_context: fidl::encoding::Context) -> usize {
3605 16
3606 }
3607 }
3608
3609 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeleteKeysRequest, D>
3610 for &DeleteKeysRequest
3611 {
3612 #[inline]
3613 unsafe fn encode(
3614 self,
3615 encoder: &mut fidl::encoding::Encoder<'_, D>,
3616 offset: usize,
3617 _depth: fidl::encoding::Depth,
3618 ) -> fidl::Result<()> {
3619 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3620 fidl::encoding::Encode::<DeleteKeysRequest, D>::encode(
3622 (
3623 <fidl::encoding::UnboundedVector<DeleteKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
3624 ),
3625 encoder, offset, _depth
3626 )
3627 }
3628 }
3629 unsafe impl<
3630 D: fidl::encoding::ResourceDialect,
3631 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D>,
3632 > fidl::encoding::Encode<DeleteKeysRequest, D> for (T0,)
3633 {
3634 #[inline]
3635 unsafe fn encode(
3636 self,
3637 encoder: &mut fidl::encoding::Encoder<'_, D>,
3638 offset: usize,
3639 depth: fidl::encoding::Depth,
3640 ) -> fidl::Result<()> {
3641 encoder.debug_check_bounds::<DeleteKeysRequest>(offset);
3642 self.0.encode(encoder, offset + 0, depth)?;
3646 Ok(())
3647 }
3648 }
3649
3650 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeleteKeysRequest {
3651 #[inline(always)]
3652 fn new_empty() -> Self {
3653 Self {
3654 keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<DeleteKeyDescriptor>, D),
3655 }
3656 }
3657
3658 #[inline]
3659 unsafe fn decode(
3660 &mut self,
3661 decoder: &mut fidl::encoding::Decoder<'_, D>,
3662 offset: usize,
3663 _depth: fidl::encoding::Depth,
3664 ) -> fidl::Result<()> {
3665 decoder.debug_check_bounds::<Self>(offset);
3666 fidl::decode!(
3668 fidl::encoding::UnboundedVector<DeleteKeyDescriptor>,
3669 D,
3670 &mut self.keylist,
3671 decoder,
3672 offset + 0,
3673 _depth
3674 )?;
3675 Ok(())
3676 }
3677 }
3678
3679 impl fidl::encoding::ValueTypeMarker for DeviceInfo {
3680 type Borrowed<'a> = &'a Self;
3681 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3682 value
3683 }
3684 }
3685
3686 unsafe impl fidl::encoding::TypeMarker for DeviceInfo {
3687 type Owned = Self;
3688
3689 #[inline(always)]
3690 fn inline_align(_context: fidl::encoding::Context) -> usize {
3691 8
3692 }
3693
3694 #[inline(always)]
3695 fn inline_size(_context: fidl::encoding::Context) -> usize {
3696 40
3697 }
3698 }
3699
3700 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DeviceInfo, D>
3701 for &DeviceInfo
3702 {
3703 #[inline]
3704 unsafe fn encode(
3705 self,
3706 encoder: &mut fidl::encoding::Encoder<'_, D>,
3707 offset: usize,
3708 _depth: fidl::encoding::Depth,
3709 ) -> fidl::Result<()> {
3710 encoder.debug_check_bounds::<DeviceInfo>(offset);
3711 fidl::encoding::Encode::<DeviceInfo, D>::encode(
3713 (
3714 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3715 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3716 <fidl::encoding::Vector<BandCapability, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.bands),
3717 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.softmac_hardware_capability),
3718 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.qos_capable),
3719 ),
3720 encoder, offset, _depth
3721 )
3722 }
3723 }
3724 unsafe impl<
3725 D: fidl::encoding::ResourceDialect,
3726 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3727 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
3728 T2: fidl::encoding::Encode<fidl::encoding::Vector<BandCapability, 16>, D>,
3729 T3: fidl::encoding::Encode<u32, D>,
3730 T4: fidl::encoding::Encode<bool, D>,
3731 > fidl::encoding::Encode<DeviceInfo, D> for (T0, T1, T2, T3, T4)
3732 {
3733 #[inline]
3734 unsafe fn encode(
3735 self,
3736 encoder: &mut fidl::encoding::Encoder<'_, D>,
3737 offset: usize,
3738 depth: fidl::encoding::Depth,
3739 ) -> fidl::Result<()> {
3740 encoder.debug_check_bounds::<DeviceInfo>(offset);
3741 unsafe {
3744 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3745 (ptr as *mut u64).write_unaligned(0);
3746 }
3747 unsafe {
3748 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3749 (ptr as *mut u64).write_unaligned(0);
3750 }
3751 unsafe {
3752 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3753 (ptr as *mut u64).write_unaligned(0);
3754 }
3755 self.0.encode(encoder, offset + 0, depth)?;
3757 self.1.encode(encoder, offset + 8, depth)?;
3758 self.2.encode(encoder, offset + 16, depth)?;
3759 self.3.encode(encoder, offset + 32, depth)?;
3760 self.4.encode(encoder, offset + 36, depth)?;
3761 Ok(())
3762 }
3763 }
3764
3765 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceInfo {
3766 #[inline(always)]
3767 fn new_empty() -> Self {
3768 Self {
3769 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3770 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
3771 bands: fidl::new_empty!(fidl::encoding::Vector<BandCapability, 16>, D),
3772 softmac_hardware_capability: fidl::new_empty!(u32, D),
3773 qos_capable: fidl::new_empty!(bool, D),
3774 }
3775 }
3776
3777 #[inline]
3778 unsafe fn decode(
3779 &mut self,
3780 decoder: &mut fidl::encoding::Decoder<'_, D>,
3781 offset: usize,
3782 _depth: fidl::encoding::Depth,
3783 ) -> fidl::Result<()> {
3784 decoder.debug_check_bounds::<Self>(offset);
3785 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3787 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3788 let mask = 0xffff000000000000u64;
3789 let maskedval = padval & mask;
3790 if maskedval != 0 {
3791 return Err(fidl::Error::NonZeroPadding {
3792 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3793 });
3794 }
3795 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
3796 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3797 let mask = 0xffffffff00000000u64;
3798 let maskedval = padval & mask;
3799 if maskedval != 0 {
3800 return Err(fidl::Error::NonZeroPadding {
3801 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
3802 });
3803 }
3804 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3805 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3806 let mask = 0xffffff0000000000u64;
3807 let maskedval = padval & mask;
3808 if maskedval != 0 {
3809 return Err(fidl::Error::NonZeroPadding {
3810 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3811 });
3812 }
3813 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 0, _depth)?;
3814 fidl::decode!(
3815 fidl_fuchsia_wlan_common__common::WlanMacRole,
3816 D,
3817 &mut self.role,
3818 decoder,
3819 offset + 8,
3820 _depth
3821 )?;
3822 fidl::decode!(fidl::encoding::Vector<BandCapability, 16>, D, &mut self.bands, decoder, offset + 16, _depth)?;
3823 fidl::decode!(
3824 u32,
3825 D,
3826 &mut self.softmac_hardware_capability,
3827 decoder,
3828 offset + 32,
3829 _depth
3830 )?;
3831 fidl::decode!(bool, D, &mut self.qos_capable, decoder, offset + 36, _depth)?;
3832 Ok(())
3833 }
3834 }
3835
3836 impl fidl::encoding::ValueTypeMarker for DisassociateConfirm {
3837 type Borrowed<'a> = &'a Self;
3838 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3839 value
3840 }
3841 }
3842
3843 unsafe impl fidl::encoding::TypeMarker for DisassociateConfirm {
3844 type Owned = Self;
3845
3846 #[inline(always)]
3847 fn inline_align(_context: fidl::encoding::Context) -> usize {
3848 4
3849 }
3850
3851 #[inline(always)]
3852 fn inline_size(_context: fidl::encoding::Context) -> usize {
3853 4
3854 }
3855 #[inline(always)]
3856 fn encode_is_copy() -> bool {
3857 true
3858 }
3859
3860 #[inline(always)]
3861 fn decode_is_copy() -> bool {
3862 true
3863 }
3864 }
3865
3866 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateConfirm, D>
3867 for &DisassociateConfirm
3868 {
3869 #[inline]
3870 unsafe fn encode(
3871 self,
3872 encoder: &mut fidl::encoding::Encoder<'_, D>,
3873 offset: usize,
3874 _depth: fidl::encoding::Depth,
3875 ) -> fidl::Result<()> {
3876 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3877 unsafe {
3878 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3880 (buf_ptr as *mut DisassociateConfirm)
3881 .write_unaligned((self as *const DisassociateConfirm).read());
3882 }
3885 Ok(())
3886 }
3887 }
3888 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
3889 fidl::encoding::Encode<DisassociateConfirm, D> for (T0,)
3890 {
3891 #[inline]
3892 unsafe fn encode(
3893 self,
3894 encoder: &mut fidl::encoding::Encoder<'_, D>,
3895 offset: usize,
3896 depth: fidl::encoding::Depth,
3897 ) -> fidl::Result<()> {
3898 encoder.debug_check_bounds::<DisassociateConfirm>(offset);
3899 self.0.encode(encoder, offset + 0, depth)?;
3903 Ok(())
3904 }
3905 }
3906
3907 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateConfirm {
3908 #[inline(always)]
3909 fn new_empty() -> Self {
3910 Self { status: fidl::new_empty!(i32, D) }
3911 }
3912
3913 #[inline]
3914 unsafe fn decode(
3915 &mut self,
3916 decoder: &mut fidl::encoding::Decoder<'_, D>,
3917 offset: usize,
3918 _depth: fidl::encoding::Depth,
3919 ) -> fidl::Result<()> {
3920 decoder.debug_check_bounds::<Self>(offset);
3921 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3922 unsafe {
3925 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
3926 }
3927 Ok(())
3928 }
3929 }
3930
3931 impl fidl::encoding::ValueTypeMarker for DisassociateIndication {
3932 type Borrowed<'a> = &'a Self;
3933 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3934 value
3935 }
3936 }
3937
3938 unsafe impl fidl::encoding::TypeMarker for DisassociateIndication {
3939 type Owned = Self;
3940
3941 #[inline(always)]
3942 fn inline_align(_context: fidl::encoding::Context) -> usize {
3943 2
3944 }
3945
3946 #[inline(always)]
3947 fn inline_size(_context: fidl::encoding::Context) -> usize {
3948 10
3949 }
3950 }
3951
3952 unsafe impl<D: fidl::encoding::ResourceDialect>
3953 fidl::encoding::Encode<DisassociateIndication, D> for &DisassociateIndication
3954 {
3955 #[inline]
3956 unsafe fn encode(
3957 self,
3958 encoder: &mut fidl::encoding::Encoder<'_, D>,
3959 offset: usize,
3960 _depth: fidl::encoding::Depth,
3961 ) -> fidl::Result<()> {
3962 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3963 fidl::encoding::Encode::<DisassociateIndication, D>::encode(
3965 (
3966 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
3967 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
3968 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.locally_initiated),
3969 ),
3970 encoder, offset, _depth
3971 )
3972 }
3973 }
3974 unsafe impl<
3975 D: fidl::encoding::ResourceDialect,
3976 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3977 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
3978 T2: fidl::encoding::Encode<bool, D>,
3979 > fidl::encoding::Encode<DisassociateIndication, D> for (T0, T1, T2)
3980 {
3981 #[inline]
3982 unsafe fn encode(
3983 self,
3984 encoder: &mut fidl::encoding::Encoder<'_, D>,
3985 offset: usize,
3986 depth: fidl::encoding::Depth,
3987 ) -> fidl::Result<()> {
3988 encoder.debug_check_bounds::<DisassociateIndication>(offset);
3989 unsafe {
3992 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
3993 (ptr as *mut u16).write_unaligned(0);
3994 }
3995 self.0.encode(encoder, offset + 0, depth)?;
3997 self.1.encode(encoder, offset + 6, depth)?;
3998 self.2.encode(encoder, offset + 8, depth)?;
3999 Ok(())
4000 }
4001 }
4002
4003 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4004 for DisassociateIndication
4005 {
4006 #[inline(always)]
4007 fn new_empty() -> Self {
4008 Self {
4009 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4010 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4011 locally_initiated: fidl::new_empty!(bool, D),
4012 }
4013 }
4014
4015 #[inline]
4016 unsafe fn decode(
4017 &mut self,
4018 decoder: &mut fidl::encoding::Decoder<'_, D>,
4019 offset: usize,
4020 _depth: fidl::encoding::Depth,
4021 ) -> fidl::Result<()> {
4022 decoder.debug_check_bounds::<Self>(offset);
4023 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4025 let padval = unsafe { (ptr as *const u16).read_unaligned() };
4026 let mask = 0xff00u16;
4027 let maskedval = padval & mask;
4028 if maskedval != 0 {
4029 return Err(fidl::Error::NonZeroPadding {
4030 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4031 });
4032 }
4033 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4034 fidl::decode!(
4035 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4036 D,
4037 &mut self.reason_code,
4038 decoder,
4039 offset + 6,
4040 _depth
4041 )?;
4042 fidl::decode!(bool, D, &mut self.locally_initiated, decoder, offset + 8, _depth)?;
4043 Ok(())
4044 }
4045 }
4046
4047 impl fidl::encoding::ValueTypeMarker for DisassociateRequest {
4048 type Borrowed<'a> = &'a Self;
4049 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4050 value
4051 }
4052 }
4053
4054 unsafe impl fidl::encoding::TypeMarker for DisassociateRequest {
4055 type Owned = Self;
4056
4057 #[inline(always)]
4058 fn inline_align(_context: fidl::encoding::Context) -> usize {
4059 2
4060 }
4061
4062 #[inline(always)]
4063 fn inline_size(_context: fidl::encoding::Context) -> usize {
4064 8
4065 }
4066 }
4067
4068 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DisassociateRequest, D>
4069 for &DisassociateRequest
4070 {
4071 #[inline]
4072 unsafe fn encode(
4073 self,
4074 encoder: &mut fidl::encoding::Encoder<'_, D>,
4075 offset: usize,
4076 _depth: fidl::encoding::Depth,
4077 ) -> fidl::Result<()> {
4078 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4079 fidl::encoding::Encode::<DisassociateRequest, D>::encode(
4081 (
4082 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
4083 <fidl_fuchsia_wlan_ieee80211__common::ReasonCode as fidl::encoding::ValueTypeMarker>::borrow(&self.reason_code),
4084 ),
4085 encoder, offset, _depth
4086 )
4087 }
4088 }
4089 unsafe impl<
4090 D: fidl::encoding::ResourceDialect,
4091 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4092 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D>,
4093 > fidl::encoding::Encode<DisassociateRequest, D> for (T0, T1)
4094 {
4095 #[inline]
4096 unsafe fn encode(
4097 self,
4098 encoder: &mut fidl::encoding::Encoder<'_, D>,
4099 offset: usize,
4100 depth: fidl::encoding::Depth,
4101 ) -> fidl::Result<()> {
4102 encoder.debug_check_bounds::<DisassociateRequest>(offset);
4103 self.0.encode(encoder, offset + 0, depth)?;
4107 self.1.encode(encoder, offset + 6, depth)?;
4108 Ok(())
4109 }
4110 }
4111
4112 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DisassociateRequest {
4113 #[inline(always)]
4114 fn new_empty() -> Self {
4115 Self {
4116 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4117 reason_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::ReasonCode, D),
4118 }
4119 }
4120
4121 #[inline]
4122 unsafe fn decode(
4123 &mut self,
4124 decoder: &mut fidl::encoding::Decoder<'_, D>,
4125 offset: usize,
4126 _depth: fidl::encoding::Depth,
4127 ) -> fidl::Result<()> {
4128 decoder.debug_check_bounds::<Self>(offset);
4129 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
4131 fidl::decode!(
4132 fidl_fuchsia_wlan_ieee80211__common::ReasonCode,
4133 D,
4134 &mut self.reason_code,
4135 decoder,
4136 offset + 6,
4137 _depth
4138 )?;
4139 Ok(())
4140 }
4141 }
4142
4143 impl fidl::encoding::ValueTypeMarker for EapolConfirm {
4144 type Borrowed<'a> = &'a Self;
4145 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4146 value
4147 }
4148 }
4149
4150 unsafe impl fidl::encoding::TypeMarker for EapolConfirm {
4151 type Owned = Self;
4152
4153 #[inline(always)]
4154 fn inline_align(_context: fidl::encoding::Context) -> usize {
4155 4
4156 }
4157
4158 #[inline(always)]
4159 fn inline_size(_context: fidl::encoding::Context) -> usize {
4160 12
4161 }
4162 }
4163
4164 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolConfirm, D>
4165 for &EapolConfirm
4166 {
4167 #[inline]
4168 unsafe fn encode(
4169 self,
4170 encoder: &mut fidl::encoding::Encoder<'_, D>,
4171 offset: usize,
4172 _depth: fidl::encoding::Depth,
4173 ) -> fidl::Result<()> {
4174 encoder.debug_check_bounds::<EapolConfirm>(offset);
4175 fidl::encoding::Encode::<EapolConfirm, D>::encode(
4177 (
4178 <EapolResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),
4179 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
4180 &self.dst_addr,
4181 ),
4182 ),
4183 encoder,
4184 offset,
4185 _depth,
4186 )
4187 }
4188 }
4189 unsafe impl<
4190 D: fidl::encoding::ResourceDialect,
4191 T0: fidl::encoding::Encode<EapolResultCode, D>,
4192 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4193 > fidl::encoding::Encode<EapolConfirm, D> for (T0, T1)
4194 {
4195 #[inline]
4196 unsafe fn encode(
4197 self,
4198 encoder: &mut fidl::encoding::Encoder<'_, D>,
4199 offset: usize,
4200 depth: fidl::encoding::Depth,
4201 ) -> fidl::Result<()> {
4202 encoder.debug_check_bounds::<EapolConfirm>(offset);
4203 unsafe {
4206 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4207 (ptr as *mut u32).write_unaligned(0);
4208 }
4209 self.0.encode(encoder, offset + 0, depth)?;
4211 self.1.encode(encoder, offset + 4, depth)?;
4212 Ok(())
4213 }
4214 }
4215
4216 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolConfirm {
4217 #[inline(always)]
4218 fn new_empty() -> Self {
4219 Self {
4220 result_code: fidl::new_empty!(EapolResultCode, D),
4221 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4222 }
4223 }
4224
4225 #[inline]
4226 unsafe fn decode(
4227 &mut self,
4228 decoder: &mut fidl::encoding::Decoder<'_, D>,
4229 offset: usize,
4230 _depth: fidl::encoding::Depth,
4231 ) -> fidl::Result<()> {
4232 decoder.debug_check_bounds::<Self>(offset);
4233 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4235 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4236 let mask = 0xffff0000u32;
4237 let maskedval = padval & mask;
4238 if maskedval != 0 {
4239 return Err(fidl::Error::NonZeroPadding {
4240 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4241 });
4242 }
4243 fidl::decode!(EapolResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
4244 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 4, _depth)?;
4245 Ok(())
4246 }
4247 }
4248
4249 impl fidl::encoding::ValueTypeMarker for EapolIndication {
4250 type Borrowed<'a> = &'a Self;
4251 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4252 value
4253 }
4254 }
4255
4256 unsafe impl fidl::encoding::TypeMarker for EapolIndication {
4257 type Owned = Self;
4258
4259 #[inline(always)]
4260 fn inline_align(_context: fidl::encoding::Context) -> usize {
4261 8
4262 }
4263
4264 #[inline(always)]
4265 fn inline_size(_context: fidl::encoding::Context) -> usize {
4266 32
4267 }
4268 }
4269
4270 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolIndication, D>
4271 for &EapolIndication
4272 {
4273 #[inline]
4274 unsafe fn encode(
4275 self,
4276 encoder: &mut fidl::encoding::Encoder<'_, D>,
4277 offset: usize,
4278 _depth: fidl::encoding::Depth,
4279 ) -> fidl::Result<()> {
4280 encoder.debug_check_bounds::<EapolIndication>(offset);
4281 fidl::encoding::Encode::<EapolIndication, D>::encode(
4283 (
4284 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4285 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4286 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4287 ),
4288 encoder, offset, _depth
4289 )
4290 }
4291 }
4292 unsafe impl<
4293 D: fidl::encoding::ResourceDialect,
4294 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4295 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4296 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4297 > fidl::encoding::Encode<EapolIndication, D> for (T0, T1, T2)
4298 {
4299 #[inline]
4300 unsafe fn encode(
4301 self,
4302 encoder: &mut fidl::encoding::Encoder<'_, D>,
4303 offset: usize,
4304 depth: fidl::encoding::Depth,
4305 ) -> fidl::Result<()> {
4306 encoder.debug_check_bounds::<EapolIndication>(offset);
4307 unsafe {
4310 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4311 (ptr as *mut u64).write_unaligned(0);
4312 }
4313 self.0.encode(encoder, offset + 0, depth)?;
4315 self.1.encode(encoder, offset + 6, depth)?;
4316 self.2.encode(encoder, offset + 16, depth)?;
4317 Ok(())
4318 }
4319 }
4320
4321 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolIndication {
4322 #[inline(always)]
4323 fn new_empty() -> Self {
4324 Self {
4325 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4326 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4327 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4328 }
4329 }
4330
4331 #[inline]
4332 unsafe fn decode(
4333 &mut self,
4334 decoder: &mut fidl::encoding::Decoder<'_, D>,
4335 offset: usize,
4336 _depth: fidl::encoding::Depth,
4337 ) -> fidl::Result<()> {
4338 decoder.debug_check_bounds::<Self>(offset);
4339 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4341 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4342 let mask = 0xffffffff00000000u64;
4343 let maskedval = padval & mask;
4344 if maskedval != 0 {
4345 return Err(fidl::Error::NonZeroPadding {
4346 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4347 });
4348 }
4349 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4350 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4351 fidl::decode!(
4352 fidl::encoding::UnboundedVector<u8>,
4353 D,
4354 &mut self.data,
4355 decoder,
4356 offset + 16,
4357 _depth
4358 )?;
4359 Ok(())
4360 }
4361 }
4362
4363 impl fidl::encoding::ValueTypeMarker for EapolRequest {
4364 type Borrowed<'a> = &'a Self;
4365 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4366 value
4367 }
4368 }
4369
4370 unsafe impl fidl::encoding::TypeMarker for EapolRequest {
4371 type Owned = Self;
4372
4373 #[inline(always)]
4374 fn inline_align(_context: fidl::encoding::Context) -> usize {
4375 8
4376 }
4377
4378 #[inline(always)]
4379 fn inline_size(_context: fidl::encoding::Context) -> usize {
4380 32
4381 }
4382 }
4383
4384 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<EapolRequest, D>
4385 for &EapolRequest
4386 {
4387 #[inline]
4388 unsafe fn encode(
4389 self,
4390 encoder: &mut fidl::encoding::Encoder<'_, D>,
4391 offset: usize,
4392 _depth: fidl::encoding::Depth,
4393 ) -> fidl::Result<()> {
4394 encoder.debug_check_bounds::<EapolRequest>(offset);
4395 fidl::encoding::Encode::<EapolRequest, D>::encode(
4397 (
4398 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.src_addr),
4399 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.dst_addr),
4400 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.data),
4401 ),
4402 encoder, offset, _depth
4403 )
4404 }
4405 }
4406 unsafe impl<
4407 D: fidl::encoding::ResourceDialect,
4408 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4409 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4410 T2: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
4411 > fidl::encoding::Encode<EapolRequest, D> for (T0, T1, T2)
4412 {
4413 #[inline]
4414 unsafe fn encode(
4415 self,
4416 encoder: &mut fidl::encoding::Encoder<'_, D>,
4417 offset: usize,
4418 depth: fidl::encoding::Depth,
4419 ) -> fidl::Result<()> {
4420 encoder.debug_check_bounds::<EapolRequest>(offset);
4421 unsafe {
4424 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
4425 (ptr as *mut u64).write_unaligned(0);
4426 }
4427 self.0.encode(encoder, offset + 0, depth)?;
4429 self.1.encode(encoder, offset + 6, depth)?;
4430 self.2.encode(encoder, offset + 16, depth)?;
4431 Ok(())
4432 }
4433 }
4434
4435 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for EapolRequest {
4436 #[inline(always)]
4437 fn new_empty() -> Self {
4438 Self {
4439 src_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4440 dst_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4441 data: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
4442 }
4443 }
4444
4445 #[inline]
4446 unsafe fn decode(
4447 &mut self,
4448 decoder: &mut fidl::encoding::Decoder<'_, D>,
4449 offset: usize,
4450 _depth: fidl::encoding::Depth,
4451 ) -> fidl::Result<()> {
4452 decoder.debug_check_bounds::<Self>(offset);
4453 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
4455 let padval = unsafe { (ptr as *const u64).read_unaligned() };
4456 let mask = 0xffffffff00000000u64;
4457 let maskedval = padval & mask;
4458 if maskedval != 0 {
4459 return Err(fidl::Error::NonZeroPadding {
4460 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
4461 });
4462 }
4463 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.src_addr, decoder, offset + 0, _depth)?;
4464 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.dst_addr, decoder, offset + 6, _depth)?;
4465 fidl::decode!(
4466 fidl::encoding::UnboundedVector<u8>,
4467 D,
4468 &mut self.data,
4469 decoder,
4470 offset + 16,
4471 _depth
4472 )?;
4473 Ok(())
4474 }
4475 }
4476
4477 impl fidl::encoding::ValueTypeMarker for MlmeGetSignalReportResponse {
4478 type Borrowed<'a> = &'a Self;
4479 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4480 value
4481 }
4482 }
4483
4484 unsafe impl fidl::encoding::TypeMarker for MlmeGetSignalReportResponse {
4485 type Owned = Self;
4486
4487 #[inline(always)]
4488 fn inline_align(_context: fidl::encoding::Context) -> usize {
4489 8
4490 }
4491
4492 #[inline(always)]
4493 fn inline_size(_context: fidl::encoding::Context) -> usize {
4494 16
4495 }
4496 }
4497
4498 unsafe impl<D: fidl::encoding::ResourceDialect>
4499 fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for &MlmeGetSignalReportResponse
4500 {
4501 #[inline]
4502 unsafe fn encode(
4503 self,
4504 encoder: &mut fidl::encoding::Encoder<'_, D>,
4505 offset: usize,
4506 _depth: fidl::encoding::Depth,
4507 ) -> fidl::Result<()> {
4508 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4509 fidl::encoding::Encode::<MlmeGetSignalReportResponse, D>::encode(
4511 (
4512 <fidl_fuchsia_wlan_stats__common::SignalReport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4513 ),
4514 encoder, offset, _depth
4515 )
4516 }
4517 }
4518 unsafe impl<
4519 D: fidl::encoding::ResourceDialect,
4520 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::SignalReport, D>,
4521 > fidl::encoding::Encode<MlmeGetSignalReportResponse, D> for (T0,)
4522 {
4523 #[inline]
4524 unsafe fn encode(
4525 self,
4526 encoder: &mut fidl::encoding::Encoder<'_, D>,
4527 offset: usize,
4528 depth: fidl::encoding::Depth,
4529 ) -> fidl::Result<()> {
4530 encoder.debug_check_bounds::<MlmeGetSignalReportResponse>(offset);
4531 self.0.encode(encoder, offset + 0, depth)?;
4535 Ok(())
4536 }
4537 }
4538
4539 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4540 for MlmeGetSignalReportResponse
4541 {
4542 #[inline(always)]
4543 fn new_empty() -> Self {
4544 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::SignalReport, D) }
4545 }
4546
4547 #[inline]
4548 unsafe fn decode(
4549 &mut self,
4550 decoder: &mut fidl::encoding::Decoder<'_, D>,
4551 offset: usize,
4552 _depth: fidl::encoding::Depth,
4553 ) -> fidl::Result<()> {
4554 decoder.debug_check_bounds::<Self>(offset);
4555 fidl::decode!(
4557 fidl_fuchsia_wlan_stats__common::SignalReport,
4558 D,
4559 &mut self.resp,
4560 decoder,
4561 offset + 0,
4562 _depth
4563 )?;
4564 Ok(())
4565 }
4566 }
4567
4568 impl fidl::encoding::ValueTypeMarker for MlmeQueryTelemetrySupportResponse {
4569 type Borrowed<'a> = &'a Self;
4570 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4571 value
4572 }
4573 }
4574
4575 unsafe impl fidl::encoding::TypeMarker for MlmeQueryTelemetrySupportResponse {
4576 type Owned = Self;
4577
4578 #[inline(always)]
4579 fn inline_align(_context: fidl::encoding::Context) -> usize {
4580 8
4581 }
4582
4583 #[inline(always)]
4584 fn inline_size(_context: fidl::encoding::Context) -> usize {
4585 16
4586 }
4587 }
4588
4589 unsafe impl<D: fidl::encoding::ResourceDialect>
4590 fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D>
4591 for &MlmeQueryTelemetrySupportResponse
4592 {
4593 #[inline]
4594 unsafe fn encode(
4595 self,
4596 encoder: &mut fidl::encoding::Encoder<'_, D>,
4597 offset: usize,
4598 _depth: fidl::encoding::Depth,
4599 ) -> fidl::Result<()> {
4600 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4601 fidl::encoding::Encode::<MlmeQueryTelemetrySupportResponse, D>::encode(
4603 (
4604 <fidl_fuchsia_wlan_stats__common::TelemetrySupport as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
4605 ),
4606 encoder, offset, _depth
4607 )
4608 }
4609 }
4610 unsafe impl<
4611 D: fidl::encoding::ResourceDialect,
4612 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_stats__common::TelemetrySupport, D>,
4613 > fidl::encoding::Encode<MlmeQueryTelemetrySupportResponse, D> for (T0,)
4614 {
4615 #[inline]
4616 unsafe fn encode(
4617 self,
4618 encoder: &mut fidl::encoding::Encoder<'_, D>,
4619 offset: usize,
4620 depth: fidl::encoding::Depth,
4621 ) -> fidl::Result<()> {
4622 encoder.debug_check_bounds::<MlmeQueryTelemetrySupportResponse>(offset);
4623 self.0.encode(encoder, offset + 0, depth)?;
4627 Ok(())
4628 }
4629 }
4630
4631 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4632 for MlmeQueryTelemetrySupportResponse
4633 {
4634 #[inline(always)]
4635 fn new_empty() -> Self {
4636 Self { resp: fidl::new_empty!(fidl_fuchsia_wlan_stats__common::TelemetrySupport, D) }
4637 }
4638
4639 #[inline]
4640 unsafe fn decode(
4641 &mut self,
4642 decoder: &mut fidl::encoding::Decoder<'_, D>,
4643 offset: usize,
4644 _depth: fidl::encoding::Depth,
4645 ) -> fidl::Result<()> {
4646 decoder.debug_check_bounds::<Self>(offset);
4647 fidl::decode!(
4649 fidl_fuchsia_wlan_stats__common::TelemetrySupport,
4650 D,
4651 &mut self.resp,
4652 decoder,
4653 offset + 0,
4654 _depth
4655 )?;
4656 Ok(())
4657 }
4658 }
4659
4660 impl fidl::encoding::ValueTypeMarker for MinstrelListResponse {
4661 type Borrowed<'a> = &'a Self;
4662 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4663 value
4664 }
4665 }
4666
4667 unsafe impl fidl::encoding::TypeMarker for MinstrelListResponse {
4668 type Owned = Self;
4669
4670 #[inline(always)]
4671 fn inline_align(_context: fidl::encoding::Context) -> usize {
4672 8
4673 }
4674
4675 #[inline(always)]
4676 fn inline_size(_context: fidl::encoding::Context) -> usize {
4677 16
4678 }
4679 }
4680
4681 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelListResponse, D>
4682 for &MinstrelListResponse
4683 {
4684 #[inline]
4685 unsafe fn encode(
4686 self,
4687 encoder: &mut fidl::encoding::Encoder<'_, D>,
4688 offset: usize,
4689 _depth: fidl::encoding::Depth,
4690 ) -> fidl::Result<()> {
4691 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4692 fidl::encoding::Encode::<MinstrelListResponse, D>::encode(
4694 (
4695 <fidl_fuchsia_wlan_minstrel__common::Peers as fidl::encoding::ValueTypeMarker>::borrow(&self.peers),
4696 ),
4697 encoder, offset, _depth
4698 )
4699 }
4700 }
4701 unsafe impl<
4702 D: fidl::encoding::ResourceDialect,
4703 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_minstrel__common::Peers, D>,
4704 > fidl::encoding::Encode<MinstrelListResponse, D> for (T0,)
4705 {
4706 #[inline]
4707 unsafe fn encode(
4708 self,
4709 encoder: &mut fidl::encoding::Encoder<'_, D>,
4710 offset: usize,
4711 depth: fidl::encoding::Depth,
4712 ) -> fidl::Result<()> {
4713 encoder.debug_check_bounds::<MinstrelListResponse>(offset);
4714 self.0.encode(encoder, offset + 0, depth)?;
4718 Ok(())
4719 }
4720 }
4721
4722 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelListResponse {
4723 #[inline(always)]
4724 fn new_empty() -> Self {
4725 Self { peers: fidl::new_empty!(fidl_fuchsia_wlan_minstrel__common::Peers, D) }
4726 }
4727
4728 #[inline]
4729 unsafe fn decode(
4730 &mut self,
4731 decoder: &mut fidl::encoding::Decoder<'_, D>,
4732 offset: usize,
4733 _depth: fidl::encoding::Depth,
4734 ) -> fidl::Result<()> {
4735 decoder.debug_check_bounds::<Self>(offset);
4736 fidl::decode!(
4738 fidl_fuchsia_wlan_minstrel__common::Peers,
4739 D,
4740 &mut self.peers,
4741 decoder,
4742 offset + 0,
4743 _depth
4744 )?;
4745 Ok(())
4746 }
4747 }
4748
4749 impl fidl::encoding::ValueTypeMarker for MinstrelStatsRequest {
4750 type Borrowed<'a> = &'a Self;
4751 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4752 value
4753 }
4754 }
4755
4756 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsRequest {
4757 type Owned = Self;
4758
4759 #[inline(always)]
4760 fn inline_align(_context: fidl::encoding::Context) -> usize {
4761 1
4762 }
4763
4764 #[inline(always)]
4765 fn inline_size(_context: fidl::encoding::Context) -> usize {
4766 6
4767 }
4768 #[inline(always)]
4769 fn encode_is_copy() -> bool {
4770 true
4771 }
4772
4773 #[inline(always)]
4774 fn decode_is_copy() -> bool {
4775 true
4776 }
4777 }
4778
4779 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsRequest, D>
4780 for &MinstrelStatsRequest
4781 {
4782 #[inline]
4783 unsafe fn encode(
4784 self,
4785 encoder: &mut fidl::encoding::Encoder<'_, D>,
4786 offset: usize,
4787 _depth: fidl::encoding::Depth,
4788 ) -> fidl::Result<()> {
4789 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4790 unsafe {
4791 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
4793 (buf_ptr as *mut MinstrelStatsRequest)
4794 .write_unaligned((self as *const MinstrelStatsRequest).read());
4795 }
4798 Ok(())
4799 }
4800 }
4801 unsafe impl<
4802 D: fidl::encoding::ResourceDialect,
4803 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4804 > fidl::encoding::Encode<MinstrelStatsRequest, D> for (T0,)
4805 {
4806 #[inline]
4807 unsafe fn encode(
4808 self,
4809 encoder: &mut fidl::encoding::Encoder<'_, D>,
4810 offset: usize,
4811 depth: fidl::encoding::Depth,
4812 ) -> fidl::Result<()> {
4813 encoder.debug_check_bounds::<MinstrelStatsRequest>(offset);
4814 self.0.encode(encoder, offset + 0, depth)?;
4818 Ok(())
4819 }
4820 }
4821
4822 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsRequest {
4823 #[inline(always)]
4824 fn new_empty() -> Self {
4825 Self { peer_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
4826 }
4827
4828 #[inline]
4829 unsafe fn decode(
4830 &mut self,
4831 decoder: &mut fidl::encoding::Decoder<'_, D>,
4832 offset: usize,
4833 _depth: fidl::encoding::Depth,
4834 ) -> fidl::Result<()> {
4835 decoder.debug_check_bounds::<Self>(offset);
4836 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4837 unsafe {
4840 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
4841 }
4842 Ok(())
4843 }
4844 }
4845
4846 impl fidl::encoding::ValueTypeMarker for MinstrelStatsResponse {
4847 type Borrowed<'a> = &'a Self;
4848 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4849 value
4850 }
4851 }
4852
4853 unsafe impl fidl::encoding::TypeMarker for MinstrelStatsResponse {
4854 type Owned = Self;
4855
4856 #[inline(always)]
4857 fn inline_align(_context: fidl::encoding::Context) -> usize {
4858 8
4859 }
4860
4861 #[inline(always)]
4862 fn inline_size(_context: fidl::encoding::Context) -> usize {
4863 8
4864 }
4865 }
4866
4867 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MinstrelStatsResponse, D>
4868 for &MinstrelStatsResponse
4869 {
4870 #[inline]
4871 unsafe fn encode(
4872 self,
4873 encoder: &mut fidl::encoding::Encoder<'_, D>,
4874 offset: usize,
4875 _depth: fidl::encoding::Depth,
4876 ) -> fidl::Result<()> {
4877 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4878 fidl::encoding::Encode::<MinstrelStatsResponse, D>::encode(
4880 (
4881 <fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer),
4882 ),
4883 encoder, offset, _depth
4884 )
4885 }
4886 }
4887 unsafe impl<
4888 D: fidl::encoding::ResourceDialect,
4889 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>, D>,
4890 > fidl::encoding::Encode<MinstrelStatsResponse, D> for (T0,)
4891 {
4892 #[inline]
4893 unsafe fn encode(
4894 self,
4895 encoder: &mut fidl::encoding::Encoder<'_, D>,
4896 offset: usize,
4897 depth: fidl::encoding::Depth,
4898 ) -> fidl::Result<()> {
4899 encoder.debug_check_bounds::<MinstrelStatsResponse>(offset);
4900 self.0.encode(encoder, offset + 0, depth)?;
4904 Ok(())
4905 }
4906 }
4907
4908 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MinstrelStatsResponse {
4909 #[inline(always)]
4910 fn new_empty() -> Self {
4911 Self {
4912 peer: fidl::new_empty!(
4913 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4914 D
4915 ),
4916 }
4917 }
4918
4919 #[inline]
4920 unsafe fn decode(
4921 &mut self,
4922 decoder: &mut fidl::encoding::Decoder<'_, D>,
4923 offset: usize,
4924 _depth: fidl::encoding::Depth,
4925 ) -> fidl::Result<()> {
4926 decoder.debug_check_bounds::<Self>(offset);
4927 fidl::decode!(
4929 fidl::encoding::Boxed<fidl_fuchsia_wlan_minstrel__common::Peer>,
4930 D,
4931 &mut self.peer,
4932 decoder,
4933 offset + 0,
4934 _depth
4935 )?;
4936 Ok(())
4937 }
4938 }
4939
4940 impl fidl::encoding::ValueTypeMarker for MlmeAssociateIndRequest {
4941 type Borrowed<'a> = &'a Self;
4942 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4943 value
4944 }
4945 }
4946
4947 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateIndRequest {
4948 type Owned = Self;
4949
4950 #[inline(always)]
4951 fn inline_align(_context: fidl::encoding::Context) -> usize {
4952 8
4953 }
4954
4955 #[inline(always)]
4956 fn inline_size(_context: fidl::encoding::Context) -> usize {
4957 64
4958 }
4959 }
4960
4961 unsafe impl<D: fidl::encoding::ResourceDialect>
4962 fidl::encoding::Encode<MlmeAssociateIndRequest, D> for &MlmeAssociateIndRequest
4963 {
4964 #[inline]
4965 unsafe fn encode(
4966 self,
4967 encoder: &mut fidl::encoding::Encoder<'_, D>,
4968 offset: usize,
4969 _depth: fidl::encoding::Depth,
4970 ) -> fidl::Result<()> {
4971 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
4972 fidl::encoding::Encode::<MlmeAssociateIndRequest, D>::encode(
4974 (<AssociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
4975 encoder,
4976 offset,
4977 _depth,
4978 )
4979 }
4980 }
4981 unsafe impl<
4982 D: fidl::encoding::ResourceDialect,
4983 T0: fidl::encoding::Encode<AssociateIndication, D>,
4984 > fidl::encoding::Encode<MlmeAssociateIndRequest, D> for (T0,)
4985 {
4986 #[inline]
4987 unsafe fn encode(
4988 self,
4989 encoder: &mut fidl::encoding::Encoder<'_, D>,
4990 offset: usize,
4991 depth: fidl::encoding::Depth,
4992 ) -> fidl::Result<()> {
4993 encoder.debug_check_bounds::<MlmeAssociateIndRequest>(offset);
4994 self.0.encode(encoder, offset + 0, depth)?;
4998 Ok(())
4999 }
5000 }
5001
5002 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5003 for MlmeAssociateIndRequest
5004 {
5005 #[inline(always)]
5006 fn new_empty() -> Self {
5007 Self { ind: fidl::new_empty!(AssociateIndication, D) }
5008 }
5009
5010 #[inline]
5011 unsafe fn decode(
5012 &mut self,
5013 decoder: &mut fidl::encoding::Decoder<'_, D>,
5014 offset: usize,
5015 _depth: fidl::encoding::Depth,
5016 ) -> fidl::Result<()> {
5017 decoder.debug_check_bounds::<Self>(offset);
5018 fidl::decode!(AssociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5020 Ok(())
5021 }
5022 }
5023
5024 impl fidl::encoding::ValueTypeMarker for MlmeAssociateRespRequest {
5025 type Borrowed<'a> = &'a Self;
5026 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5027 value
5028 }
5029 }
5030
5031 unsafe impl fidl::encoding::TypeMarker for MlmeAssociateRespRequest {
5032 type Owned = Self;
5033
5034 #[inline(always)]
5035 fn inline_align(_context: fidl::encoding::Context) -> usize {
5036 8
5037 }
5038
5039 #[inline(always)]
5040 fn inline_size(_context: fidl::encoding::Context) -> usize {
5041 32
5042 }
5043 }
5044
5045 unsafe impl<D: fidl::encoding::ResourceDialect>
5046 fidl::encoding::Encode<MlmeAssociateRespRequest, D> for &MlmeAssociateRespRequest
5047 {
5048 #[inline]
5049 unsafe fn encode(
5050 self,
5051 encoder: &mut fidl::encoding::Encoder<'_, D>,
5052 offset: usize,
5053 _depth: fidl::encoding::Depth,
5054 ) -> fidl::Result<()> {
5055 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5056 fidl::encoding::Encode::<MlmeAssociateRespRequest, D>::encode(
5058 (<AssociateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5059 encoder,
5060 offset,
5061 _depth,
5062 )
5063 }
5064 }
5065 unsafe impl<
5066 D: fidl::encoding::ResourceDialect,
5067 T0: fidl::encoding::Encode<AssociateResponse, D>,
5068 > fidl::encoding::Encode<MlmeAssociateRespRequest, D> for (T0,)
5069 {
5070 #[inline]
5071 unsafe fn encode(
5072 self,
5073 encoder: &mut fidl::encoding::Encoder<'_, D>,
5074 offset: usize,
5075 depth: fidl::encoding::Depth,
5076 ) -> fidl::Result<()> {
5077 encoder.debug_check_bounds::<MlmeAssociateRespRequest>(offset);
5078 self.0.encode(encoder, offset + 0, depth)?;
5082 Ok(())
5083 }
5084 }
5085
5086 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5087 for MlmeAssociateRespRequest
5088 {
5089 #[inline(always)]
5090 fn new_empty() -> Self {
5091 Self { resp: fidl::new_empty!(AssociateResponse, D) }
5092 }
5093
5094 #[inline]
5095 unsafe fn decode(
5096 &mut self,
5097 decoder: &mut fidl::encoding::Decoder<'_, D>,
5098 offset: usize,
5099 _depth: fidl::encoding::Depth,
5100 ) -> fidl::Result<()> {
5101 decoder.debug_check_bounds::<Self>(offset);
5102 fidl::decode!(AssociateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5104 Ok(())
5105 }
5106 }
5107
5108 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateIndRequest {
5109 type Borrowed<'a> = &'a Self;
5110 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5111 value
5112 }
5113 }
5114
5115 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateIndRequest {
5116 type Owned = Self;
5117
5118 #[inline(always)]
5119 fn inline_align(_context: fidl::encoding::Context) -> usize {
5120 4
5121 }
5122
5123 #[inline(always)]
5124 fn inline_size(_context: fidl::encoding::Context) -> usize {
5125 12
5126 }
5127 }
5128
5129 unsafe impl<D: fidl::encoding::ResourceDialect>
5130 fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for &MlmeAuthenticateIndRequest
5131 {
5132 #[inline]
5133 unsafe fn encode(
5134 self,
5135 encoder: &mut fidl::encoding::Encoder<'_, D>,
5136 offset: usize,
5137 _depth: fidl::encoding::Depth,
5138 ) -> fidl::Result<()> {
5139 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5140 fidl::encoding::Encode::<MlmeAuthenticateIndRequest, D>::encode(
5142 (<AuthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5143 encoder,
5144 offset,
5145 _depth,
5146 )
5147 }
5148 }
5149 unsafe impl<
5150 D: fidl::encoding::ResourceDialect,
5151 T0: fidl::encoding::Encode<AuthenticateIndication, D>,
5152 > fidl::encoding::Encode<MlmeAuthenticateIndRequest, D> for (T0,)
5153 {
5154 #[inline]
5155 unsafe fn encode(
5156 self,
5157 encoder: &mut fidl::encoding::Encoder<'_, D>,
5158 offset: usize,
5159 depth: fidl::encoding::Depth,
5160 ) -> fidl::Result<()> {
5161 encoder.debug_check_bounds::<MlmeAuthenticateIndRequest>(offset);
5162 self.0.encode(encoder, offset + 0, depth)?;
5166 Ok(())
5167 }
5168 }
5169
5170 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5171 for MlmeAuthenticateIndRequest
5172 {
5173 #[inline(always)]
5174 fn new_empty() -> Self {
5175 Self { ind: fidl::new_empty!(AuthenticateIndication, D) }
5176 }
5177
5178 #[inline]
5179 unsafe fn decode(
5180 &mut self,
5181 decoder: &mut fidl::encoding::Decoder<'_, D>,
5182 offset: usize,
5183 _depth: fidl::encoding::Depth,
5184 ) -> fidl::Result<()> {
5185 decoder.debug_check_bounds::<Self>(offset);
5186 fidl::decode!(AuthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5188 Ok(())
5189 }
5190 }
5191
5192 impl fidl::encoding::ValueTypeMarker for MlmeAuthenticateRespRequest {
5193 type Borrowed<'a> = &'a Self;
5194 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5195 value
5196 }
5197 }
5198
5199 unsafe impl fidl::encoding::TypeMarker for MlmeAuthenticateRespRequest {
5200 type Owned = Self;
5201
5202 #[inline(always)]
5203 fn inline_align(_context: fidl::encoding::Context) -> usize {
5204 4
5205 }
5206
5207 #[inline(always)]
5208 fn inline_size(_context: fidl::encoding::Context) -> usize {
5209 12
5210 }
5211 }
5212
5213 unsafe impl<D: fidl::encoding::ResourceDialect>
5214 fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for &MlmeAuthenticateRespRequest
5215 {
5216 #[inline]
5217 unsafe fn encode(
5218 self,
5219 encoder: &mut fidl::encoding::Encoder<'_, D>,
5220 offset: usize,
5221 _depth: fidl::encoding::Depth,
5222 ) -> fidl::Result<()> {
5223 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5224 fidl::encoding::Encode::<MlmeAuthenticateRespRequest, D>::encode(
5226 (<AuthenticateResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5227 encoder,
5228 offset,
5229 _depth,
5230 )
5231 }
5232 }
5233 unsafe impl<
5234 D: fidl::encoding::ResourceDialect,
5235 T0: fidl::encoding::Encode<AuthenticateResponse, D>,
5236 > fidl::encoding::Encode<MlmeAuthenticateRespRequest, D> for (T0,)
5237 {
5238 #[inline]
5239 unsafe fn encode(
5240 self,
5241 encoder: &mut fidl::encoding::Encoder<'_, D>,
5242 offset: usize,
5243 depth: fidl::encoding::Depth,
5244 ) -> fidl::Result<()> {
5245 encoder.debug_check_bounds::<MlmeAuthenticateRespRequest>(offset);
5246 self.0.encode(encoder, offset + 0, depth)?;
5250 Ok(())
5251 }
5252 }
5253
5254 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5255 for MlmeAuthenticateRespRequest
5256 {
5257 #[inline(always)]
5258 fn new_empty() -> Self {
5259 Self { resp: fidl::new_empty!(AuthenticateResponse, D) }
5260 }
5261
5262 #[inline]
5263 unsafe fn decode(
5264 &mut self,
5265 decoder: &mut fidl::encoding::Decoder<'_, D>,
5266 offset: usize,
5267 _depth: fidl::encoding::Depth,
5268 ) -> fidl::Result<()> {
5269 decoder.debug_check_bounds::<Self>(offset);
5270 fidl::decode!(AuthenticateResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
5272 Ok(())
5273 }
5274 }
5275
5276 impl fidl::encoding::ValueTypeMarker for MlmeConnectConfRequest {
5277 type Borrowed<'a> = &'a Self;
5278 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5279 value
5280 }
5281 }
5282
5283 unsafe impl fidl::encoding::TypeMarker for MlmeConnectConfRequest {
5284 type Owned = Self;
5285
5286 #[inline(always)]
5287 fn inline_align(_context: fidl::encoding::Context) -> usize {
5288 8
5289 }
5290
5291 #[inline(always)]
5292 fn inline_size(_context: fidl::encoding::Context) -> usize {
5293 32
5294 }
5295 }
5296
5297 unsafe impl<D: fidl::encoding::ResourceDialect>
5298 fidl::encoding::Encode<MlmeConnectConfRequest, D> for &MlmeConnectConfRequest
5299 {
5300 #[inline]
5301 unsafe fn encode(
5302 self,
5303 encoder: &mut fidl::encoding::Encoder<'_, D>,
5304 offset: usize,
5305 _depth: fidl::encoding::Depth,
5306 ) -> fidl::Result<()> {
5307 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5308 fidl::encoding::Encode::<MlmeConnectConfRequest, D>::encode(
5310 (<ConnectConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
5311 encoder,
5312 offset,
5313 _depth,
5314 )
5315 }
5316 }
5317 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectConfirm, D>>
5318 fidl::encoding::Encode<MlmeConnectConfRequest, D> for (T0,)
5319 {
5320 #[inline]
5321 unsafe fn encode(
5322 self,
5323 encoder: &mut fidl::encoding::Encoder<'_, D>,
5324 offset: usize,
5325 depth: fidl::encoding::Depth,
5326 ) -> fidl::Result<()> {
5327 encoder.debug_check_bounds::<MlmeConnectConfRequest>(offset);
5328 self.0.encode(encoder, offset + 0, depth)?;
5332 Ok(())
5333 }
5334 }
5335
5336 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5337 for MlmeConnectConfRequest
5338 {
5339 #[inline(always)]
5340 fn new_empty() -> Self {
5341 Self { resp: fidl::new_empty!(ConnectConfirm, D) }
5342 }
5343
5344 #[inline]
5345 unsafe fn decode(
5346 &mut self,
5347 decoder: &mut fidl::encoding::Decoder<'_, D>,
5348 offset: usize,
5349 _depth: fidl::encoding::Depth,
5350 ) -> fidl::Result<()> {
5351 decoder.debug_check_bounds::<Self>(offset);
5352 fidl::decode!(ConnectConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
5354 Ok(())
5355 }
5356 }
5357
5358 impl fidl::encoding::ValueTypeMarker for MlmeConnectReqRequest {
5359 type Borrowed<'a> = &'a Self;
5360 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5361 value
5362 }
5363 }
5364
5365 unsafe impl fidl::encoding::TypeMarker for MlmeConnectReqRequest {
5366 type Owned = Self;
5367
5368 #[inline(always)]
5369 fn inline_align(_context: fidl::encoding::Context) -> usize {
5370 8
5371 }
5372
5373 #[inline(always)]
5374 fn inline_size(_context: fidl::encoding::Context) -> usize {
5375 96
5376 }
5377 }
5378
5379 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeConnectReqRequest, D>
5380 for &MlmeConnectReqRequest
5381 {
5382 #[inline]
5383 unsafe fn encode(
5384 self,
5385 encoder: &mut fidl::encoding::Encoder<'_, D>,
5386 offset: usize,
5387 _depth: fidl::encoding::Depth,
5388 ) -> fidl::Result<()> {
5389 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5390 fidl::encoding::Encode::<MlmeConnectReqRequest, D>::encode(
5392 (<ConnectRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5393 encoder,
5394 offset,
5395 _depth,
5396 )
5397 }
5398 }
5399 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConnectRequest, D>>
5400 fidl::encoding::Encode<MlmeConnectReqRequest, D> for (T0,)
5401 {
5402 #[inline]
5403 unsafe fn encode(
5404 self,
5405 encoder: &mut fidl::encoding::Encoder<'_, D>,
5406 offset: usize,
5407 depth: fidl::encoding::Depth,
5408 ) -> fidl::Result<()> {
5409 encoder.debug_check_bounds::<MlmeConnectReqRequest>(offset);
5410 self.0.encode(encoder, offset + 0, depth)?;
5414 Ok(())
5415 }
5416 }
5417
5418 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeConnectReqRequest {
5419 #[inline(always)]
5420 fn new_empty() -> Self {
5421 Self { req: fidl::new_empty!(ConnectRequest, D) }
5422 }
5423
5424 #[inline]
5425 unsafe fn decode(
5426 &mut self,
5427 decoder: &mut fidl::encoding::Decoder<'_, D>,
5428 offset: usize,
5429 _depth: fidl::encoding::Depth,
5430 ) -> fidl::Result<()> {
5431 decoder.debug_check_bounds::<Self>(offset);
5432 fidl::decode!(ConnectRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5434 Ok(())
5435 }
5436 }
5437
5438 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateConfRequest {
5439 type Borrowed<'a> = &'a Self;
5440 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5441 value
5442 }
5443 }
5444
5445 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateConfRequest {
5446 type Owned = Self;
5447
5448 #[inline(always)]
5449 fn inline_align(_context: fidl::encoding::Context) -> usize {
5450 1
5451 }
5452
5453 #[inline(always)]
5454 fn inline_size(_context: fidl::encoding::Context) -> usize {
5455 6
5456 }
5457 #[inline(always)]
5458 fn encode_is_copy() -> bool {
5459 true
5460 }
5461
5462 #[inline(always)]
5463 fn decode_is_copy() -> bool {
5464 true
5465 }
5466 }
5467
5468 unsafe impl<D: fidl::encoding::ResourceDialect>
5469 fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D>
5470 for &MlmeDeauthenticateConfRequest
5471 {
5472 #[inline]
5473 unsafe fn encode(
5474 self,
5475 encoder: &mut fidl::encoding::Encoder<'_, D>,
5476 offset: usize,
5477 _depth: fidl::encoding::Depth,
5478 ) -> fidl::Result<()> {
5479 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5480 unsafe {
5481 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5483 (buf_ptr as *mut MlmeDeauthenticateConfRequest)
5484 .write_unaligned((self as *const MlmeDeauthenticateConfRequest).read());
5485 }
5488 Ok(())
5489 }
5490 }
5491 unsafe impl<
5492 D: fidl::encoding::ResourceDialect,
5493 T0: fidl::encoding::Encode<DeauthenticateConfirm, D>,
5494 > fidl::encoding::Encode<MlmeDeauthenticateConfRequest, D> for (T0,)
5495 {
5496 #[inline]
5497 unsafe fn encode(
5498 self,
5499 encoder: &mut fidl::encoding::Encoder<'_, D>,
5500 offset: usize,
5501 depth: fidl::encoding::Depth,
5502 ) -> fidl::Result<()> {
5503 encoder.debug_check_bounds::<MlmeDeauthenticateConfRequest>(offset);
5504 self.0.encode(encoder, offset + 0, depth)?;
5508 Ok(())
5509 }
5510 }
5511
5512 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5513 for MlmeDeauthenticateConfRequest
5514 {
5515 #[inline(always)]
5516 fn new_empty() -> Self {
5517 Self { resp: fidl::new_empty!(DeauthenticateConfirm, D) }
5518 }
5519
5520 #[inline]
5521 unsafe fn decode(
5522 &mut self,
5523 decoder: &mut fidl::encoding::Decoder<'_, D>,
5524 offset: usize,
5525 _depth: fidl::encoding::Depth,
5526 ) -> fidl::Result<()> {
5527 decoder.debug_check_bounds::<Self>(offset);
5528 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5529 unsafe {
5532 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
5533 }
5534 Ok(())
5535 }
5536 }
5537
5538 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateIndRequest {
5539 type Borrowed<'a> = &'a Self;
5540 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5541 value
5542 }
5543 }
5544
5545 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateIndRequest {
5546 type Owned = Self;
5547
5548 #[inline(always)]
5549 fn inline_align(_context: fidl::encoding::Context) -> usize {
5550 2
5551 }
5552
5553 #[inline(always)]
5554 fn inline_size(_context: fidl::encoding::Context) -> usize {
5555 10
5556 }
5557 }
5558
5559 unsafe impl<D: fidl::encoding::ResourceDialect>
5560 fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for &MlmeDeauthenticateIndRequest
5561 {
5562 #[inline]
5563 unsafe fn encode(
5564 self,
5565 encoder: &mut fidl::encoding::Encoder<'_, D>,
5566 offset: usize,
5567 _depth: fidl::encoding::Depth,
5568 ) -> fidl::Result<()> {
5569 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5570 fidl::encoding::Encode::<MlmeDeauthenticateIndRequest, D>::encode(
5572 (<DeauthenticateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5573 encoder,
5574 offset,
5575 _depth,
5576 )
5577 }
5578 }
5579 unsafe impl<
5580 D: fidl::encoding::ResourceDialect,
5581 T0: fidl::encoding::Encode<DeauthenticateIndication, D>,
5582 > fidl::encoding::Encode<MlmeDeauthenticateIndRequest, D> for (T0,)
5583 {
5584 #[inline]
5585 unsafe fn encode(
5586 self,
5587 encoder: &mut fidl::encoding::Encoder<'_, D>,
5588 offset: usize,
5589 depth: fidl::encoding::Depth,
5590 ) -> fidl::Result<()> {
5591 encoder.debug_check_bounds::<MlmeDeauthenticateIndRequest>(offset);
5592 self.0.encode(encoder, offset + 0, depth)?;
5596 Ok(())
5597 }
5598 }
5599
5600 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5601 for MlmeDeauthenticateIndRequest
5602 {
5603 #[inline(always)]
5604 fn new_empty() -> Self {
5605 Self { ind: fidl::new_empty!(DeauthenticateIndication, D) }
5606 }
5607
5608 #[inline]
5609 unsafe fn decode(
5610 &mut self,
5611 decoder: &mut fidl::encoding::Decoder<'_, D>,
5612 offset: usize,
5613 _depth: fidl::encoding::Depth,
5614 ) -> fidl::Result<()> {
5615 decoder.debug_check_bounds::<Self>(offset);
5616 fidl::decode!(DeauthenticateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5618 Ok(())
5619 }
5620 }
5621
5622 impl fidl::encoding::ValueTypeMarker for MlmeDeauthenticateReqRequest {
5623 type Borrowed<'a> = &'a Self;
5624 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5625 value
5626 }
5627 }
5628
5629 unsafe impl fidl::encoding::TypeMarker for MlmeDeauthenticateReqRequest {
5630 type Owned = Self;
5631
5632 #[inline(always)]
5633 fn inline_align(_context: fidl::encoding::Context) -> usize {
5634 2
5635 }
5636
5637 #[inline(always)]
5638 fn inline_size(_context: fidl::encoding::Context) -> usize {
5639 8
5640 }
5641 }
5642
5643 unsafe impl<D: fidl::encoding::ResourceDialect>
5644 fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for &MlmeDeauthenticateReqRequest
5645 {
5646 #[inline]
5647 unsafe fn encode(
5648 self,
5649 encoder: &mut fidl::encoding::Encoder<'_, D>,
5650 offset: usize,
5651 _depth: fidl::encoding::Depth,
5652 ) -> fidl::Result<()> {
5653 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5654 fidl::encoding::Encode::<MlmeDeauthenticateReqRequest, D>::encode(
5656 (<DeauthenticateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5657 encoder,
5658 offset,
5659 _depth,
5660 )
5661 }
5662 }
5663 unsafe impl<
5664 D: fidl::encoding::ResourceDialect,
5665 T0: fidl::encoding::Encode<DeauthenticateRequest, D>,
5666 > fidl::encoding::Encode<MlmeDeauthenticateReqRequest, D> for (T0,)
5667 {
5668 #[inline]
5669 unsafe fn encode(
5670 self,
5671 encoder: &mut fidl::encoding::Encoder<'_, D>,
5672 offset: usize,
5673 depth: fidl::encoding::Depth,
5674 ) -> fidl::Result<()> {
5675 encoder.debug_check_bounds::<MlmeDeauthenticateReqRequest>(offset);
5676 self.0.encode(encoder, offset + 0, depth)?;
5680 Ok(())
5681 }
5682 }
5683
5684 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5685 for MlmeDeauthenticateReqRequest
5686 {
5687 #[inline(always)]
5688 fn new_empty() -> Self {
5689 Self { req: fidl::new_empty!(DeauthenticateRequest, D) }
5690 }
5691
5692 #[inline]
5693 unsafe fn decode(
5694 &mut self,
5695 decoder: &mut fidl::encoding::Decoder<'_, D>,
5696 offset: usize,
5697 _depth: fidl::encoding::Depth,
5698 ) -> fidl::Result<()> {
5699 decoder.debug_check_bounds::<Self>(offset);
5700 fidl::decode!(DeauthenticateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5702 Ok(())
5703 }
5704 }
5705
5706 impl fidl::encoding::ValueTypeMarker for MlmeDeleteKeysReqRequest {
5707 type Borrowed<'a> = &'a Self;
5708 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5709 value
5710 }
5711 }
5712
5713 unsafe impl fidl::encoding::TypeMarker for MlmeDeleteKeysReqRequest {
5714 type Owned = Self;
5715
5716 #[inline(always)]
5717 fn inline_align(_context: fidl::encoding::Context) -> usize {
5718 8
5719 }
5720
5721 #[inline(always)]
5722 fn inline_size(_context: fidl::encoding::Context) -> usize {
5723 16
5724 }
5725 }
5726
5727 unsafe impl<D: fidl::encoding::ResourceDialect>
5728 fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for &MlmeDeleteKeysReqRequest
5729 {
5730 #[inline]
5731 unsafe fn encode(
5732 self,
5733 encoder: &mut fidl::encoding::Encoder<'_, D>,
5734 offset: usize,
5735 _depth: fidl::encoding::Depth,
5736 ) -> fidl::Result<()> {
5737 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5738 fidl::encoding::Encode::<MlmeDeleteKeysReqRequest, D>::encode(
5740 (<DeleteKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
5741 encoder,
5742 offset,
5743 _depth,
5744 )
5745 }
5746 }
5747 unsafe impl<
5748 D: fidl::encoding::ResourceDialect,
5749 T0: fidl::encoding::Encode<DeleteKeysRequest, D>,
5750 > fidl::encoding::Encode<MlmeDeleteKeysReqRequest, D> for (T0,)
5751 {
5752 #[inline]
5753 unsafe fn encode(
5754 self,
5755 encoder: &mut fidl::encoding::Encoder<'_, D>,
5756 offset: usize,
5757 depth: fidl::encoding::Depth,
5758 ) -> fidl::Result<()> {
5759 encoder.debug_check_bounds::<MlmeDeleteKeysReqRequest>(offset);
5760 self.0.encode(encoder, offset + 0, depth)?;
5764 Ok(())
5765 }
5766 }
5767
5768 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5769 for MlmeDeleteKeysReqRequest
5770 {
5771 #[inline(always)]
5772 fn new_empty() -> Self {
5773 Self { req: fidl::new_empty!(DeleteKeysRequest, D) }
5774 }
5775
5776 #[inline]
5777 unsafe fn decode(
5778 &mut self,
5779 decoder: &mut fidl::encoding::Decoder<'_, D>,
5780 offset: usize,
5781 _depth: fidl::encoding::Depth,
5782 ) -> fidl::Result<()> {
5783 decoder.debug_check_bounds::<Self>(offset);
5784 fidl::decode!(DeleteKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
5786 Ok(())
5787 }
5788 }
5789
5790 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateConfRequest {
5791 type Borrowed<'a> = &'a Self;
5792 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5793 value
5794 }
5795 }
5796
5797 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateConfRequest {
5798 type Owned = Self;
5799
5800 #[inline(always)]
5801 fn inline_align(_context: fidl::encoding::Context) -> usize {
5802 4
5803 }
5804
5805 #[inline(always)]
5806 fn inline_size(_context: fidl::encoding::Context) -> usize {
5807 4
5808 }
5809 #[inline(always)]
5810 fn encode_is_copy() -> bool {
5811 true
5812 }
5813
5814 #[inline(always)]
5815 fn decode_is_copy() -> bool {
5816 true
5817 }
5818 }
5819
5820 unsafe impl<D: fidl::encoding::ResourceDialect>
5821 fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for &MlmeDisassociateConfRequest
5822 {
5823 #[inline]
5824 unsafe fn encode(
5825 self,
5826 encoder: &mut fidl::encoding::Encoder<'_, D>,
5827 offset: usize,
5828 _depth: fidl::encoding::Depth,
5829 ) -> fidl::Result<()> {
5830 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5831 unsafe {
5832 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
5834 (buf_ptr as *mut MlmeDisassociateConfRequest)
5835 .write_unaligned((self as *const MlmeDisassociateConfRequest).read());
5836 }
5839 Ok(())
5840 }
5841 }
5842 unsafe impl<
5843 D: fidl::encoding::ResourceDialect,
5844 T0: fidl::encoding::Encode<DisassociateConfirm, D>,
5845 > fidl::encoding::Encode<MlmeDisassociateConfRequest, D> for (T0,)
5846 {
5847 #[inline]
5848 unsafe fn encode(
5849 self,
5850 encoder: &mut fidl::encoding::Encoder<'_, D>,
5851 offset: usize,
5852 depth: fidl::encoding::Depth,
5853 ) -> fidl::Result<()> {
5854 encoder.debug_check_bounds::<MlmeDisassociateConfRequest>(offset);
5855 self.0.encode(encoder, offset + 0, depth)?;
5859 Ok(())
5860 }
5861 }
5862
5863 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5864 for MlmeDisassociateConfRequest
5865 {
5866 #[inline(always)]
5867 fn new_empty() -> Self {
5868 Self { resp: fidl::new_empty!(DisassociateConfirm, D) }
5869 }
5870
5871 #[inline]
5872 unsafe fn decode(
5873 &mut self,
5874 decoder: &mut fidl::encoding::Decoder<'_, D>,
5875 offset: usize,
5876 _depth: fidl::encoding::Depth,
5877 ) -> fidl::Result<()> {
5878 decoder.debug_check_bounds::<Self>(offset);
5879 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
5880 unsafe {
5883 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
5884 }
5885 Ok(())
5886 }
5887 }
5888
5889 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateIndRequest {
5890 type Borrowed<'a> = &'a Self;
5891 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5892 value
5893 }
5894 }
5895
5896 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateIndRequest {
5897 type Owned = Self;
5898
5899 #[inline(always)]
5900 fn inline_align(_context: fidl::encoding::Context) -> usize {
5901 2
5902 }
5903
5904 #[inline(always)]
5905 fn inline_size(_context: fidl::encoding::Context) -> usize {
5906 10
5907 }
5908 }
5909
5910 unsafe impl<D: fidl::encoding::ResourceDialect>
5911 fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for &MlmeDisassociateIndRequest
5912 {
5913 #[inline]
5914 unsafe fn encode(
5915 self,
5916 encoder: &mut fidl::encoding::Encoder<'_, D>,
5917 offset: usize,
5918 _depth: fidl::encoding::Depth,
5919 ) -> fidl::Result<()> {
5920 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5921 fidl::encoding::Encode::<MlmeDisassociateIndRequest, D>::encode(
5923 (<DisassociateIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
5924 encoder,
5925 offset,
5926 _depth,
5927 )
5928 }
5929 }
5930 unsafe impl<
5931 D: fidl::encoding::ResourceDialect,
5932 T0: fidl::encoding::Encode<DisassociateIndication, D>,
5933 > fidl::encoding::Encode<MlmeDisassociateIndRequest, D> for (T0,)
5934 {
5935 #[inline]
5936 unsafe fn encode(
5937 self,
5938 encoder: &mut fidl::encoding::Encoder<'_, D>,
5939 offset: usize,
5940 depth: fidl::encoding::Depth,
5941 ) -> fidl::Result<()> {
5942 encoder.debug_check_bounds::<MlmeDisassociateIndRequest>(offset);
5943 self.0.encode(encoder, offset + 0, depth)?;
5947 Ok(())
5948 }
5949 }
5950
5951 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5952 for MlmeDisassociateIndRequest
5953 {
5954 #[inline(always)]
5955 fn new_empty() -> Self {
5956 Self { ind: fidl::new_empty!(DisassociateIndication, D) }
5957 }
5958
5959 #[inline]
5960 unsafe fn decode(
5961 &mut self,
5962 decoder: &mut fidl::encoding::Decoder<'_, D>,
5963 offset: usize,
5964 _depth: fidl::encoding::Depth,
5965 ) -> fidl::Result<()> {
5966 decoder.debug_check_bounds::<Self>(offset);
5967 fidl::decode!(DisassociateIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
5969 Ok(())
5970 }
5971 }
5972
5973 impl fidl::encoding::ValueTypeMarker for MlmeDisassociateReqRequest {
5974 type Borrowed<'a> = &'a Self;
5975 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5976 value
5977 }
5978 }
5979
5980 unsafe impl fidl::encoding::TypeMarker for MlmeDisassociateReqRequest {
5981 type Owned = Self;
5982
5983 #[inline(always)]
5984 fn inline_align(_context: fidl::encoding::Context) -> usize {
5985 2
5986 }
5987
5988 #[inline(always)]
5989 fn inline_size(_context: fidl::encoding::Context) -> usize {
5990 8
5991 }
5992 }
5993
5994 unsafe impl<D: fidl::encoding::ResourceDialect>
5995 fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for &MlmeDisassociateReqRequest
5996 {
5997 #[inline]
5998 unsafe fn encode(
5999 self,
6000 encoder: &mut fidl::encoding::Encoder<'_, D>,
6001 offset: usize,
6002 _depth: fidl::encoding::Depth,
6003 ) -> fidl::Result<()> {
6004 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6005 fidl::encoding::Encode::<MlmeDisassociateReqRequest, D>::encode(
6007 (<DisassociateRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6008 encoder,
6009 offset,
6010 _depth,
6011 )
6012 }
6013 }
6014 unsafe impl<
6015 D: fidl::encoding::ResourceDialect,
6016 T0: fidl::encoding::Encode<DisassociateRequest, D>,
6017 > fidl::encoding::Encode<MlmeDisassociateReqRequest, D> for (T0,)
6018 {
6019 #[inline]
6020 unsafe fn encode(
6021 self,
6022 encoder: &mut fidl::encoding::Encoder<'_, D>,
6023 offset: usize,
6024 depth: fidl::encoding::Depth,
6025 ) -> fidl::Result<()> {
6026 encoder.debug_check_bounds::<MlmeDisassociateReqRequest>(offset);
6027 self.0.encode(encoder, offset + 0, depth)?;
6031 Ok(())
6032 }
6033 }
6034
6035 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6036 for MlmeDisassociateReqRequest
6037 {
6038 #[inline(always)]
6039 fn new_empty() -> Self {
6040 Self { req: fidl::new_empty!(DisassociateRequest, D) }
6041 }
6042
6043 #[inline]
6044 unsafe fn decode(
6045 &mut self,
6046 decoder: &mut fidl::encoding::Decoder<'_, D>,
6047 offset: usize,
6048 _depth: fidl::encoding::Depth,
6049 ) -> fidl::Result<()> {
6050 decoder.debug_check_bounds::<Self>(offset);
6051 fidl::decode!(DisassociateRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6053 Ok(())
6054 }
6055 }
6056
6057 impl fidl::encoding::ValueTypeMarker for MlmeEapolConfRequest {
6058 type Borrowed<'a> = &'a Self;
6059 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6060 value
6061 }
6062 }
6063
6064 unsafe impl fidl::encoding::TypeMarker for MlmeEapolConfRequest {
6065 type Owned = Self;
6066
6067 #[inline(always)]
6068 fn inline_align(_context: fidl::encoding::Context) -> usize {
6069 4
6070 }
6071
6072 #[inline(always)]
6073 fn inline_size(_context: fidl::encoding::Context) -> usize {
6074 12
6075 }
6076 }
6077
6078 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolConfRequest, D>
6079 for &MlmeEapolConfRequest
6080 {
6081 #[inline]
6082 unsafe fn encode(
6083 self,
6084 encoder: &mut fidl::encoding::Encoder<'_, D>,
6085 offset: usize,
6086 _depth: fidl::encoding::Depth,
6087 ) -> fidl::Result<()> {
6088 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6089 fidl::encoding::Encode::<MlmeEapolConfRequest, D>::encode(
6091 (<EapolConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6092 encoder,
6093 offset,
6094 _depth,
6095 )
6096 }
6097 }
6098 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolConfirm, D>>
6099 fidl::encoding::Encode<MlmeEapolConfRequest, D> for (T0,)
6100 {
6101 #[inline]
6102 unsafe fn encode(
6103 self,
6104 encoder: &mut fidl::encoding::Encoder<'_, D>,
6105 offset: usize,
6106 depth: fidl::encoding::Depth,
6107 ) -> fidl::Result<()> {
6108 encoder.debug_check_bounds::<MlmeEapolConfRequest>(offset);
6109 self.0.encode(encoder, offset + 0, depth)?;
6113 Ok(())
6114 }
6115 }
6116
6117 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolConfRequest {
6118 #[inline(always)]
6119 fn new_empty() -> Self {
6120 Self { resp: fidl::new_empty!(EapolConfirm, D) }
6121 }
6122
6123 #[inline]
6124 unsafe fn decode(
6125 &mut self,
6126 decoder: &mut fidl::encoding::Decoder<'_, D>,
6127 offset: usize,
6128 _depth: fidl::encoding::Depth,
6129 ) -> fidl::Result<()> {
6130 decoder.debug_check_bounds::<Self>(offset);
6131 fidl::decode!(EapolConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
6133 Ok(())
6134 }
6135 }
6136
6137 impl fidl::encoding::ValueTypeMarker for MlmeEapolIndRequest {
6138 type Borrowed<'a> = &'a Self;
6139 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6140 value
6141 }
6142 }
6143
6144 unsafe impl fidl::encoding::TypeMarker for MlmeEapolIndRequest {
6145 type Owned = Self;
6146
6147 #[inline(always)]
6148 fn inline_align(_context: fidl::encoding::Context) -> usize {
6149 8
6150 }
6151
6152 #[inline(always)]
6153 fn inline_size(_context: fidl::encoding::Context) -> usize {
6154 32
6155 }
6156 }
6157
6158 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolIndRequest, D>
6159 for &MlmeEapolIndRequest
6160 {
6161 #[inline]
6162 unsafe fn encode(
6163 self,
6164 encoder: &mut fidl::encoding::Encoder<'_, D>,
6165 offset: usize,
6166 _depth: fidl::encoding::Depth,
6167 ) -> fidl::Result<()> {
6168 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6169 fidl::encoding::Encode::<MlmeEapolIndRequest, D>::encode(
6171 (<EapolIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
6172 encoder,
6173 offset,
6174 _depth,
6175 )
6176 }
6177 }
6178 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolIndication, D>>
6179 fidl::encoding::Encode<MlmeEapolIndRequest, D> for (T0,)
6180 {
6181 #[inline]
6182 unsafe fn encode(
6183 self,
6184 encoder: &mut fidl::encoding::Encoder<'_, D>,
6185 offset: usize,
6186 depth: fidl::encoding::Depth,
6187 ) -> fidl::Result<()> {
6188 encoder.debug_check_bounds::<MlmeEapolIndRequest>(offset);
6189 self.0.encode(encoder, offset + 0, depth)?;
6193 Ok(())
6194 }
6195 }
6196
6197 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolIndRequest {
6198 #[inline(always)]
6199 fn new_empty() -> Self {
6200 Self { ind: fidl::new_empty!(EapolIndication, D) }
6201 }
6202
6203 #[inline]
6204 unsafe fn decode(
6205 &mut self,
6206 decoder: &mut fidl::encoding::Decoder<'_, D>,
6207 offset: usize,
6208 _depth: fidl::encoding::Depth,
6209 ) -> fidl::Result<()> {
6210 decoder.debug_check_bounds::<Self>(offset);
6211 fidl::decode!(EapolIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
6213 Ok(())
6214 }
6215 }
6216
6217 impl fidl::encoding::ValueTypeMarker for MlmeEapolReqRequest {
6218 type Borrowed<'a> = &'a Self;
6219 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6220 value
6221 }
6222 }
6223
6224 unsafe impl fidl::encoding::TypeMarker for MlmeEapolReqRequest {
6225 type Owned = Self;
6226
6227 #[inline(always)]
6228 fn inline_align(_context: fidl::encoding::Context) -> usize {
6229 8
6230 }
6231
6232 #[inline(always)]
6233 fn inline_size(_context: fidl::encoding::Context) -> usize {
6234 32
6235 }
6236 }
6237
6238 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeEapolReqRequest, D>
6239 for &MlmeEapolReqRequest
6240 {
6241 #[inline]
6242 unsafe fn encode(
6243 self,
6244 encoder: &mut fidl::encoding::Encoder<'_, D>,
6245 offset: usize,
6246 _depth: fidl::encoding::Depth,
6247 ) -> fidl::Result<()> {
6248 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6249 fidl::encoding::Encode::<MlmeEapolReqRequest, D>::encode(
6251 (<EapolRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
6252 encoder,
6253 offset,
6254 _depth,
6255 )
6256 }
6257 }
6258 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<EapolRequest, D>>
6259 fidl::encoding::Encode<MlmeEapolReqRequest, D> for (T0,)
6260 {
6261 #[inline]
6262 unsafe fn encode(
6263 self,
6264 encoder: &mut fidl::encoding::Encoder<'_, D>,
6265 offset: usize,
6266 depth: fidl::encoding::Depth,
6267 ) -> fidl::Result<()> {
6268 encoder.debug_check_bounds::<MlmeEapolReqRequest>(offset);
6269 self.0.encode(encoder, offset + 0, depth)?;
6273 Ok(())
6274 }
6275 }
6276
6277 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeEapolReqRequest {
6278 #[inline(always)]
6279 fn new_empty() -> Self {
6280 Self { req: fidl::new_empty!(EapolRequest, D) }
6281 }
6282
6283 #[inline]
6284 unsafe fn decode(
6285 &mut self,
6286 decoder: &mut fidl::encoding::Decoder<'_, D>,
6287 offset: usize,
6288 _depth: fidl::encoding::Depth,
6289 ) -> fidl::Result<()> {
6290 decoder.debug_check_bounds::<Self>(offset);
6291 fidl::decode!(EapolRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
6293 Ok(())
6294 }
6295 }
6296
6297 impl fidl::encoding::ValueTypeMarker for MlmeFinalizeAssociationReqRequest {
6298 type Borrowed<'a> = &'a Self;
6299 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6300 value
6301 }
6302 }
6303
6304 unsafe impl fidl::encoding::TypeMarker for MlmeFinalizeAssociationReqRequest {
6305 type Owned = Self;
6306
6307 #[inline(always)]
6308 fn inline_align(_context: fidl::encoding::Context) -> usize {
6309 8
6310 }
6311
6312 #[inline(always)]
6313 fn inline_size(_context: fidl::encoding::Context) -> usize {
6314 56
6315 }
6316 }
6317
6318 unsafe impl<D: fidl::encoding::ResourceDialect>
6319 fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D>
6320 for &MlmeFinalizeAssociationReqRequest
6321 {
6322 #[inline]
6323 unsafe fn encode(
6324 self,
6325 encoder: &mut fidl::encoding::Encoder<'_, D>,
6326 offset: usize,
6327 _depth: fidl::encoding::Depth,
6328 ) -> fidl::Result<()> {
6329 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6330 fidl::encoding::Encode::<MlmeFinalizeAssociationReqRequest, D>::encode(
6332 (<NegotiatedCapabilities as fidl::encoding::ValueTypeMarker>::borrow(
6333 &self.negotiated_capabilities,
6334 ),),
6335 encoder,
6336 offset,
6337 _depth,
6338 )
6339 }
6340 }
6341 unsafe impl<
6342 D: fidl::encoding::ResourceDialect,
6343 T0: fidl::encoding::Encode<NegotiatedCapabilities, D>,
6344 > fidl::encoding::Encode<MlmeFinalizeAssociationReqRequest, D> for (T0,)
6345 {
6346 #[inline]
6347 unsafe fn encode(
6348 self,
6349 encoder: &mut fidl::encoding::Encoder<'_, D>,
6350 offset: usize,
6351 depth: fidl::encoding::Depth,
6352 ) -> fidl::Result<()> {
6353 encoder.debug_check_bounds::<MlmeFinalizeAssociationReqRequest>(offset);
6354 self.0.encode(encoder, offset + 0, depth)?;
6358 Ok(())
6359 }
6360 }
6361
6362 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6363 for MlmeFinalizeAssociationReqRequest
6364 {
6365 #[inline(always)]
6366 fn new_empty() -> Self {
6367 Self { negotiated_capabilities: fidl::new_empty!(NegotiatedCapabilities, D) }
6368 }
6369
6370 #[inline]
6371 unsafe fn decode(
6372 &mut self,
6373 decoder: &mut fidl::encoding::Decoder<'_, D>,
6374 offset: usize,
6375 _depth: fidl::encoding::Depth,
6376 ) -> fidl::Result<()> {
6377 decoder.debug_check_bounds::<Self>(offset);
6378 fidl::decode!(
6380 NegotiatedCapabilities,
6381 D,
6382 &mut self.negotiated_capabilities,
6383 decoder,
6384 offset + 0,
6385 _depth
6386 )?;
6387 Ok(())
6388 }
6389 }
6390
6391 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceHistogramStatsResponse {
6392 type Borrowed<'a> = &'a Self;
6393 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6394 value
6395 }
6396 }
6397
6398 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceHistogramStatsResponse {
6399 type Owned = Self;
6400
6401 #[inline(always)]
6402 fn inline_align(_context: fidl::encoding::Context) -> usize {
6403 8
6404 }
6405
6406 #[inline(always)]
6407 fn inline_size(_context: fidl::encoding::Context) -> usize {
6408 16
6409 }
6410 }
6411
6412 unsafe impl<D: fidl::encoding::ResourceDialect>
6413 fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D>
6414 for &MlmeGetIfaceHistogramStatsResponse
6415 {
6416 #[inline]
6417 unsafe fn encode(
6418 self,
6419 encoder: &mut fidl::encoding::Encoder<'_, D>,
6420 offset: usize,
6421 _depth: fidl::encoding::Depth,
6422 ) -> fidl::Result<()> {
6423 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6424 fidl::encoding::Encode::<MlmeGetIfaceHistogramStatsResponse, D>::encode(
6426 (<GetIfaceHistogramStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(
6427 &self.resp,
6428 ),),
6429 encoder,
6430 offset,
6431 _depth,
6432 )
6433 }
6434 }
6435 unsafe impl<
6436 D: fidl::encoding::ResourceDialect,
6437 T0: fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>,
6438 > fidl::encoding::Encode<MlmeGetIfaceHistogramStatsResponse, D> for (T0,)
6439 {
6440 #[inline]
6441 unsafe fn encode(
6442 self,
6443 encoder: &mut fidl::encoding::Encoder<'_, D>,
6444 offset: usize,
6445 depth: fidl::encoding::Depth,
6446 ) -> fidl::Result<()> {
6447 encoder.debug_check_bounds::<MlmeGetIfaceHistogramStatsResponse>(offset);
6448 self.0.encode(encoder, offset + 0, depth)?;
6452 Ok(())
6453 }
6454 }
6455
6456 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6457 for MlmeGetIfaceHistogramStatsResponse
6458 {
6459 #[inline(always)]
6460 fn new_empty() -> Self {
6461 Self { resp: fidl::new_empty!(GetIfaceHistogramStatsResponse, D) }
6462 }
6463
6464 #[inline]
6465 unsafe fn decode(
6466 &mut self,
6467 decoder: &mut fidl::encoding::Decoder<'_, D>,
6468 offset: usize,
6469 _depth: fidl::encoding::Depth,
6470 ) -> fidl::Result<()> {
6471 decoder.debug_check_bounds::<Self>(offset);
6472 fidl::decode!(
6474 GetIfaceHistogramStatsResponse,
6475 D,
6476 &mut self.resp,
6477 decoder,
6478 offset + 0,
6479 _depth
6480 )?;
6481 Ok(())
6482 }
6483 }
6484
6485 impl fidl::encoding::ValueTypeMarker for MlmeGetIfaceStatsResponse {
6486 type Borrowed<'a> = &'a Self;
6487 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6488 value
6489 }
6490 }
6491
6492 unsafe impl fidl::encoding::TypeMarker for MlmeGetIfaceStatsResponse {
6493 type Owned = Self;
6494
6495 #[inline(always)]
6496 fn inline_align(_context: fidl::encoding::Context) -> usize {
6497 8
6498 }
6499
6500 #[inline(always)]
6501 fn inline_size(_context: fidl::encoding::Context) -> usize {
6502 16
6503 }
6504 }
6505
6506 unsafe impl<D: fidl::encoding::ResourceDialect>
6507 fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for &MlmeGetIfaceStatsResponse
6508 {
6509 #[inline]
6510 unsafe fn encode(
6511 self,
6512 encoder: &mut fidl::encoding::Encoder<'_, D>,
6513 offset: usize,
6514 _depth: fidl::encoding::Depth,
6515 ) -> fidl::Result<()> {
6516 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6517 fidl::encoding::Encode::<MlmeGetIfaceStatsResponse, D>::encode(
6519 (<GetIfaceStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6520 encoder,
6521 offset,
6522 _depth,
6523 )
6524 }
6525 }
6526 unsafe impl<
6527 D: fidl::encoding::ResourceDialect,
6528 T0: fidl::encoding::Encode<GetIfaceStatsResponse, D>,
6529 > fidl::encoding::Encode<MlmeGetIfaceStatsResponse, D> for (T0,)
6530 {
6531 #[inline]
6532 unsafe fn encode(
6533 self,
6534 encoder: &mut fidl::encoding::Encoder<'_, D>,
6535 offset: usize,
6536 depth: fidl::encoding::Depth,
6537 ) -> fidl::Result<()> {
6538 encoder.debug_check_bounds::<MlmeGetIfaceStatsResponse>(offset);
6539 self.0.encode(encoder, offset + 0, depth)?;
6543 Ok(())
6544 }
6545 }
6546
6547 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6548 for MlmeGetIfaceStatsResponse
6549 {
6550 #[inline(always)]
6551 fn new_empty() -> Self {
6552 Self { resp: fidl::new_empty!(GetIfaceStatsResponse, D) }
6553 }
6554
6555 #[inline]
6556 unsafe fn decode(
6557 &mut self,
6558 decoder: &mut fidl::encoding::Decoder<'_, D>,
6559 offset: usize,
6560 _depth: fidl::encoding::Depth,
6561 ) -> fidl::Result<()> {
6562 decoder.debug_check_bounds::<Self>(offset);
6563 fidl::decode!(GetIfaceStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6565 Ok(())
6566 }
6567 }
6568
6569 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsRequest {
6570 type Borrowed<'a> = &'a Self;
6571 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6572 value
6573 }
6574 }
6575
6576 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsRequest {
6577 type Owned = Self;
6578
6579 #[inline(always)]
6580 fn inline_align(_context: fidl::encoding::Context) -> usize {
6581 1
6582 }
6583
6584 #[inline(always)]
6585 fn inline_size(_context: fidl::encoding::Context) -> usize {
6586 6
6587 }
6588 #[inline(always)]
6589 fn encode_is_copy() -> bool {
6590 true
6591 }
6592
6593 #[inline(always)]
6594 fn decode_is_copy() -> bool {
6595 true
6596 }
6597 }
6598
6599 unsafe impl<D: fidl::encoding::ResourceDialect>
6600 fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for &MlmeGetMinstrelStatsRequest
6601 {
6602 #[inline]
6603 unsafe fn encode(
6604 self,
6605 encoder: &mut fidl::encoding::Encoder<'_, D>,
6606 offset: usize,
6607 _depth: fidl::encoding::Depth,
6608 ) -> fidl::Result<()> {
6609 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6610 unsafe {
6611 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
6613 (buf_ptr as *mut MlmeGetMinstrelStatsRequest)
6614 .write_unaligned((self as *const MlmeGetMinstrelStatsRequest).read());
6615 }
6618 Ok(())
6619 }
6620 }
6621 unsafe impl<
6622 D: fidl::encoding::ResourceDialect,
6623 T0: fidl::encoding::Encode<MinstrelStatsRequest, D>,
6624 > fidl::encoding::Encode<MlmeGetMinstrelStatsRequest, D> for (T0,)
6625 {
6626 #[inline]
6627 unsafe fn encode(
6628 self,
6629 encoder: &mut fidl::encoding::Encoder<'_, D>,
6630 offset: usize,
6631 depth: fidl::encoding::Depth,
6632 ) -> fidl::Result<()> {
6633 encoder.debug_check_bounds::<MlmeGetMinstrelStatsRequest>(offset);
6634 self.0.encode(encoder, offset + 0, depth)?;
6638 Ok(())
6639 }
6640 }
6641
6642 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6643 for MlmeGetMinstrelStatsRequest
6644 {
6645 #[inline(always)]
6646 fn new_empty() -> Self {
6647 Self { req: fidl::new_empty!(MinstrelStatsRequest, D) }
6648 }
6649
6650 #[inline]
6651 unsafe fn decode(
6652 &mut self,
6653 decoder: &mut fidl::encoding::Decoder<'_, D>,
6654 offset: usize,
6655 _depth: fidl::encoding::Depth,
6656 ) -> fidl::Result<()> {
6657 decoder.debug_check_bounds::<Self>(offset);
6658 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
6659 unsafe {
6662 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
6663 }
6664 Ok(())
6665 }
6666 }
6667
6668 impl fidl::encoding::ValueTypeMarker for MlmeGetMinstrelStatsResponse {
6669 type Borrowed<'a> = &'a Self;
6670 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6671 value
6672 }
6673 }
6674
6675 unsafe impl fidl::encoding::TypeMarker for MlmeGetMinstrelStatsResponse {
6676 type Owned = Self;
6677
6678 #[inline(always)]
6679 fn inline_align(_context: fidl::encoding::Context) -> usize {
6680 8
6681 }
6682
6683 #[inline(always)]
6684 fn inline_size(_context: fidl::encoding::Context) -> usize {
6685 8
6686 }
6687 }
6688
6689 unsafe impl<D: fidl::encoding::ResourceDialect>
6690 fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for &MlmeGetMinstrelStatsResponse
6691 {
6692 #[inline]
6693 unsafe fn encode(
6694 self,
6695 encoder: &mut fidl::encoding::Encoder<'_, D>,
6696 offset: usize,
6697 _depth: fidl::encoding::Depth,
6698 ) -> fidl::Result<()> {
6699 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6700 fidl::encoding::Encode::<MlmeGetMinstrelStatsResponse, D>::encode(
6702 (<MinstrelStatsResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6703 encoder,
6704 offset,
6705 _depth,
6706 )
6707 }
6708 }
6709 unsafe impl<
6710 D: fidl::encoding::ResourceDialect,
6711 T0: fidl::encoding::Encode<MinstrelStatsResponse, D>,
6712 > fidl::encoding::Encode<MlmeGetMinstrelStatsResponse, D> for (T0,)
6713 {
6714 #[inline]
6715 unsafe fn encode(
6716 self,
6717 encoder: &mut fidl::encoding::Encoder<'_, D>,
6718 offset: usize,
6719 depth: fidl::encoding::Depth,
6720 ) -> fidl::Result<()> {
6721 encoder.debug_check_bounds::<MlmeGetMinstrelStatsResponse>(offset);
6722 self.0.encode(encoder, offset + 0, depth)?;
6726 Ok(())
6727 }
6728 }
6729
6730 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6731 for MlmeGetMinstrelStatsResponse
6732 {
6733 #[inline(always)]
6734 fn new_empty() -> Self {
6735 Self { resp: fidl::new_empty!(MinstrelStatsResponse, D) }
6736 }
6737
6738 #[inline]
6739 unsafe fn decode(
6740 &mut self,
6741 decoder: &mut fidl::encoding::Decoder<'_, D>,
6742 offset: usize,
6743 _depth: fidl::encoding::Depth,
6744 ) -> fidl::Result<()> {
6745 decoder.debug_check_bounds::<Self>(offset);
6746 fidl::decode!(MinstrelStatsResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6748 Ok(())
6749 }
6750 }
6751
6752 impl fidl::encoding::ValueTypeMarker for MlmeListMinstrelPeersResponse {
6753 type Borrowed<'a> = &'a Self;
6754 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6755 value
6756 }
6757 }
6758
6759 unsafe impl fidl::encoding::TypeMarker for MlmeListMinstrelPeersResponse {
6760 type Owned = Self;
6761
6762 #[inline(always)]
6763 fn inline_align(_context: fidl::encoding::Context) -> usize {
6764 8
6765 }
6766
6767 #[inline(always)]
6768 fn inline_size(_context: fidl::encoding::Context) -> usize {
6769 16
6770 }
6771 }
6772
6773 unsafe impl<D: fidl::encoding::ResourceDialect>
6774 fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D>
6775 for &MlmeListMinstrelPeersResponse
6776 {
6777 #[inline]
6778 unsafe fn encode(
6779 self,
6780 encoder: &mut fidl::encoding::Encoder<'_, D>,
6781 offset: usize,
6782 _depth: fidl::encoding::Depth,
6783 ) -> fidl::Result<()> {
6784 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6785 fidl::encoding::Encode::<MlmeListMinstrelPeersResponse, D>::encode(
6787 (<MinstrelListResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
6788 encoder,
6789 offset,
6790 _depth,
6791 )
6792 }
6793 }
6794 unsafe impl<
6795 D: fidl::encoding::ResourceDialect,
6796 T0: fidl::encoding::Encode<MinstrelListResponse, D>,
6797 > fidl::encoding::Encode<MlmeListMinstrelPeersResponse, D> for (T0,)
6798 {
6799 #[inline]
6800 unsafe fn encode(
6801 self,
6802 encoder: &mut fidl::encoding::Encoder<'_, D>,
6803 offset: usize,
6804 depth: fidl::encoding::Depth,
6805 ) -> fidl::Result<()> {
6806 encoder.debug_check_bounds::<MlmeListMinstrelPeersResponse>(offset);
6807 self.0.encode(encoder, offset + 0, depth)?;
6811 Ok(())
6812 }
6813 }
6814
6815 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6816 for MlmeListMinstrelPeersResponse
6817 {
6818 #[inline(always)]
6819 fn new_empty() -> Self {
6820 Self { resp: fidl::new_empty!(MinstrelListResponse, D) }
6821 }
6822
6823 #[inline]
6824 unsafe fn decode(
6825 &mut self,
6826 decoder: &mut fidl::encoding::Decoder<'_, D>,
6827 offset: usize,
6828 _depth: fidl::encoding::Depth,
6829 ) -> fidl::Result<()> {
6830 decoder.debug_check_bounds::<Self>(offset);
6831 fidl::decode!(MinstrelListResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
6833 Ok(())
6834 }
6835 }
6836
6837 impl fidl::encoding::ValueTypeMarker for MlmeOnChannelSwitchedRequest {
6838 type Borrowed<'a> = &'a Self;
6839 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6840 value
6841 }
6842 }
6843
6844 unsafe impl fidl::encoding::TypeMarker for MlmeOnChannelSwitchedRequest {
6845 type Owned = Self;
6846
6847 #[inline(always)]
6848 fn inline_align(_context: fidl::encoding::Context) -> usize {
6849 1
6850 }
6851
6852 #[inline(always)]
6853 fn inline_size(_context: fidl::encoding::Context) -> usize {
6854 1
6855 }
6856 }
6857
6858 unsafe impl<D: fidl::encoding::ResourceDialect>
6859 fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for &MlmeOnChannelSwitchedRequest
6860 {
6861 #[inline]
6862 unsafe fn encode(
6863 self,
6864 encoder: &mut fidl::encoding::Encoder<'_, D>,
6865 offset: usize,
6866 _depth: fidl::encoding::Depth,
6867 ) -> fidl::Result<()> {
6868 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6869 fidl::encoding::Encode::<MlmeOnChannelSwitchedRequest, D>::encode(
6871 (
6872 <fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),
6873 ),
6874 encoder, offset, _depth
6875 )
6876 }
6877 }
6878 unsafe impl<
6879 D: fidl::encoding::ResourceDialect,
6880 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D>,
6881 > fidl::encoding::Encode<MlmeOnChannelSwitchedRequest, D> for (T0,)
6882 {
6883 #[inline]
6884 unsafe fn encode(
6885 self,
6886 encoder: &mut fidl::encoding::Encoder<'_, D>,
6887 offset: usize,
6888 depth: fidl::encoding::Depth,
6889 ) -> fidl::Result<()> {
6890 encoder.debug_check_bounds::<MlmeOnChannelSwitchedRequest>(offset);
6891 self.0.encode(encoder, offset + 0, depth)?;
6895 Ok(())
6896 }
6897 }
6898
6899 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6900 for MlmeOnChannelSwitchedRequest
6901 {
6902 #[inline(always)]
6903 fn new_empty() -> Self {
6904 Self {
6905 info: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo, D),
6906 }
6907 }
6908
6909 #[inline]
6910 unsafe fn decode(
6911 &mut self,
6912 decoder: &mut fidl::encoding::Decoder<'_, D>,
6913 offset: usize,
6914 _depth: fidl::encoding::Depth,
6915 ) -> fidl::Result<()> {
6916 decoder.debug_check_bounds::<Self>(offset);
6917 fidl::decode!(
6919 fidl_fuchsia_wlan_internal__common::ChannelSwitchInfo,
6920 D,
6921 &mut self.info,
6922 decoder,
6923 offset + 0,
6924 _depth
6925 )?;
6926 Ok(())
6927 }
6928 }
6929
6930 impl fidl::encoding::ValueTypeMarker for MlmeOnPmkAvailableRequest {
6931 type Borrowed<'a> = &'a Self;
6932 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6933 value
6934 }
6935 }
6936
6937 unsafe impl fidl::encoding::TypeMarker for MlmeOnPmkAvailableRequest {
6938 type Owned = Self;
6939
6940 #[inline(always)]
6941 fn inline_align(_context: fidl::encoding::Context) -> usize {
6942 8
6943 }
6944
6945 #[inline(always)]
6946 fn inline_size(_context: fidl::encoding::Context) -> usize {
6947 32
6948 }
6949 }
6950
6951 unsafe impl<D: fidl::encoding::ResourceDialect>
6952 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for &MlmeOnPmkAvailableRequest
6953 {
6954 #[inline]
6955 unsafe fn encode(
6956 self,
6957 encoder: &mut fidl::encoding::Encoder<'_, D>,
6958 offset: usize,
6959 _depth: fidl::encoding::Depth,
6960 ) -> fidl::Result<()> {
6961 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6962 fidl::encoding::Encode::<MlmeOnPmkAvailableRequest, D>::encode(
6964 (<PmkInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
6965 encoder,
6966 offset,
6967 _depth,
6968 )
6969 }
6970 }
6971 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<PmkInfo, D>>
6972 fidl::encoding::Encode<MlmeOnPmkAvailableRequest, D> for (T0,)
6973 {
6974 #[inline]
6975 unsafe fn encode(
6976 self,
6977 encoder: &mut fidl::encoding::Encoder<'_, D>,
6978 offset: usize,
6979 depth: fidl::encoding::Depth,
6980 ) -> fidl::Result<()> {
6981 encoder.debug_check_bounds::<MlmeOnPmkAvailableRequest>(offset);
6982 self.0.encode(encoder, offset + 0, depth)?;
6986 Ok(())
6987 }
6988 }
6989
6990 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6991 for MlmeOnPmkAvailableRequest
6992 {
6993 #[inline(always)]
6994 fn new_empty() -> Self {
6995 Self { info: fidl::new_empty!(PmkInfo, D) }
6996 }
6997
6998 #[inline]
6999 unsafe fn decode(
7000 &mut self,
7001 decoder: &mut fidl::encoding::Decoder<'_, D>,
7002 offset: usize,
7003 _depth: fidl::encoding::Depth,
7004 ) -> fidl::Result<()> {
7005 decoder.debug_check_bounds::<Self>(offset);
7006 fidl::decode!(PmkInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7008 Ok(())
7009 }
7010 }
7011
7012 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeFrameRxRequest {
7013 type Borrowed<'a> = &'a Self;
7014 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7015 value
7016 }
7017 }
7018
7019 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeFrameRxRequest {
7020 type Owned = Self;
7021
7022 #[inline(always)]
7023 fn inline_align(_context: fidl::encoding::Context) -> usize {
7024 8
7025 }
7026
7027 #[inline(always)]
7028 fn inline_size(_context: fidl::encoding::Context) -> usize {
7029 32
7030 }
7031 }
7032
7033 unsafe impl<D: fidl::encoding::ResourceDialect>
7034 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for &MlmeOnSaeFrameRxRequest
7035 {
7036 #[inline]
7037 unsafe fn encode(
7038 self,
7039 encoder: &mut fidl::encoding::Encoder<'_, D>,
7040 offset: usize,
7041 _depth: fidl::encoding::Depth,
7042 ) -> fidl::Result<()> {
7043 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7044 fidl::encoding::Encode::<MlmeOnSaeFrameRxRequest, D>::encode(
7046 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
7047 encoder,
7048 offset,
7049 _depth,
7050 )
7051 }
7052 }
7053 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
7054 fidl::encoding::Encode<MlmeOnSaeFrameRxRequest, D> for (T0,)
7055 {
7056 #[inline]
7057 unsafe fn encode(
7058 self,
7059 encoder: &mut fidl::encoding::Encoder<'_, D>,
7060 offset: usize,
7061 depth: fidl::encoding::Depth,
7062 ) -> fidl::Result<()> {
7063 encoder.debug_check_bounds::<MlmeOnSaeFrameRxRequest>(offset);
7064 self.0.encode(encoder, offset + 0, depth)?;
7068 Ok(())
7069 }
7070 }
7071
7072 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7073 for MlmeOnSaeFrameRxRequest
7074 {
7075 #[inline(always)]
7076 fn new_empty() -> Self {
7077 Self { frame: fidl::new_empty!(SaeFrame, D) }
7078 }
7079
7080 #[inline]
7081 unsafe fn decode(
7082 &mut self,
7083 decoder: &mut fidl::encoding::Decoder<'_, D>,
7084 offset: usize,
7085 _depth: fidl::encoding::Depth,
7086 ) -> fidl::Result<()> {
7087 decoder.debug_check_bounds::<Self>(offset);
7088 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
7090 Ok(())
7091 }
7092 }
7093
7094 impl fidl::encoding::ValueTypeMarker for MlmeOnSaeHandshakeIndRequest {
7095 type Borrowed<'a> = &'a Self;
7096 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7097 value
7098 }
7099 }
7100
7101 unsafe impl fidl::encoding::TypeMarker for MlmeOnSaeHandshakeIndRequest {
7102 type Owned = Self;
7103
7104 #[inline(always)]
7105 fn inline_align(_context: fidl::encoding::Context) -> usize {
7106 1
7107 }
7108
7109 #[inline(always)]
7110 fn inline_size(_context: fidl::encoding::Context) -> usize {
7111 6
7112 }
7113 #[inline(always)]
7114 fn encode_is_copy() -> bool {
7115 true
7116 }
7117
7118 #[inline(always)]
7119 fn decode_is_copy() -> bool {
7120 true
7121 }
7122 }
7123
7124 unsafe impl<D: fidl::encoding::ResourceDialect>
7125 fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for &MlmeOnSaeHandshakeIndRequest
7126 {
7127 #[inline]
7128 unsafe fn encode(
7129 self,
7130 encoder: &mut fidl::encoding::Encoder<'_, D>,
7131 offset: usize,
7132 _depth: fidl::encoding::Depth,
7133 ) -> fidl::Result<()> {
7134 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7135 unsafe {
7136 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7138 (buf_ptr as *mut MlmeOnSaeHandshakeIndRequest)
7139 .write_unaligned((self as *const MlmeOnSaeHandshakeIndRequest).read());
7140 }
7143 Ok(())
7144 }
7145 }
7146 unsafe impl<
7147 D: fidl::encoding::ResourceDialect,
7148 T0: fidl::encoding::Encode<SaeHandshakeIndication, D>,
7149 > fidl::encoding::Encode<MlmeOnSaeHandshakeIndRequest, D> for (T0,)
7150 {
7151 #[inline]
7152 unsafe fn encode(
7153 self,
7154 encoder: &mut fidl::encoding::Encoder<'_, D>,
7155 offset: usize,
7156 depth: fidl::encoding::Depth,
7157 ) -> fidl::Result<()> {
7158 encoder.debug_check_bounds::<MlmeOnSaeHandshakeIndRequest>(offset);
7159 self.0.encode(encoder, offset + 0, depth)?;
7163 Ok(())
7164 }
7165 }
7166
7167 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7168 for MlmeOnSaeHandshakeIndRequest
7169 {
7170 #[inline(always)]
7171 fn new_empty() -> Self {
7172 Self { ind: fidl::new_empty!(SaeHandshakeIndication, D) }
7173 }
7174
7175 #[inline]
7176 unsafe fn decode(
7177 &mut self,
7178 decoder: &mut fidl::encoding::Decoder<'_, D>,
7179 offset: usize,
7180 _depth: fidl::encoding::Depth,
7181 ) -> fidl::Result<()> {
7182 decoder.debug_check_bounds::<Self>(offset);
7183 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7184 unsafe {
7187 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7188 }
7189 Ok(())
7190 }
7191 }
7192
7193 impl fidl::encoding::ValueTypeMarker for MlmeOnScanEndRequest {
7194 type Borrowed<'a> = &'a Self;
7195 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7196 value
7197 }
7198 }
7199
7200 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanEndRequest {
7201 type Owned = Self;
7202
7203 #[inline(always)]
7204 fn inline_align(_context: fidl::encoding::Context) -> usize {
7205 8
7206 }
7207
7208 #[inline(always)]
7209 fn inline_size(_context: fidl::encoding::Context) -> usize {
7210 16
7211 }
7212 }
7213
7214 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeOnScanEndRequest, D>
7215 for &MlmeOnScanEndRequest
7216 {
7217 #[inline]
7218 unsafe fn encode(
7219 self,
7220 encoder: &mut fidl::encoding::Encoder<'_, D>,
7221 offset: usize,
7222 _depth: fidl::encoding::Depth,
7223 ) -> fidl::Result<()> {
7224 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7225 fidl::encoding::Encode::<MlmeOnScanEndRequest, D>::encode(
7227 (<ScanEnd as fidl::encoding::ValueTypeMarker>::borrow(&self.end),),
7228 encoder,
7229 offset,
7230 _depth,
7231 )
7232 }
7233 }
7234 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanEnd, D>>
7235 fidl::encoding::Encode<MlmeOnScanEndRequest, D> for (T0,)
7236 {
7237 #[inline]
7238 unsafe fn encode(
7239 self,
7240 encoder: &mut fidl::encoding::Encoder<'_, D>,
7241 offset: usize,
7242 depth: fidl::encoding::Depth,
7243 ) -> fidl::Result<()> {
7244 encoder.debug_check_bounds::<MlmeOnScanEndRequest>(offset);
7245 self.0.encode(encoder, offset + 0, depth)?;
7249 Ok(())
7250 }
7251 }
7252
7253 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeOnScanEndRequest {
7254 #[inline(always)]
7255 fn new_empty() -> Self {
7256 Self { end: fidl::new_empty!(ScanEnd, D) }
7257 }
7258
7259 #[inline]
7260 unsafe fn decode(
7261 &mut self,
7262 decoder: &mut fidl::encoding::Decoder<'_, D>,
7263 offset: usize,
7264 _depth: fidl::encoding::Depth,
7265 ) -> fidl::Result<()> {
7266 decoder.debug_check_bounds::<Self>(offset);
7267 fidl::decode!(ScanEnd, D, &mut self.end, decoder, offset + 0, _depth)?;
7269 Ok(())
7270 }
7271 }
7272
7273 impl fidl::encoding::ValueTypeMarker for MlmeOnScanResultRequest {
7274 type Borrowed<'a> = &'a Self;
7275 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7276 value
7277 }
7278 }
7279
7280 unsafe impl fidl::encoding::TypeMarker for MlmeOnScanResultRequest {
7281 type Owned = Self;
7282
7283 #[inline(always)]
7284 fn inline_align(_context: fidl::encoding::Context) -> usize {
7285 8
7286 }
7287
7288 #[inline(always)]
7289 fn inline_size(_context: fidl::encoding::Context) -> usize {
7290 64
7291 }
7292 }
7293
7294 unsafe impl<D: fidl::encoding::ResourceDialect>
7295 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for &MlmeOnScanResultRequest
7296 {
7297 #[inline]
7298 unsafe fn encode(
7299 self,
7300 encoder: &mut fidl::encoding::Encoder<'_, D>,
7301 offset: usize,
7302 _depth: fidl::encoding::Depth,
7303 ) -> fidl::Result<()> {
7304 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7305 fidl::encoding::Encode::<MlmeOnScanResultRequest, D>::encode(
7307 (<ScanResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7308 encoder,
7309 offset,
7310 _depth,
7311 )
7312 }
7313 }
7314 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanResult, D>>
7315 fidl::encoding::Encode<MlmeOnScanResultRequest, D> for (T0,)
7316 {
7317 #[inline]
7318 unsafe fn encode(
7319 self,
7320 encoder: &mut fidl::encoding::Encoder<'_, D>,
7321 offset: usize,
7322 depth: fidl::encoding::Depth,
7323 ) -> fidl::Result<()> {
7324 encoder.debug_check_bounds::<MlmeOnScanResultRequest>(offset);
7325 self.0.encode(encoder, offset + 0, depth)?;
7329 Ok(())
7330 }
7331 }
7332
7333 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7334 for MlmeOnScanResultRequest
7335 {
7336 #[inline(always)]
7337 fn new_empty() -> Self {
7338 Self { result: fidl::new_empty!(ScanResult, D) }
7339 }
7340
7341 #[inline]
7342 unsafe fn decode(
7343 &mut self,
7344 decoder: &mut fidl::encoding::Decoder<'_, D>,
7345 offset: usize,
7346 _depth: fidl::encoding::Depth,
7347 ) -> fidl::Result<()> {
7348 decoder.debug_check_bounds::<Self>(offset);
7349 fidl::decode!(ScanResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7351 Ok(())
7352 }
7353 }
7354
7355 impl fidl::encoding::ValueTypeMarker for MlmeOnWmmStatusRespRequest {
7356 type Borrowed<'a> = &'a Self;
7357 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7358 value
7359 }
7360 }
7361
7362 unsafe impl fidl::encoding::TypeMarker for MlmeOnWmmStatusRespRequest {
7363 type Owned = Self;
7364
7365 #[inline(always)]
7366 fn inline_align(_context: fidl::encoding::Context) -> usize {
7367 4
7368 }
7369
7370 #[inline(always)]
7371 fn inline_size(_context: fidl::encoding::Context) -> usize {
7372 40
7373 }
7374 }
7375
7376 unsafe impl<D: fidl::encoding::ResourceDialect>
7377 fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for &MlmeOnWmmStatusRespRequest
7378 {
7379 #[inline]
7380 unsafe fn encode(
7381 self,
7382 encoder: &mut fidl::encoding::Encoder<'_, D>,
7383 offset: usize,
7384 _depth: fidl::encoding::Depth,
7385 ) -> fidl::Result<()> {
7386 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7387 fidl::encoding::Encode::<MlmeOnWmmStatusRespRequest, D>::encode(
7389 (
7390 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
7391 <fidl_fuchsia_wlan_internal__common::WmmStatusResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),
7392 ),
7393 encoder, offset, _depth
7394 )
7395 }
7396 }
7397 unsafe impl<
7398 D: fidl::encoding::ResourceDialect,
7399 T0: fidl::encoding::Encode<i32, D>,
7400 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D>,
7401 > fidl::encoding::Encode<MlmeOnWmmStatusRespRequest, D> for (T0, T1)
7402 {
7403 #[inline]
7404 unsafe fn encode(
7405 self,
7406 encoder: &mut fidl::encoding::Encoder<'_, D>,
7407 offset: usize,
7408 depth: fidl::encoding::Depth,
7409 ) -> fidl::Result<()> {
7410 encoder.debug_check_bounds::<MlmeOnWmmStatusRespRequest>(offset);
7411 unsafe {
7414 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(36);
7415 (ptr as *mut u32).write_unaligned(0);
7416 }
7417 self.0.encode(encoder, offset + 0, depth)?;
7419 self.1.encode(encoder, offset + 4, depth)?;
7420 Ok(())
7421 }
7422 }
7423
7424 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7425 for MlmeOnWmmStatusRespRequest
7426 {
7427 #[inline(always)]
7428 fn new_empty() -> Self {
7429 Self {
7430 status: fidl::new_empty!(i32, D),
7431 resp: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::WmmStatusResponse, D),
7432 }
7433 }
7434
7435 #[inline]
7436 unsafe fn decode(
7437 &mut self,
7438 decoder: &mut fidl::encoding::Decoder<'_, D>,
7439 offset: usize,
7440 _depth: fidl::encoding::Depth,
7441 ) -> fidl::Result<()> {
7442 decoder.debug_check_bounds::<Self>(offset);
7443 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(36) };
7445 let padval = unsafe { (ptr as *const u32).read_unaligned() };
7446 let mask = 0xffff0000u32;
7447 let maskedval = padval & mask;
7448 if maskedval != 0 {
7449 return Err(fidl::Error::NonZeroPadding {
7450 padding_start: offset + 36 + ((mask as u64).trailing_zeros() / 8) as usize,
7451 });
7452 }
7453 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
7454 fidl::decode!(
7455 fidl_fuchsia_wlan_internal__common::WmmStatusResponse,
7456 D,
7457 &mut self.resp,
7458 decoder,
7459 offset + 4,
7460 _depth
7461 )?;
7462 Ok(())
7463 }
7464 }
7465
7466 impl fidl::encoding::ValueTypeMarker for MlmeQueryDeviceInfoResponse {
7467 type Borrowed<'a> = &'a Self;
7468 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7469 value
7470 }
7471 }
7472
7473 unsafe impl fidl::encoding::TypeMarker for MlmeQueryDeviceInfoResponse {
7474 type Owned = Self;
7475
7476 #[inline(always)]
7477 fn inline_align(_context: fidl::encoding::Context) -> usize {
7478 8
7479 }
7480
7481 #[inline(always)]
7482 fn inline_size(_context: fidl::encoding::Context) -> usize {
7483 40
7484 }
7485 }
7486
7487 unsafe impl<D: fidl::encoding::ResourceDialect>
7488 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for &MlmeQueryDeviceInfoResponse
7489 {
7490 #[inline]
7491 unsafe fn encode(
7492 self,
7493 encoder: &mut fidl::encoding::Encoder<'_, D>,
7494 offset: usize,
7495 _depth: fidl::encoding::Depth,
7496 ) -> fidl::Result<()> {
7497 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7498 fidl::encoding::Encode::<MlmeQueryDeviceInfoResponse, D>::encode(
7500 (<DeviceInfo as fidl::encoding::ValueTypeMarker>::borrow(&self.info),),
7501 encoder,
7502 offset,
7503 _depth,
7504 )
7505 }
7506 }
7507 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<DeviceInfo, D>>
7508 fidl::encoding::Encode<MlmeQueryDeviceInfoResponse, D> for (T0,)
7509 {
7510 #[inline]
7511 unsafe fn encode(
7512 self,
7513 encoder: &mut fidl::encoding::Encoder<'_, D>,
7514 offset: usize,
7515 depth: fidl::encoding::Depth,
7516 ) -> fidl::Result<()> {
7517 encoder.debug_check_bounds::<MlmeQueryDeviceInfoResponse>(offset);
7518 self.0.encode(encoder, offset + 0, depth)?;
7522 Ok(())
7523 }
7524 }
7525
7526 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7527 for MlmeQueryDeviceInfoResponse
7528 {
7529 #[inline(always)]
7530 fn new_empty() -> Self {
7531 Self { info: fidl::new_empty!(DeviceInfo, D) }
7532 }
7533
7534 #[inline]
7535 unsafe fn decode(
7536 &mut self,
7537 decoder: &mut fidl::encoding::Decoder<'_, D>,
7538 offset: usize,
7539 _depth: fidl::encoding::Depth,
7540 ) -> fidl::Result<()> {
7541 decoder.debug_check_bounds::<Self>(offset);
7542 fidl::decode!(DeviceInfo, D, &mut self.info, decoder, offset + 0, _depth)?;
7544 Ok(())
7545 }
7546 }
7547
7548 impl fidl::encoding::ValueTypeMarker for MlmeReconnectReqRequest {
7549 type Borrowed<'a> = &'a Self;
7550 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7551 value
7552 }
7553 }
7554
7555 unsafe impl fidl::encoding::TypeMarker for MlmeReconnectReqRequest {
7556 type Owned = Self;
7557
7558 #[inline(always)]
7559 fn inline_align(_context: fidl::encoding::Context) -> usize {
7560 1
7561 }
7562
7563 #[inline(always)]
7564 fn inline_size(_context: fidl::encoding::Context) -> usize {
7565 6
7566 }
7567 #[inline(always)]
7568 fn encode_is_copy() -> bool {
7569 true
7570 }
7571
7572 #[inline(always)]
7573 fn decode_is_copy() -> bool {
7574 true
7575 }
7576 }
7577
7578 unsafe impl<D: fidl::encoding::ResourceDialect>
7579 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for &MlmeReconnectReqRequest
7580 {
7581 #[inline]
7582 unsafe fn encode(
7583 self,
7584 encoder: &mut fidl::encoding::Encoder<'_, D>,
7585 offset: usize,
7586 _depth: fidl::encoding::Depth,
7587 ) -> fidl::Result<()> {
7588 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7589 unsafe {
7590 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
7592 (buf_ptr as *mut MlmeReconnectReqRequest)
7593 .write_unaligned((self as *const MlmeReconnectReqRequest).read());
7594 }
7597 Ok(())
7598 }
7599 }
7600 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReconnectRequest, D>>
7601 fidl::encoding::Encode<MlmeReconnectReqRequest, D> for (T0,)
7602 {
7603 #[inline]
7604 unsafe fn encode(
7605 self,
7606 encoder: &mut fidl::encoding::Encoder<'_, D>,
7607 offset: usize,
7608 depth: fidl::encoding::Depth,
7609 ) -> fidl::Result<()> {
7610 encoder.debug_check_bounds::<MlmeReconnectReqRequest>(offset);
7611 self.0.encode(encoder, offset + 0, depth)?;
7615 Ok(())
7616 }
7617 }
7618
7619 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7620 for MlmeReconnectReqRequest
7621 {
7622 #[inline(always)]
7623 fn new_empty() -> Self {
7624 Self { req: fidl::new_empty!(ReconnectRequest, D) }
7625 }
7626
7627 #[inline]
7628 unsafe fn decode(
7629 &mut self,
7630 decoder: &mut fidl::encoding::Decoder<'_, D>,
7631 offset: usize,
7632 _depth: fidl::encoding::Depth,
7633 ) -> fidl::Result<()> {
7634 decoder.debug_check_bounds::<Self>(offset);
7635 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
7636 unsafe {
7639 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
7640 }
7641 Ok(())
7642 }
7643 }
7644
7645 impl fidl::encoding::ValueTypeMarker for MlmeRelayCapturedFrameRequest {
7646 type Borrowed<'a> = &'a Self;
7647 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7648 value
7649 }
7650 }
7651
7652 unsafe impl fidl::encoding::TypeMarker for MlmeRelayCapturedFrameRequest {
7653 type Owned = Self;
7654
7655 #[inline(always)]
7656 fn inline_align(_context: fidl::encoding::Context) -> usize {
7657 8
7658 }
7659
7660 #[inline(always)]
7661 fn inline_size(_context: fidl::encoding::Context) -> usize {
7662 16
7663 }
7664 }
7665
7666 unsafe impl<D: fidl::encoding::ResourceDialect>
7667 fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D>
7668 for &MlmeRelayCapturedFrameRequest
7669 {
7670 #[inline]
7671 unsafe fn encode(
7672 self,
7673 encoder: &mut fidl::encoding::Encoder<'_, D>,
7674 offset: usize,
7675 _depth: fidl::encoding::Depth,
7676 ) -> fidl::Result<()> {
7677 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7678 fidl::encoding::Encode::<MlmeRelayCapturedFrameRequest, D>::encode(
7680 (<CapturedFrameResult as fidl::encoding::ValueTypeMarker>::borrow(&self.result),),
7681 encoder,
7682 offset,
7683 _depth,
7684 )
7685 }
7686 }
7687 unsafe impl<
7688 D: fidl::encoding::ResourceDialect,
7689 T0: fidl::encoding::Encode<CapturedFrameResult, D>,
7690 > fidl::encoding::Encode<MlmeRelayCapturedFrameRequest, D> for (T0,)
7691 {
7692 #[inline]
7693 unsafe fn encode(
7694 self,
7695 encoder: &mut fidl::encoding::Encoder<'_, D>,
7696 offset: usize,
7697 depth: fidl::encoding::Depth,
7698 ) -> fidl::Result<()> {
7699 encoder.debug_check_bounds::<MlmeRelayCapturedFrameRequest>(offset);
7700 self.0.encode(encoder, offset + 0, depth)?;
7704 Ok(())
7705 }
7706 }
7707
7708 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7709 for MlmeRelayCapturedFrameRequest
7710 {
7711 #[inline(always)]
7712 fn new_empty() -> Self {
7713 Self { result: fidl::new_empty!(CapturedFrameResult, D) }
7714 }
7715
7716 #[inline]
7717 unsafe fn decode(
7718 &mut self,
7719 decoder: &mut fidl::encoding::Decoder<'_, D>,
7720 offset: usize,
7721 _depth: fidl::encoding::Depth,
7722 ) -> fidl::Result<()> {
7723 decoder.debug_check_bounds::<Self>(offset);
7724 fidl::decode!(CapturedFrameResult, D, &mut self.result, decoder, offset + 0, _depth)?;
7726 Ok(())
7727 }
7728 }
7729
7730 impl fidl::encoding::ValueTypeMarker for MlmeResetReqRequest {
7731 type Borrowed<'a> = &'a Self;
7732 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7733 value
7734 }
7735 }
7736
7737 unsafe impl fidl::encoding::TypeMarker for MlmeResetReqRequest {
7738 type Owned = Self;
7739
7740 #[inline(always)]
7741 fn inline_align(_context: fidl::encoding::Context) -> usize {
7742 1
7743 }
7744
7745 #[inline(always)]
7746 fn inline_size(_context: fidl::encoding::Context) -> usize {
7747 7
7748 }
7749 }
7750
7751 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeResetReqRequest, D>
7752 for &MlmeResetReqRequest
7753 {
7754 #[inline]
7755 unsafe fn encode(
7756 self,
7757 encoder: &mut fidl::encoding::Encoder<'_, D>,
7758 offset: usize,
7759 _depth: fidl::encoding::Depth,
7760 ) -> fidl::Result<()> {
7761 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7762 fidl::encoding::Encode::<MlmeResetReqRequest, D>::encode(
7764 (<ResetRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7765 encoder,
7766 offset,
7767 _depth,
7768 )
7769 }
7770 }
7771 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ResetRequest, D>>
7772 fidl::encoding::Encode<MlmeResetReqRequest, D> for (T0,)
7773 {
7774 #[inline]
7775 unsafe fn encode(
7776 self,
7777 encoder: &mut fidl::encoding::Encoder<'_, D>,
7778 offset: usize,
7779 depth: fidl::encoding::Depth,
7780 ) -> fidl::Result<()> {
7781 encoder.debug_check_bounds::<MlmeResetReqRequest>(offset);
7782 self.0.encode(encoder, offset + 0, depth)?;
7786 Ok(())
7787 }
7788 }
7789
7790 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeResetReqRequest {
7791 #[inline(always)]
7792 fn new_empty() -> Self {
7793 Self { req: fidl::new_empty!(ResetRequest, D) }
7794 }
7795
7796 #[inline]
7797 unsafe fn decode(
7798 &mut self,
7799 decoder: &mut fidl::encoding::Decoder<'_, D>,
7800 offset: usize,
7801 _depth: fidl::encoding::Depth,
7802 ) -> fidl::Result<()> {
7803 decoder.debug_check_bounds::<Self>(offset);
7804 fidl::decode!(ResetRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7806 Ok(())
7807 }
7808 }
7809
7810 impl fidl::encoding::ValueTypeMarker for MlmeRoamConfRequest {
7811 type Borrowed<'a> = &'a Self;
7812 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7813 value
7814 }
7815 }
7816
7817 unsafe impl fidl::encoding::TypeMarker for MlmeRoamConfRequest {
7818 type Owned = Self;
7819
7820 #[inline(always)]
7821 fn inline_align(_context: fidl::encoding::Context) -> usize {
7822 8
7823 }
7824
7825 #[inline(always)]
7826 fn inline_size(_context: fidl::encoding::Context) -> usize {
7827 32
7828 }
7829 }
7830
7831 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamConfRequest, D>
7832 for &MlmeRoamConfRequest
7833 {
7834 #[inline]
7835 unsafe fn encode(
7836 self,
7837 encoder: &mut fidl::encoding::Encoder<'_, D>,
7838 offset: usize,
7839 _depth: fidl::encoding::Depth,
7840 ) -> fidl::Result<()> {
7841 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7842 fidl::encoding::Encode::<MlmeRoamConfRequest, D>::encode(
7844 (<RoamConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
7845 encoder,
7846 offset,
7847 _depth,
7848 )
7849 }
7850 }
7851 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamConfirm, D>>
7852 fidl::encoding::Encode<MlmeRoamConfRequest, D> for (T0,)
7853 {
7854 #[inline]
7855 unsafe fn encode(
7856 self,
7857 encoder: &mut fidl::encoding::Encoder<'_, D>,
7858 offset: usize,
7859 depth: fidl::encoding::Depth,
7860 ) -> fidl::Result<()> {
7861 encoder.debug_check_bounds::<MlmeRoamConfRequest>(offset);
7862 self.0.encode(encoder, offset + 0, depth)?;
7866 Ok(())
7867 }
7868 }
7869
7870 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamConfRequest {
7871 #[inline(always)]
7872 fn new_empty() -> Self {
7873 Self { conf: fidl::new_empty!(RoamConfirm, D) }
7874 }
7875
7876 #[inline]
7877 unsafe fn decode(
7878 &mut self,
7879 decoder: &mut fidl::encoding::Decoder<'_, D>,
7880 offset: usize,
7881 _depth: fidl::encoding::Depth,
7882 ) -> fidl::Result<()> {
7883 decoder.debug_check_bounds::<Self>(offset);
7884 fidl::decode!(RoamConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
7886 Ok(())
7887 }
7888 }
7889
7890 impl fidl::encoding::ValueTypeMarker for MlmeRoamReqRequest {
7891 type Borrowed<'a> = &'a Self;
7892 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7893 value
7894 }
7895 }
7896
7897 unsafe impl fidl::encoding::TypeMarker for MlmeRoamReqRequest {
7898 type Owned = Self;
7899
7900 #[inline(always)]
7901 fn inline_align(_context: fidl::encoding::Context) -> usize {
7902 8
7903 }
7904
7905 #[inline(always)]
7906 fn inline_size(_context: fidl::encoding::Context) -> usize {
7907 48
7908 }
7909 }
7910
7911 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeRoamReqRequest, D>
7912 for &MlmeRoamReqRequest
7913 {
7914 #[inline]
7915 unsafe fn encode(
7916 self,
7917 encoder: &mut fidl::encoding::Encoder<'_, D>,
7918 offset: usize,
7919 _depth: fidl::encoding::Depth,
7920 ) -> fidl::Result<()> {
7921 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7922 fidl::encoding::Encode::<MlmeRoamReqRequest, D>::encode(
7924 (<RoamRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
7925 encoder,
7926 offset,
7927 _depth,
7928 )
7929 }
7930 }
7931 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<RoamRequest, D>>
7932 fidl::encoding::Encode<MlmeRoamReqRequest, D> for (T0,)
7933 {
7934 #[inline]
7935 unsafe fn encode(
7936 self,
7937 encoder: &mut fidl::encoding::Encoder<'_, D>,
7938 offset: usize,
7939 depth: fidl::encoding::Depth,
7940 ) -> fidl::Result<()> {
7941 encoder.debug_check_bounds::<MlmeRoamReqRequest>(offset);
7942 self.0.encode(encoder, offset + 0, depth)?;
7946 Ok(())
7947 }
7948 }
7949
7950 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeRoamReqRequest {
7951 #[inline(always)]
7952 fn new_empty() -> Self {
7953 Self { req: fidl::new_empty!(RoamRequest, D) }
7954 }
7955
7956 #[inline]
7957 unsafe fn decode(
7958 &mut self,
7959 decoder: &mut fidl::encoding::Decoder<'_, D>,
7960 offset: usize,
7961 _depth: fidl::encoding::Depth,
7962 ) -> fidl::Result<()> {
7963 decoder.debug_check_bounds::<Self>(offset);
7964 fidl::decode!(RoamRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
7966 Ok(())
7967 }
7968 }
7969
7970 impl fidl::encoding::ValueTypeMarker for MlmeRoamResultIndRequest {
7971 type Borrowed<'a> = &'a Self;
7972 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7973 value
7974 }
7975 }
7976
7977 unsafe impl fidl::encoding::TypeMarker for MlmeRoamResultIndRequest {
7978 type Owned = Self;
7979
7980 #[inline(always)]
7981 fn inline_align(_context: fidl::encoding::Context) -> usize {
7982 8
7983 }
7984
7985 #[inline(always)]
7986 fn inline_size(_context: fidl::encoding::Context) -> usize {
7987 32
7988 }
7989 }
7990
7991 unsafe impl<D: fidl::encoding::ResourceDialect>
7992 fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for &MlmeRoamResultIndRequest
7993 {
7994 #[inline]
7995 unsafe fn encode(
7996 self,
7997 encoder: &mut fidl::encoding::Encoder<'_, D>,
7998 offset: usize,
7999 _depth: fidl::encoding::Depth,
8000 ) -> fidl::Result<()> {
8001 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8002 fidl::encoding::Encode::<MlmeRoamResultIndRequest, D>::encode(
8004 (<RoamResultIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8005 encoder,
8006 offset,
8007 _depth,
8008 )
8009 }
8010 }
8011 unsafe impl<
8012 D: fidl::encoding::ResourceDialect,
8013 T0: fidl::encoding::Encode<RoamResultIndication, D>,
8014 > fidl::encoding::Encode<MlmeRoamResultIndRequest, D> for (T0,)
8015 {
8016 #[inline]
8017 unsafe fn encode(
8018 self,
8019 encoder: &mut fidl::encoding::Encoder<'_, D>,
8020 offset: usize,
8021 depth: fidl::encoding::Depth,
8022 ) -> fidl::Result<()> {
8023 encoder.debug_check_bounds::<MlmeRoamResultIndRequest>(offset);
8024 self.0.encode(encoder, offset + 0, depth)?;
8028 Ok(())
8029 }
8030 }
8031
8032 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8033 for MlmeRoamResultIndRequest
8034 {
8035 #[inline(always)]
8036 fn new_empty() -> Self {
8037 Self { ind: fidl::new_empty!(RoamResultIndication, D) }
8038 }
8039
8040 #[inline]
8041 unsafe fn decode(
8042 &mut self,
8043 decoder: &mut fidl::encoding::Decoder<'_, D>,
8044 offset: usize,
8045 _depth: fidl::encoding::Depth,
8046 ) -> fidl::Result<()> {
8047 decoder.debug_check_bounds::<Self>(offset);
8048 fidl::decode!(RoamResultIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8050 Ok(())
8051 }
8052 }
8053
8054 impl fidl::encoding::ValueTypeMarker for MlmeRoamStartIndRequest {
8055 type Borrowed<'a> = &'a Self;
8056 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8057 value
8058 }
8059 }
8060
8061 unsafe impl fidl::encoding::TypeMarker for MlmeRoamStartIndRequest {
8062 type Owned = Self;
8063
8064 #[inline(always)]
8065 fn inline_align(_context: fidl::encoding::Context) -> usize {
8066 8
8067 }
8068
8069 #[inline(always)]
8070 fn inline_size(_context: fidl::encoding::Context) -> usize {
8071 64
8072 }
8073 }
8074
8075 unsafe impl<D: fidl::encoding::ResourceDialect>
8076 fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for &MlmeRoamStartIndRequest
8077 {
8078 #[inline]
8079 unsafe fn encode(
8080 self,
8081 encoder: &mut fidl::encoding::Encoder<'_, D>,
8082 offset: usize,
8083 _depth: fidl::encoding::Depth,
8084 ) -> fidl::Result<()> {
8085 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8086 fidl::encoding::Encode::<MlmeRoamStartIndRequest, D>::encode(
8088 (<RoamStartIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),),
8089 encoder,
8090 offset,
8091 _depth,
8092 )
8093 }
8094 }
8095 unsafe impl<
8096 D: fidl::encoding::ResourceDialect,
8097 T0: fidl::encoding::Encode<RoamStartIndication, D>,
8098 > fidl::encoding::Encode<MlmeRoamStartIndRequest, D> for (T0,)
8099 {
8100 #[inline]
8101 unsafe fn encode(
8102 self,
8103 encoder: &mut fidl::encoding::Encoder<'_, D>,
8104 offset: usize,
8105 depth: fidl::encoding::Depth,
8106 ) -> fidl::Result<()> {
8107 encoder.debug_check_bounds::<MlmeRoamStartIndRequest>(offset);
8108 self.0.encode(encoder, offset + 0, depth)?;
8112 Ok(())
8113 }
8114 }
8115
8116 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8117 for MlmeRoamStartIndRequest
8118 {
8119 #[inline(always)]
8120 fn new_empty() -> Self {
8121 Self { ind: fidl::new_empty!(RoamStartIndication, D) }
8122 }
8123
8124 #[inline]
8125 unsafe fn decode(
8126 &mut self,
8127 decoder: &mut fidl::encoding::Decoder<'_, D>,
8128 offset: usize,
8129 _depth: fidl::encoding::Depth,
8130 ) -> fidl::Result<()> {
8131 decoder.debug_check_bounds::<Self>(offset);
8132 fidl::decode!(RoamStartIndication, D, &mut self.ind, decoder, offset + 0, _depth)?;
8134 Ok(())
8135 }
8136 }
8137
8138 impl fidl::encoding::ValueTypeMarker for MlmeSaeFrameTxRequest {
8139 type Borrowed<'a> = &'a Self;
8140 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8141 value
8142 }
8143 }
8144
8145 unsafe impl fidl::encoding::TypeMarker for MlmeSaeFrameTxRequest {
8146 type Owned = Self;
8147
8148 #[inline(always)]
8149 fn inline_align(_context: fidl::encoding::Context) -> usize {
8150 8
8151 }
8152
8153 #[inline(always)]
8154 fn inline_size(_context: fidl::encoding::Context) -> usize {
8155 32
8156 }
8157 }
8158
8159 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSaeFrameTxRequest, D>
8160 for &MlmeSaeFrameTxRequest
8161 {
8162 #[inline]
8163 unsafe fn encode(
8164 self,
8165 encoder: &mut fidl::encoding::Encoder<'_, D>,
8166 offset: usize,
8167 _depth: fidl::encoding::Depth,
8168 ) -> fidl::Result<()> {
8169 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8170 fidl::encoding::Encode::<MlmeSaeFrameTxRequest, D>::encode(
8172 (<SaeFrame as fidl::encoding::ValueTypeMarker>::borrow(&self.frame),),
8173 encoder,
8174 offset,
8175 _depth,
8176 )
8177 }
8178 }
8179 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SaeFrame, D>>
8180 fidl::encoding::Encode<MlmeSaeFrameTxRequest, D> for (T0,)
8181 {
8182 #[inline]
8183 unsafe fn encode(
8184 self,
8185 encoder: &mut fidl::encoding::Encoder<'_, D>,
8186 offset: usize,
8187 depth: fidl::encoding::Depth,
8188 ) -> fidl::Result<()> {
8189 encoder.debug_check_bounds::<MlmeSaeFrameTxRequest>(offset);
8190 self.0.encode(encoder, offset + 0, depth)?;
8194 Ok(())
8195 }
8196 }
8197
8198 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSaeFrameTxRequest {
8199 #[inline(always)]
8200 fn new_empty() -> Self {
8201 Self { frame: fidl::new_empty!(SaeFrame, D) }
8202 }
8203
8204 #[inline]
8205 unsafe fn decode(
8206 &mut self,
8207 decoder: &mut fidl::encoding::Decoder<'_, D>,
8208 offset: usize,
8209 _depth: fidl::encoding::Depth,
8210 ) -> fidl::Result<()> {
8211 decoder.debug_check_bounds::<Self>(offset);
8212 fidl::decode!(SaeFrame, D, &mut self.frame, decoder, offset + 0, _depth)?;
8214 Ok(())
8215 }
8216 }
8217
8218 impl fidl::encoding::ValueTypeMarker for MlmeSaeHandshakeRespRequest {
8219 type Borrowed<'a> = &'a Self;
8220 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8221 value
8222 }
8223 }
8224
8225 unsafe impl fidl::encoding::TypeMarker for MlmeSaeHandshakeRespRequest {
8226 type Owned = Self;
8227
8228 #[inline(always)]
8229 fn inline_align(_context: fidl::encoding::Context) -> usize {
8230 2
8231 }
8232
8233 #[inline(always)]
8234 fn inline_size(_context: fidl::encoding::Context) -> usize {
8235 8
8236 }
8237 }
8238
8239 unsafe impl<D: fidl::encoding::ResourceDialect>
8240 fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for &MlmeSaeHandshakeRespRequest
8241 {
8242 #[inline]
8243 unsafe fn encode(
8244 self,
8245 encoder: &mut fidl::encoding::Encoder<'_, D>,
8246 offset: usize,
8247 _depth: fidl::encoding::Depth,
8248 ) -> fidl::Result<()> {
8249 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8250 fidl::encoding::Encode::<MlmeSaeHandshakeRespRequest, D>::encode(
8252 (<SaeHandshakeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8253 encoder,
8254 offset,
8255 _depth,
8256 )
8257 }
8258 }
8259 unsafe impl<
8260 D: fidl::encoding::ResourceDialect,
8261 T0: fidl::encoding::Encode<SaeHandshakeResponse, D>,
8262 > fidl::encoding::Encode<MlmeSaeHandshakeRespRequest, D> for (T0,)
8263 {
8264 #[inline]
8265 unsafe fn encode(
8266 self,
8267 encoder: &mut fidl::encoding::Encoder<'_, D>,
8268 offset: usize,
8269 depth: fidl::encoding::Depth,
8270 ) -> fidl::Result<()> {
8271 encoder.debug_check_bounds::<MlmeSaeHandshakeRespRequest>(offset);
8272 self.0.encode(encoder, offset + 0, depth)?;
8276 Ok(())
8277 }
8278 }
8279
8280 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8281 for MlmeSaeHandshakeRespRequest
8282 {
8283 #[inline(always)]
8284 fn new_empty() -> Self {
8285 Self { resp: fidl::new_empty!(SaeHandshakeResponse, D) }
8286 }
8287
8288 #[inline]
8289 unsafe fn decode(
8290 &mut self,
8291 decoder: &mut fidl::encoding::Decoder<'_, D>,
8292 offset: usize,
8293 _depth: fidl::encoding::Depth,
8294 ) -> fidl::Result<()> {
8295 decoder.debug_check_bounds::<Self>(offset);
8296 fidl::decode!(SaeHandshakeResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
8298 Ok(())
8299 }
8300 }
8301
8302 impl fidl::encoding::ValueTypeMarker for MlmeSetControlledPortRequest {
8303 type Borrowed<'a> = &'a Self;
8304 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8305 value
8306 }
8307 }
8308
8309 unsafe impl fidl::encoding::TypeMarker for MlmeSetControlledPortRequest {
8310 type Owned = Self;
8311
8312 #[inline(always)]
8313 fn inline_align(_context: fidl::encoding::Context) -> usize {
8314 4
8315 }
8316
8317 #[inline(always)]
8318 fn inline_size(_context: fidl::encoding::Context) -> usize {
8319 12
8320 }
8321 }
8322
8323 unsafe impl<D: fidl::encoding::ResourceDialect>
8324 fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for &MlmeSetControlledPortRequest
8325 {
8326 #[inline]
8327 unsafe fn encode(
8328 self,
8329 encoder: &mut fidl::encoding::Encoder<'_, D>,
8330 offset: usize,
8331 _depth: fidl::encoding::Depth,
8332 ) -> fidl::Result<()> {
8333 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8334 fidl::encoding::Encode::<MlmeSetControlledPortRequest, D>::encode(
8336 (<SetControlledPortRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8337 encoder,
8338 offset,
8339 _depth,
8340 )
8341 }
8342 }
8343 unsafe impl<
8344 D: fidl::encoding::ResourceDialect,
8345 T0: fidl::encoding::Encode<SetControlledPortRequest, D>,
8346 > fidl::encoding::Encode<MlmeSetControlledPortRequest, D> for (T0,)
8347 {
8348 #[inline]
8349 unsafe fn encode(
8350 self,
8351 encoder: &mut fidl::encoding::Encoder<'_, D>,
8352 offset: usize,
8353 depth: fidl::encoding::Depth,
8354 ) -> fidl::Result<()> {
8355 encoder.debug_check_bounds::<MlmeSetControlledPortRequest>(offset);
8356 self.0.encode(encoder, offset + 0, depth)?;
8360 Ok(())
8361 }
8362 }
8363
8364 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8365 for MlmeSetControlledPortRequest
8366 {
8367 #[inline(always)]
8368 fn new_empty() -> Self {
8369 Self { req: fidl::new_empty!(SetControlledPortRequest, D) }
8370 }
8371
8372 #[inline]
8373 unsafe fn decode(
8374 &mut self,
8375 decoder: &mut fidl::encoding::Decoder<'_, D>,
8376 offset: usize,
8377 _depth: fidl::encoding::Depth,
8378 ) -> fidl::Result<()> {
8379 decoder.debug_check_bounds::<Self>(offset);
8380 fidl::decode!(SetControlledPortRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8382 Ok(())
8383 }
8384 }
8385
8386 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysConfRequest {
8387 type Borrowed<'a> = &'a Self;
8388 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8389 value
8390 }
8391 }
8392
8393 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysConfRequest {
8394 type Owned = Self;
8395
8396 #[inline(always)]
8397 fn inline_align(_context: fidl::encoding::Context) -> usize {
8398 8
8399 }
8400
8401 #[inline(always)]
8402 fn inline_size(_context: fidl::encoding::Context) -> usize {
8403 16
8404 }
8405 }
8406
8407 unsafe impl<D: fidl::encoding::ResourceDialect>
8408 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for &MlmeSetKeysConfRequest
8409 {
8410 #[inline]
8411 unsafe fn encode(
8412 self,
8413 encoder: &mut fidl::encoding::Encoder<'_, D>,
8414 offset: usize,
8415 _depth: fidl::encoding::Depth,
8416 ) -> fidl::Result<()> {
8417 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8418 fidl::encoding::Encode::<MlmeSetKeysConfRequest, D>::encode(
8420 (<SetKeysConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.conf),),
8421 encoder,
8422 offset,
8423 _depth,
8424 )
8425 }
8426 }
8427 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysConfirm, D>>
8428 fidl::encoding::Encode<MlmeSetKeysConfRequest, D> for (T0,)
8429 {
8430 #[inline]
8431 unsafe fn encode(
8432 self,
8433 encoder: &mut fidl::encoding::Encoder<'_, D>,
8434 offset: usize,
8435 depth: fidl::encoding::Depth,
8436 ) -> fidl::Result<()> {
8437 encoder.debug_check_bounds::<MlmeSetKeysConfRequest>(offset);
8438 self.0.encode(encoder, offset + 0, depth)?;
8442 Ok(())
8443 }
8444 }
8445
8446 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8447 for MlmeSetKeysConfRequest
8448 {
8449 #[inline(always)]
8450 fn new_empty() -> Self {
8451 Self { conf: fidl::new_empty!(SetKeysConfirm, D) }
8452 }
8453
8454 #[inline]
8455 unsafe fn decode(
8456 &mut self,
8457 decoder: &mut fidl::encoding::Decoder<'_, D>,
8458 offset: usize,
8459 _depth: fidl::encoding::Depth,
8460 ) -> fidl::Result<()> {
8461 decoder.debug_check_bounds::<Self>(offset);
8462 fidl::decode!(SetKeysConfirm, D, &mut self.conf, decoder, offset + 0, _depth)?;
8464 Ok(())
8465 }
8466 }
8467
8468 impl fidl::encoding::ValueTypeMarker for MlmeSetKeysReqRequest {
8469 type Borrowed<'a> = &'a Self;
8470 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8471 value
8472 }
8473 }
8474
8475 unsafe impl fidl::encoding::TypeMarker for MlmeSetKeysReqRequest {
8476 type Owned = Self;
8477
8478 #[inline(always)]
8479 fn inline_align(_context: fidl::encoding::Context) -> usize {
8480 8
8481 }
8482
8483 #[inline(always)]
8484 fn inline_size(_context: fidl::encoding::Context) -> usize {
8485 16
8486 }
8487 }
8488
8489 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeSetKeysReqRequest, D>
8490 for &MlmeSetKeysReqRequest
8491 {
8492 #[inline]
8493 unsafe fn encode(
8494 self,
8495 encoder: &mut fidl::encoding::Encoder<'_, D>,
8496 offset: usize,
8497 _depth: fidl::encoding::Depth,
8498 ) -> fidl::Result<()> {
8499 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8500 fidl::encoding::Encode::<MlmeSetKeysReqRequest, D>::encode(
8502 (<SetKeysRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8503 encoder,
8504 offset,
8505 _depth,
8506 )
8507 }
8508 }
8509 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<SetKeysRequest, D>>
8510 fidl::encoding::Encode<MlmeSetKeysReqRequest, D> for (T0,)
8511 {
8512 #[inline]
8513 unsafe fn encode(
8514 self,
8515 encoder: &mut fidl::encoding::Encoder<'_, D>,
8516 offset: usize,
8517 depth: fidl::encoding::Depth,
8518 ) -> fidl::Result<()> {
8519 encoder.debug_check_bounds::<MlmeSetKeysReqRequest>(offset);
8520 self.0.encode(encoder, offset + 0, depth)?;
8524 Ok(())
8525 }
8526 }
8527
8528 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeSetKeysReqRequest {
8529 #[inline(always)]
8530 fn new_empty() -> Self {
8531 Self { req: fidl::new_empty!(SetKeysRequest, D) }
8532 }
8533
8534 #[inline]
8535 unsafe fn decode(
8536 &mut self,
8537 decoder: &mut fidl::encoding::Decoder<'_, D>,
8538 offset: usize,
8539 _depth: fidl::encoding::Depth,
8540 ) -> fidl::Result<()> {
8541 decoder.debug_check_bounds::<Self>(offset);
8542 fidl::decode!(SetKeysRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8544 Ok(())
8545 }
8546 }
8547
8548 impl fidl::encoding::ValueTypeMarker for MlmeSignalReportRequest {
8549 type Borrowed<'a> = &'a Self;
8550 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8551 value
8552 }
8553 }
8554
8555 unsafe impl fidl::encoding::TypeMarker for MlmeSignalReportRequest {
8556 type Owned = Self;
8557
8558 #[inline(always)]
8559 fn inline_align(_context: fidl::encoding::Context) -> usize {
8560 1
8561 }
8562
8563 #[inline(always)]
8564 fn inline_size(_context: fidl::encoding::Context) -> usize {
8565 2
8566 }
8567 }
8568
8569 unsafe impl<D: fidl::encoding::ResourceDialect>
8570 fidl::encoding::Encode<MlmeSignalReportRequest, D> for &MlmeSignalReportRequest
8571 {
8572 #[inline]
8573 unsafe fn encode(
8574 self,
8575 encoder: &mut fidl::encoding::Encoder<'_, D>,
8576 offset: usize,
8577 _depth: fidl::encoding::Depth,
8578 ) -> fidl::Result<()> {
8579 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8580 fidl::encoding::Encode::<MlmeSignalReportRequest, D>::encode(
8582 (
8583 <fidl_fuchsia_wlan_internal__common::SignalReportIndication as fidl::encoding::ValueTypeMarker>::borrow(&self.ind),
8584 ),
8585 encoder, offset, _depth
8586 )
8587 }
8588 }
8589 unsafe impl<
8590 D: fidl::encoding::ResourceDialect,
8591 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::SignalReportIndication, D>,
8592 > fidl::encoding::Encode<MlmeSignalReportRequest, D> for (T0,)
8593 {
8594 #[inline]
8595 unsafe fn encode(
8596 self,
8597 encoder: &mut fidl::encoding::Encoder<'_, D>,
8598 offset: usize,
8599 depth: fidl::encoding::Depth,
8600 ) -> fidl::Result<()> {
8601 encoder.debug_check_bounds::<MlmeSignalReportRequest>(offset);
8602 self.0.encode(encoder, offset + 0, depth)?;
8606 Ok(())
8607 }
8608 }
8609
8610 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8611 for MlmeSignalReportRequest
8612 {
8613 #[inline(always)]
8614 fn new_empty() -> Self {
8615 Self {
8616 ind: fidl::new_empty!(
8617 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8618 D
8619 ),
8620 }
8621 }
8622
8623 #[inline]
8624 unsafe fn decode(
8625 &mut self,
8626 decoder: &mut fidl::encoding::Decoder<'_, D>,
8627 offset: usize,
8628 _depth: fidl::encoding::Depth,
8629 ) -> fidl::Result<()> {
8630 decoder.debug_check_bounds::<Self>(offset);
8631 fidl::decode!(
8633 fidl_fuchsia_wlan_internal__common::SignalReportIndication,
8634 D,
8635 &mut self.ind,
8636 decoder,
8637 offset + 0,
8638 _depth
8639 )?;
8640 Ok(())
8641 }
8642 }
8643
8644 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesRequest {
8645 type Borrowed<'a> = &'a Self;
8646 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8647 value
8648 }
8649 }
8650
8651 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesRequest {
8652 type Owned = Self;
8653
8654 #[inline(always)]
8655 fn inline_align(_context: fidl::encoding::Context) -> usize {
8656 4
8657 }
8658
8659 #[inline(always)]
8660 fn inline_size(_context: fidl::encoding::Context) -> usize {
8661 4
8662 }
8663 }
8664
8665 unsafe impl<D: fidl::encoding::ResourceDialect>
8666 fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D>
8667 for &MlmeStartCaptureFramesRequest
8668 {
8669 #[inline]
8670 unsafe fn encode(
8671 self,
8672 encoder: &mut fidl::encoding::Encoder<'_, D>,
8673 offset: usize,
8674 _depth: fidl::encoding::Depth,
8675 ) -> fidl::Result<()> {
8676 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8677 fidl::encoding::Encode::<MlmeStartCaptureFramesRequest, D>::encode(
8679 (<StartCaptureFramesRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8680 encoder,
8681 offset,
8682 _depth,
8683 )
8684 }
8685 }
8686 unsafe impl<
8687 D: fidl::encoding::ResourceDialect,
8688 T0: fidl::encoding::Encode<StartCaptureFramesRequest, D>,
8689 > fidl::encoding::Encode<MlmeStartCaptureFramesRequest, D> for (T0,)
8690 {
8691 #[inline]
8692 unsafe fn encode(
8693 self,
8694 encoder: &mut fidl::encoding::Encoder<'_, D>,
8695 offset: usize,
8696 depth: fidl::encoding::Depth,
8697 ) -> fidl::Result<()> {
8698 encoder.debug_check_bounds::<MlmeStartCaptureFramesRequest>(offset);
8699 self.0.encode(encoder, offset + 0, depth)?;
8703 Ok(())
8704 }
8705 }
8706
8707 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8708 for MlmeStartCaptureFramesRequest
8709 {
8710 #[inline(always)]
8711 fn new_empty() -> Self {
8712 Self { req: fidl::new_empty!(StartCaptureFramesRequest, D) }
8713 }
8714
8715 #[inline]
8716 unsafe fn decode(
8717 &mut self,
8718 decoder: &mut fidl::encoding::Decoder<'_, D>,
8719 offset: usize,
8720 _depth: fidl::encoding::Depth,
8721 ) -> fidl::Result<()> {
8722 decoder.debug_check_bounds::<Self>(offset);
8723 fidl::decode!(
8725 StartCaptureFramesRequest,
8726 D,
8727 &mut self.req,
8728 decoder,
8729 offset + 0,
8730 _depth
8731 )?;
8732 Ok(())
8733 }
8734 }
8735
8736 impl fidl::encoding::ValueTypeMarker for MlmeStartCaptureFramesResponse {
8737 type Borrowed<'a> = &'a Self;
8738 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8739 value
8740 }
8741 }
8742
8743 unsafe impl fidl::encoding::TypeMarker for MlmeStartCaptureFramesResponse {
8744 type Owned = Self;
8745
8746 #[inline(always)]
8747 fn inline_align(_context: fidl::encoding::Context) -> usize {
8748 4
8749 }
8750
8751 #[inline(always)]
8752 fn inline_size(_context: fidl::encoding::Context) -> usize {
8753 8
8754 }
8755 }
8756
8757 unsafe impl<D: fidl::encoding::ResourceDialect>
8758 fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D>
8759 for &MlmeStartCaptureFramesResponse
8760 {
8761 #[inline]
8762 unsafe fn encode(
8763 self,
8764 encoder: &mut fidl::encoding::Encoder<'_, D>,
8765 offset: usize,
8766 _depth: fidl::encoding::Depth,
8767 ) -> fidl::Result<()> {
8768 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8769 fidl::encoding::Encode::<MlmeStartCaptureFramesResponse, D>::encode(
8771 (<StartCaptureFramesResponse as fidl::encoding::ValueTypeMarker>::borrow(
8772 &self.resp,
8773 ),),
8774 encoder,
8775 offset,
8776 _depth,
8777 )
8778 }
8779 }
8780 unsafe impl<
8781 D: fidl::encoding::ResourceDialect,
8782 T0: fidl::encoding::Encode<StartCaptureFramesResponse, D>,
8783 > fidl::encoding::Encode<MlmeStartCaptureFramesResponse, D> for (T0,)
8784 {
8785 #[inline]
8786 unsafe fn encode(
8787 self,
8788 encoder: &mut fidl::encoding::Encoder<'_, D>,
8789 offset: usize,
8790 depth: fidl::encoding::Depth,
8791 ) -> fidl::Result<()> {
8792 encoder.debug_check_bounds::<MlmeStartCaptureFramesResponse>(offset);
8793 self.0.encode(encoder, offset + 0, depth)?;
8797 Ok(())
8798 }
8799 }
8800
8801 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
8802 for MlmeStartCaptureFramesResponse
8803 {
8804 #[inline(always)]
8805 fn new_empty() -> Self {
8806 Self { resp: fidl::new_empty!(StartCaptureFramesResponse, D) }
8807 }
8808
8809 #[inline]
8810 unsafe fn decode(
8811 &mut self,
8812 decoder: &mut fidl::encoding::Decoder<'_, D>,
8813 offset: usize,
8814 _depth: fidl::encoding::Depth,
8815 ) -> fidl::Result<()> {
8816 decoder.debug_check_bounds::<Self>(offset);
8817 fidl::decode!(
8819 StartCaptureFramesResponse,
8820 D,
8821 &mut self.resp,
8822 decoder,
8823 offset + 0,
8824 _depth
8825 )?;
8826 Ok(())
8827 }
8828 }
8829
8830 impl fidl::encoding::ValueTypeMarker for MlmeStartConfRequest {
8831 type Borrowed<'a> = &'a Self;
8832 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8833 value
8834 }
8835 }
8836
8837 unsafe impl fidl::encoding::TypeMarker for MlmeStartConfRequest {
8838 type Owned = Self;
8839
8840 #[inline(always)]
8841 fn inline_align(_context: fidl::encoding::Context) -> usize {
8842 4
8843 }
8844
8845 #[inline(always)]
8846 fn inline_size(_context: fidl::encoding::Context) -> usize {
8847 4
8848 }
8849 }
8850
8851 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartConfRequest, D>
8852 for &MlmeStartConfRequest
8853 {
8854 #[inline]
8855 unsafe fn encode(
8856 self,
8857 encoder: &mut fidl::encoding::Encoder<'_, D>,
8858 offset: usize,
8859 _depth: fidl::encoding::Depth,
8860 ) -> fidl::Result<()> {
8861 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8862 fidl::encoding::Encode::<MlmeStartConfRequest, D>::encode(
8864 (<StartConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
8865 encoder,
8866 offset,
8867 _depth,
8868 )
8869 }
8870 }
8871 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartConfirm, D>>
8872 fidl::encoding::Encode<MlmeStartConfRequest, D> for (T0,)
8873 {
8874 #[inline]
8875 unsafe fn encode(
8876 self,
8877 encoder: &mut fidl::encoding::Encoder<'_, D>,
8878 offset: usize,
8879 depth: fidl::encoding::Depth,
8880 ) -> fidl::Result<()> {
8881 encoder.debug_check_bounds::<MlmeStartConfRequest>(offset);
8882 self.0.encode(encoder, offset + 0, depth)?;
8886 Ok(())
8887 }
8888 }
8889
8890 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartConfRequest {
8891 #[inline(always)]
8892 fn new_empty() -> Self {
8893 Self { resp: fidl::new_empty!(StartConfirm, D) }
8894 }
8895
8896 #[inline]
8897 unsafe fn decode(
8898 &mut self,
8899 decoder: &mut fidl::encoding::Decoder<'_, D>,
8900 offset: usize,
8901 _depth: fidl::encoding::Depth,
8902 ) -> fidl::Result<()> {
8903 decoder.debug_check_bounds::<Self>(offset);
8904 fidl::decode!(StartConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
8906 Ok(())
8907 }
8908 }
8909
8910 impl fidl::encoding::ValueTypeMarker for MlmeStartReqRequest {
8911 type Borrowed<'a> = &'a Self;
8912 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8913 value
8914 }
8915 }
8916
8917 unsafe impl fidl::encoding::TypeMarker for MlmeStartReqRequest {
8918 type Owned = Self;
8919
8920 #[inline(always)]
8921 fn inline_align(_context: fidl::encoding::Context) -> usize {
8922 8
8923 }
8924
8925 #[inline(always)]
8926 fn inline_size(_context: fidl::encoding::Context) -> usize {
8927 96
8928 }
8929 }
8930
8931 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartReqRequest, D>
8932 for &MlmeStartReqRequest
8933 {
8934 #[inline]
8935 unsafe fn encode(
8936 self,
8937 encoder: &mut fidl::encoding::Encoder<'_, D>,
8938 offset: usize,
8939 _depth: fidl::encoding::Depth,
8940 ) -> fidl::Result<()> {
8941 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
8942 fidl::encoding::Encode::<MlmeStartReqRequest, D>::encode(
8944 (<StartRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
8945 encoder,
8946 offset,
8947 _depth,
8948 )
8949 }
8950 }
8951 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartRequest, D>>
8952 fidl::encoding::Encode<MlmeStartReqRequest, D> for (T0,)
8953 {
8954 #[inline]
8955 unsafe fn encode(
8956 self,
8957 encoder: &mut fidl::encoding::Encoder<'_, D>,
8958 offset: usize,
8959 depth: fidl::encoding::Depth,
8960 ) -> fidl::Result<()> {
8961 encoder.debug_check_bounds::<MlmeStartReqRequest>(offset);
8962 self.0.encode(encoder, offset + 0, depth)?;
8966 Ok(())
8967 }
8968 }
8969
8970 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartReqRequest {
8971 #[inline(always)]
8972 fn new_empty() -> Self {
8973 Self { req: fidl::new_empty!(StartRequest, D) }
8974 }
8975
8976 #[inline]
8977 unsafe fn decode(
8978 &mut self,
8979 decoder: &mut fidl::encoding::Decoder<'_, D>,
8980 offset: usize,
8981 _depth: fidl::encoding::Depth,
8982 ) -> fidl::Result<()> {
8983 decoder.debug_check_bounds::<Self>(offset);
8984 fidl::decode!(StartRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
8986 Ok(())
8987 }
8988 }
8989
8990 impl fidl::encoding::ValueTypeMarker for MlmeStartScanRequest {
8991 type Borrowed<'a> = &'a Self;
8992 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
8993 value
8994 }
8995 }
8996
8997 unsafe impl fidl::encoding::TypeMarker for MlmeStartScanRequest {
8998 type Owned = Self;
8999
9000 #[inline(always)]
9001 fn inline_align(_context: fidl::encoding::Context) -> usize {
9002 8
9003 }
9004
9005 #[inline(always)]
9006 fn inline_size(_context: fidl::encoding::Context) -> usize {
9007 64
9008 }
9009 }
9010
9011 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStartScanRequest, D>
9012 for &MlmeStartScanRequest
9013 {
9014 #[inline]
9015 unsafe fn encode(
9016 self,
9017 encoder: &mut fidl::encoding::Encoder<'_, D>,
9018 offset: usize,
9019 _depth: fidl::encoding::Depth,
9020 ) -> fidl::Result<()> {
9021 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9022 fidl::encoding::Encode::<MlmeStartScanRequest, D>::encode(
9024 (<ScanRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9025 encoder,
9026 offset,
9027 _depth,
9028 )
9029 }
9030 }
9031 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ScanRequest, D>>
9032 fidl::encoding::Encode<MlmeStartScanRequest, D> for (T0,)
9033 {
9034 #[inline]
9035 unsafe fn encode(
9036 self,
9037 encoder: &mut fidl::encoding::Encoder<'_, D>,
9038 offset: usize,
9039 depth: fidl::encoding::Depth,
9040 ) -> fidl::Result<()> {
9041 encoder.debug_check_bounds::<MlmeStartScanRequest>(offset);
9042 self.0.encode(encoder, offset + 0, depth)?;
9046 Ok(())
9047 }
9048 }
9049
9050 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStartScanRequest {
9051 #[inline(always)]
9052 fn new_empty() -> Self {
9053 Self { req: fidl::new_empty!(ScanRequest, 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!(ScanRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9066 Ok(())
9067 }
9068 }
9069
9070 impl fidl::encoding::ValueTypeMarker for MlmeStopConfRequest {
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 MlmeStopConfRequest {
9078 type Owned = Self;
9079
9080 #[inline(always)]
9081 fn inline_align(_context: fidl::encoding::Context) -> usize {
9082 4
9083 }
9084
9085 #[inline(always)]
9086 fn inline_size(_context: fidl::encoding::Context) -> usize {
9087 4
9088 }
9089 }
9090
9091 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopConfRequest, D>
9092 for &MlmeStopConfRequest
9093 {
9094 #[inline]
9095 unsafe fn encode(
9096 self,
9097 encoder: &mut fidl::encoding::Encoder<'_, D>,
9098 offset: usize,
9099 _depth: fidl::encoding::Depth,
9100 ) -> fidl::Result<()> {
9101 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9102 fidl::encoding::Encode::<MlmeStopConfRequest, D>::encode(
9104 (<StopConfirm as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
9105 encoder,
9106 offset,
9107 _depth,
9108 )
9109 }
9110 }
9111 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopConfirm, D>>
9112 fidl::encoding::Encode<MlmeStopConfRequest, D> for (T0,)
9113 {
9114 #[inline]
9115 unsafe fn encode(
9116 self,
9117 encoder: &mut fidl::encoding::Encoder<'_, D>,
9118 offset: usize,
9119 depth: fidl::encoding::Depth,
9120 ) -> fidl::Result<()> {
9121 encoder.debug_check_bounds::<MlmeStopConfRequest>(offset);
9122 self.0.encode(encoder, offset + 0, depth)?;
9126 Ok(())
9127 }
9128 }
9129
9130 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopConfRequest {
9131 #[inline(always)]
9132 fn new_empty() -> Self {
9133 Self { resp: fidl::new_empty!(StopConfirm, D) }
9134 }
9135
9136 #[inline]
9137 unsafe fn decode(
9138 &mut self,
9139 decoder: &mut fidl::encoding::Decoder<'_, D>,
9140 offset: usize,
9141 _depth: fidl::encoding::Depth,
9142 ) -> fidl::Result<()> {
9143 decoder.debug_check_bounds::<Self>(offset);
9144 fidl::decode!(StopConfirm, D, &mut self.resp, decoder, offset + 0, _depth)?;
9146 Ok(())
9147 }
9148 }
9149
9150 impl fidl::encoding::ValueTypeMarker for MlmeStopReqRequest {
9151 type Borrowed<'a> = &'a Self;
9152 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9153 value
9154 }
9155 }
9156
9157 unsafe impl fidl::encoding::TypeMarker for MlmeStopReqRequest {
9158 type Owned = Self;
9159
9160 #[inline(always)]
9161 fn inline_align(_context: fidl::encoding::Context) -> usize {
9162 8
9163 }
9164
9165 #[inline(always)]
9166 fn inline_size(_context: fidl::encoding::Context) -> usize {
9167 16
9168 }
9169 }
9170
9171 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<MlmeStopReqRequest, D>
9172 for &MlmeStopReqRequest
9173 {
9174 #[inline]
9175 unsafe fn encode(
9176 self,
9177 encoder: &mut fidl::encoding::Encoder<'_, D>,
9178 offset: usize,
9179 _depth: fidl::encoding::Depth,
9180 ) -> fidl::Result<()> {
9181 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9182 fidl::encoding::Encode::<MlmeStopReqRequest, D>::encode(
9184 (<StopRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
9185 encoder,
9186 offset,
9187 _depth,
9188 )
9189 }
9190 }
9191 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopRequest, D>>
9192 fidl::encoding::Encode<MlmeStopReqRequest, D> for (T0,)
9193 {
9194 #[inline]
9195 unsafe fn encode(
9196 self,
9197 encoder: &mut fidl::encoding::Encoder<'_, D>,
9198 offset: usize,
9199 depth: fidl::encoding::Depth,
9200 ) -> fidl::Result<()> {
9201 encoder.debug_check_bounds::<MlmeStopReqRequest>(offset);
9202 self.0.encode(encoder, offset + 0, depth)?;
9206 Ok(())
9207 }
9208 }
9209
9210 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for MlmeStopReqRequest {
9211 #[inline(always)]
9212 fn new_empty() -> Self {
9213 Self { req: fidl::new_empty!(StopRequest, D) }
9214 }
9215
9216 #[inline]
9217 unsafe fn decode(
9218 &mut self,
9219 decoder: &mut fidl::encoding::Decoder<'_, D>,
9220 offset: usize,
9221 _depth: fidl::encoding::Depth,
9222 ) -> fidl::Result<()> {
9223 decoder.debug_check_bounds::<Self>(offset);
9224 fidl::decode!(StopRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
9226 Ok(())
9227 }
9228 }
9229
9230 impl fidl::encoding::ValueTypeMarker for NegotiatedCapabilities {
9231 type Borrowed<'a> = &'a Self;
9232 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9233 value
9234 }
9235 }
9236
9237 unsafe impl fidl::encoding::TypeMarker for NegotiatedCapabilities {
9238 type Owned = Self;
9239
9240 #[inline(always)]
9241 fn inline_align(_context: fidl::encoding::Context) -> usize {
9242 8
9243 }
9244
9245 #[inline(always)]
9246 fn inline_size(_context: fidl::encoding::Context) -> usize {
9247 56
9248 }
9249 }
9250
9251 unsafe impl<D: fidl::encoding::ResourceDialect>
9252 fidl::encoding::Encode<NegotiatedCapabilities, D> for &NegotiatedCapabilities
9253 {
9254 #[inline]
9255 unsafe fn encode(
9256 self,
9257 encoder: &mut fidl::encoding::Encoder<'_, D>,
9258 offset: usize,
9259 _depth: fidl::encoding::Depth,
9260 ) -> fidl::Result<()> {
9261 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9262 fidl::encoding::Encode::<NegotiatedCapabilities, D>::encode(
9264 (
9265 <fidl_fuchsia_wlan_ieee80211__common::WlanChannel as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
9266 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
9267 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
9268 <fidl::encoding::Boxed<WmmParameter> as fidl::encoding::ValueTypeMarker>::borrow(&self.wmm_param),
9269 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.ht_cap),
9270 <fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities> as fidl::encoding::ValueTypeMarker>::borrow(&self.vht_cap),
9271 ),
9272 encoder, offset, _depth
9273 )
9274 }
9275 }
9276 unsafe impl<
9277 D: fidl::encoding::ResourceDialect,
9278 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D>,
9279 T1: fidl::encoding::Encode<u16, D>,
9280 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
9281 T3: fidl::encoding::Encode<fidl::encoding::Boxed<WmmParameter>, D>,
9282 T4: fidl::encoding::Encode<
9283 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9284 D,
9285 >,
9286 T5: fidl::encoding::Encode<
9287 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9288 D,
9289 >,
9290 > fidl::encoding::Encode<NegotiatedCapabilities, D> for (T0, T1, T2, T3, T4, T5)
9291 {
9292 #[inline]
9293 unsafe fn encode(
9294 self,
9295 encoder: &mut fidl::encoding::Encoder<'_, D>,
9296 offset: usize,
9297 depth: fidl::encoding::Depth,
9298 ) -> fidl::Result<()> {
9299 encoder.debug_check_bounds::<NegotiatedCapabilities>(offset);
9300 unsafe {
9303 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9304 (ptr as *mut u64).write_unaligned(0);
9305 }
9306 self.0.encode(encoder, offset + 0, depth)?;
9308 self.1.encode(encoder, offset + 12, depth)?;
9309 self.2.encode(encoder, offset + 16, depth)?;
9310 self.3.encode(encoder, offset + 32, depth)?;
9311 self.4.encode(encoder, offset + 40, depth)?;
9312 self.5.encode(encoder, offset + 48, depth)?;
9313 Ok(())
9314 }
9315 }
9316
9317 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
9318 for NegotiatedCapabilities
9319 {
9320 #[inline(always)]
9321 fn new_empty() -> Self {
9322 Self {
9323 channel: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::WlanChannel, D),
9324 capability_info: fidl::new_empty!(u16, D),
9325 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
9326 wmm_param: fidl::new_empty!(fidl::encoding::Boxed<WmmParameter>, D),
9327 ht_cap: fidl::new_empty!(
9328 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9329 D
9330 ),
9331 vht_cap: fidl::new_empty!(
9332 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9333 D
9334 ),
9335 }
9336 }
9337
9338 #[inline]
9339 unsafe fn decode(
9340 &mut self,
9341 decoder: &mut fidl::encoding::Decoder<'_, D>,
9342 offset: usize,
9343 _depth: fidl::encoding::Depth,
9344 ) -> fidl::Result<()> {
9345 decoder.debug_check_bounds::<Self>(offset);
9346 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9348 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9349 let mask = 0xffff000000000000u64;
9350 let maskedval = padval & mask;
9351 if maskedval != 0 {
9352 return Err(fidl::Error::NonZeroPadding {
9353 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9354 });
9355 }
9356 fidl::decode!(
9357 fidl_fuchsia_wlan_ieee80211__common::WlanChannel,
9358 D,
9359 &mut self.channel,
9360 decoder,
9361 offset + 0,
9362 _depth
9363 )?;
9364 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 12, _depth)?;
9365 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 16, _depth)?;
9366 fidl::decode!(
9367 fidl::encoding::Boxed<WmmParameter>,
9368 D,
9369 &mut self.wmm_param,
9370 decoder,
9371 offset + 32,
9372 _depth
9373 )?;
9374 fidl::decode!(
9375 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::HtCapabilities>,
9376 D,
9377 &mut self.ht_cap,
9378 decoder,
9379 offset + 40,
9380 _depth
9381 )?;
9382 fidl::decode!(
9383 fidl::encoding::Boxed<fidl_fuchsia_wlan_ieee80211__common::VhtCapabilities>,
9384 D,
9385 &mut self.vht_cap,
9386 decoder,
9387 offset + 48,
9388 _depth
9389 )?;
9390 Ok(())
9391 }
9392 }
9393
9394 impl fidl::encoding::ValueTypeMarker for PmkInfo {
9395 type Borrowed<'a> = &'a Self;
9396 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9397 value
9398 }
9399 }
9400
9401 unsafe impl fidl::encoding::TypeMarker for PmkInfo {
9402 type Owned = Self;
9403
9404 #[inline(always)]
9405 fn inline_align(_context: fidl::encoding::Context) -> usize {
9406 8
9407 }
9408
9409 #[inline(always)]
9410 fn inline_size(_context: fidl::encoding::Context) -> usize {
9411 32
9412 }
9413 }
9414
9415 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PmkInfo, D> for &PmkInfo {
9416 #[inline]
9417 unsafe fn encode(
9418 self,
9419 encoder: &mut fidl::encoding::Encoder<'_, D>,
9420 offset: usize,
9421 _depth: fidl::encoding::Depth,
9422 ) -> fidl::Result<()> {
9423 encoder.debug_check_bounds::<PmkInfo>(offset);
9424 fidl::encoding::Encode::<PmkInfo, D>::encode(
9426 (
9427 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmk),
9428 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.pmkid),
9429 ),
9430 encoder, offset, _depth
9431 )
9432 }
9433 }
9434 unsafe impl<
9435 D: fidl::encoding::ResourceDialect,
9436 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9437 T1: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9438 > fidl::encoding::Encode<PmkInfo, D> for (T0, T1)
9439 {
9440 #[inline]
9441 unsafe fn encode(
9442 self,
9443 encoder: &mut fidl::encoding::Encoder<'_, D>,
9444 offset: usize,
9445 depth: fidl::encoding::Depth,
9446 ) -> fidl::Result<()> {
9447 encoder.debug_check_bounds::<PmkInfo>(offset);
9448 self.0.encode(encoder, offset + 0, depth)?;
9452 self.1.encode(encoder, offset + 16, depth)?;
9453 Ok(())
9454 }
9455 }
9456
9457 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PmkInfo {
9458 #[inline(always)]
9459 fn new_empty() -> Self {
9460 Self {
9461 pmk: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9462 pmkid: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9463 }
9464 }
9465
9466 #[inline]
9467 unsafe fn decode(
9468 &mut self,
9469 decoder: &mut fidl::encoding::Decoder<'_, D>,
9470 offset: usize,
9471 _depth: fidl::encoding::Depth,
9472 ) -> fidl::Result<()> {
9473 decoder.debug_check_bounds::<Self>(offset);
9474 fidl::decode!(
9476 fidl::encoding::UnboundedVector<u8>,
9477 D,
9478 &mut self.pmk,
9479 decoder,
9480 offset + 0,
9481 _depth
9482 )?;
9483 fidl::decode!(
9484 fidl::encoding::UnboundedVector<u8>,
9485 D,
9486 &mut self.pmkid,
9487 decoder,
9488 offset + 16,
9489 _depth
9490 )?;
9491 Ok(())
9492 }
9493 }
9494
9495 impl fidl::encoding::ValueTypeMarker for ReconnectRequest {
9496 type Borrowed<'a> = &'a Self;
9497 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9498 value
9499 }
9500 }
9501
9502 unsafe impl fidl::encoding::TypeMarker for ReconnectRequest {
9503 type Owned = Self;
9504
9505 #[inline(always)]
9506 fn inline_align(_context: fidl::encoding::Context) -> usize {
9507 1
9508 }
9509
9510 #[inline(always)]
9511 fn inline_size(_context: fidl::encoding::Context) -> usize {
9512 6
9513 }
9514 #[inline(always)]
9515 fn encode_is_copy() -> bool {
9516 true
9517 }
9518
9519 #[inline(always)]
9520 fn decode_is_copy() -> bool {
9521 true
9522 }
9523 }
9524
9525 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ReconnectRequest, D>
9526 for &ReconnectRequest
9527 {
9528 #[inline]
9529 unsafe fn encode(
9530 self,
9531 encoder: &mut fidl::encoding::Encoder<'_, D>,
9532 offset: usize,
9533 _depth: fidl::encoding::Depth,
9534 ) -> fidl::Result<()> {
9535 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9536 unsafe {
9537 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
9539 (buf_ptr as *mut ReconnectRequest)
9540 .write_unaligned((self as *const ReconnectRequest).read());
9541 }
9544 Ok(())
9545 }
9546 }
9547 unsafe impl<
9548 D: fidl::encoding::ResourceDialect,
9549 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9550 > fidl::encoding::Encode<ReconnectRequest, D> for (T0,)
9551 {
9552 #[inline]
9553 unsafe fn encode(
9554 self,
9555 encoder: &mut fidl::encoding::Encoder<'_, D>,
9556 offset: usize,
9557 depth: fidl::encoding::Depth,
9558 ) -> fidl::Result<()> {
9559 encoder.debug_check_bounds::<ReconnectRequest>(offset);
9560 self.0.encode(encoder, offset + 0, depth)?;
9564 Ok(())
9565 }
9566 }
9567
9568 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReconnectRequest {
9569 #[inline(always)]
9570 fn new_empty() -> Self {
9571 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
9572 }
9573
9574 #[inline]
9575 unsafe fn decode(
9576 &mut self,
9577 decoder: &mut fidl::encoding::Decoder<'_, D>,
9578 offset: usize,
9579 _depth: fidl::encoding::Depth,
9580 ) -> fidl::Result<()> {
9581 decoder.debug_check_bounds::<Self>(offset);
9582 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
9583 unsafe {
9586 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
9587 }
9588 Ok(())
9589 }
9590 }
9591
9592 impl fidl::encoding::ValueTypeMarker for ResetRequest {
9593 type Borrowed<'a> = &'a Self;
9594 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9595 value
9596 }
9597 }
9598
9599 unsafe impl fidl::encoding::TypeMarker for ResetRequest {
9600 type Owned = Self;
9601
9602 #[inline(always)]
9603 fn inline_align(_context: fidl::encoding::Context) -> usize {
9604 1
9605 }
9606
9607 #[inline(always)]
9608 fn inline_size(_context: fidl::encoding::Context) -> usize {
9609 7
9610 }
9611 }
9612
9613 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ResetRequest, D>
9614 for &ResetRequest
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::<ResetRequest>(offset);
9624 fidl::encoding::Encode::<ResetRequest, D>::encode(
9626 (
9627 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
9628 &self.sta_address,
9629 ),
9630 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.set_default_mib),
9631 ),
9632 encoder,
9633 offset,
9634 _depth,
9635 )
9636 }
9637 }
9638 unsafe impl<
9639 D: fidl::encoding::ResourceDialect,
9640 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9641 T1: fidl::encoding::Encode<bool, D>,
9642 > fidl::encoding::Encode<ResetRequest, D> for (T0, T1)
9643 {
9644 #[inline]
9645 unsafe fn encode(
9646 self,
9647 encoder: &mut fidl::encoding::Encoder<'_, D>,
9648 offset: usize,
9649 depth: fidl::encoding::Depth,
9650 ) -> fidl::Result<()> {
9651 encoder.debug_check_bounds::<ResetRequest>(offset);
9652 self.0.encode(encoder, offset + 0, depth)?;
9656 self.1.encode(encoder, offset + 6, depth)?;
9657 Ok(())
9658 }
9659 }
9660
9661 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ResetRequest {
9662 #[inline(always)]
9663 fn new_empty() -> Self {
9664 Self {
9665 sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9666 set_default_mib: fidl::new_empty!(bool, D),
9667 }
9668 }
9669
9670 #[inline]
9671 unsafe fn decode(
9672 &mut self,
9673 decoder: &mut fidl::encoding::Decoder<'_, D>,
9674 offset: usize,
9675 _depth: fidl::encoding::Depth,
9676 ) -> fidl::Result<()> {
9677 decoder.debug_check_bounds::<Self>(offset);
9678 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_address, decoder, offset + 0, _depth)?;
9680 fidl::decode!(bool, D, &mut self.set_default_mib, decoder, offset + 6, _depth)?;
9681 Ok(())
9682 }
9683 }
9684
9685 impl fidl::encoding::ValueTypeMarker for RoamConfirm {
9686 type Borrowed<'a> = &'a Self;
9687 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9688 value
9689 }
9690 }
9691
9692 unsafe impl fidl::encoding::TypeMarker for RoamConfirm {
9693 type Owned = Self;
9694
9695 #[inline(always)]
9696 fn inline_align(_context: fidl::encoding::Context) -> usize {
9697 8
9698 }
9699
9700 #[inline(always)]
9701 fn inline_size(_context: fidl::encoding::Context) -> usize {
9702 32
9703 }
9704 }
9705
9706 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamConfirm, D>
9707 for &RoamConfirm
9708 {
9709 #[inline]
9710 unsafe fn encode(
9711 self,
9712 encoder: &mut fidl::encoding::Encoder<'_, D>,
9713 offset: usize,
9714 _depth: fidl::encoding::Depth,
9715 ) -> fidl::Result<()> {
9716 encoder.debug_check_bounds::<RoamConfirm>(offset);
9717 fidl::encoding::Encode::<RoamConfirm, D>::encode(
9719 (
9720 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
9721 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
9722 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
9723 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
9724 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
9725 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
9726 ),
9727 encoder, offset, _depth
9728 )
9729 }
9730 }
9731 unsafe impl<
9732 D: fidl::encoding::ResourceDialect,
9733 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9734 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
9735 T2: fidl::encoding::Encode<bool, D>,
9736 T3: fidl::encoding::Encode<bool, D>,
9737 T4: fidl::encoding::Encode<u16, D>,
9738 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9739 > fidl::encoding::Encode<RoamConfirm, D> for (T0, T1, T2, T3, T4, T5)
9740 {
9741 #[inline]
9742 unsafe fn encode(
9743 self,
9744 encoder: &mut fidl::encoding::Encoder<'_, D>,
9745 offset: usize,
9746 depth: fidl::encoding::Depth,
9747 ) -> fidl::Result<()> {
9748 encoder.debug_check_bounds::<RoamConfirm>(offset);
9749 unsafe {
9752 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9753 (ptr as *mut u64).write_unaligned(0);
9754 }
9755 self.0.encode(encoder, offset + 0, depth)?;
9757 self.1.encode(encoder, offset + 6, depth)?;
9758 self.2.encode(encoder, offset + 8, depth)?;
9759 self.3.encode(encoder, offset + 9, depth)?;
9760 self.4.encode(encoder, offset + 10, depth)?;
9761 self.5.encode(encoder, offset + 16, depth)?;
9762 Ok(())
9763 }
9764 }
9765
9766 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamConfirm {
9767 #[inline(always)]
9768 fn new_empty() -> Self {
9769 Self {
9770 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
9771 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
9772 original_association_maintained: fidl::new_empty!(bool, D),
9773 target_bss_authenticated: fidl::new_empty!(bool, D),
9774 association_id: fidl::new_empty!(u16, D),
9775 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
9776 }
9777 }
9778
9779 #[inline]
9780 unsafe fn decode(
9781 &mut self,
9782 decoder: &mut fidl::encoding::Decoder<'_, D>,
9783 offset: usize,
9784 _depth: fidl::encoding::Depth,
9785 ) -> fidl::Result<()> {
9786 decoder.debug_check_bounds::<Self>(offset);
9787 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
9789 let padval = unsafe { (ptr as *const u64).read_unaligned() };
9790 let mask = 0xffffffff00000000u64;
9791 let maskedval = padval & mask;
9792 if maskedval != 0 {
9793 return Err(fidl::Error::NonZeroPadding {
9794 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
9795 });
9796 }
9797 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
9798 fidl::decode!(
9799 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
9800 D,
9801 &mut self.status_code,
9802 decoder,
9803 offset + 6,
9804 _depth
9805 )?;
9806 fidl::decode!(
9807 bool,
9808 D,
9809 &mut self.original_association_maintained,
9810 decoder,
9811 offset + 8,
9812 _depth
9813 )?;
9814 fidl::decode!(
9815 bool,
9816 D,
9817 &mut self.target_bss_authenticated,
9818 decoder,
9819 offset + 9,
9820 _depth
9821 )?;
9822 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
9823 fidl::decode!(
9824 fidl::encoding::UnboundedVector<u8>,
9825 D,
9826 &mut self.association_ies,
9827 decoder,
9828 offset + 16,
9829 _depth
9830 )?;
9831 Ok(())
9832 }
9833 }
9834
9835 impl fidl::encoding::ValueTypeMarker for RoamRequest {
9836 type Borrowed<'a> = &'a Self;
9837 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9838 value
9839 }
9840 }
9841
9842 unsafe impl fidl::encoding::TypeMarker for RoamRequest {
9843 type Owned = Self;
9844
9845 #[inline(always)]
9846 fn inline_align(_context: fidl::encoding::Context) -> usize {
9847 8
9848 }
9849
9850 #[inline(always)]
9851 fn inline_size(_context: fidl::encoding::Context) -> usize {
9852 48
9853 }
9854 }
9855
9856 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamRequest, D>
9857 for &RoamRequest
9858 {
9859 #[inline]
9860 unsafe fn encode(
9861 self,
9862 encoder: &mut fidl::encoding::Encoder<'_, D>,
9863 offset: usize,
9864 _depth: fidl::encoding::Depth,
9865 ) -> fidl::Result<()> {
9866 encoder.debug_check_bounds::<RoamRequest>(offset);
9867 fidl::encoding::Encode::<RoamRequest, D>::encode(
9869 (
9870 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
9871 ),
9872 encoder, offset, _depth
9873 )
9874 }
9875 }
9876 unsafe impl<
9877 D: fidl::encoding::ResourceDialect,
9878 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
9879 > fidl::encoding::Encode<RoamRequest, D> for (T0,)
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::<RoamRequest>(offset);
9889 self.0.encode(encoder, offset + 0, depth)?;
9893 Ok(())
9894 }
9895 }
9896
9897 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamRequest {
9898 #[inline(always)]
9899 fn new_empty() -> Self {
9900 Self {
9901 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
9902 }
9903 }
9904
9905 #[inline]
9906 unsafe fn decode(
9907 &mut self,
9908 decoder: &mut fidl::encoding::Decoder<'_, D>,
9909 offset: usize,
9910 _depth: fidl::encoding::Depth,
9911 ) -> fidl::Result<()> {
9912 decoder.debug_check_bounds::<Self>(offset);
9913 fidl::decode!(
9915 fidl_fuchsia_wlan_common__common::BssDescription,
9916 D,
9917 &mut self.selected_bss,
9918 decoder,
9919 offset + 0,
9920 _depth
9921 )?;
9922 Ok(())
9923 }
9924 }
9925
9926 impl fidl::encoding::ValueTypeMarker for RoamResultIndication {
9927 type Borrowed<'a> = &'a Self;
9928 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
9929 value
9930 }
9931 }
9932
9933 unsafe impl fidl::encoding::TypeMarker for RoamResultIndication {
9934 type Owned = Self;
9935
9936 #[inline(always)]
9937 fn inline_align(_context: fidl::encoding::Context) -> usize {
9938 8
9939 }
9940
9941 #[inline(always)]
9942 fn inline_size(_context: fidl::encoding::Context) -> usize {
9943 32
9944 }
9945 }
9946
9947 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamResultIndication, D>
9948 for &RoamResultIndication
9949 {
9950 #[inline]
9951 unsafe fn encode(
9952 self,
9953 encoder: &mut fidl::encoding::Encoder<'_, D>,
9954 offset: usize,
9955 _depth: fidl::encoding::Depth,
9956 ) -> fidl::Result<()> {
9957 encoder.debug_check_bounds::<RoamResultIndication>(offset);
9958 fidl::encoding::Encode::<RoamResultIndication, D>::encode(
9960 (
9961 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
9962 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
9963 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
9964 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.target_bss_authenticated),
9965 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.association_id),
9966 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.association_ies),
9967 ),
9968 encoder, offset, _depth
9969 )
9970 }
9971 }
9972 unsafe impl<
9973 D: fidl::encoding::ResourceDialect,
9974 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
9975 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
9976 T2: fidl::encoding::Encode<bool, D>,
9977 T3: fidl::encoding::Encode<bool, D>,
9978 T4: fidl::encoding::Encode<u16, D>,
9979 T5: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
9980 > fidl::encoding::Encode<RoamResultIndication, D> for (T0, T1, T2, T3, T4, T5)
9981 {
9982 #[inline]
9983 unsafe fn encode(
9984 self,
9985 encoder: &mut fidl::encoding::Encoder<'_, D>,
9986 offset: usize,
9987 depth: fidl::encoding::Depth,
9988 ) -> fidl::Result<()> {
9989 encoder.debug_check_bounds::<RoamResultIndication>(offset);
9990 unsafe {
9993 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
9994 (ptr as *mut u64).write_unaligned(0);
9995 }
9996 self.0.encode(encoder, offset + 0, depth)?;
9998 self.1.encode(encoder, offset + 6, depth)?;
9999 self.2.encode(encoder, offset + 8, depth)?;
10000 self.3.encode(encoder, offset + 9, depth)?;
10001 self.4.encode(encoder, offset + 10, depth)?;
10002 self.5.encode(encoder, offset + 16, depth)?;
10003 Ok(())
10004 }
10005 }
10006
10007 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamResultIndication {
10008 #[inline(always)]
10009 fn new_empty() -> Self {
10010 Self {
10011 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10012 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10013 original_association_maintained: fidl::new_empty!(bool, D),
10014 target_bss_authenticated: fidl::new_empty!(bool, D),
10015 association_id: fidl::new_empty!(u16, D),
10016 association_ies: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10017 }
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 ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10030 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10031 let mask = 0xffffffff00000000u64;
10032 let maskedval = padval & mask;
10033 if maskedval != 0 {
10034 return Err(fidl::Error::NonZeroPadding {
10035 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10036 });
10037 }
10038 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10039 fidl::decode!(
10040 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10041 D,
10042 &mut self.status_code,
10043 decoder,
10044 offset + 6,
10045 _depth
10046 )?;
10047 fidl::decode!(
10048 bool,
10049 D,
10050 &mut self.original_association_maintained,
10051 decoder,
10052 offset + 8,
10053 _depth
10054 )?;
10055 fidl::decode!(
10056 bool,
10057 D,
10058 &mut self.target_bss_authenticated,
10059 decoder,
10060 offset + 9,
10061 _depth
10062 )?;
10063 fidl::decode!(u16, D, &mut self.association_id, decoder, offset + 10, _depth)?;
10064 fidl::decode!(
10065 fidl::encoding::UnboundedVector<u8>,
10066 D,
10067 &mut self.association_ies,
10068 decoder,
10069 offset + 16,
10070 _depth
10071 )?;
10072 Ok(())
10073 }
10074 }
10075
10076 impl fidl::encoding::ValueTypeMarker for RoamStartIndication {
10077 type Borrowed<'a> = &'a Self;
10078 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10079 value
10080 }
10081 }
10082
10083 unsafe impl fidl::encoding::TypeMarker for RoamStartIndication {
10084 type Owned = Self;
10085
10086 #[inline(always)]
10087 fn inline_align(_context: fidl::encoding::Context) -> usize {
10088 8
10089 }
10090
10091 #[inline(always)]
10092 fn inline_size(_context: fidl::encoding::Context) -> usize {
10093 64
10094 }
10095 }
10096
10097 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RoamStartIndication, D>
10098 for &RoamStartIndication
10099 {
10100 #[inline]
10101 unsafe fn encode(
10102 self,
10103 encoder: &mut fidl::encoding::Encoder<'_, D>,
10104 offset: usize,
10105 _depth: fidl::encoding::Depth,
10106 ) -> fidl::Result<()> {
10107 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10108 fidl::encoding::Encode::<RoamStartIndication, D>::encode(
10110 (
10111 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bssid),
10112 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.selected_bss),
10113 <bool as fidl::encoding::ValueTypeMarker>::borrow(&self.original_association_maintained),
10114 ),
10115 encoder, offset, _depth
10116 )
10117 }
10118 }
10119 unsafe impl<
10120 D: fidl::encoding::ResourceDialect,
10121 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10122 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10123 T2: fidl::encoding::Encode<bool, D>,
10124 > fidl::encoding::Encode<RoamStartIndication, D> for (T0, T1, T2)
10125 {
10126 #[inline]
10127 unsafe fn encode(
10128 self,
10129 encoder: &mut fidl::encoding::Encoder<'_, D>,
10130 offset: usize,
10131 depth: fidl::encoding::Depth,
10132 ) -> fidl::Result<()> {
10133 encoder.debug_check_bounds::<RoamStartIndication>(offset);
10134 unsafe {
10137 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
10138 (ptr as *mut u64).write_unaligned(0);
10139 }
10140 unsafe {
10141 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10142 (ptr as *mut u64).write_unaligned(0);
10143 }
10144 self.0.encode(encoder, offset + 0, depth)?;
10146 self.1.encode(encoder, offset + 8, depth)?;
10147 self.2.encode(encoder, offset + 56, depth)?;
10148 Ok(())
10149 }
10150 }
10151
10152 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RoamStartIndication {
10153 #[inline(always)]
10154 fn new_empty() -> Self {
10155 Self {
10156 selected_bssid: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10157 selected_bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10158 original_association_maintained: fidl::new_empty!(bool, D),
10159 }
10160 }
10161
10162 #[inline]
10163 unsafe fn decode(
10164 &mut self,
10165 decoder: &mut fidl::encoding::Decoder<'_, D>,
10166 offset: usize,
10167 _depth: fidl::encoding::Depth,
10168 ) -> fidl::Result<()> {
10169 decoder.debug_check_bounds::<Self>(offset);
10170 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
10172 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10173 let mask = 0xffff000000000000u64;
10174 let maskedval = padval & mask;
10175 if maskedval != 0 {
10176 return Err(fidl::Error::NonZeroPadding {
10177 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
10178 });
10179 }
10180 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10181 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10182 let mask = 0xffffffffffffff00u64;
10183 let maskedval = padval & mask;
10184 if maskedval != 0 {
10185 return Err(fidl::Error::NonZeroPadding {
10186 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10187 });
10188 }
10189 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.selected_bssid, decoder, offset + 0, _depth)?;
10190 fidl::decode!(
10191 fidl_fuchsia_wlan_common__common::BssDescription,
10192 D,
10193 &mut self.selected_bss,
10194 decoder,
10195 offset + 8,
10196 _depth
10197 )?;
10198 fidl::decode!(
10199 bool,
10200 D,
10201 &mut self.original_association_maintained,
10202 decoder,
10203 offset + 56,
10204 _depth
10205 )?;
10206 Ok(())
10207 }
10208 }
10209
10210 impl fidl::encoding::ValueTypeMarker for SaeFrame {
10211 type Borrowed<'a> = &'a Self;
10212 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10213 value
10214 }
10215 }
10216
10217 unsafe impl fidl::encoding::TypeMarker for SaeFrame {
10218 type Owned = Self;
10219
10220 #[inline(always)]
10221 fn inline_align(_context: fidl::encoding::Context) -> usize {
10222 8
10223 }
10224
10225 #[inline(always)]
10226 fn inline_size(_context: fidl::encoding::Context) -> usize {
10227 32
10228 }
10229 }
10230
10231 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeFrame, D> for &SaeFrame {
10232 #[inline]
10233 unsafe fn encode(
10234 self,
10235 encoder: &mut fidl::encoding::Encoder<'_, D>,
10236 offset: usize,
10237 _depth: fidl::encoding::Depth,
10238 ) -> fidl::Result<()> {
10239 encoder.debug_check_bounds::<SaeFrame>(offset);
10240 fidl::encoding::Encode::<SaeFrame, D>::encode(
10242 (
10243 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10244 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10245 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.seq_num),
10246 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.sae_fields),
10247 ),
10248 encoder, offset, _depth
10249 )
10250 }
10251 }
10252 unsafe impl<
10253 D: fidl::encoding::ResourceDialect,
10254 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10255 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10256 T2: fidl::encoding::Encode<u16, D>,
10257 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
10258 > fidl::encoding::Encode<SaeFrame, D> for (T0, T1, T2, T3)
10259 {
10260 #[inline]
10261 unsafe fn encode(
10262 self,
10263 encoder: &mut fidl::encoding::Encoder<'_, D>,
10264 offset: usize,
10265 depth: fidl::encoding::Depth,
10266 ) -> fidl::Result<()> {
10267 encoder.debug_check_bounds::<SaeFrame>(offset);
10268 unsafe {
10271 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10272 (ptr as *mut u64).write_unaligned(0);
10273 }
10274 self.0.encode(encoder, offset + 0, depth)?;
10276 self.1.encode(encoder, offset + 6, depth)?;
10277 self.2.encode(encoder, offset + 8, depth)?;
10278 self.3.encode(encoder, offset + 16, depth)?;
10279 Ok(())
10280 }
10281 }
10282
10283 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeFrame {
10284 #[inline(always)]
10285 fn new_empty() -> Self {
10286 Self {
10287 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10288 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10289 seq_num: fidl::new_empty!(u16, D),
10290 sae_fields: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
10291 }
10292 }
10293
10294 #[inline]
10295 unsafe fn decode(
10296 &mut self,
10297 decoder: &mut fidl::encoding::Decoder<'_, D>,
10298 offset: usize,
10299 _depth: fidl::encoding::Depth,
10300 ) -> fidl::Result<()> {
10301 decoder.debug_check_bounds::<Self>(offset);
10302 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10304 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10305 let mask = 0xffffffffffff0000u64;
10306 let maskedval = padval & mask;
10307 if maskedval != 0 {
10308 return Err(fidl::Error::NonZeroPadding {
10309 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10310 });
10311 }
10312 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10313 fidl::decode!(
10314 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10315 D,
10316 &mut self.status_code,
10317 decoder,
10318 offset + 6,
10319 _depth
10320 )?;
10321 fidl::decode!(u16, D, &mut self.seq_num, decoder, offset + 8, _depth)?;
10322 fidl::decode!(
10323 fidl::encoding::UnboundedVector<u8>,
10324 D,
10325 &mut self.sae_fields,
10326 decoder,
10327 offset + 16,
10328 _depth
10329 )?;
10330 Ok(())
10331 }
10332 }
10333
10334 impl fidl::encoding::ValueTypeMarker for SaeHandshakeIndication {
10335 type Borrowed<'a> = &'a Self;
10336 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10337 value
10338 }
10339 }
10340
10341 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeIndication {
10342 type Owned = Self;
10343
10344 #[inline(always)]
10345 fn inline_align(_context: fidl::encoding::Context) -> usize {
10346 1
10347 }
10348
10349 #[inline(always)]
10350 fn inline_size(_context: fidl::encoding::Context) -> usize {
10351 6
10352 }
10353 #[inline(always)]
10354 fn encode_is_copy() -> bool {
10355 true
10356 }
10357
10358 #[inline(always)]
10359 fn decode_is_copy() -> bool {
10360 true
10361 }
10362 }
10363
10364 unsafe impl<D: fidl::encoding::ResourceDialect>
10365 fidl::encoding::Encode<SaeHandshakeIndication, D> for &SaeHandshakeIndication
10366 {
10367 #[inline]
10368 unsafe fn encode(
10369 self,
10370 encoder: &mut fidl::encoding::Encoder<'_, D>,
10371 offset: usize,
10372 _depth: fidl::encoding::Depth,
10373 ) -> fidl::Result<()> {
10374 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10375 unsafe {
10376 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
10378 (buf_ptr as *mut SaeHandshakeIndication)
10379 .write_unaligned((self as *const SaeHandshakeIndication).read());
10380 }
10383 Ok(())
10384 }
10385 }
10386 unsafe impl<
10387 D: fidl::encoding::ResourceDialect,
10388 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10389 > fidl::encoding::Encode<SaeHandshakeIndication, D> for (T0,)
10390 {
10391 #[inline]
10392 unsafe fn encode(
10393 self,
10394 encoder: &mut fidl::encoding::Encoder<'_, D>,
10395 offset: usize,
10396 depth: fidl::encoding::Depth,
10397 ) -> fidl::Result<()> {
10398 encoder.debug_check_bounds::<SaeHandshakeIndication>(offset);
10399 self.0.encode(encoder, offset + 0, depth)?;
10403 Ok(())
10404 }
10405 }
10406
10407 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10408 for SaeHandshakeIndication
10409 {
10410 #[inline(always)]
10411 fn new_empty() -> Self {
10412 Self { peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D) }
10413 }
10414
10415 #[inline]
10416 unsafe fn decode(
10417 &mut self,
10418 decoder: &mut fidl::encoding::Decoder<'_, D>,
10419 offset: usize,
10420 _depth: fidl::encoding::Depth,
10421 ) -> fidl::Result<()> {
10422 decoder.debug_check_bounds::<Self>(offset);
10423 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
10424 unsafe {
10427 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 6);
10428 }
10429 Ok(())
10430 }
10431 }
10432
10433 impl fidl::encoding::ValueTypeMarker for SaeHandshakeResponse {
10434 type Borrowed<'a> = &'a Self;
10435 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10436 value
10437 }
10438 }
10439
10440 unsafe impl fidl::encoding::TypeMarker for SaeHandshakeResponse {
10441 type Owned = Self;
10442
10443 #[inline(always)]
10444 fn inline_align(_context: fidl::encoding::Context) -> usize {
10445 2
10446 }
10447
10448 #[inline(always)]
10449 fn inline_size(_context: fidl::encoding::Context) -> usize {
10450 8
10451 }
10452 }
10453
10454 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SaeHandshakeResponse, D>
10455 for &SaeHandshakeResponse
10456 {
10457 #[inline]
10458 unsafe fn encode(
10459 self,
10460 encoder: &mut fidl::encoding::Encoder<'_, D>,
10461 offset: usize,
10462 _depth: fidl::encoding::Depth,
10463 ) -> fidl::Result<()> {
10464 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10465 fidl::encoding::Encode::<SaeHandshakeResponse, D>::encode(
10467 (
10468 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.peer_sta_address),
10469 <fidl_fuchsia_wlan_ieee80211__common::StatusCode as fidl::encoding::ValueTypeMarker>::borrow(&self.status_code),
10470 ),
10471 encoder, offset, _depth
10472 )
10473 }
10474 }
10475 unsafe impl<
10476 D: fidl::encoding::ResourceDialect,
10477 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10478 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::StatusCode, D>,
10479 > fidl::encoding::Encode<SaeHandshakeResponse, D> for (T0, T1)
10480 {
10481 #[inline]
10482 unsafe fn encode(
10483 self,
10484 encoder: &mut fidl::encoding::Encoder<'_, D>,
10485 offset: usize,
10486 depth: fidl::encoding::Depth,
10487 ) -> fidl::Result<()> {
10488 encoder.debug_check_bounds::<SaeHandshakeResponse>(offset);
10489 self.0.encode(encoder, offset + 0, depth)?;
10493 self.1.encode(encoder, offset + 6, depth)?;
10494 Ok(())
10495 }
10496 }
10497
10498 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SaeHandshakeResponse {
10499 #[inline(always)]
10500 fn new_empty() -> Self {
10501 Self {
10502 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10503 status_code: fidl::new_empty!(fidl_fuchsia_wlan_ieee80211__common::StatusCode, D),
10504 }
10505 }
10506
10507 #[inline]
10508 unsafe fn decode(
10509 &mut self,
10510 decoder: &mut fidl::encoding::Decoder<'_, D>,
10511 offset: usize,
10512 _depth: fidl::encoding::Depth,
10513 ) -> fidl::Result<()> {
10514 decoder.debug_check_bounds::<Self>(offset);
10515 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10517 fidl::decode!(
10518 fidl_fuchsia_wlan_ieee80211__common::StatusCode,
10519 D,
10520 &mut self.status_code,
10521 decoder,
10522 offset + 6,
10523 _depth
10524 )?;
10525 Ok(())
10526 }
10527 }
10528
10529 impl fidl::encoding::ValueTypeMarker for ScanEnd {
10530 type Borrowed<'a> = &'a Self;
10531 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10532 value
10533 }
10534 }
10535
10536 unsafe impl fidl::encoding::TypeMarker for ScanEnd {
10537 type Owned = Self;
10538
10539 #[inline(always)]
10540 fn inline_align(_context: fidl::encoding::Context) -> usize {
10541 8
10542 }
10543
10544 #[inline(always)]
10545 fn inline_size(_context: fidl::encoding::Context) -> usize {
10546 16
10547 }
10548 }
10549
10550 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanEnd, D> for &ScanEnd {
10551 #[inline]
10552 unsafe fn encode(
10553 self,
10554 encoder: &mut fidl::encoding::Encoder<'_, D>,
10555 offset: usize,
10556 _depth: fidl::encoding::Depth,
10557 ) -> fidl::Result<()> {
10558 encoder.debug_check_bounds::<ScanEnd>(offset);
10559 fidl::encoding::Encode::<ScanEnd, D>::encode(
10561 (
10562 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10563 <ScanResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.code),
10564 ),
10565 encoder,
10566 offset,
10567 _depth,
10568 )
10569 }
10570 }
10571 unsafe impl<
10572 D: fidl::encoding::ResourceDialect,
10573 T0: fidl::encoding::Encode<u64, D>,
10574 T1: fidl::encoding::Encode<ScanResultCode, D>,
10575 > fidl::encoding::Encode<ScanEnd, D> for (T0, T1)
10576 {
10577 #[inline]
10578 unsafe fn encode(
10579 self,
10580 encoder: &mut fidl::encoding::Encoder<'_, D>,
10581 offset: usize,
10582 depth: fidl::encoding::Depth,
10583 ) -> fidl::Result<()> {
10584 encoder.debug_check_bounds::<ScanEnd>(offset);
10585 unsafe {
10588 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10589 (ptr as *mut u64).write_unaligned(0);
10590 }
10591 self.0.encode(encoder, offset + 0, depth)?;
10593 self.1.encode(encoder, offset + 8, depth)?;
10594 Ok(())
10595 }
10596 }
10597
10598 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanEnd {
10599 #[inline(always)]
10600 fn new_empty() -> Self {
10601 Self { txn_id: fidl::new_empty!(u64, D), code: fidl::new_empty!(ScanResultCode, D) }
10602 }
10603
10604 #[inline]
10605 unsafe fn decode(
10606 &mut self,
10607 decoder: &mut fidl::encoding::Decoder<'_, D>,
10608 offset: usize,
10609 _depth: fidl::encoding::Depth,
10610 ) -> fidl::Result<()> {
10611 decoder.debug_check_bounds::<Self>(offset);
10612 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10614 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10615 let mask = 0xffffffff00000000u64;
10616 let maskedval = padval & mask;
10617 if maskedval != 0 {
10618 return Err(fidl::Error::NonZeroPadding {
10619 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10620 });
10621 }
10622 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10623 fidl::decode!(ScanResultCode, D, &mut self.code, decoder, offset + 8, _depth)?;
10624 Ok(())
10625 }
10626 }
10627
10628 impl fidl::encoding::ValueTypeMarker for ScanRequest {
10629 type Borrowed<'a> = &'a Self;
10630 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10631 value
10632 }
10633 }
10634
10635 unsafe impl fidl::encoding::TypeMarker for ScanRequest {
10636 type Owned = Self;
10637
10638 #[inline(always)]
10639 fn inline_align(_context: fidl::encoding::Context) -> usize {
10640 8
10641 }
10642
10643 #[inline(always)]
10644 fn inline_size(_context: fidl::encoding::Context) -> usize {
10645 64
10646 }
10647 }
10648
10649 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanRequest, D>
10650 for &ScanRequest
10651 {
10652 #[inline]
10653 unsafe fn encode(
10654 self,
10655 encoder: &mut fidl::encoding::Encoder<'_, D>,
10656 offset: usize,
10657 _depth: fidl::encoding::Depth,
10658 ) -> fidl::Result<()> {
10659 encoder.debug_check_bounds::<ScanRequest>(offset);
10660 fidl::encoding::Encode::<ScanRequest, D>::encode(
10662 (
10663 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10664 <ScanTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.scan_type),
10665 <fidl::encoding::Vector<u8, 256> as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_list),
10666 <fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid_list),
10667 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.probe_delay),
10668 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.min_channel_time),
10669 <u32 as fidl::encoding::ValueTypeMarker>::borrow(&self.max_channel_time),
10670 ),
10671 encoder, offset, _depth
10672 )
10673 }
10674 }
10675 unsafe impl<
10676 D: fidl::encoding::ResourceDialect,
10677 T0: fidl::encoding::Encode<u64, D>,
10678 T1: fidl::encoding::Encode<ScanTypes, D>,
10679 T2: fidl::encoding::Encode<fidl::encoding::Vector<u8, 256>, D>,
10680 T3: fidl::encoding::Encode<fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>, D>,
10681 T4: fidl::encoding::Encode<u32, D>,
10682 T5: fidl::encoding::Encode<u32, D>,
10683 T6: fidl::encoding::Encode<u32, D>,
10684 > fidl::encoding::Encode<ScanRequest, D> for (T0, T1, T2, T3, T4, T5, T6)
10685 {
10686 #[inline]
10687 unsafe fn encode(
10688 self,
10689 encoder: &mut fidl::encoding::Encoder<'_, D>,
10690 offset: usize,
10691 depth: fidl::encoding::Depth,
10692 ) -> fidl::Result<()> {
10693 encoder.debug_check_bounds::<ScanRequest>(offset);
10694 unsafe {
10697 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
10698 (ptr as *mut u64).write_unaligned(0);
10699 }
10700 unsafe {
10701 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(56);
10702 (ptr as *mut u64).write_unaligned(0);
10703 }
10704 self.0.encode(encoder, offset + 0, depth)?;
10706 self.1.encode(encoder, offset + 8, depth)?;
10707 self.2.encode(encoder, offset + 16, depth)?;
10708 self.3.encode(encoder, offset + 32, depth)?;
10709 self.4.encode(encoder, offset + 48, depth)?;
10710 self.5.encode(encoder, offset + 52, depth)?;
10711 self.6.encode(encoder, offset + 56, depth)?;
10712 Ok(())
10713 }
10714 }
10715
10716 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanRequest {
10717 #[inline(always)]
10718 fn new_empty() -> Self {
10719 Self {
10720 txn_id: fidl::new_empty!(u64, D),
10721 scan_type: fidl::new_empty!(ScanTypes, D),
10722 channel_list: fidl::new_empty!(fidl::encoding::Vector<u8, 256>, D),
10723 ssid_list: fidl::new_empty!(
10724 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10725 D
10726 ),
10727 probe_delay: fidl::new_empty!(u32, D),
10728 min_channel_time: fidl::new_empty!(u32, D),
10729 max_channel_time: fidl::new_empty!(u32, D),
10730 }
10731 }
10732
10733 #[inline]
10734 unsafe fn decode(
10735 &mut self,
10736 decoder: &mut fidl::encoding::Decoder<'_, D>,
10737 offset: usize,
10738 _depth: fidl::encoding::Depth,
10739 ) -> fidl::Result<()> {
10740 decoder.debug_check_bounds::<Self>(offset);
10741 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
10743 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10744 let mask = 0xffffffff00000000u64;
10745 let maskedval = padval & mask;
10746 if maskedval != 0 {
10747 return Err(fidl::Error::NonZeroPadding {
10748 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
10749 });
10750 }
10751 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(56) };
10752 let padval = unsafe { (ptr as *const u64).read_unaligned() };
10753 let mask = 0xffffffff00000000u64;
10754 let maskedval = padval & mask;
10755 if maskedval != 0 {
10756 return Err(fidl::Error::NonZeroPadding {
10757 padding_start: offset + 56 + ((mask as u64).trailing_zeros() / 8) as usize,
10758 });
10759 }
10760 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10761 fidl::decode!(ScanTypes, D, &mut self.scan_type, decoder, offset + 8, _depth)?;
10762 fidl::decode!(fidl::encoding::Vector<u8, 256>, D, &mut self.channel_list, decoder, offset + 16, _depth)?;
10763 fidl::decode!(
10764 fidl::encoding::UnboundedVector<fidl::encoding::Vector<u8, 32>>,
10765 D,
10766 &mut self.ssid_list,
10767 decoder,
10768 offset + 32,
10769 _depth
10770 )?;
10771 fidl::decode!(u32, D, &mut self.probe_delay, decoder, offset + 48, _depth)?;
10772 fidl::decode!(u32, D, &mut self.min_channel_time, decoder, offset + 52, _depth)?;
10773 fidl::decode!(u32, D, &mut self.max_channel_time, decoder, offset + 56, _depth)?;
10774 Ok(())
10775 }
10776 }
10777
10778 impl fidl::encoding::ValueTypeMarker for ScanResult {
10779 type Borrowed<'a> = &'a Self;
10780 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10781 value
10782 }
10783 }
10784
10785 unsafe impl fidl::encoding::TypeMarker for ScanResult {
10786 type Owned = Self;
10787
10788 #[inline(always)]
10789 fn inline_align(_context: fidl::encoding::Context) -> usize {
10790 8
10791 }
10792
10793 #[inline(always)]
10794 fn inline_size(_context: fidl::encoding::Context) -> usize {
10795 64
10796 }
10797 }
10798
10799 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ScanResult, D>
10800 for &ScanResult
10801 {
10802 #[inline]
10803 unsafe fn encode(
10804 self,
10805 encoder: &mut fidl::encoding::Encoder<'_, D>,
10806 offset: usize,
10807 _depth: fidl::encoding::Depth,
10808 ) -> fidl::Result<()> {
10809 encoder.debug_check_bounds::<ScanResult>(offset);
10810 fidl::encoding::Encode::<ScanResult, D>::encode(
10812 (
10813 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.txn_id),
10814 <i64 as fidl::encoding::ValueTypeMarker>::borrow(&self.timestamp_nanos),
10815 <fidl_fuchsia_wlan_common__common::BssDescription as fidl::encoding::ValueTypeMarker>::borrow(&self.bss),
10816 ),
10817 encoder, offset, _depth
10818 )
10819 }
10820 }
10821 unsafe impl<
10822 D: fidl::encoding::ResourceDialect,
10823 T0: fidl::encoding::Encode<u64, D>,
10824 T1: fidl::encoding::Encode<i64, D>,
10825 T2: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssDescription, D>,
10826 > fidl::encoding::Encode<ScanResult, D> for (T0, T1, T2)
10827 {
10828 #[inline]
10829 unsafe fn encode(
10830 self,
10831 encoder: &mut fidl::encoding::Encoder<'_, D>,
10832 offset: usize,
10833 depth: fidl::encoding::Depth,
10834 ) -> fidl::Result<()> {
10835 encoder.debug_check_bounds::<ScanResult>(offset);
10836 self.0.encode(encoder, offset + 0, depth)?;
10840 self.1.encode(encoder, offset + 8, depth)?;
10841 self.2.encode(encoder, offset + 16, depth)?;
10842 Ok(())
10843 }
10844 }
10845
10846 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ScanResult {
10847 #[inline(always)]
10848 fn new_empty() -> Self {
10849 Self {
10850 txn_id: fidl::new_empty!(u64, D),
10851 timestamp_nanos: fidl::new_empty!(i64, D),
10852 bss: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssDescription, D),
10853 }
10854 }
10855
10856 #[inline]
10857 unsafe fn decode(
10858 &mut self,
10859 decoder: &mut fidl::encoding::Decoder<'_, D>,
10860 offset: usize,
10861 _depth: fidl::encoding::Depth,
10862 ) -> fidl::Result<()> {
10863 decoder.debug_check_bounds::<Self>(offset);
10864 fidl::decode!(u64, D, &mut self.txn_id, decoder, offset + 0, _depth)?;
10866 fidl::decode!(i64, D, &mut self.timestamp_nanos, decoder, offset + 8, _depth)?;
10867 fidl::decode!(
10868 fidl_fuchsia_wlan_common__common::BssDescription,
10869 D,
10870 &mut self.bss,
10871 decoder,
10872 offset + 16,
10873 _depth
10874 )?;
10875 Ok(())
10876 }
10877 }
10878
10879 impl fidl::encoding::ValueTypeMarker for SetControlledPortRequest {
10880 type Borrowed<'a> = &'a Self;
10881 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10882 value
10883 }
10884 }
10885
10886 unsafe impl fidl::encoding::TypeMarker for SetControlledPortRequest {
10887 type Owned = Self;
10888
10889 #[inline(always)]
10890 fn inline_align(_context: fidl::encoding::Context) -> usize {
10891 4
10892 }
10893
10894 #[inline(always)]
10895 fn inline_size(_context: fidl::encoding::Context) -> usize {
10896 12
10897 }
10898 }
10899
10900 unsafe impl<D: fidl::encoding::ResourceDialect>
10901 fidl::encoding::Encode<SetControlledPortRequest, D> for &SetControlledPortRequest
10902 {
10903 #[inline]
10904 unsafe fn encode(
10905 self,
10906 encoder: &mut fidl::encoding::Encoder<'_, D>,
10907 offset: usize,
10908 _depth: fidl::encoding::Depth,
10909 ) -> fidl::Result<()> {
10910 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
10911 fidl::encoding::Encode::<SetControlledPortRequest, D>::encode(
10913 (
10914 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(
10915 &self.peer_sta_address,
10916 ),
10917 <ControlledPortState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
10918 ),
10919 encoder,
10920 offset,
10921 _depth,
10922 )
10923 }
10924 }
10925 unsafe impl<
10926 D: fidl::encoding::ResourceDialect,
10927 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
10928 T1: fidl::encoding::Encode<ControlledPortState, D>,
10929 > fidl::encoding::Encode<SetControlledPortRequest, D> for (T0, T1)
10930 {
10931 #[inline]
10932 unsafe fn encode(
10933 self,
10934 encoder: &mut fidl::encoding::Encoder<'_, D>,
10935 offset: usize,
10936 depth: fidl::encoding::Depth,
10937 ) -> fidl::Result<()> {
10938 encoder.debug_check_bounds::<SetControlledPortRequest>(offset);
10939 unsafe {
10942 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(4);
10943 (ptr as *mut u32).write_unaligned(0);
10944 }
10945 self.0.encode(encoder, offset + 0, depth)?;
10947 self.1.encode(encoder, offset + 8, depth)?;
10948 Ok(())
10949 }
10950 }
10951
10952 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
10953 for SetControlledPortRequest
10954 {
10955 #[inline(always)]
10956 fn new_empty() -> Self {
10957 Self {
10958 peer_sta_address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
10959 state: fidl::new_empty!(ControlledPortState, D),
10960 }
10961 }
10962
10963 #[inline]
10964 unsafe fn decode(
10965 &mut self,
10966 decoder: &mut fidl::encoding::Decoder<'_, D>,
10967 offset: usize,
10968 _depth: fidl::encoding::Depth,
10969 ) -> fidl::Result<()> {
10970 decoder.debug_check_bounds::<Self>(offset);
10971 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(4) };
10973 let padval = unsafe { (ptr as *const u32).read_unaligned() };
10974 let mask = 0xffff0000u32;
10975 let maskedval = padval & mask;
10976 if maskedval != 0 {
10977 return Err(fidl::Error::NonZeroPadding {
10978 padding_start: offset + 4 + ((mask as u64).trailing_zeros() / 8) as usize,
10979 });
10980 }
10981 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.peer_sta_address, decoder, offset + 0, _depth)?;
10982 fidl::decode!(ControlledPortState, D, &mut self.state, decoder, offset + 8, _depth)?;
10983 Ok(())
10984 }
10985 }
10986
10987 impl fidl::encoding::ValueTypeMarker for SetKeyDescriptor {
10988 type Borrowed<'a> = &'a Self;
10989 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
10990 value
10991 }
10992 }
10993
10994 unsafe impl fidl::encoding::TypeMarker for SetKeyDescriptor {
10995 type Owned = Self;
10996
10997 #[inline(always)]
10998 fn inline_align(_context: fidl::encoding::Context) -> usize {
10999 8
11000 }
11001
11002 #[inline(always)]
11003 fn inline_size(_context: fidl::encoding::Context) -> usize {
11004 48
11005 }
11006 }
11007
11008 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyDescriptor, D>
11009 for &SetKeyDescriptor
11010 {
11011 #[inline]
11012 unsafe fn encode(
11013 self,
11014 encoder: &mut fidl::encoding::Encoder<'_, D>,
11015 offset: usize,
11016 _depth: fidl::encoding::Depth,
11017 ) -> fidl::Result<()> {
11018 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11019 fidl::encoding::Encode::<SetKeyDescriptor, D>::encode(
11021 (
11022 <fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow(&self.key),
11023 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.key_id),
11024 <KeyType as fidl::encoding::ValueTypeMarker>::borrow(&self.key_type),
11025 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.address),
11026 <u64 as fidl::encoding::ValueTypeMarker>::borrow(&self.rsc),
11027 <fidl::encoding::Array<u8, 3> as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_oui),
11028 <fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType as fidl::encoding::ValueTypeMarker>::borrow(&self.cipher_suite_type),
11029 ),
11030 encoder, offset, _depth
11031 )
11032 }
11033 }
11034 unsafe impl<
11035 D: fidl::encoding::ResourceDialect,
11036 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u8>, D>,
11037 T1: fidl::encoding::Encode<u16, D>,
11038 T2: fidl::encoding::Encode<KeyType, D>,
11039 T3: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
11040 T4: fidl::encoding::Encode<u64, D>,
11041 T5: fidl::encoding::Encode<fidl::encoding::Array<u8, 3>, D>,
11042 T6: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType, D>,
11043 > fidl::encoding::Encode<SetKeyDescriptor, D> for (T0, T1, T2, T3, T4, T5, T6)
11044 {
11045 #[inline]
11046 unsafe fn encode(
11047 self,
11048 encoder: &mut fidl::encoding::Encoder<'_, D>,
11049 offset: usize,
11050 depth: fidl::encoding::Depth,
11051 ) -> fidl::Result<()> {
11052 encoder.debug_check_bounds::<SetKeyDescriptor>(offset);
11053 unsafe {
11056 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(16);
11057 (ptr as *mut u64).write_unaligned(0);
11058 }
11059 unsafe {
11060 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11061 (ptr as *mut u64).write_unaligned(0);
11062 }
11063 unsafe {
11064 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(40);
11065 (ptr as *mut u64).write_unaligned(0);
11066 }
11067 self.0.encode(encoder, offset + 0, depth)?;
11069 self.1.encode(encoder, offset + 16, depth)?;
11070 self.2.encode(encoder, offset + 20, depth)?;
11071 self.3.encode(encoder, offset + 24, depth)?;
11072 self.4.encode(encoder, offset + 32, depth)?;
11073 self.5.encode(encoder, offset + 40, depth)?;
11074 self.6.encode(encoder, offset + 44, depth)?;
11075 Ok(())
11076 }
11077 }
11078
11079 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyDescriptor {
11080 #[inline(always)]
11081 fn new_empty() -> Self {
11082 Self {
11083 key: fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D),
11084 key_id: fidl::new_empty!(u16, D),
11085 key_type: fidl::new_empty!(KeyType, D),
11086 address: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
11087 rsc: fidl::new_empty!(u64, D),
11088 cipher_suite_oui: fidl::new_empty!(fidl::encoding::Array<u8, 3>, D),
11089 cipher_suite_type: fidl::new_empty!(
11090 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11091 D
11092 ),
11093 }
11094 }
11095
11096 #[inline]
11097 unsafe fn decode(
11098 &mut self,
11099 decoder: &mut fidl::encoding::Decoder<'_, D>,
11100 offset: usize,
11101 _depth: fidl::encoding::Depth,
11102 ) -> fidl::Result<()> {
11103 decoder.debug_check_bounds::<Self>(offset);
11104 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(16) };
11106 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11107 let mask = 0xffff0000u64;
11108 let maskedval = padval & mask;
11109 if maskedval != 0 {
11110 return Err(fidl::Error::NonZeroPadding {
11111 padding_start: offset + 16 + ((mask as u64).trailing_zeros() / 8) as usize,
11112 });
11113 }
11114 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11115 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11116 let mask = 0xffff000000000000u64;
11117 let maskedval = padval & mask;
11118 if maskedval != 0 {
11119 return Err(fidl::Error::NonZeroPadding {
11120 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11121 });
11122 }
11123 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(40) };
11124 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11125 let mask = 0xff000000u64;
11126 let maskedval = padval & mask;
11127 if maskedval != 0 {
11128 return Err(fidl::Error::NonZeroPadding {
11129 padding_start: offset + 40 + ((mask as u64).trailing_zeros() / 8) as usize,
11130 });
11131 }
11132 fidl::decode!(
11133 fidl::encoding::UnboundedVector<u8>,
11134 D,
11135 &mut self.key,
11136 decoder,
11137 offset + 0,
11138 _depth
11139 )?;
11140 fidl::decode!(u16, D, &mut self.key_id, decoder, offset + 16, _depth)?;
11141 fidl::decode!(KeyType, D, &mut self.key_type, decoder, offset + 20, _depth)?;
11142 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.address, decoder, offset + 24, _depth)?;
11143 fidl::decode!(u64, D, &mut self.rsc, decoder, offset + 32, _depth)?;
11144 fidl::decode!(fidl::encoding::Array<u8, 3>, D, &mut self.cipher_suite_oui, decoder, offset + 40, _depth)?;
11145 fidl::decode!(
11146 fidl_fuchsia_wlan_ieee80211__common::CipherSuiteType,
11147 D,
11148 &mut self.cipher_suite_type,
11149 decoder,
11150 offset + 44,
11151 _depth
11152 )?;
11153 Ok(())
11154 }
11155 }
11156
11157 impl fidl::encoding::ValueTypeMarker for SetKeyResult {
11158 type Borrowed<'a> = &'a Self;
11159 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11160 value
11161 }
11162 }
11163
11164 unsafe impl fidl::encoding::TypeMarker for SetKeyResult {
11165 type Owned = Self;
11166
11167 #[inline(always)]
11168 fn inline_align(_context: fidl::encoding::Context) -> usize {
11169 4
11170 }
11171
11172 #[inline(always)]
11173 fn inline_size(_context: fidl::encoding::Context) -> usize {
11174 8
11175 }
11176 }
11177
11178 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeyResult, D>
11179 for &SetKeyResult
11180 {
11181 #[inline]
11182 unsafe fn encode(
11183 self,
11184 encoder: &mut fidl::encoding::Encoder<'_, D>,
11185 offset: usize,
11186 _depth: fidl::encoding::Depth,
11187 ) -> fidl::Result<()> {
11188 encoder.debug_check_bounds::<SetKeyResult>(offset);
11189 unsafe {
11190 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
11192 (buf_ptr as *mut SetKeyResult)
11193 .write_unaligned((self as *const SetKeyResult).read());
11194 let padding_ptr = buf_ptr.offset(0) as *mut u32;
11197 let padding_mask = 0xffff0000u32;
11198 padding_ptr.write_unaligned(padding_ptr.read_unaligned() & !padding_mask);
11199 }
11200 Ok(())
11201 }
11202 }
11203 unsafe impl<
11204 D: fidl::encoding::ResourceDialect,
11205 T0: fidl::encoding::Encode<u16, D>,
11206 T1: fidl::encoding::Encode<i32, D>,
11207 > fidl::encoding::Encode<SetKeyResult, D> for (T0, T1)
11208 {
11209 #[inline]
11210 unsafe fn encode(
11211 self,
11212 encoder: &mut fidl::encoding::Encoder<'_, D>,
11213 offset: usize,
11214 depth: fidl::encoding::Depth,
11215 ) -> fidl::Result<()> {
11216 encoder.debug_check_bounds::<SetKeyResult>(offset);
11217 unsafe {
11220 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
11221 (ptr as *mut u32).write_unaligned(0);
11222 }
11223 self.0.encode(encoder, offset + 0, depth)?;
11225 self.1.encode(encoder, offset + 4, depth)?;
11226 Ok(())
11227 }
11228 }
11229
11230 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeyResult {
11231 #[inline(always)]
11232 fn new_empty() -> Self {
11233 Self { key_id: fidl::new_empty!(u16, D), status: fidl::new_empty!(i32, D) }
11234 }
11235
11236 #[inline]
11237 unsafe fn decode(
11238 &mut self,
11239 decoder: &mut fidl::encoding::Decoder<'_, D>,
11240 offset: usize,
11241 _depth: fidl::encoding::Depth,
11242 ) -> fidl::Result<()> {
11243 decoder.debug_check_bounds::<Self>(offset);
11244 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
11245 let ptr = unsafe { buf_ptr.offset(0) };
11247 let padval = unsafe { (ptr as *const u32).read_unaligned() };
11248 let mask = 0xffff0000u32;
11249 let maskedval = padval & mask;
11250 if maskedval != 0 {
11251 return Err(fidl::Error::NonZeroPadding {
11252 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
11253 });
11254 }
11255 unsafe {
11257 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
11258 }
11259 Ok(())
11260 }
11261 }
11262
11263 impl fidl::encoding::ValueTypeMarker for SetKeysConfirm {
11264 type Borrowed<'a> = &'a Self;
11265 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11266 value
11267 }
11268 }
11269
11270 unsafe impl fidl::encoding::TypeMarker for SetKeysConfirm {
11271 type Owned = Self;
11272
11273 #[inline(always)]
11274 fn inline_align(_context: fidl::encoding::Context) -> usize {
11275 8
11276 }
11277
11278 #[inline(always)]
11279 fn inline_size(_context: fidl::encoding::Context) -> usize {
11280 16
11281 }
11282 }
11283
11284 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysConfirm, D>
11285 for &SetKeysConfirm
11286 {
11287 #[inline]
11288 unsafe fn encode(
11289 self,
11290 encoder: &mut fidl::encoding::Encoder<'_, D>,
11291 offset: usize,
11292 _depth: fidl::encoding::Depth,
11293 ) -> fidl::Result<()> {
11294 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11295 fidl::encoding::Encode::<SetKeysConfirm, D>::encode(
11297 (
11298 <fidl::encoding::UnboundedVector<SetKeyResult> as fidl::encoding::ValueTypeMarker>::borrow(&self.results),
11299 ),
11300 encoder, offset, _depth
11301 )
11302 }
11303 }
11304 unsafe impl<
11305 D: fidl::encoding::ResourceDialect,
11306 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyResult>, D>,
11307 > fidl::encoding::Encode<SetKeysConfirm, D> for (T0,)
11308 {
11309 #[inline]
11310 unsafe fn encode(
11311 self,
11312 encoder: &mut fidl::encoding::Encoder<'_, D>,
11313 offset: usize,
11314 depth: fidl::encoding::Depth,
11315 ) -> fidl::Result<()> {
11316 encoder.debug_check_bounds::<SetKeysConfirm>(offset);
11317 self.0.encode(encoder, offset + 0, depth)?;
11321 Ok(())
11322 }
11323 }
11324
11325 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysConfirm {
11326 #[inline(always)]
11327 fn new_empty() -> Self {
11328 Self { results: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyResult>, D) }
11329 }
11330
11331 #[inline]
11332 unsafe fn decode(
11333 &mut self,
11334 decoder: &mut fidl::encoding::Decoder<'_, D>,
11335 offset: usize,
11336 _depth: fidl::encoding::Depth,
11337 ) -> fidl::Result<()> {
11338 decoder.debug_check_bounds::<Self>(offset);
11339 fidl::decode!(
11341 fidl::encoding::UnboundedVector<SetKeyResult>,
11342 D,
11343 &mut self.results,
11344 decoder,
11345 offset + 0,
11346 _depth
11347 )?;
11348 Ok(())
11349 }
11350 }
11351
11352 impl fidl::encoding::ValueTypeMarker for SetKeysRequest {
11353 type Borrowed<'a> = &'a Self;
11354 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11355 value
11356 }
11357 }
11358
11359 unsafe impl fidl::encoding::TypeMarker for SetKeysRequest {
11360 type Owned = Self;
11361
11362 #[inline(always)]
11363 fn inline_align(_context: fidl::encoding::Context) -> usize {
11364 8
11365 }
11366
11367 #[inline(always)]
11368 fn inline_size(_context: fidl::encoding::Context) -> usize {
11369 16
11370 }
11371 }
11372
11373 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetKeysRequest, D>
11374 for &SetKeysRequest
11375 {
11376 #[inline]
11377 unsafe fn encode(
11378 self,
11379 encoder: &mut fidl::encoding::Encoder<'_, D>,
11380 offset: usize,
11381 _depth: fidl::encoding::Depth,
11382 ) -> fidl::Result<()> {
11383 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11384 fidl::encoding::Encode::<SetKeysRequest, D>::encode(
11386 (
11387 <fidl::encoding::UnboundedVector<SetKeyDescriptor> as fidl::encoding::ValueTypeMarker>::borrow(&self.keylist),
11388 ),
11389 encoder, offset, _depth
11390 )
11391 }
11392 }
11393 unsafe impl<
11394 D: fidl::encoding::ResourceDialect,
11395 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<SetKeyDescriptor>, D>,
11396 > fidl::encoding::Encode<SetKeysRequest, D> for (T0,)
11397 {
11398 #[inline]
11399 unsafe fn encode(
11400 self,
11401 encoder: &mut fidl::encoding::Encoder<'_, D>,
11402 offset: usize,
11403 depth: fidl::encoding::Depth,
11404 ) -> fidl::Result<()> {
11405 encoder.debug_check_bounds::<SetKeysRequest>(offset);
11406 self.0.encode(encoder, offset + 0, depth)?;
11410 Ok(())
11411 }
11412 }
11413
11414 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetKeysRequest {
11415 #[inline(always)]
11416 fn new_empty() -> Self {
11417 Self { keylist: fidl::new_empty!(fidl::encoding::UnboundedVector<SetKeyDescriptor>, D) }
11418 }
11419
11420 #[inline]
11421 unsafe fn decode(
11422 &mut self,
11423 decoder: &mut fidl::encoding::Decoder<'_, D>,
11424 offset: usize,
11425 _depth: fidl::encoding::Depth,
11426 ) -> fidl::Result<()> {
11427 decoder.debug_check_bounds::<Self>(offset);
11428 fidl::decode!(
11430 fidl::encoding::UnboundedVector<SetKeyDescriptor>,
11431 D,
11432 &mut self.keylist,
11433 decoder,
11434 offset + 0,
11435 _depth
11436 )?;
11437 Ok(())
11438 }
11439 }
11440
11441 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesRequest {
11442 type Borrowed<'a> = &'a Self;
11443 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11444 value
11445 }
11446 }
11447
11448 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesRequest {
11449 type Owned = Self;
11450
11451 #[inline(always)]
11452 fn inline_align(_context: fidl::encoding::Context) -> usize {
11453 4
11454 }
11455
11456 #[inline(always)]
11457 fn inline_size(_context: fidl::encoding::Context) -> usize {
11458 4
11459 }
11460 }
11461
11462 unsafe impl<D: fidl::encoding::ResourceDialect>
11463 fidl::encoding::Encode<StartCaptureFramesRequest, D> for &StartCaptureFramesRequest
11464 {
11465 #[inline]
11466 unsafe fn encode(
11467 self,
11468 encoder: &mut fidl::encoding::Encoder<'_, D>,
11469 offset: usize,
11470 _depth: fidl::encoding::Depth,
11471 ) -> fidl::Result<()> {
11472 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11473 fidl::encoding::Encode::<StartCaptureFramesRequest, D>::encode(
11475 (<MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11476 &self.mgmt_frame_flags,
11477 ),),
11478 encoder,
11479 offset,
11480 _depth,
11481 )
11482 }
11483 }
11484 unsafe impl<
11485 D: fidl::encoding::ResourceDialect,
11486 T0: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11487 > fidl::encoding::Encode<StartCaptureFramesRequest, D> for (T0,)
11488 {
11489 #[inline]
11490 unsafe fn encode(
11491 self,
11492 encoder: &mut fidl::encoding::Encoder<'_, D>,
11493 offset: usize,
11494 depth: fidl::encoding::Depth,
11495 ) -> fidl::Result<()> {
11496 encoder.debug_check_bounds::<StartCaptureFramesRequest>(offset);
11497 self.0.encode(encoder, offset + 0, depth)?;
11501 Ok(())
11502 }
11503 }
11504
11505 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11506 for StartCaptureFramesRequest
11507 {
11508 #[inline(always)]
11509 fn new_empty() -> Self {
11510 Self { mgmt_frame_flags: fidl::new_empty!(MgmtFrameCaptureFlags, D) }
11511 }
11512
11513 #[inline]
11514 unsafe fn decode(
11515 &mut self,
11516 decoder: &mut fidl::encoding::Decoder<'_, D>,
11517 offset: usize,
11518 _depth: fidl::encoding::Depth,
11519 ) -> fidl::Result<()> {
11520 decoder.debug_check_bounds::<Self>(offset);
11521 fidl::decode!(
11523 MgmtFrameCaptureFlags,
11524 D,
11525 &mut self.mgmt_frame_flags,
11526 decoder,
11527 offset + 0,
11528 _depth
11529 )?;
11530 Ok(())
11531 }
11532 }
11533
11534 impl fidl::encoding::ValueTypeMarker for StartCaptureFramesResponse {
11535 type Borrowed<'a> = &'a Self;
11536 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11537 value
11538 }
11539 }
11540
11541 unsafe impl fidl::encoding::TypeMarker for StartCaptureFramesResponse {
11542 type Owned = Self;
11543
11544 #[inline(always)]
11545 fn inline_align(_context: fidl::encoding::Context) -> usize {
11546 4
11547 }
11548
11549 #[inline(always)]
11550 fn inline_size(_context: fidl::encoding::Context) -> usize {
11551 8
11552 }
11553 }
11554
11555 unsafe impl<D: fidl::encoding::ResourceDialect>
11556 fidl::encoding::Encode<StartCaptureFramesResponse, D> for &StartCaptureFramesResponse
11557 {
11558 #[inline]
11559 unsafe fn encode(
11560 self,
11561 encoder: &mut fidl::encoding::Encoder<'_, D>,
11562 offset: usize,
11563 _depth: fidl::encoding::Depth,
11564 ) -> fidl::Result<()> {
11565 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11566 fidl::encoding::Encode::<StartCaptureFramesResponse, D>::encode(
11568 (
11569 <i32 as fidl::encoding::ValueTypeMarker>::borrow(&self.status),
11570 <MgmtFrameCaptureFlags as fidl::encoding::ValueTypeMarker>::borrow(
11571 &self.supported_mgmt_frames,
11572 ),
11573 ),
11574 encoder,
11575 offset,
11576 _depth,
11577 )
11578 }
11579 }
11580 unsafe impl<
11581 D: fidl::encoding::ResourceDialect,
11582 T0: fidl::encoding::Encode<i32, D>,
11583 T1: fidl::encoding::Encode<MgmtFrameCaptureFlags, D>,
11584 > fidl::encoding::Encode<StartCaptureFramesResponse, D> for (T0, T1)
11585 {
11586 #[inline]
11587 unsafe fn encode(
11588 self,
11589 encoder: &mut fidl::encoding::Encoder<'_, D>,
11590 offset: usize,
11591 depth: fidl::encoding::Depth,
11592 ) -> fidl::Result<()> {
11593 encoder.debug_check_bounds::<StartCaptureFramesResponse>(offset);
11594 self.0.encode(encoder, offset + 0, depth)?;
11598 self.1.encode(encoder, offset + 4, depth)?;
11599 Ok(())
11600 }
11601 }
11602
11603 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
11604 for StartCaptureFramesResponse
11605 {
11606 #[inline(always)]
11607 fn new_empty() -> Self {
11608 Self {
11609 status: fidl::new_empty!(i32, D),
11610 supported_mgmt_frames: fidl::new_empty!(MgmtFrameCaptureFlags, D),
11611 }
11612 }
11613
11614 #[inline]
11615 unsafe fn decode(
11616 &mut self,
11617 decoder: &mut fidl::encoding::Decoder<'_, D>,
11618 offset: usize,
11619 _depth: fidl::encoding::Depth,
11620 ) -> fidl::Result<()> {
11621 decoder.debug_check_bounds::<Self>(offset);
11622 fidl::decode!(i32, D, &mut self.status, decoder, offset + 0, _depth)?;
11624 fidl::decode!(
11625 MgmtFrameCaptureFlags,
11626 D,
11627 &mut self.supported_mgmt_frames,
11628 decoder,
11629 offset + 4,
11630 _depth
11631 )?;
11632 Ok(())
11633 }
11634 }
11635
11636 impl fidl::encoding::ValueTypeMarker for StartConfirm {
11637 type Borrowed<'a> = &'a Self;
11638 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11639 value
11640 }
11641 }
11642
11643 unsafe impl fidl::encoding::TypeMarker for StartConfirm {
11644 type Owned = Self;
11645
11646 #[inline(always)]
11647 fn inline_align(_context: fidl::encoding::Context) -> usize {
11648 4
11649 }
11650
11651 #[inline(always)]
11652 fn inline_size(_context: fidl::encoding::Context) -> usize {
11653 4
11654 }
11655 }
11656
11657 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartConfirm, D>
11658 for &StartConfirm
11659 {
11660 #[inline]
11661 unsafe fn encode(
11662 self,
11663 encoder: &mut fidl::encoding::Encoder<'_, D>,
11664 offset: usize,
11665 _depth: fidl::encoding::Depth,
11666 ) -> fidl::Result<()> {
11667 encoder.debug_check_bounds::<StartConfirm>(offset);
11668 fidl::encoding::Encode::<StartConfirm, D>::encode(
11670 (<StartResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
11671 encoder,
11672 offset,
11673 _depth,
11674 )
11675 }
11676 }
11677 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StartResultCode, D>>
11678 fidl::encoding::Encode<StartConfirm, D> for (T0,)
11679 {
11680 #[inline]
11681 unsafe fn encode(
11682 self,
11683 encoder: &mut fidl::encoding::Encoder<'_, D>,
11684 offset: usize,
11685 depth: fidl::encoding::Depth,
11686 ) -> fidl::Result<()> {
11687 encoder.debug_check_bounds::<StartConfirm>(offset);
11688 self.0.encode(encoder, offset + 0, depth)?;
11692 Ok(())
11693 }
11694 }
11695
11696 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartConfirm {
11697 #[inline(always)]
11698 fn new_empty() -> Self {
11699 Self { result_code: fidl::new_empty!(StartResultCode, D) }
11700 }
11701
11702 #[inline]
11703 unsafe fn decode(
11704 &mut self,
11705 decoder: &mut fidl::encoding::Decoder<'_, D>,
11706 offset: usize,
11707 _depth: fidl::encoding::Depth,
11708 ) -> fidl::Result<()> {
11709 decoder.debug_check_bounds::<Self>(offset);
11710 fidl::decode!(StartResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
11712 Ok(())
11713 }
11714 }
11715
11716 impl fidl::encoding::ValueTypeMarker for StartRequest {
11717 type Borrowed<'a> = &'a Self;
11718 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11719 value
11720 }
11721 }
11722
11723 unsafe impl fidl::encoding::TypeMarker for StartRequest {
11724 type Owned = Self;
11725
11726 #[inline(always)]
11727 fn inline_align(_context: fidl::encoding::Context) -> usize {
11728 8
11729 }
11730
11731 #[inline(always)]
11732 fn inline_size(_context: fidl::encoding::Context) -> usize {
11733 96
11734 }
11735 }
11736
11737 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StartRequest, D>
11738 for &StartRequest
11739 {
11740 #[inline]
11741 unsafe fn encode(
11742 self,
11743 encoder: &mut fidl::encoding::Encoder<'_, D>,
11744 offset: usize,
11745 _depth: fidl::encoding::Depth,
11746 ) -> fidl::Result<()> {
11747 encoder.debug_check_bounds::<StartRequest>(offset);
11748 fidl::encoding::Encode::<StartRequest, D>::encode(
11750 (
11751 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.ssid),
11752 <fidl_fuchsia_wlan_common__common::BssType as fidl::encoding::ValueTypeMarker>::borrow(&self.bss_type),
11753 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.beacon_period),
11754 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.dtim_period),
11755 <u8 as fidl::encoding::ValueTypeMarker>::borrow(&self.channel),
11756 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.capability_info),
11757 <fidl::encoding::Vector<u8, 14> as fidl::encoding::ValueTypeMarker>::borrow(&self.rates),
11758 <Country as fidl::encoding::ValueTypeMarker>::borrow(&self.country),
11759 <fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(&self.mesh_id),
11760 <fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>> as fidl::encoding::ValueTypeMarker>::borrow(&self.rsne),
11761 <fidl_fuchsia_wlan_common__common::WlanPhyType as fidl::encoding::ValueTypeMarker>::borrow(&self.phy),
11762 <fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth as fidl::encoding::ValueTypeMarker>::borrow(&self.channel_bandwidth),
11763 ),
11764 encoder, offset, _depth
11765 )
11766 }
11767 }
11768 unsafe impl<
11769 D: fidl::encoding::ResourceDialect,
11770 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11771 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::BssType, D>,
11772 T2: fidl::encoding::Encode<u16, D>,
11773 T3: fidl::encoding::Encode<u8, D>,
11774 T4: fidl::encoding::Encode<u8, D>,
11775 T5: fidl::encoding::Encode<u16, D>,
11776 T6: fidl::encoding::Encode<fidl::encoding::Vector<u8, 14>, D>,
11777 T7: fidl::encoding::Encode<Country, D>,
11778 T8: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
11779 T9: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>, D>,
11780 T10: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanPhyType, D>,
11781 T11: fidl::encoding::Encode<fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth, D>,
11782 > fidl::encoding::Encode<StartRequest, D>
11783 for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
11784 {
11785 #[inline]
11786 unsafe fn encode(
11787 self,
11788 encoder: &mut fidl::encoding::Encoder<'_, D>,
11789 offset: usize,
11790 depth: fidl::encoding::Depth,
11791 ) -> fidl::Result<()> {
11792 encoder.debug_check_bounds::<StartRequest>(offset);
11793 unsafe {
11796 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(24);
11797 (ptr as *mut u64).write_unaligned(0);
11798 }
11799 unsafe {
11800 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(48);
11801 (ptr as *mut u64).write_unaligned(0);
11802 }
11803 self.0.encode(encoder, offset + 0, depth)?;
11805 self.1.encode(encoder, offset + 16, depth)?;
11806 self.2.encode(encoder, offset + 20, depth)?;
11807 self.3.encode(encoder, offset + 22, depth)?;
11808 self.4.encode(encoder, offset + 23, depth)?;
11809 self.5.encode(encoder, offset + 24, depth)?;
11810 self.6.encode(encoder, offset + 32, depth)?;
11811 self.7.encode(encoder, offset + 48, depth)?;
11812 self.8.encode(encoder, offset + 56, depth)?;
11813 self.9.encode(encoder, offset + 72, depth)?;
11814 self.10.encode(encoder, offset + 88, depth)?;
11815 self.11.encode(encoder, offset + 92, depth)?;
11816 Ok(())
11817 }
11818 }
11819
11820 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StartRequest {
11821 #[inline(always)]
11822 fn new_empty() -> Self {
11823 Self {
11824 ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11825 bss_type: fidl::new_empty!(fidl_fuchsia_wlan_common__common::BssType, D),
11826 beacon_period: fidl::new_empty!(u16, D),
11827 dtim_period: fidl::new_empty!(u8, D),
11828 channel: fidl::new_empty!(u8, D),
11829 capability_info: fidl::new_empty!(u16, D),
11830 rates: fidl::new_empty!(fidl::encoding::Vector<u8, 14>, D),
11831 country: fidl::new_empty!(Country, D),
11832 mesh_id: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D),
11833 rsne: fidl::new_empty!(
11834 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11835 D
11836 ),
11837 phy: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanPhyType, D),
11838 channel_bandwidth: fidl::new_empty!(
11839 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
11840 D
11841 ),
11842 }
11843 }
11844
11845 #[inline]
11846 unsafe fn decode(
11847 &mut self,
11848 decoder: &mut fidl::encoding::Decoder<'_, D>,
11849 offset: usize,
11850 _depth: fidl::encoding::Depth,
11851 ) -> fidl::Result<()> {
11852 decoder.debug_check_bounds::<Self>(offset);
11853 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(24) };
11855 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11856 let mask = 0xffffffffffff0000u64;
11857 let maskedval = padval & mask;
11858 if maskedval != 0 {
11859 return Err(fidl::Error::NonZeroPadding {
11860 padding_start: offset + 24 + ((mask as u64).trailing_zeros() / 8) as usize,
11861 });
11862 }
11863 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(48) };
11864 let padval = unsafe { (ptr as *const u64).read_unaligned() };
11865 let mask = 0xffffffffff000000u64;
11866 let maskedval = padval & mask;
11867 if maskedval != 0 {
11868 return Err(fidl::Error::NonZeroPadding {
11869 padding_start: offset + 48 + ((mask as u64).trailing_zeros() / 8) as usize,
11870 });
11871 }
11872 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
11873 fidl::decode!(
11874 fidl_fuchsia_wlan_common__common::BssType,
11875 D,
11876 &mut self.bss_type,
11877 decoder,
11878 offset + 16,
11879 _depth
11880 )?;
11881 fidl::decode!(u16, D, &mut self.beacon_period, decoder, offset + 20, _depth)?;
11882 fidl::decode!(u8, D, &mut self.dtim_period, decoder, offset + 22, _depth)?;
11883 fidl::decode!(u8, D, &mut self.channel, decoder, offset + 23, _depth)?;
11884 fidl::decode!(u16, D, &mut self.capability_info, decoder, offset + 24, _depth)?;
11885 fidl::decode!(fidl::encoding::Vector<u8, 14>, D, &mut self.rates, decoder, offset + 32, _depth)?;
11886 fidl::decode!(Country, D, &mut self.country, decoder, offset + 48, _depth)?;
11887 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.mesh_id, decoder, offset + 56, _depth)?;
11888 fidl::decode!(
11889 fidl::encoding::Optional<fidl::encoding::Vector<u8, 257>>,
11890 D,
11891 &mut self.rsne,
11892 decoder,
11893 offset + 72,
11894 _depth
11895 )?;
11896 fidl::decode!(
11897 fidl_fuchsia_wlan_common__common::WlanPhyType,
11898 D,
11899 &mut self.phy,
11900 decoder,
11901 offset + 88,
11902 _depth
11903 )?;
11904 fidl::decode!(
11905 fidl_fuchsia_wlan_ieee80211__common::ChannelBandwidth,
11906 D,
11907 &mut self.channel_bandwidth,
11908 decoder,
11909 offset + 92,
11910 _depth
11911 )?;
11912 Ok(())
11913 }
11914 }
11915
11916 impl fidl::encoding::ValueTypeMarker for StopConfirm {
11917 type Borrowed<'a> = &'a Self;
11918 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11919 value
11920 }
11921 }
11922
11923 unsafe impl fidl::encoding::TypeMarker for StopConfirm {
11924 type Owned = Self;
11925
11926 #[inline(always)]
11927 fn inline_align(_context: fidl::encoding::Context) -> usize {
11928 4
11929 }
11930
11931 #[inline(always)]
11932 fn inline_size(_context: fidl::encoding::Context) -> usize {
11933 4
11934 }
11935 }
11936
11937 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopConfirm, D>
11938 for &StopConfirm
11939 {
11940 #[inline]
11941 unsafe fn encode(
11942 self,
11943 encoder: &mut fidl::encoding::Encoder<'_, D>,
11944 offset: usize,
11945 _depth: fidl::encoding::Depth,
11946 ) -> fidl::Result<()> {
11947 encoder.debug_check_bounds::<StopConfirm>(offset);
11948 fidl::encoding::Encode::<StopConfirm, D>::encode(
11950 (<StopResultCode as fidl::encoding::ValueTypeMarker>::borrow(&self.result_code),),
11951 encoder,
11952 offset,
11953 _depth,
11954 )
11955 }
11956 }
11957 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<StopResultCode, D>>
11958 fidl::encoding::Encode<StopConfirm, D> for (T0,)
11959 {
11960 #[inline]
11961 unsafe fn encode(
11962 self,
11963 encoder: &mut fidl::encoding::Encoder<'_, D>,
11964 offset: usize,
11965 depth: fidl::encoding::Depth,
11966 ) -> fidl::Result<()> {
11967 encoder.debug_check_bounds::<StopConfirm>(offset);
11968 self.0.encode(encoder, offset + 0, depth)?;
11972 Ok(())
11973 }
11974 }
11975
11976 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopConfirm {
11977 #[inline(always)]
11978 fn new_empty() -> Self {
11979 Self { result_code: fidl::new_empty!(StopResultCode, D) }
11980 }
11981
11982 #[inline]
11983 unsafe fn decode(
11984 &mut self,
11985 decoder: &mut fidl::encoding::Decoder<'_, D>,
11986 offset: usize,
11987 _depth: fidl::encoding::Depth,
11988 ) -> fidl::Result<()> {
11989 decoder.debug_check_bounds::<Self>(offset);
11990 fidl::decode!(StopResultCode, D, &mut self.result_code, decoder, offset + 0, _depth)?;
11992 Ok(())
11993 }
11994 }
11995
11996 impl fidl::encoding::ValueTypeMarker for StopRequest {
11997 type Borrowed<'a> = &'a Self;
11998 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
11999 value
12000 }
12001 }
12002
12003 unsafe impl fidl::encoding::TypeMarker for StopRequest {
12004 type Owned = Self;
12005
12006 #[inline(always)]
12007 fn inline_align(_context: fidl::encoding::Context) -> usize {
12008 8
12009 }
12010
12011 #[inline(always)]
12012 fn inline_size(_context: fidl::encoding::Context) -> usize {
12013 16
12014 }
12015 }
12016
12017 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<StopRequest, D>
12018 for &StopRequest
12019 {
12020 #[inline]
12021 unsafe fn encode(
12022 self,
12023 encoder: &mut fidl::encoding::Encoder<'_, D>,
12024 offset: usize,
12025 _depth: fidl::encoding::Depth,
12026 ) -> fidl::Result<()> {
12027 encoder.debug_check_bounds::<StopRequest>(offset);
12028 fidl::encoding::Encode::<StopRequest, D>::encode(
12030 (<fidl::encoding::Vector<u8, 32> as fidl::encoding::ValueTypeMarker>::borrow(
12031 &self.ssid,
12032 ),),
12033 encoder,
12034 offset,
12035 _depth,
12036 )
12037 }
12038 }
12039 unsafe impl<
12040 D: fidl::encoding::ResourceDialect,
12041 T0: fidl::encoding::Encode<fidl::encoding::Vector<u8, 32>, D>,
12042 > fidl::encoding::Encode<StopRequest, D> for (T0,)
12043 {
12044 #[inline]
12045 unsafe fn encode(
12046 self,
12047 encoder: &mut fidl::encoding::Encoder<'_, D>,
12048 offset: usize,
12049 depth: fidl::encoding::Depth,
12050 ) -> fidl::Result<()> {
12051 encoder.debug_check_bounds::<StopRequest>(offset);
12052 self.0.encode(encoder, offset + 0, depth)?;
12056 Ok(())
12057 }
12058 }
12059
12060 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for StopRequest {
12061 #[inline(always)]
12062 fn new_empty() -> Self {
12063 Self { ssid: fidl::new_empty!(fidl::encoding::Vector<u8, 32>, D) }
12064 }
12065
12066 #[inline]
12067 unsafe fn decode(
12068 &mut self,
12069 decoder: &mut fidl::encoding::Decoder<'_, D>,
12070 offset: usize,
12071 _depth: fidl::encoding::Depth,
12072 ) -> fidl::Result<()> {
12073 decoder.debug_check_bounds::<Self>(offset);
12074 fidl::decode!(fidl::encoding::Vector<u8, 32>, D, &mut self.ssid, decoder, offset + 0, _depth)?;
12076 Ok(())
12077 }
12078 }
12079
12080 impl fidl::encoding::ValueTypeMarker for WmmParameter {
12081 type Borrowed<'a> = &'a Self;
12082 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12083 value
12084 }
12085 }
12086
12087 unsafe impl fidl::encoding::TypeMarker for WmmParameter {
12088 type Owned = Self;
12089
12090 #[inline(always)]
12091 fn inline_align(_context: fidl::encoding::Context) -> usize {
12092 1
12093 }
12094
12095 #[inline(always)]
12096 fn inline_size(_context: fidl::encoding::Context) -> usize {
12097 18
12098 }
12099 #[inline(always)]
12100 fn encode_is_copy() -> bool {
12101 true
12102 }
12103
12104 #[inline(always)]
12105 fn decode_is_copy() -> bool {
12106 true
12107 }
12108 }
12109
12110 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<WmmParameter, D>
12111 for &WmmParameter
12112 {
12113 #[inline]
12114 unsafe fn encode(
12115 self,
12116 encoder: &mut fidl::encoding::Encoder<'_, D>,
12117 offset: usize,
12118 _depth: fidl::encoding::Depth,
12119 ) -> fidl::Result<()> {
12120 encoder.debug_check_bounds::<WmmParameter>(offset);
12121 unsafe {
12122 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
12124 (buf_ptr as *mut WmmParameter)
12125 .write_unaligned((self as *const WmmParameter).read());
12126 }
12129 Ok(())
12130 }
12131 }
12132 unsafe impl<
12133 D: fidl::encoding::ResourceDialect,
12134 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 18>, D>,
12135 > fidl::encoding::Encode<WmmParameter, D> for (T0,)
12136 {
12137 #[inline]
12138 unsafe fn encode(
12139 self,
12140 encoder: &mut fidl::encoding::Encoder<'_, D>,
12141 offset: usize,
12142 depth: fidl::encoding::Depth,
12143 ) -> fidl::Result<()> {
12144 encoder.debug_check_bounds::<WmmParameter>(offset);
12145 self.0.encode(encoder, offset + 0, depth)?;
12149 Ok(())
12150 }
12151 }
12152
12153 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for WmmParameter {
12154 #[inline(always)]
12155 fn new_empty() -> Self {
12156 Self { bytes: fidl::new_empty!(fidl::encoding::Array<u8, 18>, D) }
12157 }
12158
12159 #[inline]
12160 unsafe fn decode(
12161 &mut self,
12162 decoder: &mut fidl::encoding::Decoder<'_, D>,
12163 offset: usize,
12164 _depth: fidl::encoding::Depth,
12165 ) -> fidl::Result<()> {
12166 decoder.debug_check_bounds::<Self>(offset);
12167 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
12168 unsafe {
12171 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 18);
12172 }
12173 Ok(())
12174 }
12175 }
12176
12177 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
12178 type Borrowed<'a> = &'a Self;
12179 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12180 value
12181 }
12182 }
12183
12184 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
12185 type Owned = Self;
12186
12187 #[inline(always)]
12188 fn inline_align(_context: fidl::encoding::Context) -> usize {
12189 8
12190 }
12191
12192 #[inline(always)]
12193 fn inline_size(_context: fidl::encoding::Context) -> usize {
12194 16
12195 }
12196 }
12197
12198 unsafe impl<D: fidl::encoding::ResourceDialect>
12199 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
12200 for &GetIfaceHistogramStatsResponse
12201 {
12202 #[inline]
12203 unsafe fn encode(
12204 self,
12205 encoder: &mut fidl::encoding::Encoder<'_, D>,
12206 offset: usize,
12207 _depth: fidl::encoding::Depth,
12208 ) -> fidl::Result<()> {
12209 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
12210 encoder.write_num::<u64>(self.ordinal(), offset);
12211 match self {
12212 GetIfaceHistogramStatsResponse::Stats(ref val) => {
12213 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
12214 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12215 encoder, offset + 8, _depth
12216 )
12217 }
12218 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
12219 fidl::encoding::encode_in_envelope::<i32, D>(
12220 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12221 encoder, offset + 8, _depth
12222 )
12223 }
12224 }
12225 }
12226 }
12227
12228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
12229 for GetIfaceHistogramStatsResponse
12230 {
12231 #[inline(always)]
12232 fn new_empty() -> Self {
12233 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
12234 }
12235
12236 #[inline]
12237 unsafe fn decode(
12238 &mut self,
12239 decoder: &mut fidl::encoding::Decoder<'_, D>,
12240 offset: usize,
12241 mut depth: fidl::encoding::Depth,
12242 ) -> fidl::Result<()> {
12243 decoder.debug_check_bounds::<Self>(offset);
12244 #[allow(unused_variables)]
12245 let next_out_of_line = decoder.next_out_of_line();
12246 let handles_before = decoder.remaining_handles();
12247 let (ordinal, inlined, num_bytes, num_handles) =
12248 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12249
12250 let member_inline_size = match ordinal {
12251 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12252 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12253 _ => return Err(fidl::Error::UnknownUnionTag),
12254 };
12255
12256 if inlined != (member_inline_size <= 4) {
12257 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12258 }
12259 let _inner_offset;
12260 if inlined {
12261 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12262 _inner_offset = offset + 8;
12263 } else {
12264 depth.increment()?;
12265 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12266 }
12267 match ordinal {
12268 1 => {
12269 #[allow(irrefutable_let_patterns)]
12270 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
12271 } else {
12273 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
12275 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12276 D
12277 ));
12278 }
12279 #[allow(irrefutable_let_patterns)]
12280 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
12281 fidl::decode!(
12282 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
12283 D,
12284 val,
12285 decoder,
12286 _inner_offset,
12287 depth
12288 )?;
12289 } else {
12290 unreachable!()
12291 }
12292 }
12293 2 => {
12294 #[allow(irrefutable_let_patterns)]
12295 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
12296 } else {
12298 *self =
12300 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12301 }
12302 #[allow(irrefutable_let_patterns)]
12303 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
12304 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12305 } else {
12306 unreachable!()
12307 }
12308 }
12309 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12310 }
12311 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12312 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12313 }
12314 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12315 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12316 }
12317 Ok(())
12318 }
12319 }
12320
12321 impl fidl::encoding::ValueTypeMarker for GetIfaceStatsResponse {
12322 type Borrowed<'a> = &'a Self;
12323 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
12324 value
12325 }
12326 }
12327
12328 unsafe impl fidl::encoding::TypeMarker for GetIfaceStatsResponse {
12329 type Owned = Self;
12330
12331 #[inline(always)]
12332 fn inline_align(_context: fidl::encoding::Context) -> usize {
12333 8
12334 }
12335
12336 #[inline(always)]
12337 fn inline_size(_context: fidl::encoding::Context) -> usize {
12338 16
12339 }
12340 }
12341
12342 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetIfaceStatsResponse, D>
12343 for &GetIfaceStatsResponse
12344 {
12345 #[inline]
12346 unsafe fn encode(
12347 self,
12348 encoder: &mut fidl::encoding::Encoder<'_, D>,
12349 offset: usize,
12350 _depth: fidl::encoding::Depth,
12351 ) -> fidl::Result<()> {
12352 encoder.debug_check_bounds::<GetIfaceStatsResponse>(offset);
12353 encoder.write_num::<u64>(self.ordinal(), offset);
12354 match self {
12355 GetIfaceStatsResponse::Stats(ref val) => {
12356 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceStats, D>(
12357 <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::ValueTypeMarker>::borrow(val),
12358 encoder, offset + 8, _depth
12359 )
12360 }
12361 GetIfaceStatsResponse::ErrorStatus(ref val) => {
12362 fidl::encoding::encode_in_envelope::<i32, D>(
12363 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
12364 encoder, offset + 8, _depth
12365 )
12366 }
12367 }
12368 }
12369 }
12370
12371 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetIfaceStatsResponse {
12372 #[inline(always)]
12373 fn new_empty() -> Self {
12374 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceStats, D))
12375 }
12376
12377 #[inline]
12378 unsafe fn decode(
12379 &mut self,
12380 decoder: &mut fidl::encoding::Decoder<'_, D>,
12381 offset: usize,
12382 mut depth: fidl::encoding::Depth,
12383 ) -> fidl::Result<()> {
12384 decoder.debug_check_bounds::<Self>(offset);
12385 #[allow(unused_variables)]
12386 let next_out_of_line = decoder.next_out_of_line();
12387 let handles_before = decoder.remaining_handles();
12388 let (ordinal, inlined, num_bytes, num_handles) =
12389 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
12390
12391 let member_inline_size = match ordinal {
12392 1 => <fidl_fuchsia_wlan_stats__common::IfaceStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12393 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
12394 _ => return Err(fidl::Error::UnknownUnionTag),
12395 };
12396
12397 if inlined != (member_inline_size <= 4) {
12398 return Err(fidl::Error::InvalidInlineBitInEnvelope);
12399 }
12400 let _inner_offset;
12401 if inlined {
12402 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
12403 _inner_offset = offset + 8;
12404 } else {
12405 depth.increment()?;
12406 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
12407 }
12408 match ordinal {
12409 1 => {
12410 #[allow(irrefutable_let_patterns)]
12411 if let GetIfaceStatsResponse::Stats(_) = self {
12412 } else {
12414 *self = GetIfaceStatsResponse::Stats(fidl::new_empty!(
12416 fidl_fuchsia_wlan_stats__common::IfaceStats,
12417 D
12418 ));
12419 }
12420 #[allow(irrefutable_let_patterns)]
12421 if let GetIfaceStatsResponse::Stats(ref mut val) = self {
12422 fidl::decode!(
12423 fidl_fuchsia_wlan_stats__common::IfaceStats,
12424 D,
12425 val,
12426 decoder,
12427 _inner_offset,
12428 depth
12429 )?;
12430 } else {
12431 unreachable!()
12432 }
12433 }
12434 2 => {
12435 #[allow(irrefutable_let_patterns)]
12436 if let GetIfaceStatsResponse::ErrorStatus(_) = self {
12437 } else {
12439 *self = GetIfaceStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
12441 }
12442 #[allow(irrefutable_let_patterns)]
12443 if let GetIfaceStatsResponse::ErrorStatus(ref mut val) = self {
12444 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
12445 } else {
12446 unreachable!()
12447 }
12448 }
12449 ordinal => panic!("unexpected ordinal {:?}", ordinal),
12450 }
12451 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
12452 return Err(fidl::Error::InvalidNumBytesInEnvelope);
12453 }
12454 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
12455 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
12456 }
12457 Ok(())
12458 }
12459 }
12460}