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