Skip to main content

fidl_fuchsia_wlan_fullmac/
fidl_fuchsia_wlan_fullmac.rs

1// WARNING: This file is machine generated by fidlgen.
2
3#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::client::QueryResponseFut;
8use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
9use fidl::endpoints::{ControlHandle as _, Responder as _};
10pub use fidl_fuchsia_wlan_fullmac_common::*;
11use futures::future::{self, MaybeDone, TryFutureExt};
12use zx_status;
13
14#[derive(Debug, Default, PartialEq)]
15pub struct WlanFullmacImplInitRequest {
16    /// The WlanFullmacImplifc client end.
17    /// Required.
18    pub ifc: Option<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>>,
19    #[doc(hidden)]
20    pub __source_breaking: fidl::marker::SourceBreaking,
21}
22
23impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
24    for WlanFullmacImplInitRequest
25{
26}
27
28#[derive(Debug, Default, PartialEq)]
29pub struct WlanFullmacImplInitResponse {
30    /// The SME server end channel.
31    /// Required.
32    pub sme_channel: Option<fidl::Channel>,
33    #[doc(hidden)]
34    pub __source_breaking: fidl::marker::SourceBreaking,
35}
36
37impl fidl::Standalone<fidl::encoding::DefaultFuchsiaResourceDialect>
38    for WlanFullmacImplInitResponse
39{
40}
41
42#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
43pub struct WlanFullmacImpl_Marker;
44
45impl fidl::endpoints::ProtocolMarker for WlanFullmacImpl_Marker {
46    type Proxy = WlanFullmacImpl_Proxy;
47    type RequestStream = WlanFullmacImpl_RequestStream;
48    #[cfg(target_os = "fuchsia")]
49    type SynchronousProxy = WlanFullmacImpl_SynchronousProxy;
50
51    const DEBUG_NAME: &'static str = "fuchsia.wlan.fullmac.WlanFullmacImpl";
52}
53impl fidl::endpoints::DiscoverableProtocolMarker for WlanFullmacImpl_Marker {}
54pub type WlanFullmacImplInitResult = Result<WlanFullmacImplInitResponse, i32>;
55pub type WlanFullmacImplQueryResult = Result<WlanFullmacImplQueryResponse, i32>;
56pub type WlanFullmacImplQuerySecuritySupportResult =
57    Result<WlanFullmacImplQuerySecuritySupportResponse, i32>;
58pub type WlanFullmacImplQuerySpectrumManagementSupportResult =
59    Result<WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>;
60pub type WlanFullmacImplQueryTelemetrySupportResult =
61    Result<WlanFullmacImplQueryTelemetrySupportResponse, i32>;
62pub type WlanFullmacImplQueryApfPacketFilterSupportResult =
63    Result<WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>;
64pub type WlanFullmacImplStartScheduledScanResult = Result<(), i32>;
65pub type WlanFullmacImplStopScheduledScanResult = Result<(), i32>;
66pub type WlanFullmacImplGetScheduledScanEnabledResult =
67    Result<WlanFullmacImplGetScheduledScanEnabledResponse, i32>;
68pub type WlanFullmacImplGetIfaceStatsResult = Result<fidl_fuchsia_wlan_stats::IfaceStats, i32>;
69pub type WlanFullmacImplGetIfaceHistogramStatsResult =
70    Result<fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>;
71pub type WlanFullmacImplGetSignalReportResult = Result<fidl_fuchsia_wlan_stats::SignalReport, i32>;
72pub type WlanFullmacImplSetMacAddressResult = Result<(), i32>;
73pub type WlanFullmacImplInstallApfPacketFilterResult = Result<(), i32>;
74pub type WlanFullmacImplReadApfPacketFilterDataResult =
75    Result<WlanFullmacImplReadApfPacketFilterDataResponse, i32>;
76pub type WlanFullmacImplSetApfPacketFilterEnabledResult = Result<(), i32>;
77pub type WlanFullmacImplGetApfPacketFilterEnabledResult =
78    Result<WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>;
79
80pub trait WlanFullmacImpl_ProxyInterface: Send + Sync {
81    type InitResponseFut: std::future::Future<Output = Result<WlanFullmacImplInitResult, fidl::Error>>
82        + Send;
83    fn r#init(&self, payload: WlanFullmacImplInitRequest) -> Self::InitResponseFut;
84    type QueryResponseFut: std::future::Future<Output = Result<WlanFullmacImplQueryResult, fidl::Error>>
85        + Send;
86    fn r#query(&self) -> Self::QueryResponseFut;
87    type QuerySecuritySupportResponseFut: std::future::Future<Output = Result<WlanFullmacImplQuerySecuritySupportResult, fidl::Error>>
88        + Send;
89    fn r#query_security_support(&self) -> Self::QuerySecuritySupportResponseFut;
90    type QuerySpectrumManagementSupportResponseFut: std::future::Future<
91            Output = Result<WlanFullmacImplQuerySpectrumManagementSupportResult, fidl::Error>,
92        > + Send;
93    fn r#query_spectrum_management_support(
94        &self,
95    ) -> Self::QuerySpectrumManagementSupportResponseFut;
96    type QueryTelemetrySupportResponseFut: std::future::Future<
97            Output = Result<WlanFullmacImplQueryTelemetrySupportResult, fidl::Error>,
98        > + Send;
99    fn r#query_telemetry_support(&self) -> Self::QueryTelemetrySupportResponseFut;
100    type QueryApfPacketFilterSupportResponseFut: std::future::Future<
101            Output = Result<WlanFullmacImplQueryApfPacketFilterSupportResult, fidl::Error>,
102        > + Send;
103    fn r#query_apf_packet_filter_support(&self) -> Self::QueryApfPacketFilterSupportResponseFut;
104    type StartScanResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
105    fn r#start_scan(&self, payload: &WlanFullmacImplStartScanRequest)
106    -> Self::StartScanResponseFut;
107    type StartScheduledScanResponseFut: std::future::Future<Output = Result<WlanFullmacImplStartScheduledScanResult, fidl::Error>>
108        + Send;
109    fn r#start_scheduled_scan(
110        &self,
111        payload: &WlanFullmacImplStartScheduledScanRequest,
112    ) -> Self::StartScheduledScanResponseFut;
113    type StopScheduledScanResponseFut: std::future::Future<Output = Result<WlanFullmacImplStopScheduledScanResult, fidl::Error>>
114        + Send;
115    fn r#stop_scheduled_scan(
116        &self,
117        payload: &WlanFullmacImplStopScheduledScanRequest,
118    ) -> Self::StopScheduledScanResponseFut;
119    type GetScheduledScanEnabledResponseFut: std::future::Future<
120            Output = Result<WlanFullmacImplGetScheduledScanEnabledResult, fidl::Error>,
121        > + Send;
122    fn r#get_scheduled_scan_enabled(&self) -> Self::GetScheduledScanEnabledResponseFut;
123    type ConnectResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
124    fn r#connect(&self, payload: &WlanFullmacImplConnectRequest) -> Self::ConnectResponseFut;
125    type ReconnectResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
126    fn r#reconnect(&self, payload: &WlanFullmacImplReconnectRequest) -> Self::ReconnectResponseFut;
127    type RoamResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
128    fn r#roam(&self, payload: &WlanFullmacImplRoamRequest) -> Self::RoamResponseFut;
129    type AuthRespResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
130    fn r#auth_resp(&self, payload: &WlanFullmacImplAuthRespRequest) -> Self::AuthRespResponseFut;
131    type DeauthResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
132    fn r#deauth(&self, payload: &WlanFullmacImplDeauthRequest) -> Self::DeauthResponseFut;
133    type AssocRespResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
134    fn r#assoc_resp(&self, payload: &WlanFullmacImplAssocRespRequest)
135    -> Self::AssocRespResponseFut;
136    type DisassocResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
137    fn r#disassoc(&self, payload: &WlanFullmacImplDisassocRequest) -> Self::DisassocResponseFut;
138    type StartBssResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
139    fn r#start_bss(&self, payload: &WlanFullmacImplStartBssRequest) -> Self::StartBssResponseFut;
140    type StopBssResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
141    fn r#stop_bss(&self, payload: &WlanFullmacImplStopBssRequest) -> Self::StopBssResponseFut;
142    type SetKeysResponseFut: std::future::Future<Output = Result<WlanFullmacSetKeysResp, fidl::Error>>
143        + Send;
144    fn r#set_keys(&self, payload: &WlanFullmacImplSetKeysRequest) -> Self::SetKeysResponseFut;
145    type EapolTxResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
146    fn r#eapol_tx(&self, payload: &WlanFullmacImplEapolTxRequest) -> Self::EapolTxResponseFut;
147    type GetIfaceStatsResponseFut: std::future::Future<Output = Result<WlanFullmacImplGetIfaceStatsResult, fidl::Error>>
148        + Send;
149    fn r#get_iface_stats(&self) -> Self::GetIfaceStatsResponseFut;
150    type GetIfaceHistogramStatsResponseFut: std::future::Future<
151            Output = Result<WlanFullmacImplGetIfaceHistogramStatsResult, fidl::Error>,
152        > + Send;
153    fn r#get_iface_histogram_stats(&self) -> Self::GetIfaceHistogramStatsResponseFut;
154    type GetSignalReportResponseFut: std::future::Future<Output = Result<WlanFullmacImplGetSignalReportResult, fidl::Error>>
155        + Send;
156    fn r#get_signal_report(&self) -> Self::GetSignalReportResponseFut;
157    type SaeHandshakeRespResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
158    fn r#sae_handshake_resp(
159        &self,
160        payload: &WlanFullmacImplSaeHandshakeRespRequest,
161    ) -> Self::SaeHandshakeRespResponseFut;
162    type SaeFrameTxResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
163    fn r#sae_frame_tx(&self, frame: &SaeFrame) -> Self::SaeFrameTxResponseFut;
164    type WmmStatusReqResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
165    fn r#wmm_status_req(&self) -> Self::WmmStatusReqResponseFut;
166    type OnLinkStateChangedResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
167    fn r#on_link_state_changed(
168        &self,
169        payload: &WlanFullmacImplOnLinkStateChangedRequest,
170    ) -> Self::OnLinkStateChangedResponseFut;
171    type SetMacAddressResponseFut: std::future::Future<Output = Result<WlanFullmacImplSetMacAddressResult, fidl::Error>>
172        + Send;
173    fn r#set_mac_address(&self, mac_addr: &[u8; 6]) -> Self::SetMacAddressResponseFut;
174    type InstallApfPacketFilterResponseFut: std::future::Future<
175            Output = Result<WlanFullmacImplInstallApfPacketFilterResult, fidl::Error>,
176        > + Send;
177    fn r#install_apf_packet_filter(
178        &self,
179        payload: &WlanFullmacImplInstallApfPacketFilterRequest,
180    ) -> Self::InstallApfPacketFilterResponseFut;
181    type ReadApfPacketFilterDataResponseFut: std::future::Future<
182            Output = Result<WlanFullmacImplReadApfPacketFilterDataResult, fidl::Error>,
183        > + Send;
184    fn r#read_apf_packet_filter_data(&self) -> Self::ReadApfPacketFilterDataResponseFut;
185    type SetApfPacketFilterEnabledResponseFut: std::future::Future<
186            Output = Result<WlanFullmacImplSetApfPacketFilterEnabledResult, fidl::Error>,
187        > + Send;
188    fn r#set_apf_packet_filter_enabled(
189        &self,
190        payload: &WlanFullmacImplSetApfPacketFilterEnabledRequest,
191    ) -> Self::SetApfPacketFilterEnabledResponseFut;
192    type GetApfPacketFilterEnabledResponseFut: std::future::Future<
193            Output = Result<WlanFullmacImplGetApfPacketFilterEnabledResult, fidl::Error>,
194        > + Send;
195    fn r#get_apf_packet_filter_enabled(&self) -> Self::GetApfPacketFilterEnabledResponseFut;
196}
197#[derive(Debug)]
198#[cfg(target_os = "fuchsia")]
199pub struct WlanFullmacImpl_SynchronousProxy {
200    client: fidl::client::sync::Client,
201}
202
203#[cfg(target_os = "fuchsia")]
204impl fidl::endpoints::SynchronousProxy for WlanFullmacImpl_SynchronousProxy {
205    type Proxy = WlanFullmacImpl_Proxy;
206    type Protocol = WlanFullmacImpl_Marker;
207
208    fn from_channel(inner: fidl::Channel) -> Self {
209        Self::new(inner)
210    }
211
212    fn into_channel(self) -> fidl::Channel {
213        self.client.into_channel()
214    }
215
216    fn as_channel(&self) -> &fidl::Channel {
217        self.client.as_channel()
218    }
219}
220
221#[cfg(target_os = "fuchsia")]
222impl WlanFullmacImpl_SynchronousProxy {
223    pub fn new(channel: fidl::Channel) -> Self {
224        Self { client: fidl::client::sync::Client::new(channel) }
225    }
226
227    pub fn into_channel(self) -> fidl::Channel {
228        self.client.into_channel()
229    }
230
231    /// Waits until an event arrives and returns it. It is safe for other
232    /// threads to make concurrent requests while waiting for an event.
233    pub fn wait_for_event(
234        &self,
235        deadline: zx::MonotonicInstant,
236    ) -> Result<WlanFullmacImpl_Event, fidl::Error> {
237        WlanFullmacImpl_Event::decode(
238            self.client.wait_for_event::<WlanFullmacImpl_Marker>(deadline)?,
239        )
240    }
241
242    /// Initialize the FullMAC driver. This is the first request that the platform will make to the
243    /// FullMAC driver.
244    ///
245    /// On initialization, MLME provides the client end to the WlanFullmacImplIfc protocol. The
246    /// driver must return the SME server end channel, which is used internally by the platform.
247    /// Typically, the SME server end channel is given to the FullMAC driver by
248    /// fuchsia.wlan.phy/WlanPhy.CreateIface.
249    ///
250    /// If `Init` completes successfully, the platform will begin making other WlanFullmacImpl
251    /// requests to the FullMAC driver, and the FullMAC driver is free to make WlanFullmacImplIfc
252    /// requests to the platform. The platform may continue making WlanFullmacImpl requests until
253    /// the WlanFullmacImpl server unbinds.
254    ///
255    /// Common errors include:
256    ///   - `ZX_ERR_ALREADY_BOUND`: `Init` was already called on this FullMAC driver.
257    pub fn r#init(
258        &self,
259        mut payload: WlanFullmacImplInitRequest,
260        ___deadline: zx::MonotonicInstant,
261    ) -> Result<WlanFullmacImplInitResult, fidl::Error> {
262        let _response = self.client.send_query::<
263            WlanFullmacImplInitRequest,
264            fidl::encoding::ResultType<WlanFullmacImplInitResponse, i32>,
265            WlanFullmacImpl_Marker,
266        >(
267            &mut payload,
268            0x593dfb6cb3f0f1aa,
269            fidl::encoding::DynamicFlags::empty(),
270            ___deadline,
271        )?;
272        Ok(_response.map(|x| x))
273    }
274
275    /// Returns high-level information describing the state of the FullMAC driver.
276    /// This is safe to call even before the call to WlanFullmacImpl::Start.
277    pub fn r#query(
278        &self,
279        ___deadline: zx::MonotonicInstant,
280    ) -> Result<WlanFullmacImplQueryResult, fidl::Error> {
281        let _response = self.client.send_query::<
282            fidl::encoding::EmptyPayload,
283            fidl::encoding::ResultType<WlanFullmacImplQueryResponse, i32>,
284            WlanFullmacImpl_Marker,
285        >(
286            (),
287            0x28ac65f9da3941d4,
288            fidl::encoding::DynamicFlags::empty(),
289            ___deadline,
290        )?;
291        Ok(_response.map(|x| x))
292    }
293
294    pub fn r#query_security_support(
295        &self,
296        ___deadline: zx::MonotonicInstant,
297    ) -> Result<WlanFullmacImplQuerySecuritySupportResult, fidl::Error> {
298        let _response =
299            self.client.send_query::<fidl::encoding::EmptyPayload, fidl::encoding::ResultType<
300                WlanFullmacImplQuerySecuritySupportResponse,
301                i32,
302            >, WlanFullmacImpl_Marker>(
303                (),
304                0x11cf3fa6eeb93f84,
305                fidl::encoding::DynamicFlags::empty(),
306                ___deadline,
307            )?;
308        Ok(_response.map(|x| x))
309    }
310
311    pub fn r#query_spectrum_management_support(
312        &self,
313        ___deadline: zx::MonotonicInstant,
314    ) -> Result<WlanFullmacImplQuerySpectrumManagementSupportResult, fidl::Error> {
315        let _response =
316            self.client.send_query::<fidl::encoding::EmptyPayload, fidl::encoding::ResultType<
317                WlanFullmacImplQuerySpectrumManagementSupportResponse,
318                i32,
319            >, WlanFullmacImpl_Marker>(
320                (),
321                0x22ae7551d855b83a,
322                fidl::encoding::DynamicFlags::empty(),
323                ___deadline,
324            )?;
325        Ok(_response.map(|x| x))
326    }
327
328    pub fn r#query_telemetry_support(
329        &self,
330        ___deadline: zx::MonotonicInstant,
331    ) -> Result<WlanFullmacImplQueryTelemetrySupportResult, fidl::Error> {
332        let _response =
333            self.client.send_query::<fidl::encoding::EmptyPayload, fidl::encoding::ResultType<
334                WlanFullmacImplQueryTelemetrySupportResponse,
335                i32,
336            >, WlanFullmacImpl_Marker>(
337                (),
338                0x4561479ca560827f,
339                fidl::encoding::DynamicFlags::empty(),
340                ___deadline,
341            )?;
342        Ok(_response.map(|x| x))
343    }
344
345    pub fn r#query_apf_packet_filter_support(
346        &self,
347        ___deadline: zx::MonotonicInstant,
348    ) -> Result<WlanFullmacImplQueryApfPacketFilterSupportResult, fidl::Error> {
349        let _response = self
350            .client
351            .send_query::<fidl::encoding::EmptyPayload, fidl::encoding::FlexibleResultType<
352                WlanFullmacImplQueryApfPacketFilterSupportResponse,
353                i32,
354            >, WlanFullmacImpl_Marker>(
355                (),
356                0x6df8cdf0acd4dfad,
357                fidl::encoding::DynamicFlags::FLEXIBLE,
358                ___deadline,
359            )?
360            .into_result::<WlanFullmacImpl_Marker>("query_apf_packet_filter_support")?;
361        Ok(_response.map(|x| x))
362    }
363
364    pub fn r#start_scan(
365        &self,
366        mut payload: &WlanFullmacImplStartScanRequest,
367        ___deadline: zx::MonotonicInstant,
368    ) -> Result<(), fidl::Error> {
369        let _response = self.client.send_query::<
370            WlanFullmacImplStartScanRequest,
371            fidl::encoding::EmptyPayload,
372            WlanFullmacImpl_Marker,
373        >(
374            payload,
375            0x26c17bf595aa161c,
376            fidl::encoding::DynamicFlags::empty(),
377            ___deadline,
378        )?;
379        Ok(_response)
380    }
381
382    /// Starts scheduled scanning.
383    pub fn r#start_scheduled_scan(
384        &self,
385        mut payload: &WlanFullmacImplStartScheduledScanRequest,
386        ___deadline: zx::MonotonicInstant,
387    ) -> Result<WlanFullmacImplStartScheduledScanResult, fidl::Error> {
388        let _response = self.client.send_query::<
389            WlanFullmacImplStartScheduledScanRequest,
390            fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
391            WlanFullmacImpl_Marker,
392        >(
393            payload,
394            0x67bb4356265682d2,
395            fidl::encoding::DynamicFlags::FLEXIBLE,
396            ___deadline,
397        )?
398        .into_result::<WlanFullmacImpl_Marker>("start_scheduled_scan")?;
399        Ok(_response.map(|x| x))
400    }
401
402    /// Stops scheduled scanning.
403    ///
404    /// The successful return value indicates that the scan has been stopped.
405    /// The driver will NOT send an `OnScheduledScanStoppedByFirmware` event in response to this call.
406    /// `OnScheduledScanStoppedByFirmware` is reserved for firmware-initiated stops or errors.
407    pub fn r#stop_scheduled_scan(
408        &self,
409        mut payload: &WlanFullmacImplStopScheduledScanRequest,
410        ___deadline: zx::MonotonicInstant,
411    ) -> Result<WlanFullmacImplStopScheduledScanResult, fidl::Error> {
412        let _response = self.client.send_query::<
413            WlanFullmacImplStopScheduledScanRequest,
414            fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
415            WlanFullmacImpl_Marker,
416        >(
417            payload,
418            0x71bf2a03f2cdc10f,
419            fidl::encoding::DynamicFlags::FLEXIBLE,
420            ___deadline,
421        )?
422        .into_result::<WlanFullmacImpl_Marker>("stop_scheduled_scan")?;
423        Ok(_response.map(|x| x))
424    }
425
426    /// Returns the transaction IDs of any currently active scheduled scans.
427    pub fn r#get_scheduled_scan_enabled(
428        &self,
429        ___deadline: zx::MonotonicInstant,
430    ) -> Result<WlanFullmacImplGetScheduledScanEnabledResult, fidl::Error> {
431        let _response =
432            self.client
433                .send_query::<fidl::encoding::EmptyPayload, fidl::encoding::FlexibleResultType<
434                    WlanFullmacImplGetScheduledScanEnabledResponse,
435                    i32,
436                >, WlanFullmacImpl_Marker>(
437                    (),
438                    0x96be6f11648f198,
439                    fidl::encoding::DynamicFlags::FLEXIBLE,
440                    ___deadline,
441                )?
442                .into_result::<WlanFullmacImpl_Marker>("get_scheduled_scan_enabled")?;
443        Ok(_response.map(|x| x))
444    }
445
446    pub fn r#connect(
447        &self,
448        mut payload: &WlanFullmacImplConnectRequest,
449        ___deadline: zx::MonotonicInstant,
450    ) -> Result<(), fidl::Error> {
451        let _response = self.client.send_query::<
452            WlanFullmacImplConnectRequest,
453            fidl::encoding::EmptyPayload,
454            WlanFullmacImpl_Marker,
455        >(
456            payload,
457            0x19eb0322efb07a76,
458            fidl::encoding::DynamicFlags::empty(),
459            ___deadline,
460        )?;
461        Ok(_response)
462    }
463
464    pub fn r#reconnect(
465        &self,
466        mut payload: &WlanFullmacImplReconnectRequest,
467        ___deadline: zx::MonotonicInstant,
468    ) -> Result<(), fidl::Error> {
469        let _response = self.client.send_query::<
470            WlanFullmacImplReconnectRequest,
471            fidl::encoding::EmptyPayload,
472            WlanFullmacImpl_Marker,
473        >(
474            payload,
475            0x474084c4ef19ee71,
476            fidl::encoding::DynamicFlags::empty(),
477            ___deadline,
478        )?;
479        Ok(_response)
480    }
481
482    /// Initiate a roam attempt, which moves association to a different BSS within the ESS.
483    pub fn r#roam(
484        &self,
485        mut payload: &WlanFullmacImplRoamRequest,
486        ___deadline: zx::MonotonicInstant,
487    ) -> Result<(), fidl::Error> {
488        let _response = self.client.send_query::<
489            WlanFullmacImplRoamRequest,
490            fidl::encoding::EmptyPayload,
491            WlanFullmacImpl_Marker,
492        >(
493            payload,
494            0x1e35dcc98b124b64,
495            fidl::encoding::DynamicFlags::empty(),
496            ___deadline,
497        )?;
498        Ok(_response)
499    }
500
501    pub fn r#auth_resp(
502        &self,
503        mut payload: &WlanFullmacImplAuthRespRequest,
504        ___deadline: zx::MonotonicInstant,
505    ) -> Result<(), fidl::Error> {
506        let _response = self.client.send_query::<
507            WlanFullmacImplAuthRespRequest,
508            fidl::encoding::EmptyPayload,
509            WlanFullmacImpl_Marker,
510        >(
511            payload,
512            0x5f7ea24b44a4aaeb,
513            fidl::encoding::DynamicFlags::empty(),
514            ___deadline,
515        )?;
516        Ok(_response)
517    }
518
519    pub fn r#deauth(
520        &self,
521        mut payload: &WlanFullmacImplDeauthRequest,
522        ___deadline: zx::MonotonicInstant,
523    ) -> Result<(), fidl::Error> {
524        let _response = self.client.send_query::<
525            WlanFullmacImplDeauthRequest,
526            fidl::encoding::EmptyPayload,
527            WlanFullmacImpl_Marker,
528        >(
529            payload,
530            0x112786eccbf12f37,
531            fidl::encoding::DynamicFlags::empty(),
532            ___deadline,
533        )?;
534        Ok(_response)
535    }
536
537    pub fn r#assoc_resp(
538        &self,
539        mut payload: &WlanFullmacImplAssocRespRequest,
540        ___deadline: zx::MonotonicInstant,
541    ) -> Result<(), fidl::Error> {
542        let _response = self.client.send_query::<
543            WlanFullmacImplAssocRespRequest,
544            fidl::encoding::EmptyPayload,
545            WlanFullmacImpl_Marker,
546        >(
547            payload,
548            0x5022ce6b8eefec2f,
549            fidl::encoding::DynamicFlags::empty(),
550            ___deadline,
551        )?;
552        Ok(_response)
553    }
554
555    pub fn r#disassoc(
556        &self,
557        mut payload: &WlanFullmacImplDisassocRequest,
558        ___deadline: zx::MonotonicInstant,
559    ) -> Result<(), fidl::Error> {
560        let _response = self.client.send_query::<
561            WlanFullmacImplDisassocRequest,
562            fidl::encoding::EmptyPayload,
563            WlanFullmacImpl_Marker,
564        >(
565            payload,
566            0x9c0fc4e8de53e01,
567            fidl::encoding::DynamicFlags::empty(),
568            ___deadline,
569        )?;
570        Ok(_response)
571    }
572
573    pub fn r#start_bss(
574        &self,
575        mut payload: &WlanFullmacImplStartBssRequest,
576        ___deadline: zx::MonotonicInstant,
577    ) -> Result<(), fidl::Error> {
578        let _response = self.client.send_query::<
579            WlanFullmacImplStartBssRequest,
580            fidl::encoding::EmptyPayload,
581            WlanFullmacImpl_Marker,
582        >(
583            payload,
584            0x6922644d6b1d341d,
585            fidl::encoding::DynamicFlags::empty(),
586            ___deadline,
587        )?;
588        Ok(_response)
589    }
590
591    pub fn r#stop_bss(
592        &self,
593        mut payload: &WlanFullmacImplStopBssRequest,
594        ___deadline: zx::MonotonicInstant,
595    ) -> Result<(), fidl::Error> {
596        let _response = self.client.send_query::<
597            WlanFullmacImplStopBssRequest,
598            fidl::encoding::EmptyPayload,
599            WlanFullmacImpl_Marker,
600        >(
601            payload,
602            0x5aeb9b72e7575268,
603            fidl::encoding::DynamicFlags::empty(),
604            ___deadline,
605        )?;
606        Ok(_response)
607    }
608
609    /// Sets security keys for a connection. This is typically called after a successful key
610    /// exchange.
611    ///
612    /// Note that the platform assumes that the driver will automatically delete keys on a
613    /// disconnect or key rotation.
614    pub fn r#set_keys(
615        &self,
616        mut payload: &WlanFullmacImplSetKeysRequest,
617        ___deadline: zx::MonotonicInstant,
618    ) -> Result<WlanFullmacSetKeysResp, fidl::Error> {
619        let _response = self.client.send_query::<
620            WlanFullmacImplSetKeysRequest,
621            WlanFullmacImplSetKeysResponse,
622            WlanFullmacImpl_Marker,
623        >(
624            payload,
625            0x20f46b1e039f0985,
626            fidl::encoding::DynamicFlags::empty(),
627            ___deadline,
628        )?;
629        Ok(_response.resp)
630    }
631
632    pub fn r#eapol_tx(
633        &self,
634        mut payload: &WlanFullmacImplEapolTxRequest,
635        ___deadline: zx::MonotonicInstant,
636    ) -> Result<(), fidl::Error> {
637        let _response = self.client.send_query::<
638            WlanFullmacImplEapolTxRequest,
639            fidl::encoding::EmptyPayload,
640            WlanFullmacImpl_Marker,
641        >(
642            payload,
643            0x529a2d90fd4c8177,
644            fidl::encoding::DynamicFlags::empty(),
645            ___deadline,
646        )?;
647        Ok(_response)
648    }
649
650    pub fn r#get_iface_stats(
651        &self,
652        ___deadline: zx::MonotonicInstant,
653    ) -> Result<WlanFullmacImplGetIfaceStatsResult, fidl::Error> {
654        let _response = self.client.send_query::<
655            fidl::encoding::EmptyPayload,
656            fidl::encoding::ResultType<WlanFullmacImplGetIfaceStatsResponse, i32>,
657            WlanFullmacImpl_Marker,
658        >(
659            (),
660            0x505563776ef0392f,
661            fidl::encoding::DynamicFlags::empty(),
662            ___deadline,
663        )?;
664        Ok(_response.map(|x| x.stats))
665    }
666
667    pub fn r#get_iface_histogram_stats(
668        &self,
669        ___deadline: zx::MonotonicInstant,
670    ) -> Result<WlanFullmacImplGetIfaceHistogramStatsResult, fidl::Error> {
671        let _response =
672            self.client.send_query::<fidl::encoding::EmptyPayload, fidl::encoding::ResultType<
673                WlanFullmacImplGetIfaceHistogramStatsResponse,
674                i32,
675            >, WlanFullmacImpl_Marker>(
676                (),
677                0x503d586f30ccf2cd,
678                fidl::encoding::DynamicFlags::empty(),
679                ___deadline,
680            )?;
681        Ok(_response.map(|x| x.stats))
682    }
683
684    pub fn r#get_signal_report(
685        &self,
686        ___deadline: zx::MonotonicInstant,
687    ) -> Result<WlanFullmacImplGetSignalReportResult, fidl::Error> {
688        let _response = self.client.send_query::<
689            fidl::encoding::EmptyPayload,
690            fidl::encoding::ResultType<fidl_fuchsia_wlan_stats::SignalReport, i32>,
691            WlanFullmacImpl_Marker,
692        >(
693            (),
694            0x5d93f056e4796bb3,
695            fidl::encoding::DynamicFlags::empty(),
696            ___deadline,
697        )?;
698        Ok(_response.map(|x| x))
699    }
700
701    /// Informs the driver of the result of an SAE handshake.
702    pub fn r#sae_handshake_resp(
703        &self,
704        mut payload: &WlanFullmacImplSaeHandshakeRespRequest,
705        ___deadline: zx::MonotonicInstant,
706    ) -> Result<(), fidl::Error> {
707        let _response = self.client.send_query::<
708            WlanFullmacImplSaeHandshakeRespRequest,
709            fidl::encoding::EmptyPayload,
710            WlanFullmacImpl_Marker,
711        >(
712            payload,
713            0x72cd3a31ae5a54f6,
714            fidl::encoding::DynamicFlags::empty(),
715            ___deadline,
716        )?;
717        Ok(_response)
718    }
719
720    /// Transmit an SAE authentication frame.
721    pub fn r#sae_frame_tx(
722        &self,
723        mut frame: &SaeFrame,
724        ___deadline: zx::MonotonicInstant,
725    ) -> Result<(), fidl::Error> {
726        let _response = self.client.send_query::<
727            WlanFullmacImplSaeFrameTxRequest,
728            fidl::encoding::EmptyPayload,
729            WlanFullmacImpl_Marker,
730        >(
731            (frame,),
732            0x4715ad5dc5a6340f,
733            fidl::encoding::DynamicFlags::empty(),
734            ___deadline,
735        )?;
736        Ok(_response)
737    }
738
739    pub fn r#wmm_status_req(&self, ___deadline: zx::MonotonicInstant) -> Result<(), fidl::Error> {
740        let _response = self.client.send_query::<
741            fidl::encoding::EmptyPayload,
742            fidl::encoding::EmptyPayload,
743            WlanFullmacImpl_Marker,
744        >(
745            (),
746            0x635ecef3beb7a059,
747            fidl::encoding::DynamicFlags::empty(),
748            ___deadline,
749        )?;
750        Ok(_response)
751    }
752
753    pub fn r#on_link_state_changed(
754        &self,
755        mut payload: &WlanFullmacImplOnLinkStateChangedRequest,
756        ___deadline: zx::MonotonicInstant,
757    ) -> Result<(), fidl::Error> {
758        let _response = self.client.send_query::<
759            WlanFullmacImplOnLinkStateChangedRequest,
760            fidl::encoding::EmptyPayload,
761            WlanFullmacImpl_Marker,
762        >(
763            payload,
764            0x4d896e5b68e488d7,
765            fidl::encoding::DynamicFlags::empty(),
766            ___deadline,
767        )?;
768        Ok(_response)
769    }
770
771    /// Sets the MAC address for the interface, which may be retrieved via the Query() method. To
772    /// reset to the default/factory MAC address, use the Query() method to retrieve the `factory_addr`,
773    /// and pass that value to this method.
774    pub fn r#set_mac_address(
775        &self,
776        mut mac_addr: &[u8; 6],
777        ___deadline: zx::MonotonicInstant,
778    ) -> Result<WlanFullmacImplSetMacAddressResult, fidl::Error> {
779        let _response = self.client.send_query::<
780            WlanFullmacImplSetMacAddressRequest,
781            fidl::encoding::ResultType<fidl::encoding::EmptyStruct, i32>,
782            WlanFullmacImpl_Marker,
783        >(
784            (mac_addr,),
785            0x211a97f6f21ae5f0,
786            fidl::encoding::DynamicFlags::empty(),
787            ___deadline,
788        )?;
789        Ok(_response.map(|x| x))
790    }
791
792    /// Installs an APF program, replacing an existing program if present. This method does not
793    /// enable the program.
794    pub fn r#install_apf_packet_filter(
795        &self,
796        mut payload: &WlanFullmacImplInstallApfPacketFilterRequest,
797        ___deadline: zx::MonotonicInstant,
798    ) -> Result<WlanFullmacImplInstallApfPacketFilterResult, fidl::Error> {
799        let _response = self.client.send_query::<
800            WlanFullmacImplInstallApfPacketFilterRequest,
801            fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
802            WlanFullmacImpl_Marker,
803        >(
804            payload,
805            0x14597eda84122115,
806            fidl::encoding::DynamicFlags::FLEXIBLE,
807            ___deadline,
808        )?
809        .into_result::<WlanFullmacImpl_Marker>("install_apf_packet_filter")?;
810        Ok(_response.map(|x| x))
811    }
812
813    /// Fetches a consistent snapshot of the entire APF program and working
814    /// memory buffer and returns it to the host. The returned buffer contains
815    /// both code and data. Its length must match the most recently returned
816    /// QueryPacketFilterSupport().max_filter_length.
817    ///
818    /// While the snapshot is being fetched, the APF interpreter must not execute
819    /// and all incoming packets must be passed to the host as if there was no
820    /// APF program installed.
821    pub fn r#read_apf_packet_filter_data(
822        &self,
823        ___deadline: zx::MonotonicInstant,
824    ) -> Result<WlanFullmacImplReadApfPacketFilterDataResult, fidl::Error> {
825        let _response =
826            self.client
827                .send_query::<fidl::encoding::EmptyPayload, fidl::encoding::FlexibleResultType<
828                    WlanFullmacImplReadApfPacketFilterDataResponse,
829                    i32,
830                >, WlanFullmacImpl_Marker>(
831                    (),
832                    0x6ddcf8a179553a3c,
833                    fidl::encoding::DynamicFlags::FLEXIBLE,
834                    ___deadline,
835                )?
836                .into_result::<WlanFullmacImpl_Marker>("read_apf_packet_filter_data")?;
837        Ok(_response.map(|x| x))
838    }
839
840    pub fn r#set_apf_packet_filter_enabled(
841        &self,
842        mut payload: &WlanFullmacImplSetApfPacketFilterEnabledRequest,
843        ___deadline: zx::MonotonicInstant,
844    ) -> Result<WlanFullmacImplSetApfPacketFilterEnabledResult, fidl::Error> {
845        let _response = self.client.send_query::<
846            WlanFullmacImplSetApfPacketFilterEnabledRequest,
847            fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
848            WlanFullmacImpl_Marker,
849        >(
850            payload,
851            0x808792cade97d59,
852            fidl::encoding::DynamicFlags::FLEXIBLE,
853            ___deadline,
854        )?
855        .into_result::<WlanFullmacImpl_Marker>("set_apf_packet_filter_enabled")?;
856        Ok(_response.map(|x| x))
857    }
858
859    pub fn r#get_apf_packet_filter_enabled(
860        &self,
861        ___deadline: zx::MonotonicInstant,
862    ) -> Result<WlanFullmacImplGetApfPacketFilterEnabledResult, fidl::Error> {
863        let _response = self
864            .client
865            .send_query::<fidl::encoding::EmptyPayload, fidl::encoding::FlexibleResultType<
866                WlanFullmacImplGetApfPacketFilterEnabledResponse,
867                i32,
868            >, WlanFullmacImpl_Marker>(
869                (),
870                0x284e1725471e3ae7,
871                fidl::encoding::DynamicFlags::FLEXIBLE,
872                ___deadline,
873            )?
874            .into_result::<WlanFullmacImpl_Marker>("get_apf_packet_filter_enabled")?;
875        Ok(_response.map(|x| x))
876    }
877}
878
879#[cfg(target_os = "fuchsia")]
880impl From<WlanFullmacImpl_SynchronousProxy> for zx::NullableHandle {
881    fn from(value: WlanFullmacImpl_SynchronousProxy) -> Self {
882        value.into_channel().into()
883    }
884}
885
886#[cfg(target_os = "fuchsia")]
887impl From<fidl::Channel> for WlanFullmacImpl_SynchronousProxy {
888    fn from(value: fidl::Channel) -> Self {
889        Self::new(value)
890    }
891}
892
893#[cfg(target_os = "fuchsia")]
894impl fidl::endpoints::FromClient for WlanFullmacImpl_SynchronousProxy {
895    type Protocol = WlanFullmacImpl_Marker;
896
897    fn from_client(value: fidl::endpoints::ClientEnd<WlanFullmacImpl_Marker>) -> Self {
898        Self::new(value.into_channel())
899    }
900}
901
902#[derive(Debug, Clone)]
903pub struct WlanFullmacImpl_Proxy {
904    client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
905}
906
907impl fidl::endpoints::Proxy for WlanFullmacImpl_Proxy {
908    type Protocol = WlanFullmacImpl_Marker;
909
910    fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
911        Self::new(inner)
912    }
913
914    fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
915        self.client.into_channel().map_err(|client| Self { client })
916    }
917
918    fn as_channel(&self) -> &::fidl::AsyncChannel {
919        self.client.as_channel()
920    }
921}
922
923impl WlanFullmacImpl_Proxy {
924    /// Create a new Proxy for fuchsia.wlan.fullmac/WlanFullmacImpl.
925    pub fn new(channel: ::fidl::AsyncChannel) -> Self {
926        let protocol_name = <WlanFullmacImpl_Marker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
927        Self { client: fidl::client::Client::new(channel, protocol_name) }
928    }
929
930    /// Get a Stream of events from the remote end of the protocol.
931    ///
932    /// # Panics
933    ///
934    /// Panics if the event stream was already taken.
935    pub fn take_event_stream(&self) -> WlanFullmacImpl_EventStream {
936        WlanFullmacImpl_EventStream { event_receiver: self.client.take_event_receiver() }
937    }
938
939    /// Initialize the FullMAC driver. This is the first request that the platform will make to the
940    /// FullMAC driver.
941    ///
942    /// On initialization, MLME provides the client end to the WlanFullmacImplIfc protocol. The
943    /// driver must return the SME server end channel, which is used internally by the platform.
944    /// Typically, the SME server end channel is given to the FullMAC driver by
945    /// fuchsia.wlan.phy/WlanPhy.CreateIface.
946    ///
947    /// If `Init` completes successfully, the platform will begin making other WlanFullmacImpl
948    /// requests to the FullMAC driver, and the FullMAC driver is free to make WlanFullmacImplIfc
949    /// requests to the platform. The platform may continue making WlanFullmacImpl requests until
950    /// the WlanFullmacImpl server unbinds.
951    ///
952    /// Common errors include:
953    ///   - `ZX_ERR_ALREADY_BOUND`: `Init` was already called on this FullMAC driver.
954    pub fn r#init(
955        &self,
956        mut payload: WlanFullmacImplInitRequest,
957    ) -> fidl::client::QueryResponseFut<
958        WlanFullmacImplInitResult,
959        fidl::encoding::DefaultFuchsiaResourceDialect,
960    > {
961        WlanFullmacImpl_ProxyInterface::r#init(self, payload)
962    }
963
964    /// Returns high-level information describing the state of the FullMAC driver.
965    /// This is safe to call even before the call to WlanFullmacImpl::Start.
966    pub fn r#query(
967        &self,
968    ) -> fidl::client::QueryResponseFut<
969        WlanFullmacImplQueryResult,
970        fidl::encoding::DefaultFuchsiaResourceDialect,
971    > {
972        WlanFullmacImpl_ProxyInterface::r#query(self)
973    }
974
975    pub fn r#query_security_support(
976        &self,
977    ) -> fidl::client::QueryResponseFut<
978        WlanFullmacImplQuerySecuritySupportResult,
979        fidl::encoding::DefaultFuchsiaResourceDialect,
980    > {
981        WlanFullmacImpl_ProxyInterface::r#query_security_support(self)
982    }
983
984    pub fn r#query_spectrum_management_support(
985        &self,
986    ) -> fidl::client::QueryResponseFut<
987        WlanFullmacImplQuerySpectrumManagementSupportResult,
988        fidl::encoding::DefaultFuchsiaResourceDialect,
989    > {
990        WlanFullmacImpl_ProxyInterface::r#query_spectrum_management_support(self)
991    }
992
993    pub fn r#query_telemetry_support(
994        &self,
995    ) -> fidl::client::QueryResponseFut<
996        WlanFullmacImplQueryTelemetrySupportResult,
997        fidl::encoding::DefaultFuchsiaResourceDialect,
998    > {
999        WlanFullmacImpl_ProxyInterface::r#query_telemetry_support(self)
1000    }
1001
1002    pub fn r#query_apf_packet_filter_support(
1003        &self,
1004    ) -> fidl::client::QueryResponseFut<
1005        WlanFullmacImplQueryApfPacketFilterSupportResult,
1006        fidl::encoding::DefaultFuchsiaResourceDialect,
1007    > {
1008        WlanFullmacImpl_ProxyInterface::r#query_apf_packet_filter_support(self)
1009    }
1010
1011    pub fn r#start_scan(
1012        &self,
1013        mut payload: &WlanFullmacImplStartScanRequest,
1014    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1015        WlanFullmacImpl_ProxyInterface::r#start_scan(self, payload)
1016    }
1017
1018    /// Starts scheduled scanning.
1019    pub fn r#start_scheduled_scan(
1020        &self,
1021        mut payload: &WlanFullmacImplStartScheduledScanRequest,
1022    ) -> fidl::client::QueryResponseFut<
1023        WlanFullmacImplStartScheduledScanResult,
1024        fidl::encoding::DefaultFuchsiaResourceDialect,
1025    > {
1026        WlanFullmacImpl_ProxyInterface::r#start_scheduled_scan(self, payload)
1027    }
1028
1029    /// Stops scheduled scanning.
1030    ///
1031    /// The successful return value indicates that the scan has been stopped.
1032    /// The driver will NOT send an `OnScheduledScanStoppedByFirmware` event in response to this call.
1033    /// `OnScheduledScanStoppedByFirmware` is reserved for firmware-initiated stops or errors.
1034    pub fn r#stop_scheduled_scan(
1035        &self,
1036        mut payload: &WlanFullmacImplStopScheduledScanRequest,
1037    ) -> fidl::client::QueryResponseFut<
1038        WlanFullmacImplStopScheduledScanResult,
1039        fidl::encoding::DefaultFuchsiaResourceDialect,
1040    > {
1041        WlanFullmacImpl_ProxyInterface::r#stop_scheduled_scan(self, payload)
1042    }
1043
1044    /// Returns the transaction IDs of any currently active scheduled scans.
1045    pub fn r#get_scheduled_scan_enabled(
1046        &self,
1047    ) -> fidl::client::QueryResponseFut<
1048        WlanFullmacImplGetScheduledScanEnabledResult,
1049        fidl::encoding::DefaultFuchsiaResourceDialect,
1050    > {
1051        WlanFullmacImpl_ProxyInterface::r#get_scheduled_scan_enabled(self)
1052    }
1053
1054    pub fn r#connect(
1055        &self,
1056        mut payload: &WlanFullmacImplConnectRequest,
1057    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1058        WlanFullmacImpl_ProxyInterface::r#connect(self, payload)
1059    }
1060
1061    pub fn r#reconnect(
1062        &self,
1063        mut payload: &WlanFullmacImplReconnectRequest,
1064    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1065        WlanFullmacImpl_ProxyInterface::r#reconnect(self, payload)
1066    }
1067
1068    /// Initiate a roam attempt, which moves association to a different BSS within the ESS.
1069    pub fn r#roam(
1070        &self,
1071        mut payload: &WlanFullmacImplRoamRequest,
1072    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1073        WlanFullmacImpl_ProxyInterface::r#roam(self, payload)
1074    }
1075
1076    pub fn r#auth_resp(
1077        &self,
1078        mut payload: &WlanFullmacImplAuthRespRequest,
1079    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1080        WlanFullmacImpl_ProxyInterface::r#auth_resp(self, payload)
1081    }
1082
1083    pub fn r#deauth(
1084        &self,
1085        mut payload: &WlanFullmacImplDeauthRequest,
1086    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1087        WlanFullmacImpl_ProxyInterface::r#deauth(self, payload)
1088    }
1089
1090    pub fn r#assoc_resp(
1091        &self,
1092        mut payload: &WlanFullmacImplAssocRespRequest,
1093    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1094        WlanFullmacImpl_ProxyInterface::r#assoc_resp(self, payload)
1095    }
1096
1097    pub fn r#disassoc(
1098        &self,
1099        mut payload: &WlanFullmacImplDisassocRequest,
1100    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1101        WlanFullmacImpl_ProxyInterface::r#disassoc(self, payload)
1102    }
1103
1104    pub fn r#start_bss(
1105        &self,
1106        mut payload: &WlanFullmacImplStartBssRequest,
1107    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1108        WlanFullmacImpl_ProxyInterface::r#start_bss(self, payload)
1109    }
1110
1111    pub fn r#stop_bss(
1112        &self,
1113        mut payload: &WlanFullmacImplStopBssRequest,
1114    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1115        WlanFullmacImpl_ProxyInterface::r#stop_bss(self, payload)
1116    }
1117
1118    /// Sets security keys for a connection. This is typically called after a successful key
1119    /// exchange.
1120    ///
1121    /// Note that the platform assumes that the driver will automatically delete keys on a
1122    /// disconnect or key rotation.
1123    pub fn r#set_keys(
1124        &self,
1125        mut payload: &WlanFullmacImplSetKeysRequest,
1126    ) -> fidl::client::QueryResponseFut<
1127        WlanFullmacSetKeysResp,
1128        fidl::encoding::DefaultFuchsiaResourceDialect,
1129    > {
1130        WlanFullmacImpl_ProxyInterface::r#set_keys(self, payload)
1131    }
1132
1133    pub fn r#eapol_tx(
1134        &self,
1135        mut payload: &WlanFullmacImplEapolTxRequest,
1136    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1137        WlanFullmacImpl_ProxyInterface::r#eapol_tx(self, payload)
1138    }
1139
1140    pub fn r#get_iface_stats(
1141        &self,
1142    ) -> fidl::client::QueryResponseFut<
1143        WlanFullmacImplGetIfaceStatsResult,
1144        fidl::encoding::DefaultFuchsiaResourceDialect,
1145    > {
1146        WlanFullmacImpl_ProxyInterface::r#get_iface_stats(self)
1147    }
1148
1149    pub fn r#get_iface_histogram_stats(
1150        &self,
1151    ) -> fidl::client::QueryResponseFut<
1152        WlanFullmacImplGetIfaceHistogramStatsResult,
1153        fidl::encoding::DefaultFuchsiaResourceDialect,
1154    > {
1155        WlanFullmacImpl_ProxyInterface::r#get_iface_histogram_stats(self)
1156    }
1157
1158    pub fn r#get_signal_report(
1159        &self,
1160    ) -> fidl::client::QueryResponseFut<
1161        WlanFullmacImplGetSignalReportResult,
1162        fidl::encoding::DefaultFuchsiaResourceDialect,
1163    > {
1164        WlanFullmacImpl_ProxyInterface::r#get_signal_report(self)
1165    }
1166
1167    /// Informs the driver of the result of an SAE handshake.
1168    pub fn r#sae_handshake_resp(
1169        &self,
1170        mut payload: &WlanFullmacImplSaeHandshakeRespRequest,
1171    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1172        WlanFullmacImpl_ProxyInterface::r#sae_handshake_resp(self, payload)
1173    }
1174
1175    /// Transmit an SAE authentication frame.
1176    pub fn r#sae_frame_tx(
1177        &self,
1178        mut frame: &SaeFrame,
1179    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1180        WlanFullmacImpl_ProxyInterface::r#sae_frame_tx(self, frame)
1181    }
1182
1183    pub fn r#wmm_status_req(
1184        &self,
1185    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1186        WlanFullmacImpl_ProxyInterface::r#wmm_status_req(self)
1187    }
1188
1189    pub fn r#on_link_state_changed(
1190        &self,
1191        mut payload: &WlanFullmacImplOnLinkStateChangedRequest,
1192    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
1193        WlanFullmacImpl_ProxyInterface::r#on_link_state_changed(self, payload)
1194    }
1195
1196    /// Sets the MAC address for the interface, which may be retrieved via the Query() method. To
1197    /// reset to the default/factory MAC address, use the Query() method to retrieve the `factory_addr`,
1198    /// and pass that value to this method.
1199    pub fn r#set_mac_address(
1200        &self,
1201        mut mac_addr: &[u8; 6],
1202    ) -> fidl::client::QueryResponseFut<
1203        WlanFullmacImplSetMacAddressResult,
1204        fidl::encoding::DefaultFuchsiaResourceDialect,
1205    > {
1206        WlanFullmacImpl_ProxyInterface::r#set_mac_address(self, mac_addr)
1207    }
1208
1209    /// Installs an APF program, replacing an existing program if present. This method does not
1210    /// enable the program.
1211    pub fn r#install_apf_packet_filter(
1212        &self,
1213        mut payload: &WlanFullmacImplInstallApfPacketFilterRequest,
1214    ) -> fidl::client::QueryResponseFut<
1215        WlanFullmacImplInstallApfPacketFilterResult,
1216        fidl::encoding::DefaultFuchsiaResourceDialect,
1217    > {
1218        WlanFullmacImpl_ProxyInterface::r#install_apf_packet_filter(self, payload)
1219    }
1220
1221    /// Fetches a consistent snapshot of the entire APF program and working
1222    /// memory buffer and returns it to the host. The returned buffer contains
1223    /// both code and data. Its length must match the most recently returned
1224    /// QueryPacketFilterSupport().max_filter_length.
1225    ///
1226    /// While the snapshot is being fetched, the APF interpreter must not execute
1227    /// and all incoming packets must be passed to the host as if there was no
1228    /// APF program installed.
1229    pub fn r#read_apf_packet_filter_data(
1230        &self,
1231    ) -> fidl::client::QueryResponseFut<
1232        WlanFullmacImplReadApfPacketFilterDataResult,
1233        fidl::encoding::DefaultFuchsiaResourceDialect,
1234    > {
1235        WlanFullmacImpl_ProxyInterface::r#read_apf_packet_filter_data(self)
1236    }
1237
1238    pub fn r#set_apf_packet_filter_enabled(
1239        &self,
1240        mut payload: &WlanFullmacImplSetApfPacketFilterEnabledRequest,
1241    ) -> fidl::client::QueryResponseFut<
1242        WlanFullmacImplSetApfPacketFilterEnabledResult,
1243        fidl::encoding::DefaultFuchsiaResourceDialect,
1244    > {
1245        WlanFullmacImpl_ProxyInterface::r#set_apf_packet_filter_enabled(self, payload)
1246    }
1247
1248    pub fn r#get_apf_packet_filter_enabled(
1249        &self,
1250    ) -> fidl::client::QueryResponseFut<
1251        WlanFullmacImplGetApfPacketFilterEnabledResult,
1252        fidl::encoding::DefaultFuchsiaResourceDialect,
1253    > {
1254        WlanFullmacImpl_ProxyInterface::r#get_apf_packet_filter_enabled(self)
1255    }
1256}
1257
1258impl WlanFullmacImpl_ProxyInterface for WlanFullmacImpl_Proxy {
1259    type InitResponseFut = fidl::client::QueryResponseFut<
1260        WlanFullmacImplInitResult,
1261        fidl::encoding::DefaultFuchsiaResourceDialect,
1262    >;
1263    fn r#init(&self, mut payload: WlanFullmacImplInitRequest) -> Self::InitResponseFut {
1264        fn _decode(
1265            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1266        ) -> Result<WlanFullmacImplInitResult, fidl::Error> {
1267            let _response = fidl::client::decode_transaction_body::<
1268                fidl::encoding::ResultType<WlanFullmacImplInitResponse, i32>,
1269                fidl::encoding::DefaultFuchsiaResourceDialect,
1270                0x593dfb6cb3f0f1aa,
1271            >(_buf?)?;
1272            Ok(_response.map(|x| x))
1273        }
1274        self.client.send_query_and_decode::<WlanFullmacImplInitRequest, WlanFullmacImplInitResult>(
1275            &mut payload,
1276            0x593dfb6cb3f0f1aa,
1277            fidl::encoding::DynamicFlags::empty(),
1278            _decode,
1279        )
1280    }
1281
1282    type QueryResponseFut = fidl::client::QueryResponseFut<
1283        WlanFullmacImplQueryResult,
1284        fidl::encoding::DefaultFuchsiaResourceDialect,
1285    >;
1286    fn r#query(&self) -> Self::QueryResponseFut {
1287        fn _decode(
1288            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1289        ) -> Result<WlanFullmacImplQueryResult, fidl::Error> {
1290            let _response = fidl::client::decode_transaction_body::<
1291                fidl::encoding::ResultType<WlanFullmacImplQueryResponse, i32>,
1292                fidl::encoding::DefaultFuchsiaResourceDialect,
1293                0x28ac65f9da3941d4,
1294            >(_buf?)?;
1295            Ok(_response.map(|x| x))
1296        }
1297        self.client
1298            .send_query_and_decode::<fidl::encoding::EmptyPayload, WlanFullmacImplQueryResult>(
1299                (),
1300                0x28ac65f9da3941d4,
1301                fidl::encoding::DynamicFlags::empty(),
1302                _decode,
1303            )
1304    }
1305
1306    type QuerySecuritySupportResponseFut = fidl::client::QueryResponseFut<
1307        WlanFullmacImplQuerySecuritySupportResult,
1308        fidl::encoding::DefaultFuchsiaResourceDialect,
1309    >;
1310    fn r#query_security_support(&self) -> Self::QuerySecuritySupportResponseFut {
1311        fn _decode(
1312            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1313        ) -> Result<WlanFullmacImplQuerySecuritySupportResult, fidl::Error> {
1314            let _response = fidl::client::decode_transaction_body::<
1315                fidl::encoding::ResultType<WlanFullmacImplQuerySecuritySupportResponse, i32>,
1316                fidl::encoding::DefaultFuchsiaResourceDialect,
1317                0x11cf3fa6eeb93f84,
1318            >(_buf?)?;
1319            Ok(_response.map(|x| x))
1320        }
1321        self.client.send_query_and_decode::<
1322            fidl::encoding::EmptyPayload,
1323            WlanFullmacImplQuerySecuritySupportResult,
1324        >(
1325            (),
1326            0x11cf3fa6eeb93f84,
1327            fidl::encoding::DynamicFlags::empty(),
1328            _decode,
1329        )
1330    }
1331
1332    type QuerySpectrumManagementSupportResponseFut = fidl::client::QueryResponseFut<
1333        WlanFullmacImplQuerySpectrumManagementSupportResult,
1334        fidl::encoding::DefaultFuchsiaResourceDialect,
1335    >;
1336    fn r#query_spectrum_management_support(
1337        &self,
1338    ) -> Self::QuerySpectrumManagementSupportResponseFut {
1339        fn _decode(
1340            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1341        ) -> Result<WlanFullmacImplQuerySpectrumManagementSupportResult, fidl::Error> {
1342            let _response = fidl::client::decode_transaction_body::<
1343                fidl::encoding::ResultType<
1344                    WlanFullmacImplQuerySpectrumManagementSupportResponse,
1345                    i32,
1346                >,
1347                fidl::encoding::DefaultFuchsiaResourceDialect,
1348                0x22ae7551d855b83a,
1349            >(_buf?)?;
1350            Ok(_response.map(|x| x))
1351        }
1352        self.client.send_query_and_decode::<
1353            fidl::encoding::EmptyPayload,
1354            WlanFullmacImplQuerySpectrumManagementSupportResult,
1355        >(
1356            (),
1357            0x22ae7551d855b83a,
1358            fidl::encoding::DynamicFlags::empty(),
1359            _decode,
1360        )
1361    }
1362
1363    type QueryTelemetrySupportResponseFut = fidl::client::QueryResponseFut<
1364        WlanFullmacImplQueryTelemetrySupportResult,
1365        fidl::encoding::DefaultFuchsiaResourceDialect,
1366    >;
1367    fn r#query_telemetry_support(&self) -> Self::QueryTelemetrySupportResponseFut {
1368        fn _decode(
1369            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1370        ) -> Result<WlanFullmacImplQueryTelemetrySupportResult, fidl::Error> {
1371            let _response = fidl::client::decode_transaction_body::<
1372                fidl::encoding::ResultType<WlanFullmacImplQueryTelemetrySupportResponse, i32>,
1373                fidl::encoding::DefaultFuchsiaResourceDialect,
1374                0x4561479ca560827f,
1375            >(_buf?)?;
1376            Ok(_response.map(|x| x))
1377        }
1378        self.client.send_query_and_decode::<
1379            fidl::encoding::EmptyPayload,
1380            WlanFullmacImplQueryTelemetrySupportResult,
1381        >(
1382            (),
1383            0x4561479ca560827f,
1384            fidl::encoding::DynamicFlags::empty(),
1385            _decode,
1386        )
1387    }
1388
1389    type QueryApfPacketFilterSupportResponseFut = fidl::client::QueryResponseFut<
1390        WlanFullmacImplQueryApfPacketFilterSupportResult,
1391        fidl::encoding::DefaultFuchsiaResourceDialect,
1392    >;
1393    fn r#query_apf_packet_filter_support(&self) -> Self::QueryApfPacketFilterSupportResponseFut {
1394        fn _decode(
1395            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1396        ) -> Result<WlanFullmacImplQueryApfPacketFilterSupportResult, fidl::Error> {
1397            let _response = fidl::client::decode_transaction_body::<
1398                fidl::encoding::FlexibleResultType<
1399                    WlanFullmacImplQueryApfPacketFilterSupportResponse,
1400                    i32,
1401                >,
1402                fidl::encoding::DefaultFuchsiaResourceDialect,
1403                0x6df8cdf0acd4dfad,
1404            >(_buf?)?
1405            .into_result::<WlanFullmacImpl_Marker>("query_apf_packet_filter_support")?;
1406            Ok(_response.map(|x| x))
1407        }
1408        self.client.send_query_and_decode::<
1409            fidl::encoding::EmptyPayload,
1410            WlanFullmacImplQueryApfPacketFilterSupportResult,
1411        >(
1412            (),
1413            0x6df8cdf0acd4dfad,
1414            fidl::encoding::DynamicFlags::FLEXIBLE,
1415            _decode,
1416        )
1417    }
1418
1419    type StartScanResponseFut =
1420        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1421    fn r#start_scan(
1422        &self,
1423        mut payload: &WlanFullmacImplStartScanRequest,
1424    ) -> Self::StartScanResponseFut {
1425        fn _decode(
1426            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1427        ) -> Result<(), fidl::Error> {
1428            let _response = fidl::client::decode_transaction_body::<
1429                fidl::encoding::EmptyPayload,
1430                fidl::encoding::DefaultFuchsiaResourceDialect,
1431                0x26c17bf595aa161c,
1432            >(_buf?)?;
1433            Ok(_response)
1434        }
1435        self.client.send_query_and_decode::<WlanFullmacImplStartScanRequest, ()>(
1436            payload,
1437            0x26c17bf595aa161c,
1438            fidl::encoding::DynamicFlags::empty(),
1439            _decode,
1440        )
1441    }
1442
1443    type StartScheduledScanResponseFut = fidl::client::QueryResponseFut<
1444        WlanFullmacImplStartScheduledScanResult,
1445        fidl::encoding::DefaultFuchsiaResourceDialect,
1446    >;
1447    fn r#start_scheduled_scan(
1448        &self,
1449        mut payload: &WlanFullmacImplStartScheduledScanRequest,
1450    ) -> Self::StartScheduledScanResponseFut {
1451        fn _decode(
1452            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1453        ) -> Result<WlanFullmacImplStartScheduledScanResult, fidl::Error> {
1454            let _response = fidl::client::decode_transaction_body::<
1455                fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
1456                fidl::encoding::DefaultFuchsiaResourceDialect,
1457                0x67bb4356265682d2,
1458            >(_buf?)?
1459            .into_result::<WlanFullmacImpl_Marker>("start_scheduled_scan")?;
1460            Ok(_response.map(|x| x))
1461        }
1462        self.client.send_query_and_decode::<
1463            WlanFullmacImplStartScheduledScanRequest,
1464            WlanFullmacImplStartScheduledScanResult,
1465        >(
1466            payload,
1467            0x67bb4356265682d2,
1468            fidl::encoding::DynamicFlags::FLEXIBLE,
1469            _decode,
1470        )
1471    }
1472
1473    type StopScheduledScanResponseFut = fidl::client::QueryResponseFut<
1474        WlanFullmacImplStopScheduledScanResult,
1475        fidl::encoding::DefaultFuchsiaResourceDialect,
1476    >;
1477    fn r#stop_scheduled_scan(
1478        &self,
1479        mut payload: &WlanFullmacImplStopScheduledScanRequest,
1480    ) -> Self::StopScheduledScanResponseFut {
1481        fn _decode(
1482            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1483        ) -> Result<WlanFullmacImplStopScheduledScanResult, fidl::Error> {
1484            let _response = fidl::client::decode_transaction_body::<
1485                fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
1486                fidl::encoding::DefaultFuchsiaResourceDialect,
1487                0x71bf2a03f2cdc10f,
1488            >(_buf?)?
1489            .into_result::<WlanFullmacImpl_Marker>("stop_scheduled_scan")?;
1490            Ok(_response.map(|x| x))
1491        }
1492        self.client.send_query_and_decode::<
1493            WlanFullmacImplStopScheduledScanRequest,
1494            WlanFullmacImplStopScheduledScanResult,
1495        >(
1496            payload,
1497            0x71bf2a03f2cdc10f,
1498            fidl::encoding::DynamicFlags::FLEXIBLE,
1499            _decode,
1500        )
1501    }
1502
1503    type GetScheduledScanEnabledResponseFut = fidl::client::QueryResponseFut<
1504        WlanFullmacImplGetScheduledScanEnabledResult,
1505        fidl::encoding::DefaultFuchsiaResourceDialect,
1506    >;
1507    fn r#get_scheduled_scan_enabled(&self) -> Self::GetScheduledScanEnabledResponseFut {
1508        fn _decode(
1509            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1510        ) -> Result<WlanFullmacImplGetScheduledScanEnabledResult, fidl::Error> {
1511            let _response = fidl::client::decode_transaction_body::<
1512                fidl::encoding::FlexibleResultType<
1513                    WlanFullmacImplGetScheduledScanEnabledResponse,
1514                    i32,
1515                >,
1516                fidl::encoding::DefaultFuchsiaResourceDialect,
1517                0x96be6f11648f198,
1518            >(_buf?)?
1519            .into_result::<WlanFullmacImpl_Marker>("get_scheduled_scan_enabled")?;
1520            Ok(_response.map(|x| x))
1521        }
1522        self.client.send_query_and_decode::<
1523            fidl::encoding::EmptyPayload,
1524            WlanFullmacImplGetScheduledScanEnabledResult,
1525        >(
1526            (),
1527            0x96be6f11648f198,
1528            fidl::encoding::DynamicFlags::FLEXIBLE,
1529            _decode,
1530        )
1531    }
1532
1533    type ConnectResponseFut =
1534        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1535    fn r#connect(&self, mut payload: &WlanFullmacImplConnectRequest) -> Self::ConnectResponseFut {
1536        fn _decode(
1537            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1538        ) -> Result<(), fidl::Error> {
1539            let _response = fidl::client::decode_transaction_body::<
1540                fidl::encoding::EmptyPayload,
1541                fidl::encoding::DefaultFuchsiaResourceDialect,
1542                0x19eb0322efb07a76,
1543            >(_buf?)?;
1544            Ok(_response)
1545        }
1546        self.client.send_query_and_decode::<WlanFullmacImplConnectRequest, ()>(
1547            payload,
1548            0x19eb0322efb07a76,
1549            fidl::encoding::DynamicFlags::empty(),
1550            _decode,
1551        )
1552    }
1553
1554    type ReconnectResponseFut =
1555        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1556    fn r#reconnect(
1557        &self,
1558        mut payload: &WlanFullmacImplReconnectRequest,
1559    ) -> Self::ReconnectResponseFut {
1560        fn _decode(
1561            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1562        ) -> Result<(), fidl::Error> {
1563            let _response = fidl::client::decode_transaction_body::<
1564                fidl::encoding::EmptyPayload,
1565                fidl::encoding::DefaultFuchsiaResourceDialect,
1566                0x474084c4ef19ee71,
1567            >(_buf?)?;
1568            Ok(_response)
1569        }
1570        self.client.send_query_and_decode::<WlanFullmacImplReconnectRequest, ()>(
1571            payload,
1572            0x474084c4ef19ee71,
1573            fidl::encoding::DynamicFlags::empty(),
1574            _decode,
1575        )
1576    }
1577
1578    type RoamResponseFut =
1579        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1580    fn r#roam(&self, mut payload: &WlanFullmacImplRoamRequest) -> Self::RoamResponseFut {
1581        fn _decode(
1582            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1583        ) -> Result<(), fidl::Error> {
1584            let _response = fidl::client::decode_transaction_body::<
1585                fidl::encoding::EmptyPayload,
1586                fidl::encoding::DefaultFuchsiaResourceDialect,
1587                0x1e35dcc98b124b64,
1588            >(_buf?)?;
1589            Ok(_response)
1590        }
1591        self.client.send_query_and_decode::<WlanFullmacImplRoamRequest, ()>(
1592            payload,
1593            0x1e35dcc98b124b64,
1594            fidl::encoding::DynamicFlags::empty(),
1595            _decode,
1596        )
1597    }
1598
1599    type AuthRespResponseFut =
1600        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1601    fn r#auth_resp(
1602        &self,
1603        mut payload: &WlanFullmacImplAuthRespRequest,
1604    ) -> Self::AuthRespResponseFut {
1605        fn _decode(
1606            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1607        ) -> Result<(), fidl::Error> {
1608            let _response = fidl::client::decode_transaction_body::<
1609                fidl::encoding::EmptyPayload,
1610                fidl::encoding::DefaultFuchsiaResourceDialect,
1611                0x5f7ea24b44a4aaeb,
1612            >(_buf?)?;
1613            Ok(_response)
1614        }
1615        self.client.send_query_and_decode::<WlanFullmacImplAuthRespRequest, ()>(
1616            payload,
1617            0x5f7ea24b44a4aaeb,
1618            fidl::encoding::DynamicFlags::empty(),
1619            _decode,
1620        )
1621    }
1622
1623    type DeauthResponseFut =
1624        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1625    fn r#deauth(&self, mut payload: &WlanFullmacImplDeauthRequest) -> Self::DeauthResponseFut {
1626        fn _decode(
1627            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1628        ) -> Result<(), fidl::Error> {
1629            let _response = fidl::client::decode_transaction_body::<
1630                fidl::encoding::EmptyPayload,
1631                fidl::encoding::DefaultFuchsiaResourceDialect,
1632                0x112786eccbf12f37,
1633            >(_buf?)?;
1634            Ok(_response)
1635        }
1636        self.client.send_query_and_decode::<WlanFullmacImplDeauthRequest, ()>(
1637            payload,
1638            0x112786eccbf12f37,
1639            fidl::encoding::DynamicFlags::empty(),
1640            _decode,
1641        )
1642    }
1643
1644    type AssocRespResponseFut =
1645        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1646    fn r#assoc_resp(
1647        &self,
1648        mut payload: &WlanFullmacImplAssocRespRequest,
1649    ) -> Self::AssocRespResponseFut {
1650        fn _decode(
1651            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1652        ) -> Result<(), fidl::Error> {
1653            let _response = fidl::client::decode_transaction_body::<
1654                fidl::encoding::EmptyPayload,
1655                fidl::encoding::DefaultFuchsiaResourceDialect,
1656                0x5022ce6b8eefec2f,
1657            >(_buf?)?;
1658            Ok(_response)
1659        }
1660        self.client.send_query_and_decode::<WlanFullmacImplAssocRespRequest, ()>(
1661            payload,
1662            0x5022ce6b8eefec2f,
1663            fidl::encoding::DynamicFlags::empty(),
1664            _decode,
1665        )
1666    }
1667
1668    type DisassocResponseFut =
1669        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1670    fn r#disassoc(
1671        &self,
1672        mut payload: &WlanFullmacImplDisassocRequest,
1673    ) -> Self::DisassocResponseFut {
1674        fn _decode(
1675            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1676        ) -> Result<(), fidl::Error> {
1677            let _response = fidl::client::decode_transaction_body::<
1678                fidl::encoding::EmptyPayload,
1679                fidl::encoding::DefaultFuchsiaResourceDialect,
1680                0x9c0fc4e8de53e01,
1681            >(_buf?)?;
1682            Ok(_response)
1683        }
1684        self.client.send_query_and_decode::<WlanFullmacImplDisassocRequest, ()>(
1685            payload,
1686            0x9c0fc4e8de53e01,
1687            fidl::encoding::DynamicFlags::empty(),
1688            _decode,
1689        )
1690    }
1691
1692    type StartBssResponseFut =
1693        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1694    fn r#start_bss(
1695        &self,
1696        mut payload: &WlanFullmacImplStartBssRequest,
1697    ) -> Self::StartBssResponseFut {
1698        fn _decode(
1699            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1700        ) -> Result<(), fidl::Error> {
1701            let _response = fidl::client::decode_transaction_body::<
1702                fidl::encoding::EmptyPayload,
1703                fidl::encoding::DefaultFuchsiaResourceDialect,
1704                0x6922644d6b1d341d,
1705            >(_buf?)?;
1706            Ok(_response)
1707        }
1708        self.client.send_query_and_decode::<WlanFullmacImplStartBssRequest, ()>(
1709            payload,
1710            0x6922644d6b1d341d,
1711            fidl::encoding::DynamicFlags::empty(),
1712            _decode,
1713        )
1714    }
1715
1716    type StopBssResponseFut =
1717        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1718    fn r#stop_bss(&self, mut payload: &WlanFullmacImplStopBssRequest) -> Self::StopBssResponseFut {
1719        fn _decode(
1720            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1721        ) -> Result<(), fidl::Error> {
1722            let _response = fidl::client::decode_transaction_body::<
1723                fidl::encoding::EmptyPayload,
1724                fidl::encoding::DefaultFuchsiaResourceDialect,
1725                0x5aeb9b72e7575268,
1726            >(_buf?)?;
1727            Ok(_response)
1728        }
1729        self.client.send_query_and_decode::<WlanFullmacImplStopBssRequest, ()>(
1730            payload,
1731            0x5aeb9b72e7575268,
1732            fidl::encoding::DynamicFlags::empty(),
1733            _decode,
1734        )
1735    }
1736
1737    type SetKeysResponseFut = fidl::client::QueryResponseFut<
1738        WlanFullmacSetKeysResp,
1739        fidl::encoding::DefaultFuchsiaResourceDialect,
1740    >;
1741    fn r#set_keys(&self, mut payload: &WlanFullmacImplSetKeysRequest) -> Self::SetKeysResponseFut {
1742        fn _decode(
1743            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1744        ) -> Result<WlanFullmacSetKeysResp, fidl::Error> {
1745            let _response = fidl::client::decode_transaction_body::<
1746                WlanFullmacImplSetKeysResponse,
1747                fidl::encoding::DefaultFuchsiaResourceDialect,
1748                0x20f46b1e039f0985,
1749            >(_buf?)?;
1750            Ok(_response.resp)
1751        }
1752        self.client.send_query_and_decode::<WlanFullmacImplSetKeysRequest, WlanFullmacSetKeysResp>(
1753            payload,
1754            0x20f46b1e039f0985,
1755            fidl::encoding::DynamicFlags::empty(),
1756            _decode,
1757        )
1758    }
1759
1760    type EapolTxResponseFut =
1761        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1762    fn r#eapol_tx(&self, mut payload: &WlanFullmacImplEapolTxRequest) -> Self::EapolTxResponseFut {
1763        fn _decode(
1764            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1765        ) -> Result<(), fidl::Error> {
1766            let _response = fidl::client::decode_transaction_body::<
1767                fidl::encoding::EmptyPayload,
1768                fidl::encoding::DefaultFuchsiaResourceDialect,
1769                0x529a2d90fd4c8177,
1770            >(_buf?)?;
1771            Ok(_response)
1772        }
1773        self.client.send_query_and_decode::<WlanFullmacImplEapolTxRequest, ()>(
1774            payload,
1775            0x529a2d90fd4c8177,
1776            fidl::encoding::DynamicFlags::empty(),
1777            _decode,
1778        )
1779    }
1780
1781    type GetIfaceStatsResponseFut = fidl::client::QueryResponseFut<
1782        WlanFullmacImplGetIfaceStatsResult,
1783        fidl::encoding::DefaultFuchsiaResourceDialect,
1784    >;
1785    fn r#get_iface_stats(&self) -> Self::GetIfaceStatsResponseFut {
1786        fn _decode(
1787            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1788        ) -> Result<WlanFullmacImplGetIfaceStatsResult, fidl::Error> {
1789            let _response = fidl::client::decode_transaction_body::<
1790                fidl::encoding::ResultType<WlanFullmacImplGetIfaceStatsResponse, i32>,
1791                fidl::encoding::DefaultFuchsiaResourceDialect,
1792                0x505563776ef0392f,
1793            >(_buf?)?;
1794            Ok(_response.map(|x| x.stats))
1795        }
1796        self.client.send_query_and_decode::<
1797            fidl::encoding::EmptyPayload,
1798            WlanFullmacImplGetIfaceStatsResult,
1799        >(
1800            (),
1801            0x505563776ef0392f,
1802            fidl::encoding::DynamicFlags::empty(),
1803            _decode,
1804        )
1805    }
1806
1807    type GetIfaceHistogramStatsResponseFut = fidl::client::QueryResponseFut<
1808        WlanFullmacImplGetIfaceHistogramStatsResult,
1809        fidl::encoding::DefaultFuchsiaResourceDialect,
1810    >;
1811    fn r#get_iface_histogram_stats(&self) -> Self::GetIfaceHistogramStatsResponseFut {
1812        fn _decode(
1813            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1814        ) -> Result<WlanFullmacImplGetIfaceHistogramStatsResult, fidl::Error> {
1815            let _response = fidl::client::decode_transaction_body::<
1816                fidl::encoding::ResultType<WlanFullmacImplGetIfaceHistogramStatsResponse, i32>,
1817                fidl::encoding::DefaultFuchsiaResourceDialect,
1818                0x503d586f30ccf2cd,
1819            >(_buf?)?;
1820            Ok(_response.map(|x| x.stats))
1821        }
1822        self.client.send_query_and_decode::<
1823            fidl::encoding::EmptyPayload,
1824            WlanFullmacImplGetIfaceHistogramStatsResult,
1825        >(
1826            (),
1827            0x503d586f30ccf2cd,
1828            fidl::encoding::DynamicFlags::empty(),
1829            _decode,
1830        )
1831    }
1832
1833    type GetSignalReportResponseFut = fidl::client::QueryResponseFut<
1834        WlanFullmacImplGetSignalReportResult,
1835        fidl::encoding::DefaultFuchsiaResourceDialect,
1836    >;
1837    fn r#get_signal_report(&self) -> Self::GetSignalReportResponseFut {
1838        fn _decode(
1839            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1840        ) -> Result<WlanFullmacImplGetSignalReportResult, fidl::Error> {
1841            let _response = fidl::client::decode_transaction_body::<
1842                fidl::encoding::ResultType<fidl_fuchsia_wlan_stats::SignalReport, i32>,
1843                fidl::encoding::DefaultFuchsiaResourceDialect,
1844                0x5d93f056e4796bb3,
1845            >(_buf?)?;
1846            Ok(_response.map(|x| x))
1847        }
1848        self.client.send_query_and_decode::<
1849            fidl::encoding::EmptyPayload,
1850            WlanFullmacImplGetSignalReportResult,
1851        >(
1852            (),
1853            0x5d93f056e4796bb3,
1854            fidl::encoding::DynamicFlags::empty(),
1855            _decode,
1856        )
1857    }
1858
1859    type SaeHandshakeRespResponseFut =
1860        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1861    fn r#sae_handshake_resp(
1862        &self,
1863        mut payload: &WlanFullmacImplSaeHandshakeRespRequest,
1864    ) -> Self::SaeHandshakeRespResponseFut {
1865        fn _decode(
1866            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1867        ) -> Result<(), fidl::Error> {
1868            let _response = fidl::client::decode_transaction_body::<
1869                fidl::encoding::EmptyPayload,
1870                fidl::encoding::DefaultFuchsiaResourceDialect,
1871                0x72cd3a31ae5a54f6,
1872            >(_buf?)?;
1873            Ok(_response)
1874        }
1875        self.client.send_query_and_decode::<WlanFullmacImplSaeHandshakeRespRequest, ()>(
1876            payload,
1877            0x72cd3a31ae5a54f6,
1878            fidl::encoding::DynamicFlags::empty(),
1879            _decode,
1880        )
1881    }
1882
1883    type SaeFrameTxResponseFut =
1884        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1885    fn r#sae_frame_tx(&self, mut frame: &SaeFrame) -> Self::SaeFrameTxResponseFut {
1886        fn _decode(
1887            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1888        ) -> Result<(), fidl::Error> {
1889            let _response = fidl::client::decode_transaction_body::<
1890                fidl::encoding::EmptyPayload,
1891                fidl::encoding::DefaultFuchsiaResourceDialect,
1892                0x4715ad5dc5a6340f,
1893            >(_buf?)?;
1894            Ok(_response)
1895        }
1896        self.client.send_query_and_decode::<WlanFullmacImplSaeFrameTxRequest, ()>(
1897            (frame,),
1898            0x4715ad5dc5a6340f,
1899            fidl::encoding::DynamicFlags::empty(),
1900            _decode,
1901        )
1902    }
1903
1904    type WmmStatusReqResponseFut =
1905        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1906    fn r#wmm_status_req(&self) -> Self::WmmStatusReqResponseFut {
1907        fn _decode(
1908            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1909        ) -> Result<(), fidl::Error> {
1910            let _response = fidl::client::decode_transaction_body::<
1911                fidl::encoding::EmptyPayload,
1912                fidl::encoding::DefaultFuchsiaResourceDialect,
1913                0x635ecef3beb7a059,
1914            >(_buf?)?;
1915            Ok(_response)
1916        }
1917        self.client.send_query_and_decode::<fidl::encoding::EmptyPayload, ()>(
1918            (),
1919            0x635ecef3beb7a059,
1920            fidl::encoding::DynamicFlags::empty(),
1921            _decode,
1922        )
1923    }
1924
1925    type OnLinkStateChangedResponseFut =
1926        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
1927    fn r#on_link_state_changed(
1928        &self,
1929        mut payload: &WlanFullmacImplOnLinkStateChangedRequest,
1930    ) -> Self::OnLinkStateChangedResponseFut {
1931        fn _decode(
1932            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1933        ) -> Result<(), fidl::Error> {
1934            let _response = fidl::client::decode_transaction_body::<
1935                fidl::encoding::EmptyPayload,
1936                fidl::encoding::DefaultFuchsiaResourceDialect,
1937                0x4d896e5b68e488d7,
1938            >(_buf?)?;
1939            Ok(_response)
1940        }
1941        self.client.send_query_and_decode::<WlanFullmacImplOnLinkStateChangedRequest, ()>(
1942            payload,
1943            0x4d896e5b68e488d7,
1944            fidl::encoding::DynamicFlags::empty(),
1945            _decode,
1946        )
1947    }
1948
1949    type SetMacAddressResponseFut = fidl::client::QueryResponseFut<
1950        WlanFullmacImplSetMacAddressResult,
1951        fidl::encoding::DefaultFuchsiaResourceDialect,
1952    >;
1953    fn r#set_mac_address(&self, mut mac_addr: &[u8; 6]) -> Self::SetMacAddressResponseFut {
1954        fn _decode(
1955            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1956        ) -> Result<WlanFullmacImplSetMacAddressResult, fidl::Error> {
1957            let _response = fidl::client::decode_transaction_body::<
1958                fidl::encoding::ResultType<fidl::encoding::EmptyStruct, i32>,
1959                fidl::encoding::DefaultFuchsiaResourceDialect,
1960                0x211a97f6f21ae5f0,
1961            >(_buf?)?;
1962            Ok(_response.map(|x| x))
1963        }
1964        self.client.send_query_and_decode::<
1965            WlanFullmacImplSetMacAddressRequest,
1966            WlanFullmacImplSetMacAddressResult,
1967        >(
1968            (mac_addr,),
1969            0x211a97f6f21ae5f0,
1970            fidl::encoding::DynamicFlags::empty(),
1971            _decode,
1972        )
1973    }
1974
1975    type InstallApfPacketFilterResponseFut = fidl::client::QueryResponseFut<
1976        WlanFullmacImplInstallApfPacketFilterResult,
1977        fidl::encoding::DefaultFuchsiaResourceDialect,
1978    >;
1979    fn r#install_apf_packet_filter(
1980        &self,
1981        mut payload: &WlanFullmacImplInstallApfPacketFilterRequest,
1982    ) -> Self::InstallApfPacketFilterResponseFut {
1983        fn _decode(
1984            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
1985        ) -> Result<WlanFullmacImplInstallApfPacketFilterResult, fidl::Error> {
1986            let _response = fidl::client::decode_transaction_body::<
1987                fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
1988                fidl::encoding::DefaultFuchsiaResourceDialect,
1989                0x14597eda84122115,
1990            >(_buf?)?
1991            .into_result::<WlanFullmacImpl_Marker>("install_apf_packet_filter")?;
1992            Ok(_response.map(|x| x))
1993        }
1994        self.client.send_query_and_decode::<
1995            WlanFullmacImplInstallApfPacketFilterRequest,
1996            WlanFullmacImplInstallApfPacketFilterResult,
1997        >(
1998            payload,
1999            0x14597eda84122115,
2000            fidl::encoding::DynamicFlags::FLEXIBLE,
2001            _decode,
2002        )
2003    }
2004
2005    type ReadApfPacketFilterDataResponseFut = fidl::client::QueryResponseFut<
2006        WlanFullmacImplReadApfPacketFilterDataResult,
2007        fidl::encoding::DefaultFuchsiaResourceDialect,
2008    >;
2009    fn r#read_apf_packet_filter_data(&self) -> Self::ReadApfPacketFilterDataResponseFut {
2010        fn _decode(
2011            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2012        ) -> Result<WlanFullmacImplReadApfPacketFilterDataResult, fidl::Error> {
2013            let _response = fidl::client::decode_transaction_body::<
2014                fidl::encoding::FlexibleResultType<
2015                    WlanFullmacImplReadApfPacketFilterDataResponse,
2016                    i32,
2017                >,
2018                fidl::encoding::DefaultFuchsiaResourceDialect,
2019                0x6ddcf8a179553a3c,
2020            >(_buf?)?
2021            .into_result::<WlanFullmacImpl_Marker>("read_apf_packet_filter_data")?;
2022            Ok(_response.map(|x| x))
2023        }
2024        self.client.send_query_and_decode::<
2025            fidl::encoding::EmptyPayload,
2026            WlanFullmacImplReadApfPacketFilterDataResult,
2027        >(
2028            (),
2029            0x6ddcf8a179553a3c,
2030            fidl::encoding::DynamicFlags::FLEXIBLE,
2031            _decode,
2032        )
2033    }
2034
2035    type SetApfPacketFilterEnabledResponseFut = fidl::client::QueryResponseFut<
2036        WlanFullmacImplSetApfPacketFilterEnabledResult,
2037        fidl::encoding::DefaultFuchsiaResourceDialect,
2038    >;
2039    fn r#set_apf_packet_filter_enabled(
2040        &self,
2041        mut payload: &WlanFullmacImplSetApfPacketFilterEnabledRequest,
2042    ) -> Self::SetApfPacketFilterEnabledResponseFut {
2043        fn _decode(
2044            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2045        ) -> Result<WlanFullmacImplSetApfPacketFilterEnabledResult, fidl::Error> {
2046            let _response = fidl::client::decode_transaction_body::<
2047                fidl::encoding::FlexibleResultType<fidl::encoding::EmptyStruct, i32>,
2048                fidl::encoding::DefaultFuchsiaResourceDialect,
2049                0x808792cade97d59,
2050            >(_buf?)?
2051            .into_result::<WlanFullmacImpl_Marker>("set_apf_packet_filter_enabled")?;
2052            Ok(_response.map(|x| x))
2053        }
2054        self.client.send_query_and_decode::<
2055            WlanFullmacImplSetApfPacketFilterEnabledRequest,
2056            WlanFullmacImplSetApfPacketFilterEnabledResult,
2057        >(
2058            payload,
2059            0x808792cade97d59,
2060            fidl::encoding::DynamicFlags::FLEXIBLE,
2061            _decode,
2062        )
2063    }
2064
2065    type GetApfPacketFilterEnabledResponseFut = fidl::client::QueryResponseFut<
2066        WlanFullmacImplGetApfPacketFilterEnabledResult,
2067        fidl::encoding::DefaultFuchsiaResourceDialect,
2068    >;
2069    fn r#get_apf_packet_filter_enabled(&self) -> Self::GetApfPacketFilterEnabledResponseFut {
2070        fn _decode(
2071            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
2072        ) -> Result<WlanFullmacImplGetApfPacketFilterEnabledResult, fidl::Error> {
2073            let _response = fidl::client::decode_transaction_body::<
2074                fidl::encoding::FlexibleResultType<
2075                    WlanFullmacImplGetApfPacketFilterEnabledResponse,
2076                    i32,
2077                >,
2078                fidl::encoding::DefaultFuchsiaResourceDialect,
2079                0x284e1725471e3ae7,
2080            >(_buf?)?
2081            .into_result::<WlanFullmacImpl_Marker>("get_apf_packet_filter_enabled")?;
2082            Ok(_response.map(|x| x))
2083        }
2084        self.client.send_query_and_decode::<
2085            fidl::encoding::EmptyPayload,
2086            WlanFullmacImplGetApfPacketFilterEnabledResult,
2087        >(
2088            (),
2089            0x284e1725471e3ae7,
2090            fidl::encoding::DynamicFlags::FLEXIBLE,
2091            _decode,
2092        )
2093    }
2094}
2095
2096pub struct WlanFullmacImpl_EventStream {
2097    event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
2098}
2099
2100impl std::marker::Unpin for WlanFullmacImpl_EventStream {}
2101
2102impl futures::stream::FusedStream for WlanFullmacImpl_EventStream {
2103    fn is_terminated(&self) -> bool {
2104        self.event_receiver.is_terminated()
2105    }
2106}
2107
2108impl futures::Stream for WlanFullmacImpl_EventStream {
2109    type Item = Result<WlanFullmacImpl_Event, fidl::Error>;
2110
2111    fn poll_next(
2112        mut self: std::pin::Pin<&mut Self>,
2113        cx: &mut std::task::Context<'_>,
2114    ) -> std::task::Poll<Option<Self::Item>> {
2115        match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
2116            &mut self.event_receiver,
2117            cx
2118        )?) {
2119            Some(buf) => std::task::Poll::Ready(Some(WlanFullmacImpl_Event::decode(buf))),
2120            None => std::task::Poll::Ready(None),
2121        }
2122    }
2123}
2124
2125#[derive(Debug)]
2126pub enum WlanFullmacImpl_Event {
2127    #[non_exhaustive]
2128    _UnknownEvent {
2129        /// Ordinal of the event that was sent.
2130        ordinal: u64,
2131    },
2132}
2133
2134impl WlanFullmacImpl_Event {
2135    /// Decodes a message buffer as a [`WlanFullmacImpl_Event`].
2136    fn decode(
2137        mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
2138    ) -> Result<WlanFullmacImpl_Event, fidl::Error> {
2139        let (bytes, _handles) = buf.split_mut();
2140        let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2141        debug_assert_eq!(tx_header.tx_id, 0);
2142        match tx_header.ordinal {
2143            _ if tx_header.dynamic_flags().contains(fidl::encoding::DynamicFlags::FLEXIBLE) => {
2144                Ok(WlanFullmacImpl_Event::_UnknownEvent { ordinal: tx_header.ordinal })
2145            }
2146            _ => Err(fidl::Error::UnknownOrdinal {
2147                ordinal: tx_header.ordinal,
2148                protocol_name:
2149                    <WlanFullmacImpl_Marker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
2150            }),
2151        }
2152    }
2153}
2154
2155/// A Stream of incoming requests for fuchsia.wlan.fullmac/WlanFullmacImpl.
2156pub struct WlanFullmacImpl_RequestStream {
2157    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2158    is_terminated: bool,
2159}
2160
2161impl std::marker::Unpin for WlanFullmacImpl_RequestStream {}
2162
2163impl futures::stream::FusedStream for WlanFullmacImpl_RequestStream {
2164    fn is_terminated(&self) -> bool {
2165        self.is_terminated
2166    }
2167}
2168
2169impl fidl::endpoints::RequestStream for WlanFullmacImpl_RequestStream {
2170    type Protocol = WlanFullmacImpl_Marker;
2171    type ControlHandle = WlanFullmacImpl_ControlHandle;
2172
2173    fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
2174        Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
2175    }
2176
2177    fn control_handle(&self) -> Self::ControlHandle {
2178        WlanFullmacImpl_ControlHandle { inner: self.inner.clone() }
2179    }
2180
2181    fn into_inner(
2182        self,
2183    ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
2184    {
2185        (self.inner, self.is_terminated)
2186    }
2187
2188    fn from_inner(
2189        inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
2190        is_terminated: bool,
2191    ) -> Self {
2192        Self { inner, is_terminated }
2193    }
2194}
2195
2196impl futures::Stream for WlanFullmacImpl_RequestStream {
2197    type Item = Result<WlanFullmacImpl_Request, fidl::Error>;
2198
2199    fn poll_next(
2200        mut self: std::pin::Pin<&mut Self>,
2201        cx: &mut std::task::Context<'_>,
2202    ) -> std::task::Poll<Option<Self::Item>> {
2203        let this = &mut *self;
2204        if this.inner.check_shutdown(cx) {
2205            this.is_terminated = true;
2206            return std::task::Poll::Ready(None);
2207        }
2208        if this.is_terminated {
2209            panic!("polled WlanFullmacImpl_RequestStream after completion");
2210        }
2211        fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
2212            |bytes, handles| {
2213                match this.inner.channel().read_etc(cx, bytes, handles) {
2214                    std::task::Poll::Ready(Ok(())) => {}
2215                    std::task::Poll::Pending => return std::task::Poll::Pending,
2216                    std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
2217                        this.is_terminated = true;
2218                        return std::task::Poll::Ready(None);
2219                    }
2220                    std::task::Poll::Ready(Err(e)) => {
2221                        return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
2222                            e.into(),
2223                        ))));
2224                    }
2225                }
2226
2227                // A message has been received from the channel
2228                let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
2229
2230                std::task::Poll::Ready(Some(match header.ordinal {
2231                    0x593dfb6cb3f0f1aa => {
2232                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2233                        let mut req = fidl::new_empty!(
2234                            WlanFullmacImplInitRequest,
2235                            fidl::encoding::DefaultFuchsiaResourceDialect
2236                        );
2237                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplInitRequest>(&header, _body_bytes, handles, &mut req)?;
2238                        let control_handle =
2239                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2240                        Ok(WlanFullmacImpl_Request::Init {
2241                            payload: req,
2242                            responder: WlanFullmacImpl_InitResponder {
2243                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2244                                tx_id: header.tx_id,
2245                            },
2246                        })
2247                    }
2248                    0x28ac65f9da3941d4 => {
2249                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2250                        let mut req = fidl::new_empty!(
2251                            fidl::encoding::EmptyPayload,
2252                            fidl::encoding::DefaultFuchsiaResourceDialect
2253                        );
2254                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2255                        let control_handle =
2256                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2257                        Ok(WlanFullmacImpl_Request::Query {
2258                            responder: WlanFullmacImpl_QueryResponder {
2259                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2260                                tx_id: header.tx_id,
2261                            },
2262                        })
2263                    }
2264                    0x11cf3fa6eeb93f84 => {
2265                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2266                        let mut req = fidl::new_empty!(
2267                            fidl::encoding::EmptyPayload,
2268                            fidl::encoding::DefaultFuchsiaResourceDialect
2269                        );
2270                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2271                        let control_handle =
2272                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2273                        Ok(WlanFullmacImpl_Request::QuerySecuritySupport {
2274                            responder: WlanFullmacImpl_QuerySecuritySupportResponder {
2275                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2276                                tx_id: header.tx_id,
2277                            },
2278                        })
2279                    }
2280                    0x22ae7551d855b83a => {
2281                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2282                        let mut req = fidl::new_empty!(
2283                            fidl::encoding::EmptyPayload,
2284                            fidl::encoding::DefaultFuchsiaResourceDialect
2285                        );
2286                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2287                        let control_handle =
2288                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2289                        Ok(WlanFullmacImpl_Request::QuerySpectrumManagementSupport {
2290                            responder: WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
2291                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2292                                tx_id: header.tx_id,
2293                            },
2294                        })
2295                    }
2296                    0x4561479ca560827f => {
2297                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2298                        let mut req = fidl::new_empty!(
2299                            fidl::encoding::EmptyPayload,
2300                            fidl::encoding::DefaultFuchsiaResourceDialect
2301                        );
2302                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2303                        let control_handle =
2304                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2305                        Ok(WlanFullmacImpl_Request::QueryTelemetrySupport {
2306                            responder: WlanFullmacImpl_QueryTelemetrySupportResponder {
2307                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2308                                tx_id: header.tx_id,
2309                            },
2310                        })
2311                    }
2312                    0x6df8cdf0acd4dfad => {
2313                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2314                        let mut req = fidl::new_empty!(
2315                            fidl::encoding::EmptyPayload,
2316                            fidl::encoding::DefaultFuchsiaResourceDialect
2317                        );
2318                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2319                        let control_handle =
2320                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2321                        Ok(WlanFullmacImpl_Request::QueryApfPacketFilterSupport {
2322                            responder: WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
2323                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2324                                tx_id: header.tx_id,
2325                            },
2326                        })
2327                    }
2328                    0x26c17bf595aa161c => {
2329                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2330                        let mut req = fidl::new_empty!(
2331                            WlanFullmacImplStartScanRequest,
2332                            fidl::encoding::DefaultFuchsiaResourceDialect
2333                        );
2334                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplStartScanRequest>(&header, _body_bytes, handles, &mut req)?;
2335                        let control_handle =
2336                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2337                        Ok(WlanFullmacImpl_Request::StartScan {
2338                            payload: req,
2339                            responder: WlanFullmacImpl_StartScanResponder {
2340                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2341                                tx_id: header.tx_id,
2342                            },
2343                        })
2344                    }
2345                    0x67bb4356265682d2 => {
2346                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2347                        let mut req = fidl::new_empty!(
2348                            WlanFullmacImplStartScheduledScanRequest,
2349                            fidl::encoding::DefaultFuchsiaResourceDialect
2350                        );
2351                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplStartScheduledScanRequest>(&header, _body_bytes, handles, &mut req)?;
2352                        let control_handle =
2353                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2354                        Ok(WlanFullmacImpl_Request::StartScheduledScan {
2355                            payload: req,
2356                            responder: WlanFullmacImpl_StartScheduledScanResponder {
2357                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2358                                tx_id: header.tx_id,
2359                            },
2360                        })
2361                    }
2362                    0x71bf2a03f2cdc10f => {
2363                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2364                        let mut req = fidl::new_empty!(
2365                            WlanFullmacImplStopScheduledScanRequest,
2366                            fidl::encoding::DefaultFuchsiaResourceDialect
2367                        );
2368                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplStopScheduledScanRequest>(&header, _body_bytes, handles, &mut req)?;
2369                        let control_handle =
2370                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2371                        Ok(WlanFullmacImpl_Request::StopScheduledScan {
2372                            payload: req,
2373                            responder: WlanFullmacImpl_StopScheduledScanResponder {
2374                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2375                                tx_id: header.tx_id,
2376                            },
2377                        })
2378                    }
2379                    0x96be6f11648f198 => {
2380                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2381                        let mut req = fidl::new_empty!(
2382                            fidl::encoding::EmptyPayload,
2383                            fidl::encoding::DefaultFuchsiaResourceDialect
2384                        );
2385                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2386                        let control_handle =
2387                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2388                        Ok(WlanFullmacImpl_Request::GetScheduledScanEnabled {
2389                            responder: WlanFullmacImpl_GetScheduledScanEnabledResponder {
2390                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2391                                tx_id: header.tx_id,
2392                            },
2393                        })
2394                    }
2395                    0x19eb0322efb07a76 => {
2396                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2397                        let mut req = fidl::new_empty!(
2398                            WlanFullmacImplConnectRequest,
2399                            fidl::encoding::DefaultFuchsiaResourceDialect
2400                        );
2401                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplConnectRequest>(&header, _body_bytes, handles, &mut req)?;
2402                        let control_handle =
2403                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2404                        Ok(WlanFullmacImpl_Request::Connect {
2405                            payload: req,
2406                            responder: WlanFullmacImpl_ConnectResponder {
2407                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2408                                tx_id: header.tx_id,
2409                            },
2410                        })
2411                    }
2412                    0x474084c4ef19ee71 => {
2413                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2414                        let mut req = fidl::new_empty!(
2415                            WlanFullmacImplReconnectRequest,
2416                            fidl::encoding::DefaultFuchsiaResourceDialect
2417                        );
2418                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplReconnectRequest>(&header, _body_bytes, handles, &mut req)?;
2419                        let control_handle =
2420                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2421                        Ok(WlanFullmacImpl_Request::Reconnect {
2422                            payload: req,
2423                            responder: WlanFullmacImpl_ReconnectResponder {
2424                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2425                                tx_id: header.tx_id,
2426                            },
2427                        })
2428                    }
2429                    0x1e35dcc98b124b64 => {
2430                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2431                        let mut req = fidl::new_empty!(
2432                            WlanFullmacImplRoamRequest,
2433                            fidl::encoding::DefaultFuchsiaResourceDialect
2434                        );
2435                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplRoamRequest>(&header, _body_bytes, handles, &mut req)?;
2436                        let control_handle =
2437                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2438                        Ok(WlanFullmacImpl_Request::Roam {
2439                            payload: req,
2440                            responder: WlanFullmacImpl_RoamResponder {
2441                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2442                                tx_id: header.tx_id,
2443                            },
2444                        })
2445                    }
2446                    0x5f7ea24b44a4aaeb => {
2447                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2448                        let mut req = fidl::new_empty!(
2449                            WlanFullmacImplAuthRespRequest,
2450                            fidl::encoding::DefaultFuchsiaResourceDialect
2451                        );
2452                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplAuthRespRequest>(&header, _body_bytes, handles, &mut req)?;
2453                        let control_handle =
2454                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2455                        Ok(WlanFullmacImpl_Request::AuthResp {
2456                            payload: req,
2457                            responder: WlanFullmacImpl_AuthRespResponder {
2458                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2459                                tx_id: header.tx_id,
2460                            },
2461                        })
2462                    }
2463                    0x112786eccbf12f37 => {
2464                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2465                        let mut req = fidl::new_empty!(
2466                            WlanFullmacImplDeauthRequest,
2467                            fidl::encoding::DefaultFuchsiaResourceDialect
2468                        );
2469                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplDeauthRequest>(&header, _body_bytes, handles, &mut req)?;
2470                        let control_handle =
2471                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2472                        Ok(WlanFullmacImpl_Request::Deauth {
2473                            payload: req,
2474                            responder: WlanFullmacImpl_DeauthResponder {
2475                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2476                                tx_id: header.tx_id,
2477                            },
2478                        })
2479                    }
2480                    0x5022ce6b8eefec2f => {
2481                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2482                        let mut req = fidl::new_empty!(
2483                            WlanFullmacImplAssocRespRequest,
2484                            fidl::encoding::DefaultFuchsiaResourceDialect
2485                        );
2486                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplAssocRespRequest>(&header, _body_bytes, handles, &mut req)?;
2487                        let control_handle =
2488                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2489                        Ok(WlanFullmacImpl_Request::AssocResp {
2490                            payload: req,
2491                            responder: WlanFullmacImpl_AssocRespResponder {
2492                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2493                                tx_id: header.tx_id,
2494                            },
2495                        })
2496                    }
2497                    0x9c0fc4e8de53e01 => {
2498                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2499                        let mut req = fidl::new_empty!(
2500                            WlanFullmacImplDisassocRequest,
2501                            fidl::encoding::DefaultFuchsiaResourceDialect
2502                        );
2503                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplDisassocRequest>(&header, _body_bytes, handles, &mut req)?;
2504                        let control_handle =
2505                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2506                        Ok(WlanFullmacImpl_Request::Disassoc {
2507                            payload: req,
2508                            responder: WlanFullmacImpl_DisassocResponder {
2509                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2510                                tx_id: header.tx_id,
2511                            },
2512                        })
2513                    }
2514                    0x6922644d6b1d341d => {
2515                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2516                        let mut req = fidl::new_empty!(
2517                            WlanFullmacImplStartBssRequest,
2518                            fidl::encoding::DefaultFuchsiaResourceDialect
2519                        );
2520                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplStartBssRequest>(&header, _body_bytes, handles, &mut req)?;
2521                        let control_handle =
2522                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2523                        Ok(WlanFullmacImpl_Request::StartBss {
2524                            payload: req,
2525                            responder: WlanFullmacImpl_StartBssResponder {
2526                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2527                                tx_id: header.tx_id,
2528                            },
2529                        })
2530                    }
2531                    0x5aeb9b72e7575268 => {
2532                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2533                        let mut req = fidl::new_empty!(
2534                            WlanFullmacImplStopBssRequest,
2535                            fidl::encoding::DefaultFuchsiaResourceDialect
2536                        );
2537                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplStopBssRequest>(&header, _body_bytes, handles, &mut req)?;
2538                        let control_handle =
2539                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2540                        Ok(WlanFullmacImpl_Request::StopBss {
2541                            payload: req,
2542                            responder: WlanFullmacImpl_StopBssResponder {
2543                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2544                                tx_id: header.tx_id,
2545                            },
2546                        })
2547                    }
2548                    0x20f46b1e039f0985 => {
2549                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2550                        let mut req = fidl::new_empty!(
2551                            WlanFullmacImplSetKeysRequest,
2552                            fidl::encoding::DefaultFuchsiaResourceDialect
2553                        );
2554                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplSetKeysRequest>(&header, _body_bytes, handles, &mut req)?;
2555                        let control_handle =
2556                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2557                        Ok(WlanFullmacImpl_Request::SetKeys {
2558                            payload: req,
2559                            responder: WlanFullmacImpl_SetKeysResponder {
2560                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2561                                tx_id: header.tx_id,
2562                            },
2563                        })
2564                    }
2565                    0x529a2d90fd4c8177 => {
2566                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2567                        let mut req = fidl::new_empty!(
2568                            WlanFullmacImplEapolTxRequest,
2569                            fidl::encoding::DefaultFuchsiaResourceDialect
2570                        );
2571                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplEapolTxRequest>(&header, _body_bytes, handles, &mut req)?;
2572                        let control_handle =
2573                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2574                        Ok(WlanFullmacImpl_Request::EapolTx {
2575                            payload: req,
2576                            responder: WlanFullmacImpl_EapolTxResponder {
2577                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2578                                tx_id: header.tx_id,
2579                            },
2580                        })
2581                    }
2582                    0x505563776ef0392f => {
2583                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2584                        let mut req = fidl::new_empty!(
2585                            fidl::encoding::EmptyPayload,
2586                            fidl::encoding::DefaultFuchsiaResourceDialect
2587                        );
2588                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2589                        let control_handle =
2590                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2591                        Ok(WlanFullmacImpl_Request::GetIfaceStats {
2592                            responder: WlanFullmacImpl_GetIfaceStatsResponder {
2593                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2594                                tx_id: header.tx_id,
2595                            },
2596                        })
2597                    }
2598                    0x503d586f30ccf2cd => {
2599                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2600                        let mut req = fidl::new_empty!(
2601                            fidl::encoding::EmptyPayload,
2602                            fidl::encoding::DefaultFuchsiaResourceDialect
2603                        );
2604                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2605                        let control_handle =
2606                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2607                        Ok(WlanFullmacImpl_Request::GetIfaceHistogramStats {
2608                            responder: WlanFullmacImpl_GetIfaceHistogramStatsResponder {
2609                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2610                                tx_id: header.tx_id,
2611                            },
2612                        })
2613                    }
2614                    0x5d93f056e4796bb3 => {
2615                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2616                        let mut req = fidl::new_empty!(
2617                            fidl::encoding::EmptyPayload,
2618                            fidl::encoding::DefaultFuchsiaResourceDialect
2619                        );
2620                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2621                        let control_handle =
2622                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2623                        Ok(WlanFullmacImpl_Request::GetSignalReport {
2624                            responder: WlanFullmacImpl_GetSignalReportResponder {
2625                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2626                                tx_id: header.tx_id,
2627                            },
2628                        })
2629                    }
2630                    0x72cd3a31ae5a54f6 => {
2631                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2632                        let mut req = fidl::new_empty!(
2633                            WlanFullmacImplSaeHandshakeRespRequest,
2634                            fidl::encoding::DefaultFuchsiaResourceDialect
2635                        );
2636                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplSaeHandshakeRespRequest>(&header, _body_bytes, handles, &mut req)?;
2637                        let control_handle =
2638                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2639                        Ok(WlanFullmacImpl_Request::SaeHandshakeResp {
2640                            payload: req,
2641                            responder: WlanFullmacImpl_SaeHandshakeRespResponder {
2642                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2643                                tx_id: header.tx_id,
2644                            },
2645                        })
2646                    }
2647                    0x4715ad5dc5a6340f => {
2648                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2649                        let mut req = fidl::new_empty!(
2650                            WlanFullmacImplSaeFrameTxRequest,
2651                            fidl::encoding::DefaultFuchsiaResourceDialect
2652                        );
2653                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplSaeFrameTxRequest>(&header, _body_bytes, handles, &mut req)?;
2654                        let control_handle =
2655                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2656                        Ok(WlanFullmacImpl_Request::SaeFrameTx {
2657                            frame: req.frame,
2658
2659                            responder: WlanFullmacImpl_SaeFrameTxResponder {
2660                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2661                                tx_id: header.tx_id,
2662                            },
2663                        })
2664                    }
2665                    0x635ecef3beb7a059 => {
2666                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2667                        let mut req = fidl::new_empty!(
2668                            fidl::encoding::EmptyPayload,
2669                            fidl::encoding::DefaultFuchsiaResourceDialect
2670                        );
2671                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2672                        let control_handle =
2673                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2674                        Ok(WlanFullmacImpl_Request::WmmStatusReq {
2675                            responder: WlanFullmacImpl_WmmStatusReqResponder {
2676                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2677                                tx_id: header.tx_id,
2678                            },
2679                        })
2680                    }
2681                    0x4d896e5b68e488d7 => {
2682                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2683                        let mut req = fidl::new_empty!(
2684                            WlanFullmacImplOnLinkStateChangedRequest,
2685                            fidl::encoding::DefaultFuchsiaResourceDialect
2686                        );
2687                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplOnLinkStateChangedRequest>(&header, _body_bytes, handles, &mut req)?;
2688                        let control_handle =
2689                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2690                        Ok(WlanFullmacImpl_Request::OnLinkStateChanged {
2691                            payload: req,
2692                            responder: WlanFullmacImpl_OnLinkStateChangedResponder {
2693                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2694                                tx_id: header.tx_id,
2695                            },
2696                        })
2697                    }
2698                    0x211a97f6f21ae5f0 => {
2699                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2700                        let mut req = fidl::new_empty!(
2701                            WlanFullmacImplSetMacAddressRequest,
2702                            fidl::encoding::DefaultFuchsiaResourceDialect
2703                        );
2704                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplSetMacAddressRequest>(&header, _body_bytes, handles, &mut req)?;
2705                        let control_handle =
2706                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2707                        Ok(WlanFullmacImpl_Request::SetMacAddress {
2708                            mac_addr: req.mac_addr,
2709
2710                            responder: WlanFullmacImpl_SetMacAddressResponder {
2711                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2712                                tx_id: header.tx_id,
2713                            },
2714                        })
2715                    }
2716                    0x14597eda84122115 => {
2717                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2718                        let mut req = fidl::new_empty!(
2719                            WlanFullmacImplInstallApfPacketFilterRequest,
2720                            fidl::encoding::DefaultFuchsiaResourceDialect
2721                        );
2722                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplInstallApfPacketFilterRequest>(&header, _body_bytes, handles, &mut req)?;
2723                        let control_handle =
2724                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2725                        Ok(WlanFullmacImpl_Request::InstallApfPacketFilter {
2726                            payload: req,
2727                            responder: WlanFullmacImpl_InstallApfPacketFilterResponder {
2728                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2729                                tx_id: header.tx_id,
2730                            },
2731                        })
2732                    }
2733                    0x6ddcf8a179553a3c => {
2734                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2735                        let mut req = fidl::new_empty!(
2736                            fidl::encoding::EmptyPayload,
2737                            fidl::encoding::DefaultFuchsiaResourceDialect
2738                        );
2739                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2740                        let control_handle =
2741                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2742                        Ok(WlanFullmacImpl_Request::ReadApfPacketFilterData {
2743                            responder: WlanFullmacImpl_ReadApfPacketFilterDataResponder {
2744                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2745                                tx_id: header.tx_id,
2746                            },
2747                        })
2748                    }
2749                    0x808792cade97d59 => {
2750                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2751                        let mut req = fidl::new_empty!(
2752                            WlanFullmacImplSetApfPacketFilterEnabledRequest,
2753                            fidl::encoding::DefaultFuchsiaResourceDialect
2754                        );
2755                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplSetApfPacketFilterEnabledRequest>(&header, _body_bytes, handles, &mut req)?;
2756                        let control_handle =
2757                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2758                        Ok(WlanFullmacImpl_Request::SetApfPacketFilterEnabled {
2759                            payload: req,
2760                            responder: WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
2761                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2762                                tx_id: header.tx_id,
2763                            },
2764                        })
2765                    }
2766                    0x284e1725471e3ae7 => {
2767                        header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
2768                        let mut req = fidl::new_empty!(
2769                            fidl::encoding::EmptyPayload,
2770                            fidl::encoding::DefaultFuchsiaResourceDialect
2771                        );
2772                        fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<fidl::encoding::EmptyPayload>(&header, _body_bytes, handles, &mut req)?;
2773                        let control_handle =
2774                            WlanFullmacImpl_ControlHandle { inner: this.inner.clone() };
2775                        Ok(WlanFullmacImpl_Request::GetApfPacketFilterEnabled {
2776                            responder: WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
2777                                control_handle: std::mem::ManuallyDrop::new(control_handle),
2778                                tx_id: header.tx_id,
2779                            },
2780                        })
2781                    }
2782                    _ if header.tx_id == 0
2783                        && header
2784                            .dynamic_flags()
2785                            .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
2786                    {
2787                        Ok(WlanFullmacImpl_Request::_UnknownMethod {
2788                            ordinal: header.ordinal,
2789                            control_handle: WlanFullmacImpl_ControlHandle {
2790                                inner: this.inner.clone(),
2791                            },
2792                            method_type: fidl::MethodType::OneWay,
2793                        })
2794                    }
2795                    _ if header
2796                        .dynamic_flags()
2797                        .contains(fidl::encoding::DynamicFlags::FLEXIBLE) =>
2798                    {
2799                        this.inner.send_framework_err(
2800                            fidl::encoding::FrameworkErr::UnknownMethod,
2801                            header.tx_id,
2802                            header.ordinal,
2803                            header.dynamic_flags(),
2804                            (bytes, handles),
2805                        )?;
2806                        Ok(WlanFullmacImpl_Request::_UnknownMethod {
2807                            ordinal: header.ordinal,
2808                            control_handle: WlanFullmacImpl_ControlHandle {
2809                                inner: this.inner.clone(),
2810                            },
2811                            method_type: fidl::MethodType::TwoWay,
2812                        })
2813                    }
2814                    _ => Err(fidl::Error::UnknownOrdinal {
2815                        ordinal: header.ordinal,
2816                        protocol_name:
2817                            <WlanFullmacImpl_Marker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
2818                    }),
2819                }))
2820            },
2821        )
2822    }
2823}
2824
2825/// Protocol definition for communication from the platform to the fullmac
2826/// vendor driver.
2827#[derive(Debug)]
2828pub enum WlanFullmacImpl_Request {
2829    /// Initialize the FullMAC driver. This is the first request that the platform will make to the
2830    /// FullMAC driver.
2831    ///
2832    /// On initialization, MLME provides the client end to the WlanFullmacImplIfc protocol. The
2833    /// driver must return the SME server end channel, which is used internally by the platform.
2834    /// Typically, the SME server end channel is given to the FullMAC driver by
2835    /// fuchsia.wlan.phy/WlanPhy.CreateIface.
2836    ///
2837    /// If `Init` completes successfully, the platform will begin making other WlanFullmacImpl
2838    /// requests to the FullMAC driver, and the FullMAC driver is free to make WlanFullmacImplIfc
2839    /// requests to the platform. The platform may continue making WlanFullmacImpl requests until
2840    /// the WlanFullmacImpl server unbinds.
2841    ///
2842    /// Common errors include:
2843    ///   - `ZX_ERR_ALREADY_BOUND`: `Init` was already called on this FullMAC driver.
2844    Init {
2845        payload: WlanFullmacImplInitRequest,
2846        responder: WlanFullmacImpl_InitResponder,
2847    },
2848    /// Returns high-level information describing the state of the FullMAC driver.
2849    /// This is safe to call even before the call to WlanFullmacImpl::Start.
2850    Query {
2851        responder: WlanFullmacImpl_QueryResponder,
2852    },
2853    QuerySecuritySupport {
2854        responder: WlanFullmacImpl_QuerySecuritySupportResponder,
2855    },
2856    QuerySpectrumManagementSupport {
2857        responder: WlanFullmacImpl_QuerySpectrumManagementSupportResponder,
2858    },
2859    QueryTelemetrySupport {
2860        responder: WlanFullmacImpl_QueryTelemetrySupportResponder,
2861    },
2862    QueryApfPacketFilterSupport {
2863        responder: WlanFullmacImpl_QueryApfPacketFilterSupportResponder,
2864    },
2865    StartScan {
2866        payload: WlanFullmacImplStartScanRequest,
2867        responder: WlanFullmacImpl_StartScanResponder,
2868    },
2869    /// Starts scheduled scanning.
2870    StartScheduledScan {
2871        payload: WlanFullmacImplStartScheduledScanRequest,
2872        responder: WlanFullmacImpl_StartScheduledScanResponder,
2873    },
2874    /// Stops scheduled scanning.
2875    ///
2876    /// The successful return value indicates that the scan has been stopped.
2877    /// The driver will NOT send an `OnScheduledScanStoppedByFirmware` event in response to this call.
2878    /// `OnScheduledScanStoppedByFirmware` is reserved for firmware-initiated stops or errors.
2879    StopScheduledScan {
2880        payload: WlanFullmacImplStopScheduledScanRequest,
2881        responder: WlanFullmacImpl_StopScheduledScanResponder,
2882    },
2883    /// Returns the transaction IDs of any currently active scheduled scans.
2884    GetScheduledScanEnabled {
2885        responder: WlanFullmacImpl_GetScheduledScanEnabledResponder,
2886    },
2887    Connect {
2888        payload: WlanFullmacImplConnectRequest,
2889        responder: WlanFullmacImpl_ConnectResponder,
2890    },
2891    Reconnect {
2892        payload: WlanFullmacImplReconnectRequest,
2893        responder: WlanFullmacImpl_ReconnectResponder,
2894    },
2895    /// Initiate a roam attempt, which moves association to a different BSS within the ESS.
2896    Roam {
2897        payload: WlanFullmacImplRoamRequest,
2898        responder: WlanFullmacImpl_RoamResponder,
2899    },
2900    AuthResp {
2901        payload: WlanFullmacImplAuthRespRequest,
2902        responder: WlanFullmacImpl_AuthRespResponder,
2903    },
2904    Deauth {
2905        payload: WlanFullmacImplDeauthRequest,
2906        responder: WlanFullmacImpl_DeauthResponder,
2907    },
2908    AssocResp {
2909        payload: WlanFullmacImplAssocRespRequest,
2910        responder: WlanFullmacImpl_AssocRespResponder,
2911    },
2912    Disassoc {
2913        payload: WlanFullmacImplDisassocRequest,
2914        responder: WlanFullmacImpl_DisassocResponder,
2915    },
2916    StartBss {
2917        payload: WlanFullmacImplStartBssRequest,
2918        responder: WlanFullmacImpl_StartBssResponder,
2919    },
2920    StopBss {
2921        payload: WlanFullmacImplStopBssRequest,
2922        responder: WlanFullmacImpl_StopBssResponder,
2923    },
2924    /// Sets security keys for a connection. This is typically called after a successful key
2925    /// exchange.
2926    ///
2927    /// Note that the platform assumes that the driver will automatically delete keys on a
2928    /// disconnect or key rotation.
2929    SetKeys {
2930        payload: WlanFullmacImplSetKeysRequest,
2931        responder: WlanFullmacImpl_SetKeysResponder,
2932    },
2933    EapolTx {
2934        payload: WlanFullmacImplEapolTxRequest,
2935        responder: WlanFullmacImpl_EapolTxResponder,
2936    },
2937    GetIfaceStats {
2938        responder: WlanFullmacImpl_GetIfaceStatsResponder,
2939    },
2940    GetIfaceHistogramStats {
2941        responder: WlanFullmacImpl_GetIfaceHistogramStatsResponder,
2942    },
2943    GetSignalReport {
2944        responder: WlanFullmacImpl_GetSignalReportResponder,
2945    },
2946    /// Informs the driver of the result of an SAE handshake.
2947    SaeHandshakeResp {
2948        payload: WlanFullmacImplSaeHandshakeRespRequest,
2949        responder: WlanFullmacImpl_SaeHandshakeRespResponder,
2950    },
2951    /// Transmit an SAE authentication frame.
2952    SaeFrameTx {
2953        frame: SaeFrame,
2954        responder: WlanFullmacImpl_SaeFrameTxResponder,
2955    },
2956    WmmStatusReq {
2957        responder: WlanFullmacImpl_WmmStatusReqResponder,
2958    },
2959    OnLinkStateChanged {
2960        payload: WlanFullmacImplOnLinkStateChangedRequest,
2961        responder: WlanFullmacImpl_OnLinkStateChangedResponder,
2962    },
2963    /// Sets the MAC address for the interface, which may be retrieved via the Query() method. To
2964    /// reset to the default/factory MAC address, use the Query() method to retrieve the `factory_addr`,
2965    /// and pass that value to this method.
2966    SetMacAddress {
2967        mac_addr: [u8; 6],
2968        responder: WlanFullmacImpl_SetMacAddressResponder,
2969    },
2970    /// Installs an APF program, replacing an existing program if present. This method does not
2971    /// enable the program.
2972    InstallApfPacketFilter {
2973        payload: WlanFullmacImplInstallApfPacketFilterRequest,
2974        responder: WlanFullmacImpl_InstallApfPacketFilterResponder,
2975    },
2976    /// Fetches a consistent snapshot of the entire APF program and working
2977    /// memory buffer and returns it to the host. The returned buffer contains
2978    /// both code and data. Its length must match the most recently returned
2979    /// QueryPacketFilterSupport().max_filter_length.
2980    ///
2981    /// While the snapshot is being fetched, the APF interpreter must not execute
2982    /// and all incoming packets must be passed to the host as if there was no
2983    /// APF program installed.
2984    ReadApfPacketFilterData {
2985        responder: WlanFullmacImpl_ReadApfPacketFilterDataResponder,
2986    },
2987    SetApfPacketFilterEnabled {
2988        payload: WlanFullmacImplSetApfPacketFilterEnabledRequest,
2989        responder: WlanFullmacImpl_SetApfPacketFilterEnabledResponder,
2990    },
2991    GetApfPacketFilterEnabled {
2992        responder: WlanFullmacImpl_GetApfPacketFilterEnabledResponder,
2993    },
2994    /// An interaction was received which does not match any known method.
2995    #[non_exhaustive]
2996    _UnknownMethod {
2997        /// Ordinal of the method that was called.
2998        ordinal: u64,
2999        control_handle: WlanFullmacImpl_ControlHandle,
3000        method_type: fidl::MethodType,
3001    },
3002}
3003
3004impl WlanFullmacImpl_Request {
3005    #[allow(irrefutable_let_patterns)]
3006    pub fn into_init(self) -> Option<(WlanFullmacImplInitRequest, WlanFullmacImpl_InitResponder)> {
3007        if let WlanFullmacImpl_Request::Init { payload, responder } = self {
3008            Some((payload, responder))
3009        } else {
3010            None
3011        }
3012    }
3013
3014    #[allow(irrefutable_let_patterns)]
3015    pub fn into_query(self) -> Option<(WlanFullmacImpl_QueryResponder)> {
3016        if let WlanFullmacImpl_Request::Query { responder } = self {
3017            Some((responder))
3018        } else {
3019            None
3020        }
3021    }
3022
3023    #[allow(irrefutable_let_patterns)]
3024    pub fn into_query_security_support(
3025        self,
3026    ) -> Option<(WlanFullmacImpl_QuerySecuritySupportResponder)> {
3027        if let WlanFullmacImpl_Request::QuerySecuritySupport { responder } = self {
3028            Some((responder))
3029        } else {
3030            None
3031        }
3032    }
3033
3034    #[allow(irrefutable_let_patterns)]
3035    pub fn into_query_spectrum_management_support(
3036        self,
3037    ) -> Option<(WlanFullmacImpl_QuerySpectrumManagementSupportResponder)> {
3038        if let WlanFullmacImpl_Request::QuerySpectrumManagementSupport { responder } = self {
3039            Some((responder))
3040        } else {
3041            None
3042        }
3043    }
3044
3045    #[allow(irrefutable_let_patterns)]
3046    pub fn into_query_telemetry_support(
3047        self,
3048    ) -> Option<(WlanFullmacImpl_QueryTelemetrySupportResponder)> {
3049        if let WlanFullmacImpl_Request::QueryTelemetrySupport { responder } = self {
3050            Some((responder))
3051        } else {
3052            None
3053        }
3054    }
3055
3056    #[allow(irrefutable_let_patterns)]
3057    pub fn into_query_apf_packet_filter_support(
3058        self,
3059    ) -> Option<(WlanFullmacImpl_QueryApfPacketFilterSupportResponder)> {
3060        if let WlanFullmacImpl_Request::QueryApfPacketFilterSupport { responder } = self {
3061            Some((responder))
3062        } else {
3063            None
3064        }
3065    }
3066
3067    #[allow(irrefutable_let_patterns)]
3068    pub fn into_start_scan(
3069        self,
3070    ) -> Option<(WlanFullmacImplStartScanRequest, WlanFullmacImpl_StartScanResponder)> {
3071        if let WlanFullmacImpl_Request::StartScan { payload, responder } = self {
3072            Some((payload, responder))
3073        } else {
3074            None
3075        }
3076    }
3077
3078    #[allow(irrefutable_let_patterns)]
3079    pub fn into_start_scheduled_scan(
3080        self,
3081    ) -> Option<(
3082        WlanFullmacImplStartScheduledScanRequest,
3083        WlanFullmacImpl_StartScheduledScanResponder,
3084    )> {
3085        if let WlanFullmacImpl_Request::StartScheduledScan { payload, responder } = self {
3086            Some((payload, responder))
3087        } else {
3088            None
3089        }
3090    }
3091
3092    #[allow(irrefutable_let_patterns)]
3093    pub fn into_stop_scheduled_scan(
3094        self,
3095    ) -> Option<(WlanFullmacImplStopScheduledScanRequest, WlanFullmacImpl_StopScheduledScanResponder)>
3096    {
3097        if let WlanFullmacImpl_Request::StopScheduledScan { payload, responder } = self {
3098            Some((payload, responder))
3099        } else {
3100            None
3101        }
3102    }
3103
3104    #[allow(irrefutable_let_patterns)]
3105    pub fn into_get_scheduled_scan_enabled(
3106        self,
3107    ) -> Option<(WlanFullmacImpl_GetScheduledScanEnabledResponder)> {
3108        if let WlanFullmacImpl_Request::GetScheduledScanEnabled { responder } = self {
3109            Some((responder))
3110        } else {
3111            None
3112        }
3113    }
3114
3115    #[allow(irrefutable_let_patterns)]
3116    pub fn into_connect(
3117        self,
3118    ) -> Option<(WlanFullmacImplConnectRequest, WlanFullmacImpl_ConnectResponder)> {
3119        if let WlanFullmacImpl_Request::Connect { payload, responder } = self {
3120            Some((payload, responder))
3121        } else {
3122            None
3123        }
3124    }
3125
3126    #[allow(irrefutable_let_patterns)]
3127    pub fn into_reconnect(
3128        self,
3129    ) -> Option<(WlanFullmacImplReconnectRequest, WlanFullmacImpl_ReconnectResponder)> {
3130        if let WlanFullmacImpl_Request::Reconnect { payload, responder } = self {
3131            Some((payload, responder))
3132        } else {
3133            None
3134        }
3135    }
3136
3137    #[allow(irrefutable_let_patterns)]
3138    pub fn into_roam(self) -> Option<(WlanFullmacImplRoamRequest, WlanFullmacImpl_RoamResponder)> {
3139        if let WlanFullmacImpl_Request::Roam { payload, responder } = self {
3140            Some((payload, responder))
3141        } else {
3142            None
3143        }
3144    }
3145
3146    #[allow(irrefutable_let_patterns)]
3147    pub fn into_auth_resp(
3148        self,
3149    ) -> Option<(WlanFullmacImplAuthRespRequest, WlanFullmacImpl_AuthRespResponder)> {
3150        if let WlanFullmacImpl_Request::AuthResp { payload, responder } = self {
3151            Some((payload, responder))
3152        } else {
3153            None
3154        }
3155    }
3156
3157    #[allow(irrefutable_let_patterns)]
3158    pub fn into_deauth(
3159        self,
3160    ) -> Option<(WlanFullmacImplDeauthRequest, WlanFullmacImpl_DeauthResponder)> {
3161        if let WlanFullmacImpl_Request::Deauth { payload, responder } = self {
3162            Some((payload, responder))
3163        } else {
3164            None
3165        }
3166    }
3167
3168    #[allow(irrefutable_let_patterns)]
3169    pub fn into_assoc_resp(
3170        self,
3171    ) -> Option<(WlanFullmacImplAssocRespRequest, WlanFullmacImpl_AssocRespResponder)> {
3172        if let WlanFullmacImpl_Request::AssocResp { payload, responder } = self {
3173            Some((payload, responder))
3174        } else {
3175            None
3176        }
3177    }
3178
3179    #[allow(irrefutable_let_patterns)]
3180    pub fn into_disassoc(
3181        self,
3182    ) -> Option<(WlanFullmacImplDisassocRequest, WlanFullmacImpl_DisassocResponder)> {
3183        if let WlanFullmacImpl_Request::Disassoc { payload, responder } = self {
3184            Some((payload, responder))
3185        } else {
3186            None
3187        }
3188    }
3189
3190    #[allow(irrefutable_let_patterns)]
3191    pub fn into_start_bss(
3192        self,
3193    ) -> Option<(WlanFullmacImplStartBssRequest, WlanFullmacImpl_StartBssResponder)> {
3194        if let WlanFullmacImpl_Request::StartBss { payload, responder } = self {
3195            Some((payload, responder))
3196        } else {
3197            None
3198        }
3199    }
3200
3201    #[allow(irrefutable_let_patterns)]
3202    pub fn into_stop_bss(
3203        self,
3204    ) -> Option<(WlanFullmacImplStopBssRequest, WlanFullmacImpl_StopBssResponder)> {
3205        if let WlanFullmacImpl_Request::StopBss { payload, responder } = self {
3206            Some((payload, responder))
3207        } else {
3208            None
3209        }
3210    }
3211
3212    #[allow(irrefutable_let_patterns)]
3213    pub fn into_set_keys(
3214        self,
3215    ) -> Option<(WlanFullmacImplSetKeysRequest, WlanFullmacImpl_SetKeysResponder)> {
3216        if let WlanFullmacImpl_Request::SetKeys { payload, responder } = self {
3217            Some((payload, responder))
3218        } else {
3219            None
3220        }
3221    }
3222
3223    #[allow(irrefutable_let_patterns)]
3224    pub fn into_eapol_tx(
3225        self,
3226    ) -> Option<(WlanFullmacImplEapolTxRequest, WlanFullmacImpl_EapolTxResponder)> {
3227        if let WlanFullmacImpl_Request::EapolTx { payload, responder } = self {
3228            Some((payload, responder))
3229        } else {
3230            None
3231        }
3232    }
3233
3234    #[allow(irrefutable_let_patterns)]
3235    pub fn into_get_iface_stats(self) -> Option<(WlanFullmacImpl_GetIfaceStatsResponder)> {
3236        if let WlanFullmacImpl_Request::GetIfaceStats { responder } = self {
3237            Some((responder))
3238        } else {
3239            None
3240        }
3241    }
3242
3243    #[allow(irrefutable_let_patterns)]
3244    pub fn into_get_iface_histogram_stats(
3245        self,
3246    ) -> Option<(WlanFullmacImpl_GetIfaceHistogramStatsResponder)> {
3247        if let WlanFullmacImpl_Request::GetIfaceHistogramStats { responder } = self {
3248            Some((responder))
3249        } else {
3250            None
3251        }
3252    }
3253
3254    #[allow(irrefutable_let_patterns)]
3255    pub fn into_get_signal_report(self) -> Option<(WlanFullmacImpl_GetSignalReportResponder)> {
3256        if let WlanFullmacImpl_Request::GetSignalReport { responder } = self {
3257            Some((responder))
3258        } else {
3259            None
3260        }
3261    }
3262
3263    #[allow(irrefutable_let_patterns)]
3264    pub fn into_sae_handshake_resp(
3265        self,
3266    ) -> Option<(WlanFullmacImplSaeHandshakeRespRequest, WlanFullmacImpl_SaeHandshakeRespResponder)>
3267    {
3268        if let WlanFullmacImpl_Request::SaeHandshakeResp { payload, responder } = self {
3269            Some((payload, responder))
3270        } else {
3271            None
3272        }
3273    }
3274
3275    #[allow(irrefutable_let_patterns)]
3276    pub fn into_sae_frame_tx(self) -> Option<(SaeFrame, WlanFullmacImpl_SaeFrameTxResponder)> {
3277        if let WlanFullmacImpl_Request::SaeFrameTx { frame, responder } = self {
3278            Some((frame, responder))
3279        } else {
3280            None
3281        }
3282    }
3283
3284    #[allow(irrefutable_let_patterns)]
3285    pub fn into_wmm_status_req(self) -> Option<(WlanFullmacImpl_WmmStatusReqResponder)> {
3286        if let WlanFullmacImpl_Request::WmmStatusReq { responder } = self {
3287            Some((responder))
3288        } else {
3289            None
3290        }
3291    }
3292
3293    #[allow(irrefutable_let_patterns)]
3294    pub fn into_on_link_state_changed(
3295        self,
3296    ) -> Option<(
3297        WlanFullmacImplOnLinkStateChangedRequest,
3298        WlanFullmacImpl_OnLinkStateChangedResponder,
3299    )> {
3300        if let WlanFullmacImpl_Request::OnLinkStateChanged { payload, responder } = self {
3301            Some((payload, responder))
3302        } else {
3303            None
3304        }
3305    }
3306
3307    #[allow(irrefutable_let_patterns)]
3308    pub fn into_set_mac_address(self) -> Option<([u8; 6], WlanFullmacImpl_SetMacAddressResponder)> {
3309        if let WlanFullmacImpl_Request::SetMacAddress { mac_addr, responder } = self {
3310            Some((mac_addr, responder))
3311        } else {
3312            None
3313        }
3314    }
3315
3316    #[allow(irrefutable_let_patterns)]
3317    pub fn into_install_apf_packet_filter(
3318        self,
3319    ) -> Option<(
3320        WlanFullmacImplInstallApfPacketFilterRequest,
3321        WlanFullmacImpl_InstallApfPacketFilterResponder,
3322    )> {
3323        if let WlanFullmacImpl_Request::InstallApfPacketFilter { payload, responder } = self {
3324            Some((payload, responder))
3325        } else {
3326            None
3327        }
3328    }
3329
3330    #[allow(irrefutable_let_patterns)]
3331    pub fn into_read_apf_packet_filter_data(
3332        self,
3333    ) -> Option<(WlanFullmacImpl_ReadApfPacketFilterDataResponder)> {
3334        if let WlanFullmacImpl_Request::ReadApfPacketFilterData { responder } = self {
3335            Some((responder))
3336        } else {
3337            None
3338        }
3339    }
3340
3341    #[allow(irrefutable_let_patterns)]
3342    pub fn into_set_apf_packet_filter_enabled(
3343        self,
3344    ) -> Option<(
3345        WlanFullmacImplSetApfPacketFilterEnabledRequest,
3346        WlanFullmacImpl_SetApfPacketFilterEnabledResponder,
3347    )> {
3348        if let WlanFullmacImpl_Request::SetApfPacketFilterEnabled { payload, responder } = self {
3349            Some((payload, responder))
3350        } else {
3351            None
3352        }
3353    }
3354
3355    #[allow(irrefutable_let_patterns)]
3356    pub fn into_get_apf_packet_filter_enabled(
3357        self,
3358    ) -> Option<(WlanFullmacImpl_GetApfPacketFilterEnabledResponder)> {
3359        if let WlanFullmacImpl_Request::GetApfPacketFilterEnabled { responder } = self {
3360            Some((responder))
3361        } else {
3362            None
3363        }
3364    }
3365
3366    /// Name of the method defined in FIDL
3367    pub fn method_name(&self) -> &'static str {
3368        match *self {
3369            WlanFullmacImpl_Request::Init { .. } => "init",
3370            WlanFullmacImpl_Request::Query { .. } => "query",
3371            WlanFullmacImpl_Request::QuerySecuritySupport { .. } => "query_security_support",
3372            WlanFullmacImpl_Request::QuerySpectrumManagementSupport { .. } => {
3373                "query_spectrum_management_support"
3374            }
3375            WlanFullmacImpl_Request::QueryTelemetrySupport { .. } => "query_telemetry_support",
3376            WlanFullmacImpl_Request::QueryApfPacketFilterSupport { .. } => {
3377                "query_apf_packet_filter_support"
3378            }
3379            WlanFullmacImpl_Request::StartScan { .. } => "start_scan",
3380            WlanFullmacImpl_Request::StartScheduledScan { .. } => "start_scheduled_scan",
3381            WlanFullmacImpl_Request::StopScheduledScan { .. } => "stop_scheduled_scan",
3382            WlanFullmacImpl_Request::GetScheduledScanEnabled { .. } => "get_scheduled_scan_enabled",
3383            WlanFullmacImpl_Request::Connect { .. } => "connect",
3384            WlanFullmacImpl_Request::Reconnect { .. } => "reconnect",
3385            WlanFullmacImpl_Request::Roam { .. } => "roam",
3386            WlanFullmacImpl_Request::AuthResp { .. } => "auth_resp",
3387            WlanFullmacImpl_Request::Deauth { .. } => "deauth",
3388            WlanFullmacImpl_Request::AssocResp { .. } => "assoc_resp",
3389            WlanFullmacImpl_Request::Disassoc { .. } => "disassoc",
3390            WlanFullmacImpl_Request::StartBss { .. } => "start_bss",
3391            WlanFullmacImpl_Request::StopBss { .. } => "stop_bss",
3392            WlanFullmacImpl_Request::SetKeys { .. } => "set_keys",
3393            WlanFullmacImpl_Request::EapolTx { .. } => "eapol_tx",
3394            WlanFullmacImpl_Request::GetIfaceStats { .. } => "get_iface_stats",
3395            WlanFullmacImpl_Request::GetIfaceHistogramStats { .. } => "get_iface_histogram_stats",
3396            WlanFullmacImpl_Request::GetSignalReport { .. } => "get_signal_report",
3397            WlanFullmacImpl_Request::SaeHandshakeResp { .. } => "sae_handshake_resp",
3398            WlanFullmacImpl_Request::SaeFrameTx { .. } => "sae_frame_tx",
3399            WlanFullmacImpl_Request::WmmStatusReq { .. } => "wmm_status_req",
3400            WlanFullmacImpl_Request::OnLinkStateChanged { .. } => "on_link_state_changed",
3401            WlanFullmacImpl_Request::SetMacAddress { .. } => "set_mac_address",
3402            WlanFullmacImpl_Request::InstallApfPacketFilter { .. } => "install_apf_packet_filter",
3403            WlanFullmacImpl_Request::ReadApfPacketFilterData { .. } => {
3404                "read_apf_packet_filter_data"
3405            }
3406            WlanFullmacImpl_Request::SetApfPacketFilterEnabled { .. } => {
3407                "set_apf_packet_filter_enabled"
3408            }
3409            WlanFullmacImpl_Request::GetApfPacketFilterEnabled { .. } => {
3410                "get_apf_packet_filter_enabled"
3411            }
3412            WlanFullmacImpl_Request::_UnknownMethod {
3413                method_type: fidl::MethodType::OneWay,
3414                ..
3415            } => "unknown one-way method",
3416            WlanFullmacImpl_Request::_UnknownMethod {
3417                method_type: fidl::MethodType::TwoWay,
3418                ..
3419            } => "unknown two-way method",
3420        }
3421    }
3422}
3423
3424#[derive(Debug, Clone)]
3425pub struct WlanFullmacImpl_ControlHandle {
3426    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
3427}
3428
3429impl WlanFullmacImpl_ControlHandle {
3430    pub fn shutdown_with_epitaph(&self, status: impl Into<fidl::Epitaph>) {
3431        self.inner.shutdown_with_epitaph(status.into())
3432    }
3433}
3434
3435impl fidl::endpoints::ControlHandle for WlanFullmacImpl_ControlHandle {
3436    fn shutdown(&self) {
3437        self.inner.shutdown()
3438    }
3439
3440    fn shutdown_with_epitaph(&self, status: fidl::Epitaph) {
3441        self.inner.shutdown_with_epitaph(status)
3442    }
3443
3444    fn is_closed(&self) -> bool {
3445        self.inner.channel().is_closed()
3446    }
3447    fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
3448        self.inner.channel().on_closed()
3449    }
3450
3451    #[cfg(target_os = "fuchsia")]
3452    fn signal_peer(
3453        &self,
3454        clear_mask: zx::Signals,
3455        set_mask: zx::Signals,
3456    ) -> Result<(), zx_status::Status> {
3457        use fidl::Peered;
3458        self.inner.channel().signal_peer(clear_mask, set_mask)
3459    }
3460}
3461
3462impl WlanFullmacImpl_ControlHandle {}
3463
3464#[must_use = "FIDL methods require a response to be sent"]
3465#[derive(Debug)]
3466pub struct WlanFullmacImpl_InitResponder {
3467    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3468    tx_id: u32,
3469}
3470
3471/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3472/// if the responder is dropped without sending a response, so that the client
3473/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3474impl std::ops::Drop for WlanFullmacImpl_InitResponder {
3475    fn drop(&mut self) {
3476        self.control_handle.shutdown();
3477        // Safety: drops once, never accessed again
3478        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3479    }
3480}
3481
3482impl fidl::endpoints::Responder for WlanFullmacImpl_InitResponder {
3483    type ControlHandle = WlanFullmacImpl_ControlHandle;
3484
3485    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3486        &self.control_handle
3487    }
3488
3489    fn drop_without_shutdown(mut self) {
3490        // Safety: drops once, never accessed again due to mem::forget
3491        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3492        // Prevent Drop from running (which would shut down the channel)
3493        std::mem::forget(self);
3494    }
3495}
3496
3497impl WlanFullmacImpl_InitResponder {
3498    /// Sends a response to the FIDL transaction.
3499    ///
3500    /// Sets the channel to shutdown if an error occurs.
3501    pub fn send(
3502        self,
3503        mut result: Result<WlanFullmacImplInitResponse, i32>,
3504    ) -> Result<(), fidl::Error> {
3505        let _result = self.send_raw(result);
3506        if _result.is_err() {
3507            self.control_handle.shutdown();
3508        }
3509        self.drop_without_shutdown();
3510        _result
3511    }
3512
3513    /// Similar to "send" but does not shutdown the channel if an error occurs.
3514    pub fn send_no_shutdown_on_err(
3515        self,
3516        mut result: Result<WlanFullmacImplInitResponse, i32>,
3517    ) -> Result<(), fidl::Error> {
3518        let _result = self.send_raw(result);
3519        self.drop_without_shutdown();
3520        _result
3521    }
3522
3523    fn send_raw(
3524        &self,
3525        mut result: Result<WlanFullmacImplInitResponse, i32>,
3526    ) -> Result<(), fidl::Error> {
3527        self.control_handle
3528            .inner
3529            .send::<fidl::encoding::ResultType<WlanFullmacImplInitResponse, i32>>(
3530                result.as_mut().map_err(|e| *e),
3531                self.tx_id,
3532                0x593dfb6cb3f0f1aa,
3533                fidl::encoding::DynamicFlags::empty(),
3534            )
3535    }
3536}
3537
3538#[must_use = "FIDL methods require a response to be sent"]
3539#[derive(Debug)]
3540pub struct WlanFullmacImpl_QueryResponder {
3541    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3542    tx_id: u32,
3543}
3544
3545/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3546/// if the responder is dropped without sending a response, so that the client
3547/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3548impl std::ops::Drop for WlanFullmacImpl_QueryResponder {
3549    fn drop(&mut self) {
3550        self.control_handle.shutdown();
3551        // Safety: drops once, never accessed again
3552        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3553    }
3554}
3555
3556impl fidl::endpoints::Responder for WlanFullmacImpl_QueryResponder {
3557    type ControlHandle = WlanFullmacImpl_ControlHandle;
3558
3559    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3560        &self.control_handle
3561    }
3562
3563    fn drop_without_shutdown(mut self) {
3564        // Safety: drops once, never accessed again due to mem::forget
3565        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3566        // Prevent Drop from running (which would shut down the channel)
3567        std::mem::forget(self);
3568    }
3569}
3570
3571impl WlanFullmacImpl_QueryResponder {
3572    /// Sends a response to the FIDL transaction.
3573    ///
3574    /// Sets the channel to shutdown if an error occurs.
3575    pub fn send(
3576        self,
3577        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3578    ) -> Result<(), fidl::Error> {
3579        let _result = self.send_raw(result);
3580        if _result.is_err() {
3581            self.control_handle.shutdown();
3582        }
3583        self.drop_without_shutdown();
3584        _result
3585    }
3586
3587    /// Similar to "send" but does not shutdown the channel if an error occurs.
3588    pub fn send_no_shutdown_on_err(
3589        self,
3590        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3591    ) -> Result<(), fidl::Error> {
3592        let _result = self.send_raw(result);
3593        self.drop_without_shutdown();
3594        _result
3595    }
3596
3597    fn send_raw(
3598        &self,
3599        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3600    ) -> Result<(), fidl::Error> {
3601        self.control_handle
3602            .inner
3603            .send::<fidl::encoding::ResultType<WlanFullmacImplQueryResponse, i32>>(
3604                result,
3605                self.tx_id,
3606                0x28ac65f9da3941d4,
3607                fidl::encoding::DynamicFlags::empty(),
3608            )
3609    }
3610}
3611
3612#[must_use = "FIDL methods require a response to be sent"]
3613#[derive(Debug)]
3614pub struct WlanFullmacImpl_QuerySecuritySupportResponder {
3615    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3616    tx_id: u32,
3617}
3618
3619/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3620/// if the responder is dropped without sending a response, so that the client
3621/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3622impl std::ops::Drop for WlanFullmacImpl_QuerySecuritySupportResponder {
3623    fn drop(&mut self) {
3624        self.control_handle.shutdown();
3625        // Safety: drops once, never accessed again
3626        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3627    }
3628}
3629
3630impl fidl::endpoints::Responder for WlanFullmacImpl_QuerySecuritySupportResponder {
3631    type ControlHandle = WlanFullmacImpl_ControlHandle;
3632
3633    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3634        &self.control_handle
3635    }
3636
3637    fn drop_without_shutdown(mut self) {
3638        // Safety: drops once, never accessed again due to mem::forget
3639        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3640        // Prevent Drop from running (which would shut down the channel)
3641        std::mem::forget(self);
3642    }
3643}
3644
3645impl WlanFullmacImpl_QuerySecuritySupportResponder {
3646    /// Sends a response to the FIDL transaction.
3647    ///
3648    /// Sets the channel to shutdown if an error occurs.
3649    pub fn send(
3650        self,
3651        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3652    ) -> Result<(), fidl::Error> {
3653        let _result = self.send_raw(result);
3654        if _result.is_err() {
3655            self.control_handle.shutdown();
3656        }
3657        self.drop_without_shutdown();
3658        _result
3659    }
3660
3661    /// Similar to "send" but does not shutdown the channel if an error occurs.
3662    pub fn send_no_shutdown_on_err(
3663        self,
3664        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3665    ) -> Result<(), fidl::Error> {
3666        let _result = self.send_raw(result);
3667        self.drop_without_shutdown();
3668        _result
3669    }
3670
3671    fn send_raw(
3672        &self,
3673        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3674    ) -> Result<(), fidl::Error> {
3675        self.control_handle.inner.send::<fidl::encoding::ResultType<
3676            WlanFullmacImplQuerySecuritySupportResponse,
3677            i32,
3678        >>(
3679            result,
3680            self.tx_id,
3681            0x11cf3fa6eeb93f84,
3682            fidl::encoding::DynamicFlags::empty(),
3683        )
3684    }
3685}
3686
3687#[must_use = "FIDL methods require a response to be sent"]
3688#[derive(Debug)]
3689pub struct WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3690    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3691    tx_id: u32,
3692}
3693
3694/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3695/// if the responder is dropped without sending a response, so that the client
3696/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3697impl std::ops::Drop for WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3698    fn drop(&mut self) {
3699        self.control_handle.shutdown();
3700        // Safety: drops once, never accessed again
3701        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3702    }
3703}
3704
3705impl fidl::endpoints::Responder for WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3706    type ControlHandle = WlanFullmacImpl_ControlHandle;
3707
3708    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3709        &self.control_handle
3710    }
3711
3712    fn drop_without_shutdown(mut self) {
3713        // Safety: drops once, never accessed again due to mem::forget
3714        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3715        // Prevent Drop from running (which would shut down the channel)
3716        std::mem::forget(self);
3717    }
3718}
3719
3720impl WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3721    /// Sends a response to the FIDL transaction.
3722    ///
3723    /// Sets the channel to shutdown if an error occurs.
3724    pub fn send(
3725        self,
3726        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3727    ) -> Result<(), fidl::Error> {
3728        let _result = self.send_raw(result);
3729        if _result.is_err() {
3730            self.control_handle.shutdown();
3731        }
3732        self.drop_without_shutdown();
3733        _result
3734    }
3735
3736    /// Similar to "send" but does not shutdown the channel if an error occurs.
3737    pub fn send_no_shutdown_on_err(
3738        self,
3739        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3740    ) -> Result<(), fidl::Error> {
3741        let _result = self.send_raw(result);
3742        self.drop_without_shutdown();
3743        _result
3744    }
3745
3746    fn send_raw(
3747        &self,
3748        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3749    ) -> Result<(), fidl::Error> {
3750        self.control_handle.inner.send::<fidl::encoding::ResultType<
3751            WlanFullmacImplQuerySpectrumManagementSupportResponse,
3752            i32,
3753        >>(
3754            result,
3755            self.tx_id,
3756            0x22ae7551d855b83a,
3757            fidl::encoding::DynamicFlags::empty(),
3758        )
3759    }
3760}
3761
3762#[must_use = "FIDL methods require a response to be sent"]
3763#[derive(Debug)]
3764pub struct WlanFullmacImpl_QueryTelemetrySupportResponder {
3765    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3766    tx_id: u32,
3767}
3768
3769/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3770/// if the responder is dropped without sending a response, so that the client
3771/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3772impl std::ops::Drop for WlanFullmacImpl_QueryTelemetrySupportResponder {
3773    fn drop(&mut self) {
3774        self.control_handle.shutdown();
3775        // Safety: drops once, never accessed again
3776        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3777    }
3778}
3779
3780impl fidl::endpoints::Responder for WlanFullmacImpl_QueryTelemetrySupportResponder {
3781    type ControlHandle = WlanFullmacImpl_ControlHandle;
3782
3783    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3784        &self.control_handle
3785    }
3786
3787    fn drop_without_shutdown(mut self) {
3788        // Safety: drops once, never accessed again due to mem::forget
3789        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3790        // Prevent Drop from running (which would shut down the channel)
3791        std::mem::forget(self);
3792    }
3793}
3794
3795impl WlanFullmacImpl_QueryTelemetrySupportResponder {
3796    /// Sends a response to the FIDL transaction.
3797    ///
3798    /// Sets the channel to shutdown if an error occurs.
3799    pub fn send(
3800        self,
3801        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3802    ) -> Result<(), fidl::Error> {
3803        let _result = self.send_raw(result);
3804        if _result.is_err() {
3805            self.control_handle.shutdown();
3806        }
3807        self.drop_without_shutdown();
3808        _result
3809    }
3810
3811    /// Similar to "send" but does not shutdown the channel if an error occurs.
3812    pub fn send_no_shutdown_on_err(
3813        self,
3814        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3815    ) -> Result<(), fidl::Error> {
3816        let _result = self.send_raw(result);
3817        self.drop_without_shutdown();
3818        _result
3819    }
3820
3821    fn send_raw(
3822        &self,
3823        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3824    ) -> Result<(), fidl::Error> {
3825        self.control_handle.inner.send::<fidl::encoding::ResultType<
3826            WlanFullmacImplQueryTelemetrySupportResponse,
3827            i32,
3828        >>(
3829            result,
3830            self.tx_id,
3831            0x4561479ca560827f,
3832            fidl::encoding::DynamicFlags::empty(),
3833        )
3834    }
3835}
3836
3837#[must_use = "FIDL methods require a response to be sent"]
3838#[derive(Debug)]
3839pub struct WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3840    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3841    tx_id: u32,
3842}
3843
3844/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3845/// if the responder is dropped without sending a response, so that the client
3846/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3847impl std::ops::Drop for WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3848    fn drop(&mut self) {
3849        self.control_handle.shutdown();
3850        // Safety: drops once, never accessed again
3851        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3852    }
3853}
3854
3855impl fidl::endpoints::Responder for WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3856    type ControlHandle = WlanFullmacImpl_ControlHandle;
3857
3858    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3859        &self.control_handle
3860    }
3861
3862    fn drop_without_shutdown(mut self) {
3863        // Safety: drops once, never accessed again due to mem::forget
3864        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3865        // Prevent Drop from running (which would shut down the channel)
3866        std::mem::forget(self);
3867    }
3868}
3869
3870impl WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3871    /// Sends a response to the FIDL transaction.
3872    ///
3873    /// Sets the channel to shutdown if an error occurs.
3874    pub fn send(
3875        self,
3876        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3877    ) -> Result<(), fidl::Error> {
3878        let _result = self.send_raw(result);
3879        if _result.is_err() {
3880            self.control_handle.shutdown();
3881        }
3882        self.drop_without_shutdown();
3883        _result
3884    }
3885
3886    /// Similar to "send" but does not shutdown the channel if an error occurs.
3887    pub fn send_no_shutdown_on_err(
3888        self,
3889        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3890    ) -> Result<(), fidl::Error> {
3891        let _result = self.send_raw(result);
3892        self.drop_without_shutdown();
3893        _result
3894    }
3895
3896    fn send_raw(
3897        &self,
3898        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3899    ) -> Result<(), fidl::Error> {
3900        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
3901            WlanFullmacImplQueryApfPacketFilterSupportResponse,
3902            i32,
3903        >>(
3904            fidl::encoding::FlexibleResult::new(result),
3905            self.tx_id,
3906            0x6df8cdf0acd4dfad,
3907            fidl::encoding::DynamicFlags::FLEXIBLE,
3908        )
3909    }
3910}
3911
3912#[must_use = "FIDL methods require a response to be sent"]
3913#[derive(Debug)]
3914pub struct WlanFullmacImpl_StartScanResponder {
3915    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3916    tx_id: u32,
3917}
3918
3919/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3920/// if the responder is dropped without sending a response, so that the client
3921/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3922impl std::ops::Drop for WlanFullmacImpl_StartScanResponder {
3923    fn drop(&mut self) {
3924        self.control_handle.shutdown();
3925        // Safety: drops once, never accessed again
3926        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3927    }
3928}
3929
3930impl fidl::endpoints::Responder for WlanFullmacImpl_StartScanResponder {
3931    type ControlHandle = WlanFullmacImpl_ControlHandle;
3932
3933    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3934        &self.control_handle
3935    }
3936
3937    fn drop_without_shutdown(mut self) {
3938        // Safety: drops once, never accessed again due to mem::forget
3939        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3940        // Prevent Drop from running (which would shut down the channel)
3941        std::mem::forget(self);
3942    }
3943}
3944
3945impl WlanFullmacImpl_StartScanResponder {
3946    /// Sends a response to the FIDL transaction.
3947    ///
3948    /// Sets the channel to shutdown if an error occurs.
3949    pub fn send(self) -> Result<(), fidl::Error> {
3950        let _result = self.send_raw();
3951        if _result.is_err() {
3952            self.control_handle.shutdown();
3953        }
3954        self.drop_without_shutdown();
3955        _result
3956    }
3957
3958    /// Similar to "send" but does not shutdown the channel if an error occurs.
3959    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
3960        let _result = self.send_raw();
3961        self.drop_without_shutdown();
3962        _result
3963    }
3964
3965    fn send_raw(&self) -> Result<(), fidl::Error> {
3966        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
3967            (),
3968            self.tx_id,
3969            0x26c17bf595aa161c,
3970            fidl::encoding::DynamicFlags::empty(),
3971        )
3972    }
3973}
3974
3975#[must_use = "FIDL methods require a response to be sent"]
3976#[derive(Debug)]
3977pub struct WlanFullmacImpl_StartScheduledScanResponder {
3978    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3979    tx_id: u32,
3980}
3981
3982/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3983/// if the responder is dropped without sending a response, so that the client
3984/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3985impl std::ops::Drop for WlanFullmacImpl_StartScheduledScanResponder {
3986    fn drop(&mut self) {
3987        self.control_handle.shutdown();
3988        // Safety: drops once, never accessed again
3989        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3990    }
3991}
3992
3993impl fidl::endpoints::Responder for WlanFullmacImpl_StartScheduledScanResponder {
3994    type ControlHandle = WlanFullmacImpl_ControlHandle;
3995
3996    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3997        &self.control_handle
3998    }
3999
4000    fn drop_without_shutdown(mut self) {
4001        // Safety: drops once, never accessed again due to mem::forget
4002        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4003        // Prevent Drop from running (which would shut down the channel)
4004        std::mem::forget(self);
4005    }
4006}
4007
4008impl WlanFullmacImpl_StartScheduledScanResponder {
4009    /// Sends a response to the FIDL transaction.
4010    ///
4011    /// Sets the channel to shutdown if an error occurs.
4012    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4013        let _result = self.send_raw(result);
4014        if _result.is_err() {
4015            self.control_handle.shutdown();
4016        }
4017        self.drop_without_shutdown();
4018        _result
4019    }
4020
4021    /// Similar to "send" but does not shutdown the channel if an error occurs.
4022    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4023        let _result = self.send_raw(result);
4024        self.drop_without_shutdown();
4025        _result
4026    }
4027
4028    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4029        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4030            fidl::encoding::EmptyStruct,
4031            i32,
4032        >>(
4033            fidl::encoding::FlexibleResult::new(result),
4034            self.tx_id,
4035            0x67bb4356265682d2,
4036            fidl::encoding::DynamicFlags::FLEXIBLE,
4037        )
4038    }
4039}
4040
4041#[must_use = "FIDL methods require a response to be sent"]
4042#[derive(Debug)]
4043pub struct WlanFullmacImpl_StopScheduledScanResponder {
4044    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4045    tx_id: u32,
4046}
4047
4048/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4049/// if the responder is dropped without sending a response, so that the client
4050/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4051impl std::ops::Drop for WlanFullmacImpl_StopScheduledScanResponder {
4052    fn drop(&mut self) {
4053        self.control_handle.shutdown();
4054        // Safety: drops once, never accessed again
4055        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4056    }
4057}
4058
4059impl fidl::endpoints::Responder for WlanFullmacImpl_StopScheduledScanResponder {
4060    type ControlHandle = WlanFullmacImpl_ControlHandle;
4061
4062    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4063        &self.control_handle
4064    }
4065
4066    fn drop_without_shutdown(mut self) {
4067        // Safety: drops once, never accessed again due to mem::forget
4068        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4069        // Prevent Drop from running (which would shut down the channel)
4070        std::mem::forget(self);
4071    }
4072}
4073
4074impl WlanFullmacImpl_StopScheduledScanResponder {
4075    /// Sends a response to the FIDL transaction.
4076    ///
4077    /// Sets the channel to shutdown if an error occurs.
4078    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4079        let _result = self.send_raw(result);
4080        if _result.is_err() {
4081            self.control_handle.shutdown();
4082        }
4083        self.drop_without_shutdown();
4084        _result
4085    }
4086
4087    /// Similar to "send" but does not shutdown the channel if an error occurs.
4088    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4089        let _result = self.send_raw(result);
4090        self.drop_without_shutdown();
4091        _result
4092    }
4093
4094    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4095        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4096            fidl::encoding::EmptyStruct,
4097            i32,
4098        >>(
4099            fidl::encoding::FlexibleResult::new(result),
4100            self.tx_id,
4101            0x71bf2a03f2cdc10f,
4102            fidl::encoding::DynamicFlags::FLEXIBLE,
4103        )
4104    }
4105}
4106
4107#[must_use = "FIDL methods require a response to be sent"]
4108#[derive(Debug)]
4109pub struct WlanFullmacImpl_GetScheduledScanEnabledResponder {
4110    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4111    tx_id: u32,
4112}
4113
4114/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4115/// if the responder is dropped without sending a response, so that the client
4116/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4117impl std::ops::Drop for WlanFullmacImpl_GetScheduledScanEnabledResponder {
4118    fn drop(&mut self) {
4119        self.control_handle.shutdown();
4120        // Safety: drops once, never accessed again
4121        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4122    }
4123}
4124
4125impl fidl::endpoints::Responder for WlanFullmacImpl_GetScheduledScanEnabledResponder {
4126    type ControlHandle = WlanFullmacImpl_ControlHandle;
4127
4128    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4129        &self.control_handle
4130    }
4131
4132    fn drop_without_shutdown(mut self) {
4133        // Safety: drops once, never accessed again due to mem::forget
4134        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4135        // Prevent Drop from running (which would shut down the channel)
4136        std::mem::forget(self);
4137    }
4138}
4139
4140impl WlanFullmacImpl_GetScheduledScanEnabledResponder {
4141    /// Sends a response to the FIDL transaction.
4142    ///
4143    /// Sets the channel to shutdown if an error occurs.
4144    pub fn send(
4145        self,
4146        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4147    ) -> Result<(), fidl::Error> {
4148        let _result = self.send_raw(result);
4149        if _result.is_err() {
4150            self.control_handle.shutdown();
4151        }
4152        self.drop_without_shutdown();
4153        _result
4154    }
4155
4156    /// Similar to "send" but does not shutdown the channel if an error occurs.
4157    pub fn send_no_shutdown_on_err(
4158        self,
4159        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4160    ) -> Result<(), fidl::Error> {
4161        let _result = self.send_raw(result);
4162        self.drop_without_shutdown();
4163        _result
4164    }
4165
4166    fn send_raw(
4167        &self,
4168        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4169    ) -> Result<(), fidl::Error> {
4170        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4171            WlanFullmacImplGetScheduledScanEnabledResponse,
4172            i32,
4173        >>(
4174            fidl::encoding::FlexibleResult::new(result),
4175            self.tx_id,
4176            0x96be6f11648f198,
4177            fidl::encoding::DynamicFlags::FLEXIBLE,
4178        )
4179    }
4180}
4181
4182#[must_use = "FIDL methods require a response to be sent"]
4183#[derive(Debug)]
4184pub struct WlanFullmacImpl_ConnectResponder {
4185    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4186    tx_id: u32,
4187}
4188
4189/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4190/// if the responder is dropped without sending a response, so that the client
4191/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4192impl std::ops::Drop for WlanFullmacImpl_ConnectResponder {
4193    fn drop(&mut self) {
4194        self.control_handle.shutdown();
4195        // Safety: drops once, never accessed again
4196        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4197    }
4198}
4199
4200impl fidl::endpoints::Responder for WlanFullmacImpl_ConnectResponder {
4201    type ControlHandle = WlanFullmacImpl_ControlHandle;
4202
4203    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4204        &self.control_handle
4205    }
4206
4207    fn drop_without_shutdown(mut self) {
4208        // Safety: drops once, never accessed again due to mem::forget
4209        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4210        // Prevent Drop from running (which would shut down the channel)
4211        std::mem::forget(self);
4212    }
4213}
4214
4215impl WlanFullmacImpl_ConnectResponder {
4216    /// Sends a response to the FIDL transaction.
4217    ///
4218    /// Sets the channel to shutdown if an error occurs.
4219    pub fn send(self) -> Result<(), fidl::Error> {
4220        let _result = self.send_raw();
4221        if _result.is_err() {
4222            self.control_handle.shutdown();
4223        }
4224        self.drop_without_shutdown();
4225        _result
4226    }
4227
4228    /// Similar to "send" but does not shutdown the channel if an error occurs.
4229    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4230        let _result = self.send_raw();
4231        self.drop_without_shutdown();
4232        _result
4233    }
4234
4235    fn send_raw(&self) -> Result<(), fidl::Error> {
4236        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4237            (),
4238            self.tx_id,
4239            0x19eb0322efb07a76,
4240            fidl::encoding::DynamicFlags::empty(),
4241        )
4242    }
4243}
4244
4245#[must_use = "FIDL methods require a response to be sent"]
4246#[derive(Debug)]
4247pub struct WlanFullmacImpl_ReconnectResponder {
4248    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4249    tx_id: u32,
4250}
4251
4252/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4253/// if the responder is dropped without sending a response, so that the client
4254/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4255impl std::ops::Drop for WlanFullmacImpl_ReconnectResponder {
4256    fn drop(&mut self) {
4257        self.control_handle.shutdown();
4258        // Safety: drops once, never accessed again
4259        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4260    }
4261}
4262
4263impl fidl::endpoints::Responder for WlanFullmacImpl_ReconnectResponder {
4264    type ControlHandle = WlanFullmacImpl_ControlHandle;
4265
4266    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4267        &self.control_handle
4268    }
4269
4270    fn drop_without_shutdown(mut self) {
4271        // Safety: drops once, never accessed again due to mem::forget
4272        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4273        // Prevent Drop from running (which would shut down the channel)
4274        std::mem::forget(self);
4275    }
4276}
4277
4278impl WlanFullmacImpl_ReconnectResponder {
4279    /// Sends a response to the FIDL transaction.
4280    ///
4281    /// Sets the channel to shutdown if an error occurs.
4282    pub fn send(self) -> Result<(), fidl::Error> {
4283        let _result = self.send_raw();
4284        if _result.is_err() {
4285            self.control_handle.shutdown();
4286        }
4287        self.drop_without_shutdown();
4288        _result
4289    }
4290
4291    /// Similar to "send" but does not shutdown the channel if an error occurs.
4292    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4293        let _result = self.send_raw();
4294        self.drop_without_shutdown();
4295        _result
4296    }
4297
4298    fn send_raw(&self) -> Result<(), fidl::Error> {
4299        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4300            (),
4301            self.tx_id,
4302            0x474084c4ef19ee71,
4303            fidl::encoding::DynamicFlags::empty(),
4304        )
4305    }
4306}
4307
4308#[must_use = "FIDL methods require a response to be sent"]
4309#[derive(Debug)]
4310pub struct WlanFullmacImpl_RoamResponder {
4311    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4312    tx_id: u32,
4313}
4314
4315/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4316/// if the responder is dropped without sending a response, so that the client
4317/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4318impl std::ops::Drop for WlanFullmacImpl_RoamResponder {
4319    fn drop(&mut self) {
4320        self.control_handle.shutdown();
4321        // Safety: drops once, never accessed again
4322        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4323    }
4324}
4325
4326impl fidl::endpoints::Responder for WlanFullmacImpl_RoamResponder {
4327    type ControlHandle = WlanFullmacImpl_ControlHandle;
4328
4329    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4330        &self.control_handle
4331    }
4332
4333    fn drop_without_shutdown(mut self) {
4334        // Safety: drops once, never accessed again due to mem::forget
4335        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4336        // Prevent Drop from running (which would shut down the channel)
4337        std::mem::forget(self);
4338    }
4339}
4340
4341impl WlanFullmacImpl_RoamResponder {
4342    /// Sends a response to the FIDL transaction.
4343    ///
4344    /// Sets the channel to shutdown if an error occurs.
4345    pub fn send(self) -> Result<(), fidl::Error> {
4346        let _result = self.send_raw();
4347        if _result.is_err() {
4348            self.control_handle.shutdown();
4349        }
4350        self.drop_without_shutdown();
4351        _result
4352    }
4353
4354    /// Similar to "send" but does not shutdown the channel if an error occurs.
4355    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4356        let _result = self.send_raw();
4357        self.drop_without_shutdown();
4358        _result
4359    }
4360
4361    fn send_raw(&self) -> Result<(), fidl::Error> {
4362        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4363            (),
4364            self.tx_id,
4365            0x1e35dcc98b124b64,
4366            fidl::encoding::DynamicFlags::empty(),
4367        )
4368    }
4369}
4370
4371#[must_use = "FIDL methods require a response to be sent"]
4372#[derive(Debug)]
4373pub struct WlanFullmacImpl_AuthRespResponder {
4374    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4375    tx_id: u32,
4376}
4377
4378/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4379/// if the responder is dropped without sending a response, so that the client
4380/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4381impl std::ops::Drop for WlanFullmacImpl_AuthRespResponder {
4382    fn drop(&mut self) {
4383        self.control_handle.shutdown();
4384        // Safety: drops once, never accessed again
4385        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4386    }
4387}
4388
4389impl fidl::endpoints::Responder for WlanFullmacImpl_AuthRespResponder {
4390    type ControlHandle = WlanFullmacImpl_ControlHandle;
4391
4392    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4393        &self.control_handle
4394    }
4395
4396    fn drop_without_shutdown(mut self) {
4397        // Safety: drops once, never accessed again due to mem::forget
4398        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4399        // Prevent Drop from running (which would shut down the channel)
4400        std::mem::forget(self);
4401    }
4402}
4403
4404impl WlanFullmacImpl_AuthRespResponder {
4405    /// Sends a response to the FIDL transaction.
4406    ///
4407    /// Sets the channel to shutdown if an error occurs.
4408    pub fn send(self) -> Result<(), fidl::Error> {
4409        let _result = self.send_raw();
4410        if _result.is_err() {
4411            self.control_handle.shutdown();
4412        }
4413        self.drop_without_shutdown();
4414        _result
4415    }
4416
4417    /// Similar to "send" but does not shutdown the channel if an error occurs.
4418    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4419        let _result = self.send_raw();
4420        self.drop_without_shutdown();
4421        _result
4422    }
4423
4424    fn send_raw(&self) -> Result<(), fidl::Error> {
4425        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4426            (),
4427            self.tx_id,
4428            0x5f7ea24b44a4aaeb,
4429            fidl::encoding::DynamicFlags::empty(),
4430        )
4431    }
4432}
4433
4434#[must_use = "FIDL methods require a response to be sent"]
4435#[derive(Debug)]
4436pub struct WlanFullmacImpl_DeauthResponder {
4437    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4438    tx_id: u32,
4439}
4440
4441/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4442/// if the responder is dropped without sending a response, so that the client
4443/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4444impl std::ops::Drop for WlanFullmacImpl_DeauthResponder {
4445    fn drop(&mut self) {
4446        self.control_handle.shutdown();
4447        // Safety: drops once, never accessed again
4448        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4449    }
4450}
4451
4452impl fidl::endpoints::Responder for WlanFullmacImpl_DeauthResponder {
4453    type ControlHandle = WlanFullmacImpl_ControlHandle;
4454
4455    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4456        &self.control_handle
4457    }
4458
4459    fn drop_without_shutdown(mut self) {
4460        // Safety: drops once, never accessed again due to mem::forget
4461        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4462        // Prevent Drop from running (which would shut down the channel)
4463        std::mem::forget(self);
4464    }
4465}
4466
4467impl WlanFullmacImpl_DeauthResponder {
4468    /// Sends a response to the FIDL transaction.
4469    ///
4470    /// Sets the channel to shutdown if an error occurs.
4471    pub fn send(self) -> Result<(), fidl::Error> {
4472        let _result = self.send_raw();
4473        if _result.is_err() {
4474            self.control_handle.shutdown();
4475        }
4476        self.drop_without_shutdown();
4477        _result
4478    }
4479
4480    /// Similar to "send" but does not shutdown the channel if an error occurs.
4481    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4482        let _result = self.send_raw();
4483        self.drop_without_shutdown();
4484        _result
4485    }
4486
4487    fn send_raw(&self) -> Result<(), fidl::Error> {
4488        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4489            (),
4490            self.tx_id,
4491            0x112786eccbf12f37,
4492            fidl::encoding::DynamicFlags::empty(),
4493        )
4494    }
4495}
4496
4497#[must_use = "FIDL methods require a response to be sent"]
4498#[derive(Debug)]
4499pub struct WlanFullmacImpl_AssocRespResponder {
4500    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4501    tx_id: u32,
4502}
4503
4504/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4505/// if the responder is dropped without sending a response, so that the client
4506/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4507impl std::ops::Drop for WlanFullmacImpl_AssocRespResponder {
4508    fn drop(&mut self) {
4509        self.control_handle.shutdown();
4510        // Safety: drops once, never accessed again
4511        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4512    }
4513}
4514
4515impl fidl::endpoints::Responder for WlanFullmacImpl_AssocRespResponder {
4516    type ControlHandle = WlanFullmacImpl_ControlHandle;
4517
4518    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4519        &self.control_handle
4520    }
4521
4522    fn drop_without_shutdown(mut self) {
4523        // Safety: drops once, never accessed again due to mem::forget
4524        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4525        // Prevent Drop from running (which would shut down the channel)
4526        std::mem::forget(self);
4527    }
4528}
4529
4530impl WlanFullmacImpl_AssocRespResponder {
4531    /// Sends a response to the FIDL transaction.
4532    ///
4533    /// Sets the channel to shutdown if an error occurs.
4534    pub fn send(self) -> Result<(), fidl::Error> {
4535        let _result = self.send_raw();
4536        if _result.is_err() {
4537            self.control_handle.shutdown();
4538        }
4539        self.drop_without_shutdown();
4540        _result
4541    }
4542
4543    /// Similar to "send" but does not shutdown the channel if an error occurs.
4544    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4545        let _result = self.send_raw();
4546        self.drop_without_shutdown();
4547        _result
4548    }
4549
4550    fn send_raw(&self) -> Result<(), fidl::Error> {
4551        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4552            (),
4553            self.tx_id,
4554            0x5022ce6b8eefec2f,
4555            fidl::encoding::DynamicFlags::empty(),
4556        )
4557    }
4558}
4559
4560#[must_use = "FIDL methods require a response to be sent"]
4561#[derive(Debug)]
4562pub struct WlanFullmacImpl_DisassocResponder {
4563    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4564    tx_id: u32,
4565}
4566
4567/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4568/// if the responder is dropped without sending a response, so that the client
4569/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4570impl std::ops::Drop for WlanFullmacImpl_DisassocResponder {
4571    fn drop(&mut self) {
4572        self.control_handle.shutdown();
4573        // Safety: drops once, never accessed again
4574        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4575    }
4576}
4577
4578impl fidl::endpoints::Responder for WlanFullmacImpl_DisassocResponder {
4579    type ControlHandle = WlanFullmacImpl_ControlHandle;
4580
4581    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4582        &self.control_handle
4583    }
4584
4585    fn drop_without_shutdown(mut self) {
4586        // Safety: drops once, never accessed again due to mem::forget
4587        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4588        // Prevent Drop from running (which would shut down the channel)
4589        std::mem::forget(self);
4590    }
4591}
4592
4593impl WlanFullmacImpl_DisassocResponder {
4594    /// Sends a response to the FIDL transaction.
4595    ///
4596    /// Sets the channel to shutdown if an error occurs.
4597    pub fn send(self) -> Result<(), fidl::Error> {
4598        let _result = self.send_raw();
4599        if _result.is_err() {
4600            self.control_handle.shutdown();
4601        }
4602        self.drop_without_shutdown();
4603        _result
4604    }
4605
4606    /// Similar to "send" but does not shutdown the channel if an error occurs.
4607    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4608        let _result = self.send_raw();
4609        self.drop_without_shutdown();
4610        _result
4611    }
4612
4613    fn send_raw(&self) -> Result<(), fidl::Error> {
4614        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4615            (),
4616            self.tx_id,
4617            0x9c0fc4e8de53e01,
4618            fidl::encoding::DynamicFlags::empty(),
4619        )
4620    }
4621}
4622
4623#[must_use = "FIDL methods require a response to be sent"]
4624#[derive(Debug)]
4625pub struct WlanFullmacImpl_StartBssResponder {
4626    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4627    tx_id: u32,
4628}
4629
4630/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4631/// if the responder is dropped without sending a response, so that the client
4632/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4633impl std::ops::Drop for WlanFullmacImpl_StartBssResponder {
4634    fn drop(&mut self) {
4635        self.control_handle.shutdown();
4636        // Safety: drops once, never accessed again
4637        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4638    }
4639}
4640
4641impl fidl::endpoints::Responder for WlanFullmacImpl_StartBssResponder {
4642    type ControlHandle = WlanFullmacImpl_ControlHandle;
4643
4644    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4645        &self.control_handle
4646    }
4647
4648    fn drop_without_shutdown(mut self) {
4649        // Safety: drops once, never accessed again due to mem::forget
4650        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4651        // Prevent Drop from running (which would shut down the channel)
4652        std::mem::forget(self);
4653    }
4654}
4655
4656impl WlanFullmacImpl_StartBssResponder {
4657    /// Sends a response to the FIDL transaction.
4658    ///
4659    /// Sets the channel to shutdown if an error occurs.
4660    pub fn send(self) -> Result<(), fidl::Error> {
4661        let _result = self.send_raw();
4662        if _result.is_err() {
4663            self.control_handle.shutdown();
4664        }
4665        self.drop_without_shutdown();
4666        _result
4667    }
4668
4669    /// Similar to "send" but does not shutdown the channel if an error occurs.
4670    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4671        let _result = self.send_raw();
4672        self.drop_without_shutdown();
4673        _result
4674    }
4675
4676    fn send_raw(&self) -> Result<(), fidl::Error> {
4677        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4678            (),
4679            self.tx_id,
4680            0x6922644d6b1d341d,
4681            fidl::encoding::DynamicFlags::empty(),
4682        )
4683    }
4684}
4685
4686#[must_use = "FIDL methods require a response to be sent"]
4687#[derive(Debug)]
4688pub struct WlanFullmacImpl_StopBssResponder {
4689    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4690    tx_id: u32,
4691}
4692
4693/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4694/// if the responder is dropped without sending a response, so that the client
4695/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4696impl std::ops::Drop for WlanFullmacImpl_StopBssResponder {
4697    fn drop(&mut self) {
4698        self.control_handle.shutdown();
4699        // Safety: drops once, never accessed again
4700        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4701    }
4702}
4703
4704impl fidl::endpoints::Responder for WlanFullmacImpl_StopBssResponder {
4705    type ControlHandle = WlanFullmacImpl_ControlHandle;
4706
4707    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4708        &self.control_handle
4709    }
4710
4711    fn drop_without_shutdown(mut self) {
4712        // Safety: drops once, never accessed again due to mem::forget
4713        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4714        // Prevent Drop from running (which would shut down the channel)
4715        std::mem::forget(self);
4716    }
4717}
4718
4719impl WlanFullmacImpl_StopBssResponder {
4720    /// Sends a response to the FIDL transaction.
4721    ///
4722    /// Sets the channel to shutdown if an error occurs.
4723    pub fn send(self) -> Result<(), fidl::Error> {
4724        let _result = self.send_raw();
4725        if _result.is_err() {
4726            self.control_handle.shutdown();
4727        }
4728        self.drop_without_shutdown();
4729        _result
4730    }
4731
4732    /// Similar to "send" but does not shutdown the channel if an error occurs.
4733    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4734        let _result = self.send_raw();
4735        self.drop_without_shutdown();
4736        _result
4737    }
4738
4739    fn send_raw(&self) -> Result<(), fidl::Error> {
4740        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4741            (),
4742            self.tx_id,
4743            0x5aeb9b72e7575268,
4744            fidl::encoding::DynamicFlags::empty(),
4745        )
4746    }
4747}
4748
4749#[must_use = "FIDL methods require a response to be sent"]
4750#[derive(Debug)]
4751pub struct WlanFullmacImpl_SetKeysResponder {
4752    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4753    tx_id: u32,
4754}
4755
4756/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4757/// if the responder is dropped without sending a response, so that the client
4758/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4759impl std::ops::Drop for WlanFullmacImpl_SetKeysResponder {
4760    fn drop(&mut self) {
4761        self.control_handle.shutdown();
4762        // Safety: drops once, never accessed again
4763        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4764    }
4765}
4766
4767impl fidl::endpoints::Responder for WlanFullmacImpl_SetKeysResponder {
4768    type ControlHandle = WlanFullmacImpl_ControlHandle;
4769
4770    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4771        &self.control_handle
4772    }
4773
4774    fn drop_without_shutdown(mut self) {
4775        // Safety: drops once, never accessed again due to mem::forget
4776        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4777        // Prevent Drop from running (which would shut down the channel)
4778        std::mem::forget(self);
4779    }
4780}
4781
4782impl WlanFullmacImpl_SetKeysResponder {
4783    /// Sends a response to the FIDL transaction.
4784    ///
4785    /// Sets the channel to shutdown if an error occurs.
4786    pub fn send(self, mut resp: &WlanFullmacSetKeysResp) -> Result<(), fidl::Error> {
4787        let _result = self.send_raw(resp);
4788        if _result.is_err() {
4789            self.control_handle.shutdown();
4790        }
4791        self.drop_without_shutdown();
4792        _result
4793    }
4794
4795    /// Similar to "send" but does not shutdown the channel if an error occurs.
4796    pub fn send_no_shutdown_on_err(
4797        self,
4798        mut resp: &WlanFullmacSetKeysResp,
4799    ) -> Result<(), fidl::Error> {
4800        let _result = self.send_raw(resp);
4801        self.drop_without_shutdown();
4802        _result
4803    }
4804
4805    fn send_raw(&self, mut resp: &WlanFullmacSetKeysResp) -> Result<(), fidl::Error> {
4806        self.control_handle.inner.send::<WlanFullmacImplSetKeysResponse>(
4807            (resp,),
4808            self.tx_id,
4809            0x20f46b1e039f0985,
4810            fidl::encoding::DynamicFlags::empty(),
4811        )
4812    }
4813}
4814
4815#[must_use = "FIDL methods require a response to be sent"]
4816#[derive(Debug)]
4817pub struct WlanFullmacImpl_EapolTxResponder {
4818    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4819    tx_id: u32,
4820}
4821
4822/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4823/// if the responder is dropped without sending a response, so that the client
4824/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4825impl std::ops::Drop for WlanFullmacImpl_EapolTxResponder {
4826    fn drop(&mut self) {
4827        self.control_handle.shutdown();
4828        // Safety: drops once, never accessed again
4829        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4830    }
4831}
4832
4833impl fidl::endpoints::Responder for WlanFullmacImpl_EapolTxResponder {
4834    type ControlHandle = WlanFullmacImpl_ControlHandle;
4835
4836    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4837        &self.control_handle
4838    }
4839
4840    fn drop_without_shutdown(mut self) {
4841        // Safety: drops once, never accessed again due to mem::forget
4842        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4843        // Prevent Drop from running (which would shut down the channel)
4844        std::mem::forget(self);
4845    }
4846}
4847
4848impl WlanFullmacImpl_EapolTxResponder {
4849    /// Sends a response to the FIDL transaction.
4850    ///
4851    /// Sets the channel to shutdown if an error occurs.
4852    pub fn send(self) -> Result<(), fidl::Error> {
4853        let _result = self.send_raw();
4854        if _result.is_err() {
4855            self.control_handle.shutdown();
4856        }
4857        self.drop_without_shutdown();
4858        _result
4859    }
4860
4861    /// Similar to "send" but does not shutdown the channel if an error occurs.
4862    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4863        let _result = self.send_raw();
4864        self.drop_without_shutdown();
4865        _result
4866    }
4867
4868    fn send_raw(&self) -> Result<(), fidl::Error> {
4869        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4870            (),
4871            self.tx_id,
4872            0x529a2d90fd4c8177,
4873            fidl::encoding::DynamicFlags::empty(),
4874        )
4875    }
4876}
4877
4878#[must_use = "FIDL methods require a response to be sent"]
4879#[derive(Debug)]
4880pub struct WlanFullmacImpl_GetIfaceStatsResponder {
4881    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4882    tx_id: u32,
4883}
4884
4885/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4886/// if the responder is dropped without sending a response, so that the client
4887/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4888impl std::ops::Drop for WlanFullmacImpl_GetIfaceStatsResponder {
4889    fn drop(&mut self) {
4890        self.control_handle.shutdown();
4891        // Safety: drops once, never accessed again
4892        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4893    }
4894}
4895
4896impl fidl::endpoints::Responder for WlanFullmacImpl_GetIfaceStatsResponder {
4897    type ControlHandle = WlanFullmacImpl_ControlHandle;
4898
4899    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4900        &self.control_handle
4901    }
4902
4903    fn drop_without_shutdown(mut self) {
4904        // Safety: drops once, never accessed again due to mem::forget
4905        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4906        // Prevent Drop from running (which would shut down the channel)
4907        std::mem::forget(self);
4908    }
4909}
4910
4911impl WlanFullmacImpl_GetIfaceStatsResponder {
4912    /// Sends a response to the FIDL transaction.
4913    ///
4914    /// Sets the channel to shutdown if an error occurs.
4915    pub fn send(
4916        self,
4917        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4918    ) -> Result<(), fidl::Error> {
4919        let _result = self.send_raw(result);
4920        if _result.is_err() {
4921            self.control_handle.shutdown();
4922        }
4923        self.drop_without_shutdown();
4924        _result
4925    }
4926
4927    /// Similar to "send" but does not shutdown the channel if an error occurs.
4928    pub fn send_no_shutdown_on_err(
4929        self,
4930        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4931    ) -> Result<(), fidl::Error> {
4932        let _result = self.send_raw(result);
4933        self.drop_without_shutdown();
4934        _result
4935    }
4936
4937    fn send_raw(
4938        &self,
4939        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4940    ) -> Result<(), fidl::Error> {
4941        self.control_handle.inner.send::<fidl::encoding::ResultType<
4942            WlanFullmacImplGetIfaceStatsResponse,
4943            i32,
4944        >>(
4945            result.map(|stats| (stats,)),
4946            self.tx_id,
4947            0x505563776ef0392f,
4948            fidl::encoding::DynamicFlags::empty(),
4949        )
4950    }
4951}
4952
4953#[must_use = "FIDL methods require a response to be sent"]
4954#[derive(Debug)]
4955pub struct WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4956    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4957    tx_id: u32,
4958}
4959
4960/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4961/// if the responder is dropped without sending a response, so that the client
4962/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4963impl std::ops::Drop for WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4964    fn drop(&mut self) {
4965        self.control_handle.shutdown();
4966        // Safety: drops once, never accessed again
4967        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4968    }
4969}
4970
4971impl fidl::endpoints::Responder for WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4972    type ControlHandle = WlanFullmacImpl_ControlHandle;
4973
4974    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4975        &self.control_handle
4976    }
4977
4978    fn drop_without_shutdown(mut self) {
4979        // Safety: drops once, never accessed again due to mem::forget
4980        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4981        // Prevent Drop from running (which would shut down the channel)
4982        std::mem::forget(self);
4983    }
4984}
4985
4986impl WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4987    /// Sends a response to the FIDL transaction.
4988    ///
4989    /// Sets the channel to shutdown if an error occurs.
4990    pub fn send(
4991        self,
4992        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
4993    ) -> Result<(), fidl::Error> {
4994        let _result = self.send_raw(result);
4995        if _result.is_err() {
4996            self.control_handle.shutdown();
4997        }
4998        self.drop_without_shutdown();
4999        _result
5000    }
5001
5002    /// Similar to "send" but does not shutdown the channel if an error occurs.
5003    pub fn send_no_shutdown_on_err(
5004        self,
5005        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
5006    ) -> Result<(), fidl::Error> {
5007        let _result = self.send_raw(result);
5008        self.drop_without_shutdown();
5009        _result
5010    }
5011
5012    fn send_raw(
5013        &self,
5014        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
5015    ) -> Result<(), fidl::Error> {
5016        self.control_handle.inner.send::<fidl::encoding::ResultType<
5017            WlanFullmacImplGetIfaceHistogramStatsResponse,
5018            i32,
5019        >>(
5020            result.map(|stats| (stats,)),
5021            self.tx_id,
5022            0x503d586f30ccf2cd,
5023            fidl::encoding::DynamicFlags::empty(),
5024        )
5025    }
5026}
5027
5028#[must_use = "FIDL methods require a response to be sent"]
5029#[derive(Debug)]
5030pub struct WlanFullmacImpl_GetSignalReportResponder {
5031    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5032    tx_id: u32,
5033}
5034
5035/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5036/// if the responder is dropped without sending a response, so that the client
5037/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5038impl std::ops::Drop for WlanFullmacImpl_GetSignalReportResponder {
5039    fn drop(&mut self) {
5040        self.control_handle.shutdown();
5041        // Safety: drops once, never accessed again
5042        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5043    }
5044}
5045
5046impl fidl::endpoints::Responder for WlanFullmacImpl_GetSignalReportResponder {
5047    type ControlHandle = WlanFullmacImpl_ControlHandle;
5048
5049    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5050        &self.control_handle
5051    }
5052
5053    fn drop_without_shutdown(mut self) {
5054        // Safety: drops once, never accessed again due to mem::forget
5055        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5056        // Prevent Drop from running (which would shut down the channel)
5057        std::mem::forget(self);
5058    }
5059}
5060
5061impl WlanFullmacImpl_GetSignalReportResponder {
5062    /// Sends a response to the FIDL transaction.
5063    ///
5064    /// Sets the channel to shutdown if an error occurs.
5065    pub fn send(
5066        self,
5067        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5068    ) -> Result<(), fidl::Error> {
5069        let _result = self.send_raw(result);
5070        if _result.is_err() {
5071            self.control_handle.shutdown();
5072        }
5073        self.drop_without_shutdown();
5074        _result
5075    }
5076
5077    /// Similar to "send" but does not shutdown the channel if an error occurs.
5078    pub fn send_no_shutdown_on_err(
5079        self,
5080        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5081    ) -> Result<(), fidl::Error> {
5082        let _result = self.send_raw(result);
5083        self.drop_without_shutdown();
5084        _result
5085    }
5086
5087    fn send_raw(
5088        &self,
5089        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5090    ) -> Result<(), fidl::Error> {
5091        self.control_handle.inner.send::<fidl::encoding::ResultType<
5092            fidl_fuchsia_wlan_stats::SignalReport,
5093            i32,
5094        >>(
5095            result,
5096            self.tx_id,
5097            0x5d93f056e4796bb3,
5098            fidl::encoding::DynamicFlags::empty(),
5099        )
5100    }
5101}
5102
5103#[must_use = "FIDL methods require a response to be sent"]
5104#[derive(Debug)]
5105pub struct WlanFullmacImpl_SaeHandshakeRespResponder {
5106    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5107    tx_id: u32,
5108}
5109
5110/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5111/// if the responder is dropped without sending a response, so that the client
5112/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5113impl std::ops::Drop for WlanFullmacImpl_SaeHandshakeRespResponder {
5114    fn drop(&mut self) {
5115        self.control_handle.shutdown();
5116        // Safety: drops once, never accessed again
5117        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5118    }
5119}
5120
5121impl fidl::endpoints::Responder for WlanFullmacImpl_SaeHandshakeRespResponder {
5122    type ControlHandle = WlanFullmacImpl_ControlHandle;
5123
5124    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5125        &self.control_handle
5126    }
5127
5128    fn drop_without_shutdown(mut self) {
5129        // Safety: drops once, never accessed again due to mem::forget
5130        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5131        // Prevent Drop from running (which would shut down the channel)
5132        std::mem::forget(self);
5133    }
5134}
5135
5136impl WlanFullmacImpl_SaeHandshakeRespResponder {
5137    /// Sends a response to the FIDL transaction.
5138    ///
5139    /// Sets the channel to shutdown if an error occurs.
5140    pub fn send(self) -> Result<(), fidl::Error> {
5141        let _result = self.send_raw();
5142        if _result.is_err() {
5143            self.control_handle.shutdown();
5144        }
5145        self.drop_without_shutdown();
5146        _result
5147    }
5148
5149    /// Similar to "send" but does not shutdown the channel if an error occurs.
5150    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5151        let _result = self.send_raw();
5152        self.drop_without_shutdown();
5153        _result
5154    }
5155
5156    fn send_raw(&self) -> Result<(), fidl::Error> {
5157        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5158            (),
5159            self.tx_id,
5160            0x72cd3a31ae5a54f6,
5161            fidl::encoding::DynamicFlags::empty(),
5162        )
5163    }
5164}
5165
5166#[must_use = "FIDL methods require a response to be sent"]
5167#[derive(Debug)]
5168pub struct WlanFullmacImpl_SaeFrameTxResponder {
5169    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5170    tx_id: u32,
5171}
5172
5173/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5174/// if the responder is dropped without sending a response, so that the client
5175/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5176impl std::ops::Drop for WlanFullmacImpl_SaeFrameTxResponder {
5177    fn drop(&mut self) {
5178        self.control_handle.shutdown();
5179        // Safety: drops once, never accessed again
5180        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5181    }
5182}
5183
5184impl fidl::endpoints::Responder for WlanFullmacImpl_SaeFrameTxResponder {
5185    type ControlHandle = WlanFullmacImpl_ControlHandle;
5186
5187    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5188        &self.control_handle
5189    }
5190
5191    fn drop_without_shutdown(mut self) {
5192        // Safety: drops once, never accessed again due to mem::forget
5193        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5194        // Prevent Drop from running (which would shut down the channel)
5195        std::mem::forget(self);
5196    }
5197}
5198
5199impl WlanFullmacImpl_SaeFrameTxResponder {
5200    /// Sends a response to the FIDL transaction.
5201    ///
5202    /// Sets the channel to shutdown if an error occurs.
5203    pub fn send(self) -> Result<(), fidl::Error> {
5204        let _result = self.send_raw();
5205        if _result.is_err() {
5206            self.control_handle.shutdown();
5207        }
5208        self.drop_without_shutdown();
5209        _result
5210    }
5211
5212    /// Similar to "send" but does not shutdown the channel if an error occurs.
5213    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5214        let _result = self.send_raw();
5215        self.drop_without_shutdown();
5216        _result
5217    }
5218
5219    fn send_raw(&self) -> Result<(), fidl::Error> {
5220        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5221            (),
5222            self.tx_id,
5223            0x4715ad5dc5a6340f,
5224            fidl::encoding::DynamicFlags::empty(),
5225        )
5226    }
5227}
5228
5229#[must_use = "FIDL methods require a response to be sent"]
5230#[derive(Debug)]
5231pub struct WlanFullmacImpl_WmmStatusReqResponder {
5232    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5233    tx_id: u32,
5234}
5235
5236/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5237/// if the responder is dropped without sending a response, so that the client
5238/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5239impl std::ops::Drop for WlanFullmacImpl_WmmStatusReqResponder {
5240    fn drop(&mut self) {
5241        self.control_handle.shutdown();
5242        // Safety: drops once, never accessed again
5243        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5244    }
5245}
5246
5247impl fidl::endpoints::Responder for WlanFullmacImpl_WmmStatusReqResponder {
5248    type ControlHandle = WlanFullmacImpl_ControlHandle;
5249
5250    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5251        &self.control_handle
5252    }
5253
5254    fn drop_without_shutdown(mut self) {
5255        // Safety: drops once, never accessed again due to mem::forget
5256        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5257        // Prevent Drop from running (which would shut down the channel)
5258        std::mem::forget(self);
5259    }
5260}
5261
5262impl WlanFullmacImpl_WmmStatusReqResponder {
5263    /// Sends a response to the FIDL transaction.
5264    ///
5265    /// Sets the channel to shutdown if an error occurs.
5266    pub fn send(self) -> Result<(), fidl::Error> {
5267        let _result = self.send_raw();
5268        if _result.is_err() {
5269            self.control_handle.shutdown();
5270        }
5271        self.drop_without_shutdown();
5272        _result
5273    }
5274
5275    /// Similar to "send" but does not shutdown the channel if an error occurs.
5276    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5277        let _result = self.send_raw();
5278        self.drop_without_shutdown();
5279        _result
5280    }
5281
5282    fn send_raw(&self) -> Result<(), fidl::Error> {
5283        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5284            (),
5285            self.tx_id,
5286            0x635ecef3beb7a059,
5287            fidl::encoding::DynamicFlags::empty(),
5288        )
5289    }
5290}
5291
5292#[must_use = "FIDL methods require a response to be sent"]
5293#[derive(Debug)]
5294pub struct WlanFullmacImpl_OnLinkStateChangedResponder {
5295    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5296    tx_id: u32,
5297}
5298
5299/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5300/// if the responder is dropped without sending a response, so that the client
5301/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5302impl std::ops::Drop for WlanFullmacImpl_OnLinkStateChangedResponder {
5303    fn drop(&mut self) {
5304        self.control_handle.shutdown();
5305        // Safety: drops once, never accessed again
5306        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5307    }
5308}
5309
5310impl fidl::endpoints::Responder for WlanFullmacImpl_OnLinkStateChangedResponder {
5311    type ControlHandle = WlanFullmacImpl_ControlHandle;
5312
5313    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5314        &self.control_handle
5315    }
5316
5317    fn drop_without_shutdown(mut self) {
5318        // Safety: drops once, never accessed again due to mem::forget
5319        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5320        // Prevent Drop from running (which would shut down the channel)
5321        std::mem::forget(self);
5322    }
5323}
5324
5325impl WlanFullmacImpl_OnLinkStateChangedResponder {
5326    /// Sends a response to the FIDL transaction.
5327    ///
5328    /// Sets the channel to shutdown if an error occurs.
5329    pub fn send(self) -> Result<(), fidl::Error> {
5330        let _result = self.send_raw();
5331        if _result.is_err() {
5332            self.control_handle.shutdown();
5333        }
5334        self.drop_without_shutdown();
5335        _result
5336    }
5337
5338    /// Similar to "send" but does not shutdown the channel if an error occurs.
5339    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5340        let _result = self.send_raw();
5341        self.drop_without_shutdown();
5342        _result
5343    }
5344
5345    fn send_raw(&self) -> Result<(), fidl::Error> {
5346        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5347            (),
5348            self.tx_id,
5349            0x4d896e5b68e488d7,
5350            fidl::encoding::DynamicFlags::empty(),
5351        )
5352    }
5353}
5354
5355#[must_use = "FIDL methods require a response to be sent"]
5356#[derive(Debug)]
5357pub struct WlanFullmacImpl_SetMacAddressResponder {
5358    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5359    tx_id: u32,
5360}
5361
5362/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5363/// if the responder is dropped without sending a response, so that the client
5364/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5365impl std::ops::Drop for WlanFullmacImpl_SetMacAddressResponder {
5366    fn drop(&mut self) {
5367        self.control_handle.shutdown();
5368        // Safety: drops once, never accessed again
5369        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5370    }
5371}
5372
5373impl fidl::endpoints::Responder for WlanFullmacImpl_SetMacAddressResponder {
5374    type ControlHandle = WlanFullmacImpl_ControlHandle;
5375
5376    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5377        &self.control_handle
5378    }
5379
5380    fn drop_without_shutdown(mut self) {
5381        // Safety: drops once, never accessed again due to mem::forget
5382        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5383        // Prevent Drop from running (which would shut down the channel)
5384        std::mem::forget(self);
5385    }
5386}
5387
5388impl WlanFullmacImpl_SetMacAddressResponder {
5389    /// Sends a response to the FIDL transaction.
5390    ///
5391    /// Sets the channel to shutdown if an error occurs.
5392    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5393        let _result = self.send_raw(result);
5394        if _result.is_err() {
5395            self.control_handle.shutdown();
5396        }
5397        self.drop_without_shutdown();
5398        _result
5399    }
5400
5401    /// Similar to "send" but does not shutdown the channel if an error occurs.
5402    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5403        let _result = self.send_raw(result);
5404        self.drop_without_shutdown();
5405        _result
5406    }
5407
5408    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5409        self.control_handle
5410            .inner
5411            .send::<fidl::encoding::ResultType<fidl::encoding::EmptyStruct, i32>>(
5412                result,
5413                self.tx_id,
5414                0x211a97f6f21ae5f0,
5415                fidl::encoding::DynamicFlags::empty(),
5416            )
5417    }
5418}
5419
5420#[must_use = "FIDL methods require a response to be sent"]
5421#[derive(Debug)]
5422pub struct WlanFullmacImpl_InstallApfPacketFilterResponder {
5423    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5424    tx_id: u32,
5425}
5426
5427/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5428/// if the responder is dropped without sending a response, so that the client
5429/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5430impl std::ops::Drop for WlanFullmacImpl_InstallApfPacketFilterResponder {
5431    fn drop(&mut self) {
5432        self.control_handle.shutdown();
5433        // Safety: drops once, never accessed again
5434        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5435    }
5436}
5437
5438impl fidl::endpoints::Responder for WlanFullmacImpl_InstallApfPacketFilterResponder {
5439    type ControlHandle = WlanFullmacImpl_ControlHandle;
5440
5441    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5442        &self.control_handle
5443    }
5444
5445    fn drop_without_shutdown(mut self) {
5446        // Safety: drops once, never accessed again due to mem::forget
5447        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5448        // Prevent Drop from running (which would shut down the channel)
5449        std::mem::forget(self);
5450    }
5451}
5452
5453impl WlanFullmacImpl_InstallApfPacketFilterResponder {
5454    /// Sends a response to the FIDL transaction.
5455    ///
5456    /// Sets the channel to shutdown if an error occurs.
5457    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5458        let _result = self.send_raw(result);
5459        if _result.is_err() {
5460            self.control_handle.shutdown();
5461        }
5462        self.drop_without_shutdown();
5463        _result
5464    }
5465
5466    /// Similar to "send" but does not shutdown the channel if an error occurs.
5467    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5468        let _result = self.send_raw(result);
5469        self.drop_without_shutdown();
5470        _result
5471    }
5472
5473    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5474        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5475            fidl::encoding::EmptyStruct,
5476            i32,
5477        >>(
5478            fidl::encoding::FlexibleResult::new(result),
5479            self.tx_id,
5480            0x14597eda84122115,
5481            fidl::encoding::DynamicFlags::FLEXIBLE,
5482        )
5483    }
5484}
5485
5486#[must_use = "FIDL methods require a response to be sent"]
5487#[derive(Debug)]
5488pub struct WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5489    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5490    tx_id: u32,
5491}
5492
5493/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5494/// if the responder is dropped without sending a response, so that the client
5495/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5496impl std::ops::Drop for WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5497    fn drop(&mut self) {
5498        self.control_handle.shutdown();
5499        // Safety: drops once, never accessed again
5500        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5501    }
5502}
5503
5504impl fidl::endpoints::Responder for WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5505    type ControlHandle = WlanFullmacImpl_ControlHandle;
5506
5507    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5508        &self.control_handle
5509    }
5510
5511    fn drop_without_shutdown(mut self) {
5512        // Safety: drops once, never accessed again due to mem::forget
5513        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5514        // Prevent Drop from running (which would shut down the channel)
5515        std::mem::forget(self);
5516    }
5517}
5518
5519impl WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5520    /// Sends a response to the FIDL transaction.
5521    ///
5522    /// Sets the channel to shutdown if an error occurs.
5523    pub fn send(
5524        self,
5525        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5526    ) -> Result<(), fidl::Error> {
5527        let _result = self.send_raw(result);
5528        if _result.is_err() {
5529            self.control_handle.shutdown();
5530        }
5531        self.drop_without_shutdown();
5532        _result
5533    }
5534
5535    /// Similar to "send" but does not shutdown the channel if an error occurs.
5536    pub fn send_no_shutdown_on_err(
5537        self,
5538        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5539    ) -> Result<(), fidl::Error> {
5540        let _result = self.send_raw(result);
5541        self.drop_without_shutdown();
5542        _result
5543    }
5544
5545    fn send_raw(
5546        &self,
5547        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5548    ) -> Result<(), fidl::Error> {
5549        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5550            WlanFullmacImplReadApfPacketFilterDataResponse,
5551            i32,
5552        >>(
5553            fidl::encoding::FlexibleResult::new(result),
5554            self.tx_id,
5555            0x6ddcf8a179553a3c,
5556            fidl::encoding::DynamicFlags::FLEXIBLE,
5557        )
5558    }
5559}
5560
5561#[must_use = "FIDL methods require a response to be sent"]
5562#[derive(Debug)]
5563pub struct WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5564    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5565    tx_id: u32,
5566}
5567
5568/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5569/// if the responder is dropped without sending a response, so that the client
5570/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5571impl std::ops::Drop for WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5572    fn drop(&mut self) {
5573        self.control_handle.shutdown();
5574        // Safety: drops once, never accessed again
5575        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5576    }
5577}
5578
5579impl fidl::endpoints::Responder for WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5580    type ControlHandle = WlanFullmacImpl_ControlHandle;
5581
5582    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5583        &self.control_handle
5584    }
5585
5586    fn drop_without_shutdown(mut self) {
5587        // Safety: drops once, never accessed again due to mem::forget
5588        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5589        // Prevent Drop from running (which would shut down the channel)
5590        std::mem::forget(self);
5591    }
5592}
5593
5594impl WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5595    /// Sends a response to the FIDL transaction.
5596    ///
5597    /// Sets the channel to shutdown if an error occurs.
5598    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5599        let _result = self.send_raw(result);
5600        if _result.is_err() {
5601            self.control_handle.shutdown();
5602        }
5603        self.drop_without_shutdown();
5604        _result
5605    }
5606
5607    /// Similar to "send" but does not shutdown the channel if an error occurs.
5608    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5609        let _result = self.send_raw(result);
5610        self.drop_without_shutdown();
5611        _result
5612    }
5613
5614    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5615        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5616            fidl::encoding::EmptyStruct,
5617            i32,
5618        >>(
5619            fidl::encoding::FlexibleResult::new(result),
5620            self.tx_id,
5621            0x808792cade97d59,
5622            fidl::encoding::DynamicFlags::FLEXIBLE,
5623        )
5624    }
5625}
5626
5627#[must_use = "FIDL methods require a response to be sent"]
5628#[derive(Debug)]
5629pub struct WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5630    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5631    tx_id: u32,
5632}
5633
5634/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5635/// if the responder is dropped without sending a response, so that the client
5636/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5637impl std::ops::Drop for WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5638    fn drop(&mut self) {
5639        self.control_handle.shutdown();
5640        // Safety: drops once, never accessed again
5641        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5642    }
5643}
5644
5645impl fidl::endpoints::Responder for WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5646    type ControlHandle = WlanFullmacImpl_ControlHandle;
5647
5648    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5649        &self.control_handle
5650    }
5651
5652    fn drop_without_shutdown(mut self) {
5653        // Safety: drops once, never accessed again due to mem::forget
5654        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5655        // Prevent Drop from running (which would shut down the channel)
5656        std::mem::forget(self);
5657    }
5658}
5659
5660impl WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5661    /// Sends a response to the FIDL transaction.
5662    ///
5663    /// Sets the channel to shutdown if an error occurs.
5664    pub fn send(
5665        self,
5666        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5667    ) -> Result<(), fidl::Error> {
5668        let _result = self.send_raw(result);
5669        if _result.is_err() {
5670            self.control_handle.shutdown();
5671        }
5672        self.drop_without_shutdown();
5673        _result
5674    }
5675
5676    /// Similar to "send" but does not shutdown the channel if an error occurs.
5677    pub fn send_no_shutdown_on_err(
5678        self,
5679        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5680    ) -> Result<(), fidl::Error> {
5681        let _result = self.send_raw(result);
5682        self.drop_without_shutdown();
5683        _result
5684    }
5685
5686    fn send_raw(
5687        &self,
5688        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5689    ) -> Result<(), fidl::Error> {
5690        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5691            WlanFullmacImplGetApfPacketFilterEnabledResponse,
5692            i32,
5693        >>(
5694            fidl::encoding::FlexibleResult::new(result),
5695            self.tx_id,
5696            0x284e1725471e3ae7,
5697            fidl::encoding::DynamicFlags::FLEXIBLE,
5698        )
5699    }
5700}
5701
5702#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
5703pub struct WlanFullmacImplIfcMarker;
5704
5705impl fidl::endpoints::ProtocolMarker for WlanFullmacImplIfcMarker {
5706    type Proxy = WlanFullmacImplIfcProxy;
5707    type RequestStream = WlanFullmacImplIfcRequestStream;
5708    #[cfg(target_os = "fuchsia")]
5709    type SynchronousProxy = WlanFullmacImplIfcSynchronousProxy;
5710
5711    const DEBUG_NAME: &'static str = "fuchsia.wlan.fullmac.WlanFullmacImplIfc";
5712}
5713impl fidl::endpoints::DiscoverableProtocolMarker for WlanFullmacImplIfcMarker {}
5714
5715pub trait WlanFullmacImplIfcProxyInterface: Send + Sync {
5716    type OnScanResultResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5717    fn r#on_scan_result(
5718        &self,
5719        payload: &WlanFullmacImplIfcOnScanResultRequest,
5720    ) -> Self::OnScanResultResponseFut;
5721    type OnScanEndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5722    fn r#on_scan_end(
5723        &self,
5724        payload: &WlanFullmacImplIfcOnScanEndRequest,
5725    ) -> Self::OnScanEndResponseFut;
5726    fn r#on_scheduled_scan_matches_available(
5727        &self,
5728        payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
5729    ) -> Result<(), fidl::Error>;
5730    fn r#on_scheduled_scan_stopped_by_firmware(
5731        &self,
5732        payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
5733    ) -> Result<(), fidl::Error>;
5734    type ConnectConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5735    fn r#connect_conf(
5736        &self,
5737        payload: &WlanFullmacImplIfcConnectConfRequest,
5738    ) -> Self::ConnectConfResponseFut;
5739    type RoamConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5740    fn r#roam_conf(&self, payload: &WlanFullmacImplIfcRoamConfRequest)
5741    -> Self::RoamConfResponseFut;
5742    type RoamStartIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5743    fn r#roam_start_ind(
5744        &self,
5745        payload: &WlanFullmacImplIfcRoamStartIndRequest,
5746    ) -> Self::RoamStartIndResponseFut;
5747    type RoamResultIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5748    fn r#roam_result_ind(
5749        &self,
5750        payload: &WlanFullmacImplIfcRoamResultIndRequest,
5751    ) -> Self::RoamResultIndResponseFut;
5752    type AuthIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5753    fn r#auth_ind(&self, payload: &WlanFullmacImplIfcAuthIndRequest) -> Self::AuthIndResponseFut;
5754    type DeauthConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5755    fn r#deauth_conf(
5756        &self,
5757        payload: &WlanFullmacImplIfcDeauthConfRequest,
5758    ) -> Self::DeauthConfResponseFut;
5759    type DeauthIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5760    fn r#deauth_ind(
5761        &self,
5762        payload: &WlanFullmacImplIfcDeauthIndRequest,
5763    ) -> Self::DeauthIndResponseFut;
5764    type AssocIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5765    fn r#assoc_ind(&self, payload: &WlanFullmacImplIfcAssocIndRequest)
5766    -> Self::AssocIndResponseFut;
5767    type DisassocConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5768    fn r#disassoc_conf(
5769        &self,
5770        payload: &WlanFullmacImplIfcDisassocConfRequest,
5771    ) -> Self::DisassocConfResponseFut;
5772    type DisassocIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5773    fn r#disassoc_ind(
5774        &self,
5775        payload: &WlanFullmacImplIfcDisassocIndRequest,
5776    ) -> Self::DisassocIndResponseFut;
5777    type StartConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5778    fn r#start_conf(
5779        &self,
5780        payload: &WlanFullmacImplIfcStartConfRequest,
5781    ) -> Self::StartConfResponseFut;
5782    type StopConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5783    fn r#stop_conf(&self, payload: &WlanFullmacImplIfcStopConfRequest)
5784    -> Self::StopConfResponseFut;
5785    type EapolConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5786    fn r#eapol_conf(
5787        &self,
5788        payload: &WlanFullmacImplIfcEapolConfRequest,
5789    ) -> Self::EapolConfResponseFut;
5790    type OnChannelSwitchResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5791    fn r#on_channel_switch(
5792        &self,
5793        ind: &WlanFullmacChannelSwitchInfo,
5794    ) -> Self::OnChannelSwitchResponseFut;
5795    type SignalReportResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5796    fn r#signal_report(
5797        &self,
5798        ind: &WlanFullmacSignalReportIndication,
5799    ) -> Self::SignalReportResponseFut;
5800    type EapolIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5801    fn r#eapol_ind(&self, payload: &WlanFullmacImplIfcEapolIndRequest)
5802    -> Self::EapolIndResponseFut;
5803    type OnPmkAvailableResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5804    fn r#on_pmk_available(
5805        &self,
5806        payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
5807    ) -> Self::OnPmkAvailableResponseFut;
5808    type SaeHandshakeIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5809    fn r#sae_handshake_ind(
5810        &self,
5811        payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
5812    ) -> Self::SaeHandshakeIndResponseFut;
5813    type SaeFrameRxResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5814    fn r#sae_frame_rx(&self, frame: &SaeFrame) -> Self::SaeFrameRxResponseFut;
5815    type OnWmmStatusRespResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5816    fn r#on_wmm_status_resp(
5817        &self,
5818        status: i32,
5819        wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
5820    ) -> Self::OnWmmStatusRespResponseFut;
5821}
5822#[derive(Debug)]
5823#[cfg(target_os = "fuchsia")]
5824pub struct WlanFullmacImplIfcSynchronousProxy {
5825    client: fidl::client::sync::Client,
5826}
5827
5828#[cfg(target_os = "fuchsia")]
5829impl fidl::endpoints::SynchronousProxy for WlanFullmacImplIfcSynchronousProxy {
5830    type Proxy = WlanFullmacImplIfcProxy;
5831    type Protocol = WlanFullmacImplIfcMarker;
5832
5833    fn from_channel(inner: fidl::Channel) -> Self {
5834        Self::new(inner)
5835    }
5836
5837    fn into_channel(self) -> fidl::Channel {
5838        self.client.into_channel()
5839    }
5840
5841    fn as_channel(&self) -> &fidl::Channel {
5842        self.client.as_channel()
5843    }
5844}
5845
5846#[cfg(target_os = "fuchsia")]
5847impl WlanFullmacImplIfcSynchronousProxy {
5848    pub fn new(channel: fidl::Channel) -> Self {
5849        Self { client: fidl::client::sync::Client::new(channel) }
5850    }
5851
5852    pub fn into_channel(self) -> fidl::Channel {
5853        self.client.into_channel()
5854    }
5855
5856    /// Waits until an event arrives and returns it. It is safe for other
5857    /// threads to make concurrent requests while waiting for an event.
5858    pub fn wait_for_event(
5859        &self,
5860        deadline: zx::MonotonicInstant,
5861    ) -> Result<WlanFullmacImplIfcEvent, fidl::Error> {
5862        WlanFullmacImplIfcEvent::decode(
5863            self.client.wait_for_event::<WlanFullmacImplIfcMarker>(deadline)?,
5864        )
5865    }
5866
5867    pub fn r#on_scan_result(
5868        &self,
5869        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
5870        ___deadline: zx::MonotonicInstant,
5871    ) -> Result<(), fidl::Error> {
5872        let _response = self.client.send_query::<
5873            WlanFullmacImplIfcOnScanResultRequest,
5874            fidl::encoding::EmptyPayload,
5875            WlanFullmacImplIfcMarker,
5876        >(
5877            payload,
5878            0x29aa81dc570f7a3e,
5879            fidl::encoding::DynamicFlags::empty(),
5880            ___deadline,
5881        )?;
5882        Ok(_response)
5883    }
5884
5885    pub fn r#on_scan_end(
5886        &self,
5887        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
5888        ___deadline: zx::MonotonicInstant,
5889    ) -> Result<(), fidl::Error> {
5890        let _response = self.client.send_query::<
5891            WlanFullmacImplIfcOnScanEndRequest,
5892            fidl::encoding::EmptyPayload,
5893            WlanFullmacImplIfcMarker,
5894        >(
5895            payload,
5896            0x7cd8aff80d27073c,
5897            fidl::encoding::DynamicFlags::empty(),
5898            ___deadline,
5899        )?;
5900        Ok(_response)
5901    }
5902
5903    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
5904    /// and results are available.
5905    pub fn r#on_scheduled_scan_matches_available(
5906        &self,
5907        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
5908    ) -> Result<(), fidl::Error> {
5909        self.client.send::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(
5910            payload,
5911            0x3036cd8b8b35e81b,
5912            fidl::encoding::DynamicFlags::empty(),
5913        )
5914    }
5915
5916    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
5917    pub fn r#on_scheduled_scan_stopped_by_firmware(
5918        &self,
5919        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
5920    ) -> Result<(), fidl::Error> {
5921        self.client.send::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(
5922            payload,
5923            0x50353be2c3029817,
5924            fidl::encoding::DynamicFlags::empty(),
5925        )
5926    }
5927
5928    pub fn r#connect_conf(
5929        &self,
5930        mut payload: &WlanFullmacImplIfcConnectConfRequest,
5931        ___deadline: zx::MonotonicInstant,
5932    ) -> Result<(), fidl::Error> {
5933        let _response = self.client.send_query::<
5934            WlanFullmacImplIfcConnectConfRequest,
5935            fidl::encoding::EmptyPayload,
5936            WlanFullmacImplIfcMarker,
5937        >(
5938            payload,
5939            0x3c22c6d80b2a2759,
5940            fidl::encoding::DynamicFlags::empty(),
5941            ___deadline,
5942        )?;
5943        Ok(_response)
5944    }
5945
5946    /// Report the result of an MLME-initiated roam attempt.
5947    pub fn r#roam_conf(
5948        &self,
5949        mut payload: &WlanFullmacImplIfcRoamConfRequest,
5950        ___deadline: zx::MonotonicInstant,
5951    ) -> Result<(), fidl::Error> {
5952        let _response = self.client.send_query::<
5953            WlanFullmacImplIfcRoamConfRequest,
5954            fidl::encoding::EmptyPayload,
5955            WlanFullmacImplIfcMarker,
5956        >(
5957            payload,
5958            0x368b2a5b903b3f7b,
5959            fidl::encoding::DynamicFlags::empty(),
5960            ___deadline,
5961        )?;
5962        Ok(_response)
5963    }
5964
5965    /// Report that a fullmac-initiated roam attempt is in progress.
5966    /// Fullmac must send this start indication for all roam attempts.
5967    pub fn r#roam_start_ind(
5968        &self,
5969        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
5970        ___deadline: zx::MonotonicInstant,
5971    ) -> Result<(), fidl::Error> {
5972        let _response = self.client.send_query::<
5973            WlanFullmacImplIfcRoamStartIndRequest,
5974            fidl::encoding::EmptyPayload,
5975            WlanFullmacImplIfcMarker,
5976        >(
5977            payload,
5978            0x23e1d9368935e7e4,
5979            fidl::encoding::DynamicFlags::empty(),
5980            ___deadline,
5981        )?;
5982        Ok(_response)
5983    }
5984
5985    /// Report the result of a fullmac-initiated roam attempt.
5986    pub fn r#roam_result_ind(
5987        &self,
5988        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
5989        ___deadline: zx::MonotonicInstant,
5990    ) -> Result<(), fidl::Error> {
5991        let _response = self.client.send_query::<
5992            WlanFullmacImplIfcRoamResultIndRequest,
5993            fidl::encoding::EmptyPayload,
5994            WlanFullmacImplIfcMarker,
5995        >(
5996            payload,
5997            0x7081c1b1ceea4914,
5998            fidl::encoding::DynamicFlags::empty(),
5999            ___deadline,
6000        )?;
6001        Ok(_response)
6002    }
6003
6004    pub fn r#auth_ind(
6005        &self,
6006        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6007        ___deadline: zx::MonotonicInstant,
6008    ) -> Result<(), fidl::Error> {
6009        let _response = self.client.send_query::<
6010            WlanFullmacImplIfcAuthIndRequest,
6011            fidl::encoding::EmptyPayload,
6012            WlanFullmacImplIfcMarker,
6013        >(
6014            payload,
6015            0x270e1f8889650d0b,
6016            fidl::encoding::DynamicFlags::empty(),
6017            ___deadline,
6018        )?;
6019        Ok(_response)
6020    }
6021
6022    pub fn r#deauth_conf(
6023        &self,
6024        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6025        ___deadline: zx::MonotonicInstant,
6026    ) -> Result<(), fidl::Error> {
6027        let _response = self.client.send_query::<
6028            WlanFullmacImplIfcDeauthConfRequest,
6029            fidl::encoding::EmptyPayload,
6030            WlanFullmacImplIfcMarker,
6031        >(
6032            payload,
6033            0x2c94b0d7258111b7,
6034            fidl::encoding::DynamicFlags::empty(),
6035            ___deadline,
6036        )?;
6037        Ok(_response)
6038    }
6039
6040    /// Report that the driver deauthenticated.
6041    pub fn r#deauth_ind(
6042        &self,
6043        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6044        ___deadline: zx::MonotonicInstant,
6045    ) -> Result<(), fidl::Error> {
6046        let _response = self.client.send_query::<
6047            WlanFullmacImplIfcDeauthIndRequest,
6048            fidl::encoding::EmptyPayload,
6049            WlanFullmacImplIfcMarker,
6050        >(
6051            payload,
6052            0x26cd27cdadd8dbaf,
6053            fidl::encoding::DynamicFlags::empty(),
6054            ___deadline,
6055        )?;
6056        Ok(_response)
6057    }
6058
6059    pub fn r#assoc_ind(
6060        &self,
6061        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6062        ___deadline: zx::MonotonicInstant,
6063    ) -> Result<(), fidl::Error> {
6064        let _response = self.client.send_query::<
6065            WlanFullmacImplIfcAssocIndRequest,
6066            fidl::encoding::EmptyPayload,
6067            WlanFullmacImplIfcMarker,
6068        >(
6069            payload,
6070            0x3e44529e3dc179ce,
6071            fidl::encoding::DynamicFlags::empty(),
6072            ___deadline,
6073        )?;
6074        Ok(_response)
6075    }
6076
6077    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
6078    pub fn r#disassoc_conf(
6079        &self,
6080        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6081        ___deadline: zx::MonotonicInstant,
6082    ) -> Result<(), fidl::Error> {
6083        let _response = self.client.send_query::<
6084            WlanFullmacImplIfcDisassocConfRequest,
6085            fidl::encoding::EmptyPayload,
6086            WlanFullmacImplIfcMarker,
6087        >(
6088            payload,
6089            0x7c713bcd58a76cb3,
6090            fidl::encoding::DynamicFlags::empty(),
6091            ___deadline,
6092        )?;
6093        Ok(_response)
6094    }
6095
6096    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
6097    pub fn r#disassoc_ind(
6098        &self,
6099        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6100        ___deadline: zx::MonotonicInstant,
6101    ) -> Result<(), fidl::Error> {
6102        let _response = self.client.send_query::<
6103            WlanFullmacImplIfcDisassocIndRequest,
6104            fidl::encoding::EmptyPayload,
6105            WlanFullmacImplIfcMarker,
6106        >(
6107            payload,
6108            0x6667b381b7f3990f,
6109            fidl::encoding::DynamicFlags::empty(),
6110            ___deadline,
6111        )?;
6112        Ok(_response)
6113    }
6114
6115    /// Report the result of a WlanFullmacImpl::StartBss request.
6116    pub fn r#start_conf(
6117        &self,
6118        mut payload: &WlanFullmacImplIfcStartConfRequest,
6119        ___deadline: zx::MonotonicInstant,
6120    ) -> Result<(), fidl::Error> {
6121        let _response = self.client.send_query::<
6122            WlanFullmacImplIfcStartConfRequest,
6123            fidl::encoding::EmptyPayload,
6124            WlanFullmacImplIfcMarker,
6125        >(
6126            payload,
6127            0x3e9b9641f3ddc7fc,
6128            fidl::encoding::DynamicFlags::empty(),
6129            ___deadline,
6130        )?;
6131        Ok(_response)
6132    }
6133
6134    /// Report the result of a WlanFullmacImpl::StopBss request.
6135    pub fn r#stop_conf(
6136        &self,
6137        mut payload: &WlanFullmacImplIfcStopConfRequest,
6138        ___deadline: zx::MonotonicInstant,
6139    ) -> Result<(), fidl::Error> {
6140        let _response = self.client.send_query::<
6141            WlanFullmacImplIfcStopConfRequest,
6142            fidl::encoding::EmptyPayload,
6143            WlanFullmacImplIfcMarker,
6144        >(
6145            payload,
6146            0x320a5ff227a4e9df,
6147            fidl::encoding::DynamicFlags::empty(),
6148            ___deadline,
6149        )?;
6150        Ok(_response)
6151    }
6152
6153    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
6154    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
6155    pub fn r#eapol_conf(
6156        &self,
6157        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6158        ___deadline: zx::MonotonicInstant,
6159    ) -> Result<(), fidl::Error> {
6160        let _response = self.client.send_query::<
6161            WlanFullmacImplIfcEapolConfRequest,
6162            fidl::encoding::EmptyPayload,
6163            WlanFullmacImplIfcMarker,
6164        >(
6165            payload,
6166            0x77364db9cc3970ec,
6167            fidl::encoding::DynamicFlags::empty(),
6168            ___deadline,
6169        )?;
6170        Ok(_response)
6171    }
6172
6173    pub fn r#on_channel_switch(
6174        &self,
6175        mut ind: &WlanFullmacChannelSwitchInfo,
6176        ___deadline: zx::MonotonicInstant,
6177    ) -> Result<(), fidl::Error> {
6178        let _response = self.client.send_query::<
6179            WlanFullmacImplIfcOnChannelSwitchRequest,
6180            fidl::encoding::EmptyPayload,
6181            WlanFullmacImplIfcMarker,
6182        >(
6183            (ind,),
6184            0x21db0b8f71cae647,
6185            fidl::encoding::DynamicFlags::empty(),
6186            ___deadline,
6187        )?;
6188        Ok(_response)
6189    }
6190
6191    pub fn r#signal_report(
6192        &self,
6193        mut ind: &WlanFullmacSignalReportIndication,
6194        ___deadline: zx::MonotonicInstant,
6195    ) -> Result<(), fidl::Error> {
6196        let _response = self.client.send_query::<
6197            WlanFullmacImplIfcSignalReportRequest,
6198            fidl::encoding::EmptyPayload,
6199            WlanFullmacImplIfcMarker,
6200        >(
6201            (ind,),
6202            0x79679fa8789c3d9f,
6203            fidl::encoding::DynamicFlags::empty(),
6204            ___deadline,
6205        )?;
6206        Ok(_response)
6207    }
6208
6209    /// Report that an EAPoL frame was received.
6210    pub fn r#eapol_ind(
6211        &self,
6212        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6213        ___deadline: zx::MonotonicInstant,
6214    ) -> Result<(), fidl::Error> {
6215        let _response = self.client.send_query::<
6216            WlanFullmacImplIfcEapolIndRequest,
6217            fidl::encoding::EmptyPayload,
6218            WlanFullmacImplIfcMarker,
6219        >(
6220            payload,
6221            0x3de8ec1eda10d1d0,
6222            fidl::encoding::DynamicFlags::empty(),
6223            ___deadline,
6224        )?;
6225        Ok(_response)
6226    }
6227
6228    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
6229    pub fn r#on_pmk_available(
6230        &self,
6231        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
6232        ___deadline: zx::MonotonicInstant,
6233    ) -> Result<(), fidl::Error> {
6234        let _response = self.client.send_query::<
6235            WlanFullmacImplIfcOnPmkAvailableRequest,
6236            fidl::encoding::EmptyPayload,
6237            WlanFullmacImplIfcMarker,
6238        >(
6239            payload,
6240            0x5cedd8d9be28a17e,
6241            fidl::encoding::DynamicFlags::empty(),
6242            ___deadline,
6243        )?;
6244        Ok(_response)
6245    }
6246
6247    pub fn r#sae_handshake_ind(
6248        &self,
6249        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
6250        ___deadline: zx::MonotonicInstant,
6251    ) -> Result<(), fidl::Error> {
6252        let _response = self.client.send_query::<
6253            WlanFullmacImplIfcSaeHandshakeIndRequest,
6254            fidl::encoding::EmptyPayload,
6255            WlanFullmacImplIfcMarker,
6256        >(
6257            payload,
6258            0x4f3d53885503a1d8,
6259            fidl::encoding::DynamicFlags::empty(),
6260            ___deadline,
6261        )?;
6262        Ok(_response)
6263    }
6264
6265    /// Receive an SAE authentication frame.
6266    pub fn r#sae_frame_rx(
6267        &self,
6268        mut frame: &SaeFrame,
6269        ___deadline: zx::MonotonicInstant,
6270    ) -> Result<(), fidl::Error> {
6271        let _response = self.client.send_query::<
6272            WlanFullmacImplIfcSaeFrameRxRequest,
6273            fidl::encoding::EmptyPayload,
6274            WlanFullmacImplIfcMarker,
6275        >(
6276            (frame,),
6277            0x51650906857ed4d4,
6278            fidl::encoding::DynamicFlags::empty(),
6279            ___deadline,
6280        )?;
6281        Ok(_response)
6282    }
6283
6284    pub fn r#on_wmm_status_resp(
6285        &self,
6286        mut status: i32,
6287        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
6288        ___deadline: zx::MonotonicInstant,
6289    ) -> Result<(), fidl::Error> {
6290        let _response = self.client.send_query::<
6291            WlanFullmacImplIfcOnWmmStatusRespRequest,
6292            fidl::encoding::EmptyPayload,
6293            WlanFullmacImplIfcMarker,
6294        >(
6295            (status, wmm_params,),
6296            0x6823a88bf3ba8b2a,
6297            fidl::encoding::DynamicFlags::empty(),
6298            ___deadline,
6299        )?;
6300        Ok(_response)
6301    }
6302}
6303
6304#[cfg(target_os = "fuchsia")]
6305impl From<WlanFullmacImplIfcSynchronousProxy> for zx::NullableHandle {
6306    fn from(value: WlanFullmacImplIfcSynchronousProxy) -> Self {
6307        value.into_channel().into()
6308    }
6309}
6310
6311#[cfg(target_os = "fuchsia")]
6312impl From<fidl::Channel> for WlanFullmacImplIfcSynchronousProxy {
6313    fn from(value: fidl::Channel) -> Self {
6314        Self::new(value)
6315    }
6316}
6317
6318#[cfg(target_os = "fuchsia")]
6319impl fidl::endpoints::FromClient for WlanFullmacImplIfcSynchronousProxy {
6320    type Protocol = WlanFullmacImplIfcMarker;
6321
6322    fn from_client(value: fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>) -> Self {
6323        Self::new(value.into_channel())
6324    }
6325}
6326
6327#[derive(Debug, Clone)]
6328pub struct WlanFullmacImplIfcProxy {
6329    client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
6330}
6331
6332impl fidl::endpoints::Proxy for WlanFullmacImplIfcProxy {
6333    type Protocol = WlanFullmacImplIfcMarker;
6334
6335    fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
6336        Self::new(inner)
6337    }
6338
6339    fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
6340        self.client.into_channel().map_err(|client| Self { client })
6341    }
6342
6343    fn as_channel(&self) -> &::fidl::AsyncChannel {
6344        self.client.as_channel()
6345    }
6346}
6347
6348impl WlanFullmacImplIfcProxy {
6349    /// Create a new Proxy for fuchsia.wlan.fullmac/WlanFullmacImplIfc.
6350    pub fn new(channel: ::fidl::AsyncChannel) -> Self {
6351        let protocol_name =
6352            <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6353        Self { client: fidl::client::Client::new(channel, protocol_name) }
6354    }
6355
6356    /// Get a Stream of events from the remote end of the protocol.
6357    ///
6358    /// # Panics
6359    ///
6360    /// Panics if the event stream was already taken.
6361    pub fn take_event_stream(&self) -> WlanFullmacImplIfcEventStream {
6362        WlanFullmacImplIfcEventStream { event_receiver: self.client.take_event_receiver() }
6363    }
6364
6365    pub fn r#on_scan_result(
6366        &self,
6367        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
6368    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6369        WlanFullmacImplIfcProxyInterface::r#on_scan_result(self, payload)
6370    }
6371
6372    pub fn r#on_scan_end(
6373        &self,
6374        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
6375    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6376        WlanFullmacImplIfcProxyInterface::r#on_scan_end(self, payload)
6377    }
6378
6379    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
6380    /// and results are available.
6381    pub fn r#on_scheduled_scan_matches_available(
6382        &self,
6383        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
6384    ) -> Result<(), fidl::Error> {
6385        WlanFullmacImplIfcProxyInterface::r#on_scheduled_scan_matches_available(self, payload)
6386    }
6387
6388    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
6389    pub fn r#on_scheduled_scan_stopped_by_firmware(
6390        &self,
6391        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
6392    ) -> Result<(), fidl::Error> {
6393        WlanFullmacImplIfcProxyInterface::r#on_scheduled_scan_stopped_by_firmware(self, payload)
6394    }
6395
6396    pub fn r#connect_conf(
6397        &self,
6398        mut payload: &WlanFullmacImplIfcConnectConfRequest,
6399    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6400        WlanFullmacImplIfcProxyInterface::r#connect_conf(self, payload)
6401    }
6402
6403    /// Report the result of an MLME-initiated roam attempt.
6404    pub fn r#roam_conf(
6405        &self,
6406        mut payload: &WlanFullmacImplIfcRoamConfRequest,
6407    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6408        WlanFullmacImplIfcProxyInterface::r#roam_conf(self, payload)
6409    }
6410
6411    /// Report that a fullmac-initiated roam attempt is in progress.
6412    /// Fullmac must send this start indication for all roam attempts.
6413    pub fn r#roam_start_ind(
6414        &self,
6415        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
6416    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6417        WlanFullmacImplIfcProxyInterface::r#roam_start_ind(self, payload)
6418    }
6419
6420    /// Report the result of a fullmac-initiated roam attempt.
6421    pub fn r#roam_result_ind(
6422        &self,
6423        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
6424    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6425        WlanFullmacImplIfcProxyInterface::r#roam_result_ind(self, payload)
6426    }
6427
6428    pub fn r#auth_ind(
6429        &self,
6430        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6431    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6432        WlanFullmacImplIfcProxyInterface::r#auth_ind(self, payload)
6433    }
6434
6435    pub fn r#deauth_conf(
6436        &self,
6437        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6438    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6439        WlanFullmacImplIfcProxyInterface::r#deauth_conf(self, payload)
6440    }
6441
6442    /// Report that the driver deauthenticated.
6443    pub fn r#deauth_ind(
6444        &self,
6445        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6446    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6447        WlanFullmacImplIfcProxyInterface::r#deauth_ind(self, payload)
6448    }
6449
6450    pub fn r#assoc_ind(
6451        &self,
6452        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6453    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6454        WlanFullmacImplIfcProxyInterface::r#assoc_ind(self, payload)
6455    }
6456
6457    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
6458    pub fn r#disassoc_conf(
6459        &self,
6460        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6461    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6462        WlanFullmacImplIfcProxyInterface::r#disassoc_conf(self, payload)
6463    }
6464
6465    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
6466    pub fn r#disassoc_ind(
6467        &self,
6468        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6469    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6470        WlanFullmacImplIfcProxyInterface::r#disassoc_ind(self, payload)
6471    }
6472
6473    /// Report the result of a WlanFullmacImpl::StartBss request.
6474    pub fn r#start_conf(
6475        &self,
6476        mut payload: &WlanFullmacImplIfcStartConfRequest,
6477    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6478        WlanFullmacImplIfcProxyInterface::r#start_conf(self, payload)
6479    }
6480
6481    /// Report the result of a WlanFullmacImpl::StopBss request.
6482    pub fn r#stop_conf(
6483        &self,
6484        mut payload: &WlanFullmacImplIfcStopConfRequest,
6485    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6486        WlanFullmacImplIfcProxyInterface::r#stop_conf(self, payload)
6487    }
6488
6489    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
6490    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
6491    pub fn r#eapol_conf(
6492        &self,
6493        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6494    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6495        WlanFullmacImplIfcProxyInterface::r#eapol_conf(self, payload)
6496    }
6497
6498    pub fn r#on_channel_switch(
6499        &self,
6500        mut ind: &WlanFullmacChannelSwitchInfo,
6501    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6502        WlanFullmacImplIfcProxyInterface::r#on_channel_switch(self, ind)
6503    }
6504
6505    pub fn r#signal_report(
6506        &self,
6507        mut ind: &WlanFullmacSignalReportIndication,
6508    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6509        WlanFullmacImplIfcProxyInterface::r#signal_report(self, ind)
6510    }
6511
6512    /// Report that an EAPoL frame was received.
6513    pub fn r#eapol_ind(
6514        &self,
6515        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6516    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6517        WlanFullmacImplIfcProxyInterface::r#eapol_ind(self, payload)
6518    }
6519
6520    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
6521    pub fn r#on_pmk_available(
6522        &self,
6523        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
6524    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6525        WlanFullmacImplIfcProxyInterface::r#on_pmk_available(self, payload)
6526    }
6527
6528    pub fn r#sae_handshake_ind(
6529        &self,
6530        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
6531    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6532        WlanFullmacImplIfcProxyInterface::r#sae_handshake_ind(self, payload)
6533    }
6534
6535    /// Receive an SAE authentication frame.
6536    pub fn r#sae_frame_rx(
6537        &self,
6538        mut frame: &SaeFrame,
6539    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6540        WlanFullmacImplIfcProxyInterface::r#sae_frame_rx(self, frame)
6541    }
6542
6543    pub fn r#on_wmm_status_resp(
6544        &self,
6545        mut status: i32,
6546        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
6547    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6548        WlanFullmacImplIfcProxyInterface::r#on_wmm_status_resp(self, status, wmm_params)
6549    }
6550}
6551
6552impl WlanFullmacImplIfcProxyInterface for WlanFullmacImplIfcProxy {
6553    type OnScanResultResponseFut =
6554        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6555    fn r#on_scan_result(
6556        &self,
6557        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
6558    ) -> Self::OnScanResultResponseFut {
6559        fn _decode(
6560            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6561        ) -> Result<(), fidl::Error> {
6562            let _response = fidl::client::decode_transaction_body::<
6563                fidl::encoding::EmptyPayload,
6564                fidl::encoding::DefaultFuchsiaResourceDialect,
6565                0x29aa81dc570f7a3e,
6566            >(_buf?)?;
6567            Ok(_response)
6568        }
6569        self.client.send_query_and_decode::<WlanFullmacImplIfcOnScanResultRequest, ()>(
6570            payload,
6571            0x29aa81dc570f7a3e,
6572            fidl::encoding::DynamicFlags::empty(),
6573            _decode,
6574        )
6575    }
6576
6577    type OnScanEndResponseFut =
6578        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6579    fn r#on_scan_end(
6580        &self,
6581        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
6582    ) -> Self::OnScanEndResponseFut {
6583        fn _decode(
6584            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6585        ) -> Result<(), fidl::Error> {
6586            let _response = fidl::client::decode_transaction_body::<
6587                fidl::encoding::EmptyPayload,
6588                fidl::encoding::DefaultFuchsiaResourceDialect,
6589                0x7cd8aff80d27073c,
6590            >(_buf?)?;
6591            Ok(_response)
6592        }
6593        self.client.send_query_and_decode::<WlanFullmacImplIfcOnScanEndRequest, ()>(
6594            payload,
6595            0x7cd8aff80d27073c,
6596            fidl::encoding::DynamicFlags::empty(),
6597            _decode,
6598        )
6599    }
6600
6601    fn r#on_scheduled_scan_matches_available(
6602        &self,
6603        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
6604    ) -> Result<(), fidl::Error> {
6605        self.client.send::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(
6606            payload,
6607            0x3036cd8b8b35e81b,
6608            fidl::encoding::DynamicFlags::empty(),
6609        )
6610    }
6611
6612    fn r#on_scheduled_scan_stopped_by_firmware(
6613        &self,
6614        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
6615    ) -> Result<(), fidl::Error> {
6616        self.client.send::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(
6617            payload,
6618            0x50353be2c3029817,
6619            fidl::encoding::DynamicFlags::empty(),
6620        )
6621    }
6622
6623    type ConnectConfResponseFut =
6624        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6625    fn r#connect_conf(
6626        &self,
6627        mut payload: &WlanFullmacImplIfcConnectConfRequest,
6628    ) -> Self::ConnectConfResponseFut {
6629        fn _decode(
6630            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6631        ) -> Result<(), fidl::Error> {
6632            let _response = fidl::client::decode_transaction_body::<
6633                fidl::encoding::EmptyPayload,
6634                fidl::encoding::DefaultFuchsiaResourceDialect,
6635                0x3c22c6d80b2a2759,
6636            >(_buf?)?;
6637            Ok(_response)
6638        }
6639        self.client.send_query_and_decode::<WlanFullmacImplIfcConnectConfRequest, ()>(
6640            payload,
6641            0x3c22c6d80b2a2759,
6642            fidl::encoding::DynamicFlags::empty(),
6643            _decode,
6644        )
6645    }
6646
6647    type RoamConfResponseFut =
6648        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6649    fn r#roam_conf(
6650        &self,
6651        mut payload: &WlanFullmacImplIfcRoamConfRequest,
6652    ) -> Self::RoamConfResponseFut {
6653        fn _decode(
6654            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6655        ) -> Result<(), fidl::Error> {
6656            let _response = fidl::client::decode_transaction_body::<
6657                fidl::encoding::EmptyPayload,
6658                fidl::encoding::DefaultFuchsiaResourceDialect,
6659                0x368b2a5b903b3f7b,
6660            >(_buf?)?;
6661            Ok(_response)
6662        }
6663        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamConfRequest, ()>(
6664            payload,
6665            0x368b2a5b903b3f7b,
6666            fidl::encoding::DynamicFlags::empty(),
6667            _decode,
6668        )
6669    }
6670
6671    type RoamStartIndResponseFut =
6672        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6673    fn r#roam_start_ind(
6674        &self,
6675        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
6676    ) -> Self::RoamStartIndResponseFut {
6677        fn _decode(
6678            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6679        ) -> Result<(), fidl::Error> {
6680            let _response = fidl::client::decode_transaction_body::<
6681                fidl::encoding::EmptyPayload,
6682                fidl::encoding::DefaultFuchsiaResourceDialect,
6683                0x23e1d9368935e7e4,
6684            >(_buf?)?;
6685            Ok(_response)
6686        }
6687        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamStartIndRequest, ()>(
6688            payload,
6689            0x23e1d9368935e7e4,
6690            fidl::encoding::DynamicFlags::empty(),
6691            _decode,
6692        )
6693    }
6694
6695    type RoamResultIndResponseFut =
6696        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6697    fn r#roam_result_ind(
6698        &self,
6699        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
6700    ) -> Self::RoamResultIndResponseFut {
6701        fn _decode(
6702            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6703        ) -> Result<(), fidl::Error> {
6704            let _response = fidl::client::decode_transaction_body::<
6705                fidl::encoding::EmptyPayload,
6706                fidl::encoding::DefaultFuchsiaResourceDialect,
6707                0x7081c1b1ceea4914,
6708            >(_buf?)?;
6709            Ok(_response)
6710        }
6711        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamResultIndRequest, ()>(
6712            payload,
6713            0x7081c1b1ceea4914,
6714            fidl::encoding::DynamicFlags::empty(),
6715            _decode,
6716        )
6717    }
6718
6719    type AuthIndResponseFut =
6720        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6721    fn r#auth_ind(
6722        &self,
6723        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6724    ) -> Self::AuthIndResponseFut {
6725        fn _decode(
6726            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6727        ) -> Result<(), fidl::Error> {
6728            let _response = fidl::client::decode_transaction_body::<
6729                fidl::encoding::EmptyPayload,
6730                fidl::encoding::DefaultFuchsiaResourceDialect,
6731                0x270e1f8889650d0b,
6732            >(_buf?)?;
6733            Ok(_response)
6734        }
6735        self.client.send_query_and_decode::<WlanFullmacImplIfcAuthIndRequest, ()>(
6736            payload,
6737            0x270e1f8889650d0b,
6738            fidl::encoding::DynamicFlags::empty(),
6739            _decode,
6740        )
6741    }
6742
6743    type DeauthConfResponseFut =
6744        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6745    fn r#deauth_conf(
6746        &self,
6747        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6748    ) -> Self::DeauthConfResponseFut {
6749        fn _decode(
6750            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6751        ) -> Result<(), fidl::Error> {
6752            let _response = fidl::client::decode_transaction_body::<
6753                fidl::encoding::EmptyPayload,
6754                fidl::encoding::DefaultFuchsiaResourceDialect,
6755                0x2c94b0d7258111b7,
6756            >(_buf?)?;
6757            Ok(_response)
6758        }
6759        self.client.send_query_and_decode::<WlanFullmacImplIfcDeauthConfRequest, ()>(
6760            payload,
6761            0x2c94b0d7258111b7,
6762            fidl::encoding::DynamicFlags::empty(),
6763            _decode,
6764        )
6765    }
6766
6767    type DeauthIndResponseFut =
6768        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6769    fn r#deauth_ind(
6770        &self,
6771        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6772    ) -> Self::DeauthIndResponseFut {
6773        fn _decode(
6774            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6775        ) -> Result<(), fidl::Error> {
6776            let _response = fidl::client::decode_transaction_body::<
6777                fidl::encoding::EmptyPayload,
6778                fidl::encoding::DefaultFuchsiaResourceDialect,
6779                0x26cd27cdadd8dbaf,
6780            >(_buf?)?;
6781            Ok(_response)
6782        }
6783        self.client.send_query_and_decode::<WlanFullmacImplIfcDeauthIndRequest, ()>(
6784            payload,
6785            0x26cd27cdadd8dbaf,
6786            fidl::encoding::DynamicFlags::empty(),
6787            _decode,
6788        )
6789    }
6790
6791    type AssocIndResponseFut =
6792        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6793    fn r#assoc_ind(
6794        &self,
6795        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6796    ) -> Self::AssocIndResponseFut {
6797        fn _decode(
6798            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6799        ) -> Result<(), fidl::Error> {
6800            let _response = fidl::client::decode_transaction_body::<
6801                fidl::encoding::EmptyPayload,
6802                fidl::encoding::DefaultFuchsiaResourceDialect,
6803                0x3e44529e3dc179ce,
6804            >(_buf?)?;
6805            Ok(_response)
6806        }
6807        self.client.send_query_and_decode::<WlanFullmacImplIfcAssocIndRequest, ()>(
6808            payload,
6809            0x3e44529e3dc179ce,
6810            fidl::encoding::DynamicFlags::empty(),
6811            _decode,
6812        )
6813    }
6814
6815    type DisassocConfResponseFut =
6816        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6817    fn r#disassoc_conf(
6818        &self,
6819        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6820    ) -> Self::DisassocConfResponseFut {
6821        fn _decode(
6822            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6823        ) -> Result<(), fidl::Error> {
6824            let _response = fidl::client::decode_transaction_body::<
6825                fidl::encoding::EmptyPayload,
6826                fidl::encoding::DefaultFuchsiaResourceDialect,
6827                0x7c713bcd58a76cb3,
6828            >(_buf?)?;
6829            Ok(_response)
6830        }
6831        self.client.send_query_and_decode::<WlanFullmacImplIfcDisassocConfRequest, ()>(
6832            payload,
6833            0x7c713bcd58a76cb3,
6834            fidl::encoding::DynamicFlags::empty(),
6835            _decode,
6836        )
6837    }
6838
6839    type DisassocIndResponseFut =
6840        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6841    fn r#disassoc_ind(
6842        &self,
6843        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6844    ) -> Self::DisassocIndResponseFut {
6845        fn _decode(
6846            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6847        ) -> Result<(), fidl::Error> {
6848            let _response = fidl::client::decode_transaction_body::<
6849                fidl::encoding::EmptyPayload,
6850                fidl::encoding::DefaultFuchsiaResourceDialect,
6851                0x6667b381b7f3990f,
6852            >(_buf?)?;
6853            Ok(_response)
6854        }
6855        self.client.send_query_and_decode::<WlanFullmacImplIfcDisassocIndRequest, ()>(
6856            payload,
6857            0x6667b381b7f3990f,
6858            fidl::encoding::DynamicFlags::empty(),
6859            _decode,
6860        )
6861    }
6862
6863    type StartConfResponseFut =
6864        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6865    fn r#start_conf(
6866        &self,
6867        mut payload: &WlanFullmacImplIfcStartConfRequest,
6868    ) -> Self::StartConfResponseFut {
6869        fn _decode(
6870            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6871        ) -> Result<(), fidl::Error> {
6872            let _response = fidl::client::decode_transaction_body::<
6873                fidl::encoding::EmptyPayload,
6874                fidl::encoding::DefaultFuchsiaResourceDialect,
6875                0x3e9b9641f3ddc7fc,
6876            >(_buf?)?;
6877            Ok(_response)
6878        }
6879        self.client.send_query_and_decode::<WlanFullmacImplIfcStartConfRequest, ()>(
6880            payload,
6881            0x3e9b9641f3ddc7fc,
6882            fidl::encoding::DynamicFlags::empty(),
6883            _decode,
6884        )
6885    }
6886
6887    type StopConfResponseFut =
6888        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6889    fn r#stop_conf(
6890        &self,
6891        mut payload: &WlanFullmacImplIfcStopConfRequest,
6892    ) -> Self::StopConfResponseFut {
6893        fn _decode(
6894            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6895        ) -> Result<(), fidl::Error> {
6896            let _response = fidl::client::decode_transaction_body::<
6897                fidl::encoding::EmptyPayload,
6898                fidl::encoding::DefaultFuchsiaResourceDialect,
6899                0x320a5ff227a4e9df,
6900            >(_buf?)?;
6901            Ok(_response)
6902        }
6903        self.client.send_query_and_decode::<WlanFullmacImplIfcStopConfRequest, ()>(
6904            payload,
6905            0x320a5ff227a4e9df,
6906            fidl::encoding::DynamicFlags::empty(),
6907            _decode,
6908        )
6909    }
6910
6911    type EapolConfResponseFut =
6912        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6913    fn r#eapol_conf(
6914        &self,
6915        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6916    ) -> Self::EapolConfResponseFut {
6917        fn _decode(
6918            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6919        ) -> Result<(), fidl::Error> {
6920            let _response = fidl::client::decode_transaction_body::<
6921                fidl::encoding::EmptyPayload,
6922                fidl::encoding::DefaultFuchsiaResourceDialect,
6923                0x77364db9cc3970ec,
6924            >(_buf?)?;
6925            Ok(_response)
6926        }
6927        self.client.send_query_and_decode::<WlanFullmacImplIfcEapolConfRequest, ()>(
6928            payload,
6929            0x77364db9cc3970ec,
6930            fidl::encoding::DynamicFlags::empty(),
6931            _decode,
6932        )
6933    }
6934
6935    type OnChannelSwitchResponseFut =
6936        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6937    fn r#on_channel_switch(
6938        &self,
6939        mut ind: &WlanFullmacChannelSwitchInfo,
6940    ) -> Self::OnChannelSwitchResponseFut {
6941        fn _decode(
6942            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6943        ) -> Result<(), fidl::Error> {
6944            let _response = fidl::client::decode_transaction_body::<
6945                fidl::encoding::EmptyPayload,
6946                fidl::encoding::DefaultFuchsiaResourceDialect,
6947                0x21db0b8f71cae647,
6948            >(_buf?)?;
6949            Ok(_response)
6950        }
6951        self.client.send_query_and_decode::<WlanFullmacImplIfcOnChannelSwitchRequest, ()>(
6952            (ind,),
6953            0x21db0b8f71cae647,
6954            fidl::encoding::DynamicFlags::empty(),
6955            _decode,
6956        )
6957    }
6958
6959    type SignalReportResponseFut =
6960        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6961    fn r#signal_report(
6962        &self,
6963        mut ind: &WlanFullmacSignalReportIndication,
6964    ) -> Self::SignalReportResponseFut {
6965        fn _decode(
6966            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6967        ) -> Result<(), fidl::Error> {
6968            let _response = fidl::client::decode_transaction_body::<
6969                fidl::encoding::EmptyPayload,
6970                fidl::encoding::DefaultFuchsiaResourceDialect,
6971                0x79679fa8789c3d9f,
6972            >(_buf?)?;
6973            Ok(_response)
6974        }
6975        self.client.send_query_and_decode::<WlanFullmacImplIfcSignalReportRequest, ()>(
6976            (ind,),
6977            0x79679fa8789c3d9f,
6978            fidl::encoding::DynamicFlags::empty(),
6979            _decode,
6980        )
6981    }
6982
6983    type EapolIndResponseFut =
6984        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6985    fn r#eapol_ind(
6986        &self,
6987        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6988    ) -> Self::EapolIndResponseFut {
6989        fn _decode(
6990            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6991        ) -> Result<(), fidl::Error> {
6992            let _response = fidl::client::decode_transaction_body::<
6993                fidl::encoding::EmptyPayload,
6994                fidl::encoding::DefaultFuchsiaResourceDialect,
6995                0x3de8ec1eda10d1d0,
6996            >(_buf?)?;
6997            Ok(_response)
6998        }
6999        self.client.send_query_and_decode::<WlanFullmacImplIfcEapolIndRequest, ()>(
7000            payload,
7001            0x3de8ec1eda10d1d0,
7002            fidl::encoding::DynamicFlags::empty(),
7003            _decode,
7004        )
7005    }
7006
7007    type OnPmkAvailableResponseFut =
7008        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7009    fn r#on_pmk_available(
7010        &self,
7011        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
7012    ) -> Self::OnPmkAvailableResponseFut {
7013        fn _decode(
7014            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7015        ) -> Result<(), fidl::Error> {
7016            let _response = fidl::client::decode_transaction_body::<
7017                fidl::encoding::EmptyPayload,
7018                fidl::encoding::DefaultFuchsiaResourceDialect,
7019                0x5cedd8d9be28a17e,
7020            >(_buf?)?;
7021            Ok(_response)
7022        }
7023        self.client.send_query_and_decode::<WlanFullmacImplIfcOnPmkAvailableRequest, ()>(
7024            payload,
7025            0x5cedd8d9be28a17e,
7026            fidl::encoding::DynamicFlags::empty(),
7027            _decode,
7028        )
7029    }
7030
7031    type SaeHandshakeIndResponseFut =
7032        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7033    fn r#sae_handshake_ind(
7034        &self,
7035        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
7036    ) -> Self::SaeHandshakeIndResponseFut {
7037        fn _decode(
7038            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7039        ) -> Result<(), fidl::Error> {
7040            let _response = fidl::client::decode_transaction_body::<
7041                fidl::encoding::EmptyPayload,
7042                fidl::encoding::DefaultFuchsiaResourceDialect,
7043                0x4f3d53885503a1d8,
7044            >(_buf?)?;
7045            Ok(_response)
7046        }
7047        self.client.send_query_and_decode::<WlanFullmacImplIfcSaeHandshakeIndRequest, ()>(
7048            payload,
7049            0x4f3d53885503a1d8,
7050            fidl::encoding::DynamicFlags::empty(),
7051            _decode,
7052        )
7053    }
7054
7055    type SaeFrameRxResponseFut =
7056        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7057    fn r#sae_frame_rx(&self, mut frame: &SaeFrame) -> Self::SaeFrameRxResponseFut {
7058        fn _decode(
7059            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7060        ) -> Result<(), fidl::Error> {
7061            let _response = fidl::client::decode_transaction_body::<
7062                fidl::encoding::EmptyPayload,
7063                fidl::encoding::DefaultFuchsiaResourceDialect,
7064                0x51650906857ed4d4,
7065            >(_buf?)?;
7066            Ok(_response)
7067        }
7068        self.client.send_query_and_decode::<WlanFullmacImplIfcSaeFrameRxRequest, ()>(
7069            (frame,),
7070            0x51650906857ed4d4,
7071            fidl::encoding::DynamicFlags::empty(),
7072            _decode,
7073        )
7074    }
7075
7076    type OnWmmStatusRespResponseFut =
7077        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7078    fn r#on_wmm_status_resp(
7079        &self,
7080        mut status: i32,
7081        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
7082    ) -> Self::OnWmmStatusRespResponseFut {
7083        fn _decode(
7084            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7085        ) -> Result<(), fidl::Error> {
7086            let _response = fidl::client::decode_transaction_body::<
7087                fidl::encoding::EmptyPayload,
7088                fidl::encoding::DefaultFuchsiaResourceDialect,
7089                0x6823a88bf3ba8b2a,
7090            >(_buf?)?;
7091            Ok(_response)
7092        }
7093        self.client.send_query_and_decode::<WlanFullmacImplIfcOnWmmStatusRespRequest, ()>(
7094            (status, wmm_params),
7095            0x6823a88bf3ba8b2a,
7096            fidl::encoding::DynamicFlags::empty(),
7097            _decode,
7098        )
7099    }
7100}
7101
7102pub struct WlanFullmacImplIfcEventStream {
7103    event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
7104}
7105
7106impl std::marker::Unpin for WlanFullmacImplIfcEventStream {}
7107
7108impl futures::stream::FusedStream for WlanFullmacImplIfcEventStream {
7109    fn is_terminated(&self) -> bool {
7110        self.event_receiver.is_terminated()
7111    }
7112}
7113
7114impl futures::Stream for WlanFullmacImplIfcEventStream {
7115    type Item = Result<WlanFullmacImplIfcEvent, fidl::Error>;
7116
7117    fn poll_next(
7118        mut self: std::pin::Pin<&mut Self>,
7119        cx: &mut std::task::Context<'_>,
7120    ) -> std::task::Poll<Option<Self::Item>> {
7121        match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
7122            &mut self.event_receiver,
7123            cx
7124        )?) {
7125            Some(buf) => std::task::Poll::Ready(Some(WlanFullmacImplIfcEvent::decode(buf))),
7126            None => std::task::Poll::Ready(None),
7127        }
7128    }
7129}
7130
7131#[derive(Debug)]
7132pub enum WlanFullmacImplIfcEvent {}
7133
7134impl WlanFullmacImplIfcEvent {
7135    /// Decodes a message buffer as a [`WlanFullmacImplIfcEvent`].
7136    fn decode(
7137        mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
7138    ) -> Result<WlanFullmacImplIfcEvent, fidl::Error> {
7139        let (bytes, _handles) = buf.split_mut();
7140        let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7141        debug_assert_eq!(tx_header.tx_id, 0);
7142        match tx_header.ordinal {
7143            _ => Err(fidl::Error::UnknownOrdinal {
7144                ordinal: tx_header.ordinal,
7145                protocol_name:
7146                    <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7147            }),
7148        }
7149    }
7150}
7151
7152/// A Stream of incoming requests for fuchsia.wlan.fullmac/WlanFullmacImplIfc.
7153pub struct WlanFullmacImplIfcRequestStream {
7154    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7155    is_terminated: bool,
7156}
7157
7158impl std::marker::Unpin for WlanFullmacImplIfcRequestStream {}
7159
7160impl futures::stream::FusedStream for WlanFullmacImplIfcRequestStream {
7161    fn is_terminated(&self) -> bool {
7162        self.is_terminated
7163    }
7164}
7165
7166impl fidl::endpoints::RequestStream for WlanFullmacImplIfcRequestStream {
7167    type Protocol = WlanFullmacImplIfcMarker;
7168    type ControlHandle = WlanFullmacImplIfcControlHandle;
7169
7170    fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
7171        Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
7172    }
7173
7174    fn control_handle(&self) -> Self::ControlHandle {
7175        WlanFullmacImplIfcControlHandle { inner: self.inner.clone() }
7176    }
7177
7178    fn into_inner(
7179        self,
7180    ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
7181    {
7182        (self.inner, self.is_terminated)
7183    }
7184
7185    fn from_inner(
7186        inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7187        is_terminated: bool,
7188    ) -> Self {
7189        Self { inner, is_terminated }
7190    }
7191}
7192
7193impl futures::Stream for WlanFullmacImplIfcRequestStream {
7194    type Item = Result<WlanFullmacImplIfcRequest, fidl::Error>;
7195
7196    fn poll_next(
7197        mut self: std::pin::Pin<&mut Self>,
7198        cx: &mut std::task::Context<'_>,
7199    ) -> std::task::Poll<Option<Self::Item>> {
7200        let this = &mut *self;
7201        if this.inner.check_shutdown(cx) {
7202            this.is_terminated = true;
7203            return std::task::Poll::Ready(None);
7204        }
7205        if this.is_terminated {
7206            panic!("polled WlanFullmacImplIfcRequestStream after completion");
7207        }
7208        fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
7209            |bytes, handles| {
7210                match this.inner.channel().read_etc(cx, bytes, handles) {
7211                    std::task::Poll::Ready(Ok(())) => {}
7212                    std::task::Poll::Pending => return std::task::Poll::Pending,
7213                    std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
7214                        this.is_terminated = true;
7215                        return std::task::Poll::Ready(None);
7216                    }
7217                    std::task::Poll::Ready(Err(e)) => {
7218                        return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
7219                            e.into(),
7220                        ))));
7221                    }
7222                }
7223
7224                // A message has been received from the channel
7225                let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7226
7227                std::task::Poll::Ready(Some(match header.ordinal {
7228                0x29aa81dc570f7a3e => {
7229                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7230                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScanResultRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7231                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScanResultRequest>(&header, _body_bytes, handles, &mut req)?;
7232                    let control_handle = WlanFullmacImplIfcControlHandle {
7233                        inner: this.inner.clone(),
7234                    };
7235                    Ok(WlanFullmacImplIfcRequest::OnScanResult {payload: req,
7236                        responder: WlanFullmacImplIfcOnScanResultResponder {
7237                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7238                            tx_id: header.tx_id,
7239                        },
7240                    })
7241                }
7242                0x7cd8aff80d27073c => {
7243                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7244                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScanEndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7245                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScanEndRequest>(&header, _body_bytes, handles, &mut req)?;
7246                    let control_handle = WlanFullmacImplIfcControlHandle {
7247                        inner: this.inner.clone(),
7248                    };
7249                    Ok(WlanFullmacImplIfcRequest::OnScanEnd {payload: req,
7250                        responder: WlanFullmacImplIfcOnScanEndResponder {
7251                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7252                            tx_id: header.tx_id,
7253                        },
7254                    })
7255                }
7256                0x3036cd8b8b35e81b => {
7257                    header.validate_request_tx_id(fidl::MethodType::OneWay)?;
7258                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7259                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(&header, _body_bytes, handles, &mut req)?;
7260                    let control_handle = WlanFullmacImplIfcControlHandle {
7261                        inner: this.inner.clone(),
7262                    };
7263                    Ok(WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable {payload: req,
7264                        control_handle,
7265                    })
7266                }
7267                0x50353be2c3029817 => {
7268                    header.validate_request_tx_id(fidl::MethodType::OneWay)?;
7269                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7270                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(&header, _body_bytes, handles, &mut req)?;
7271                    let control_handle = WlanFullmacImplIfcControlHandle {
7272                        inner: this.inner.clone(),
7273                    };
7274                    Ok(WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware {payload: req,
7275                        control_handle,
7276                    })
7277                }
7278                0x3c22c6d80b2a2759 => {
7279                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7280                    let mut req = fidl::new_empty!(WlanFullmacImplIfcConnectConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7281                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcConnectConfRequest>(&header, _body_bytes, handles, &mut req)?;
7282                    let control_handle = WlanFullmacImplIfcControlHandle {
7283                        inner: this.inner.clone(),
7284                    };
7285                    Ok(WlanFullmacImplIfcRequest::ConnectConf {payload: req,
7286                        responder: WlanFullmacImplIfcConnectConfResponder {
7287                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7288                            tx_id: header.tx_id,
7289                        },
7290                    })
7291                }
7292                0x368b2a5b903b3f7b => {
7293                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7294                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7295                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamConfRequest>(&header, _body_bytes, handles, &mut req)?;
7296                    let control_handle = WlanFullmacImplIfcControlHandle {
7297                        inner: this.inner.clone(),
7298                    };
7299                    Ok(WlanFullmacImplIfcRequest::RoamConf {payload: req,
7300                        responder: WlanFullmacImplIfcRoamConfResponder {
7301                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7302                            tx_id: header.tx_id,
7303                        },
7304                    })
7305                }
7306                0x23e1d9368935e7e4 => {
7307                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7308                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamStartIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7309                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamStartIndRequest>(&header, _body_bytes, handles, &mut req)?;
7310                    let control_handle = WlanFullmacImplIfcControlHandle {
7311                        inner: this.inner.clone(),
7312                    };
7313                    Ok(WlanFullmacImplIfcRequest::RoamStartInd {payload: req,
7314                        responder: WlanFullmacImplIfcRoamStartIndResponder {
7315                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7316                            tx_id: header.tx_id,
7317                        },
7318                    })
7319                }
7320                0x7081c1b1ceea4914 => {
7321                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7322                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamResultIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7323                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamResultIndRequest>(&header, _body_bytes, handles, &mut req)?;
7324                    let control_handle = WlanFullmacImplIfcControlHandle {
7325                        inner: this.inner.clone(),
7326                    };
7327                    Ok(WlanFullmacImplIfcRequest::RoamResultInd {payload: req,
7328                        responder: WlanFullmacImplIfcRoamResultIndResponder {
7329                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7330                            tx_id: header.tx_id,
7331                        },
7332                    })
7333                }
7334                0x270e1f8889650d0b => {
7335                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7336                    let mut req = fidl::new_empty!(WlanFullmacImplIfcAuthIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7337                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcAuthIndRequest>(&header, _body_bytes, handles, &mut req)?;
7338                    let control_handle = WlanFullmacImplIfcControlHandle {
7339                        inner: this.inner.clone(),
7340                    };
7341                    Ok(WlanFullmacImplIfcRequest::AuthInd {payload: req,
7342                        responder: WlanFullmacImplIfcAuthIndResponder {
7343                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7344                            tx_id: header.tx_id,
7345                        },
7346                    })
7347                }
7348                0x2c94b0d7258111b7 => {
7349                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7350                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDeauthConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7351                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDeauthConfRequest>(&header, _body_bytes, handles, &mut req)?;
7352                    let control_handle = WlanFullmacImplIfcControlHandle {
7353                        inner: this.inner.clone(),
7354                    };
7355                    Ok(WlanFullmacImplIfcRequest::DeauthConf {payload: req,
7356                        responder: WlanFullmacImplIfcDeauthConfResponder {
7357                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7358                            tx_id: header.tx_id,
7359                        },
7360                    })
7361                }
7362                0x26cd27cdadd8dbaf => {
7363                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7364                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDeauthIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7365                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDeauthIndRequest>(&header, _body_bytes, handles, &mut req)?;
7366                    let control_handle = WlanFullmacImplIfcControlHandle {
7367                        inner: this.inner.clone(),
7368                    };
7369                    Ok(WlanFullmacImplIfcRequest::DeauthInd {payload: req,
7370                        responder: WlanFullmacImplIfcDeauthIndResponder {
7371                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7372                            tx_id: header.tx_id,
7373                        },
7374                    })
7375                }
7376                0x3e44529e3dc179ce => {
7377                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7378                    let mut req = fidl::new_empty!(WlanFullmacImplIfcAssocIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7379                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcAssocIndRequest>(&header, _body_bytes, handles, &mut req)?;
7380                    let control_handle = WlanFullmacImplIfcControlHandle {
7381                        inner: this.inner.clone(),
7382                    };
7383                    Ok(WlanFullmacImplIfcRequest::AssocInd {payload: req,
7384                        responder: WlanFullmacImplIfcAssocIndResponder {
7385                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7386                            tx_id: header.tx_id,
7387                        },
7388                    })
7389                }
7390                0x7c713bcd58a76cb3 => {
7391                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7392                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDisassocConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7393                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDisassocConfRequest>(&header, _body_bytes, handles, &mut req)?;
7394                    let control_handle = WlanFullmacImplIfcControlHandle {
7395                        inner: this.inner.clone(),
7396                    };
7397                    Ok(WlanFullmacImplIfcRequest::DisassocConf {payload: req,
7398                        responder: WlanFullmacImplIfcDisassocConfResponder {
7399                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7400                            tx_id: header.tx_id,
7401                        },
7402                    })
7403                }
7404                0x6667b381b7f3990f => {
7405                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7406                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDisassocIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7407                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDisassocIndRequest>(&header, _body_bytes, handles, &mut req)?;
7408                    let control_handle = WlanFullmacImplIfcControlHandle {
7409                        inner: this.inner.clone(),
7410                    };
7411                    Ok(WlanFullmacImplIfcRequest::DisassocInd {payload: req,
7412                        responder: WlanFullmacImplIfcDisassocIndResponder {
7413                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7414                            tx_id: header.tx_id,
7415                        },
7416                    })
7417                }
7418                0x3e9b9641f3ddc7fc => {
7419                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7420                    let mut req = fidl::new_empty!(WlanFullmacImplIfcStartConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7421                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcStartConfRequest>(&header, _body_bytes, handles, &mut req)?;
7422                    let control_handle = WlanFullmacImplIfcControlHandle {
7423                        inner: this.inner.clone(),
7424                    };
7425                    Ok(WlanFullmacImplIfcRequest::StartConf {payload: req,
7426                        responder: WlanFullmacImplIfcStartConfResponder {
7427                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7428                            tx_id: header.tx_id,
7429                        },
7430                    })
7431                }
7432                0x320a5ff227a4e9df => {
7433                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7434                    let mut req = fidl::new_empty!(WlanFullmacImplIfcStopConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7435                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcStopConfRequest>(&header, _body_bytes, handles, &mut req)?;
7436                    let control_handle = WlanFullmacImplIfcControlHandle {
7437                        inner: this.inner.clone(),
7438                    };
7439                    Ok(WlanFullmacImplIfcRequest::StopConf {payload: req,
7440                        responder: WlanFullmacImplIfcStopConfResponder {
7441                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7442                            tx_id: header.tx_id,
7443                        },
7444                    })
7445                }
7446                0x77364db9cc3970ec => {
7447                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7448                    let mut req = fidl::new_empty!(WlanFullmacImplIfcEapolConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7449                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcEapolConfRequest>(&header, _body_bytes, handles, &mut req)?;
7450                    let control_handle = WlanFullmacImplIfcControlHandle {
7451                        inner: this.inner.clone(),
7452                    };
7453                    Ok(WlanFullmacImplIfcRequest::EapolConf {payload: req,
7454                        responder: WlanFullmacImplIfcEapolConfResponder {
7455                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7456                            tx_id: header.tx_id,
7457                        },
7458                    })
7459                }
7460                0x21db0b8f71cae647 => {
7461                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7462                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnChannelSwitchRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7463                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnChannelSwitchRequest>(&header, _body_bytes, handles, &mut req)?;
7464                    let control_handle = WlanFullmacImplIfcControlHandle {
7465                        inner: this.inner.clone(),
7466                    };
7467                    Ok(WlanFullmacImplIfcRequest::OnChannelSwitch {ind: req.ind,
7468
7469                        responder: WlanFullmacImplIfcOnChannelSwitchResponder {
7470                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7471                            tx_id: header.tx_id,
7472                        },
7473                    })
7474                }
7475                0x79679fa8789c3d9f => {
7476                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7477                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSignalReportRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7478                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSignalReportRequest>(&header, _body_bytes, handles, &mut req)?;
7479                    let control_handle = WlanFullmacImplIfcControlHandle {
7480                        inner: this.inner.clone(),
7481                    };
7482                    Ok(WlanFullmacImplIfcRequest::SignalReport {ind: req.ind,
7483
7484                        responder: WlanFullmacImplIfcSignalReportResponder {
7485                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7486                            tx_id: header.tx_id,
7487                        },
7488                    })
7489                }
7490                0x3de8ec1eda10d1d0 => {
7491                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7492                    let mut req = fidl::new_empty!(WlanFullmacImplIfcEapolIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7493                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcEapolIndRequest>(&header, _body_bytes, handles, &mut req)?;
7494                    let control_handle = WlanFullmacImplIfcControlHandle {
7495                        inner: this.inner.clone(),
7496                    };
7497                    Ok(WlanFullmacImplIfcRequest::EapolInd {payload: req,
7498                        responder: WlanFullmacImplIfcEapolIndResponder {
7499                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7500                            tx_id: header.tx_id,
7501                        },
7502                    })
7503                }
7504                0x5cedd8d9be28a17e => {
7505                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7506                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnPmkAvailableRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7507                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnPmkAvailableRequest>(&header, _body_bytes, handles, &mut req)?;
7508                    let control_handle = WlanFullmacImplIfcControlHandle {
7509                        inner: this.inner.clone(),
7510                    };
7511                    Ok(WlanFullmacImplIfcRequest::OnPmkAvailable {payload: req,
7512                        responder: WlanFullmacImplIfcOnPmkAvailableResponder {
7513                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7514                            tx_id: header.tx_id,
7515                        },
7516                    })
7517                }
7518                0x4f3d53885503a1d8 => {
7519                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7520                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSaeHandshakeIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7521                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSaeHandshakeIndRequest>(&header, _body_bytes, handles, &mut req)?;
7522                    let control_handle = WlanFullmacImplIfcControlHandle {
7523                        inner: this.inner.clone(),
7524                    };
7525                    Ok(WlanFullmacImplIfcRequest::SaeHandshakeInd {payload: req,
7526                        responder: WlanFullmacImplIfcSaeHandshakeIndResponder {
7527                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7528                            tx_id: header.tx_id,
7529                        },
7530                    })
7531                }
7532                0x51650906857ed4d4 => {
7533                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7534                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSaeFrameRxRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7535                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSaeFrameRxRequest>(&header, _body_bytes, handles, &mut req)?;
7536                    let control_handle = WlanFullmacImplIfcControlHandle {
7537                        inner: this.inner.clone(),
7538                    };
7539                    Ok(WlanFullmacImplIfcRequest::SaeFrameRx {frame: req.frame,
7540
7541                        responder: WlanFullmacImplIfcSaeFrameRxResponder {
7542                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7543                            tx_id: header.tx_id,
7544                        },
7545                    })
7546                }
7547                0x6823a88bf3ba8b2a => {
7548                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7549                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnWmmStatusRespRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7550                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnWmmStatusRespRequest>(&header, _body_bytes, handles, &mut req)?;
7551                    let control_handle = WlanFullmacImplIfcControlHandle {
7552                        inner: this.inner.clone(),
7553                    };
7554                    Ok(WlanFullmacImplIfcRequest::OnWmmStatusResp {status: req.status,
7555wmm_params: req.wmm_params,
7556
7557                        responder: WlanFullmacImplIfcOnWmmStatusRespResponder {
7558                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7559                            tx_id: header.tx_id,
7560                        },
7561                    })
7562                }
7563                _ => Err(fidl::Error::UnknownOrdinal {
7564                    ordinal: header.ordinal,
7565                    protocol_name: <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7566                }),
7567            }))
7568            },
7569        )
7570    }
7571}
7572
7573/// Protocol definition for communication from the fullmac vendor driver to the platform.
7574#[derive(Debug)]
7575pub enum WlanFullmacImplIfcRequest {
7576    OnScanResult {
7577        payload: WlanFullmacImplIfcOnScanResultRequest,
7578        responder: WlanFullmacImplIfcOnScanResultResponder,
7579    },
7580    OnScanEnd {
7581        payload: WlanFullmacImplIfcOnScanEndRequest,
7582        responder: WlanFullmacImplIfcOnScanEndResponder,
7583    },
7584    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
7585    /// and results are available.
7586    OnScheduledScanMatchesAvailable {
7587        payload: WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
7588        control_handle: WlanFullmacImplIfcControlHandle,
7589    },
7590    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
7591    OnScheduledScanStoppedByFirmware {
7592        payload: WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
7593        control_handle: WlanFullmacImplIfcControlHandle,
7594    },
7595    ConnectConf {
7596        payload: WlanFullmacImplIfcConnectConfRequest,
7597        responder: WlanFullmacImplIfcConnectConfResponder,
7598    },
7599    /// Report the result of an MLME-initiated roam attempt.
7600    RoamConf {
7601        payload: WlanFullmacImplIfcRoamConfRequest,
7602        responder: WlanFullmacImplIfcRoamConfResponder,
7603    },
7604    /// Report that a fullmac-initiated roam attempt is in progress.
7605    /// Fullmac must send this start indication for all roam attempts.
7606    RoamStartInd {
7607        payload: WlanFullmacImplIfcRoamStartIndRequest,
7608        responder: WlanFullmacImplIfcRoamStartIndResponder,
7609    },
7610    /// Report the result of a fullmac-initiated roam attempt.
7611    RoamResultInd {
7612        payload: WlanFullmacImplIfcRoamResultIndRequest,
7613        responder: WlanFullmacImplIfcRoamResultIndResponder,
7614    },
7615    AuthInd {
7616        payload: WlanFullmacImplIfcAuthIndRequest,
7617        responder: WlanFullmacImplIfcAuthIndResponder,
7618    },
7619    DeauthConf {
7620        payload: WlanFullmacImplIfcDeauthConfRequest,
7621        responder: WlanFullmacImplIfcDeauthConfResponder,
7622    },
7623    /// Report that the driver deauthenticated.
7624    DeauthInd {
7625        payload: WlanFullmacImplIfcDeauthIndRequest,
7626        responder: WlanFullmacImplIfcDeauthIndResponder,
7627    },
7628    AssocInd {
7629        payload: WlanFullmacImplIfcAssocIndRequest,
7630        responder: WlanFullmacImplIfcAssocIndResponder,
7631    },
7632    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
7633    DisassocConf {
7634        payload: WlanFullmacImplIfcDisassocConfRequest,
7635        responder: WlanFullmacImplIfcDisassocConfResponder,
7636    },
7637    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
7638    DisassocInd {
7639        payload: WlanFullmacImplIfcDisassocIndRequest,
7640        responder: WlanFullmacImplIfcDisassocIndResponder,
7641    },
7642    /// Report the result of a WlanFullmacImpl::StartBss request.
7643    StartConf {
7644        payload: WlanFullmacImplIfcStartConfRequest,
7645        responder: WlanFullmacImplIfcStartConfResponder,
7646    },
7647    /// Report the result of a WlanFullmacImpl::StopBss request.
7648    StopConf {
7649        payload: WlanFullmacImplIfcStopConfRequest,
7650        responder: WlanFullmacImplIfcStopConfResponder,
7651    },
7652    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
7653    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
7654    EapolConf {
7655        payload: WlanFullmacImplIfcEapolConfRequest,
7656        responder: WlanFullmacImplIfcEapolConfResponder,
7657    },
7658    OnChannelSwitch {
7659        ind: WlanFullmacChannelSwitchInfo,
7660        responder: WlanFullmacImplIfcOnChannelSwitchResponder,
7661    },
7662    SignalReport {
7663        ind: WlanFullmacSignalReportIndication,
7664        responder: WlanFullmacImplIfcSignalReportResponder,
7665    },
7666    /// Report that an EAPoL frame was received.
7667    EapolInd {
7668        payload: WlanFullmacImplIfcEapolIndRequest,
7669        responder: WlanFullmacImplIfcEapolIndResponder,
7670    },
7671    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
7672    OnPmkAvailable {
7673        payload: WlanFullmacImplIfcOnPmkAvailableRequest,
7674        responder: WlanFullmacImplIfcOnPmkAvailableResponder,
7675    },
7676    SaeHandshakeInd {
7677        payload: WlanFullmacImplIfcSaeHandshakeIndRequest,
7678        responder: WlanFullmacImplIfcSaeHandshakeIndResponder,
7679    },
7680    /// Receive an SAE authentication frame.
7681    SaeFrameRx { frame: SaeFrame, responder: WlanFullmacImplIfcSaeFrameRxResponder },
7682    OnWmmStatusResp {
7683        status: i32,
7684        wmm_params: fidl_fuchsia_wlan_driver::WlanWmmParameters,
7685        responder: WlanFullmacImplIfcOnWmmStatusRespResponder,
7686    },
7687}
7688
7689impl WlanFullmacImplIfcRequest {
7690    #[allow(irrefutable_let_patterns)]
7691    pub fn into_on_scan_result(
7692        self,
7693    ) -> Option<(WlanFullmacImplIfcOnScanResultRequest, WlanFullmacImplIfcOnScanResultResponder)>
7694    {
7695        if let WlanFullmacImplIfcRequest::OnScanResult { payload, responder } = self {
7696            Some((payload, responder))
7697        } else {
7698            None
7699        }
7700    }
7701
7702    #[allow(irrefutable_let_patterns)]
7703    pub fn into_on_scan_end(
7704        self,
7705    ) -> Option<(WlanFullmacImplIfcOnScanEndRequest, WlanFullmacImplIfcOnScanEndResponder)> {
7706        if let WlanFullmacImplIfcRequest::OnScanEnd { payload, responder } = self {
7707            Some((payload, responder))
7708        } else {
7709            None
7710        }
7711    }
7712
7713    #[allow(irrefutable_let_patterns)]
7714    pub fn into_on_scheduled_scan_matches_available(
7715        self,
7716    ) -> Option<(
7717        WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
7718        WlanFullmacImplIfcControlHandle,
7719    )> {
7720        if let WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable {
7721            payload,
7722            control_handle,
7723        } = self
7724        {
7725            Some((payload, control_handle))
7726        } else {
7727            None
7728        }
7729    }
7730
7731    #[allow(irrefutable_let_patterns)]
7732    pub fn into_on_scheduled_scan_stopped_by_firmware(
7733        self,
7734    ) -> Option<(
7735        WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
7736        WlanFullmacImplIfcControlHandle,
7737    )> {
7738        if let WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware {
7739            payload,
7740            control_handle,
7741        } = self
7742        {
7743            Some((payload, control_handle))
7744        } else {
7745            None
7746        }
7747    }
7748
7749    #[allow(irrefutable_let_patterns)]
7750    pub fn into_connect_conf(
7751        self,
7752    ) -> Option<(WlanFullmacImplIfcConnectConfRequest, WlanFullmacImplIfcConnectConfResponder)>
7753    {
7754        if let WlanFullmacImplIfcRequest::ConnectConf { payload, responder } = self {
7755            Some((payload, responder))
7756        } else {
7757            None
7758        }
7759    }
7760
7761    #[allow(irrefutable_let_patterns)]
7762    pub fn into_roam_conf(
7763        self,
7764    ) -> Option<(WlanFullmacImplIfcRoamConfRequest, WlanFullmacImplIfcRoamConfResponder)> {
7765        if let WlanFullmacImplIfcRequest::RoamConf { payload, responder } = self {
7766            Some((payload, responder))
7767        } else {
7768            None
7769        }
7770    }
7771
7772    #[allow(irrefutable_let_patterns)]
7773    pub fn into_roam_start_ind(
7774        self,
7775    ) -> Option<(WlanFullmacImplIfcRoamStartIndRequest, WlanFullmacImplIfcRoamStartIndResponder)>
7776    {
7777        if let WlanFullmacImplIfcRequest::RoamStartInd { payload, responder } = self {
7778            Some((payload, responder))
7779        } else {
7780            None
7781        }
7782    }
7783
7784    #[allow(irrefutable_let_patterns)]
7785    pub fn into_roam_result_ind(
7786        self,
7787    ) -> Option<(WlanFullmacImplIfcRoamResultIndRequest, WlanFullmacImplIfcRoamResultIndResponder)>
7788    {
7789        if let WlanFullmacImplIfcRequest::RoamResultInd { payload, responder } = self {
7790            Some((payload, responder))
7791        } else {
7792            None
7793        }
7794    }
7795
7796    #[allow(irrefutable_let_patterns)]
7797    pub fn into_auth_ind(
7798        self,
7799    ) -> Option<(WlanFullmacImplIfcAuthIndRequest, WlanFullmacImplIfcAuthIndResponder)> {
7800        if let WlanFullmacImplIfcRequest::AuthInd { payload, responder } = self {
7801            Some((payload, responder))
7802        } else {
7803            None
7804        }
7805    }
7806
7807    #[allow(irrefutable_let_patterns)]
7808    pub fn into_deauth_conf(
7809        self,
7810    ) -> Option<(WlanFullmacImplIfcDeauthConfRequest, WlanFullmacImplIfcDeauthConfResponder)> {
7811        if let WlanFullmacImplIfcRequest::DeauthConf { payload, responder } = self {
7812            Some((payload, responder))
7813        } else {
7814            None
7815        }
7816    }
7817
7818    #[allow(irrefutable_let_patterns)]
7819    pub fn into_deauth_ind(
7820        self,
7821    ) -> Option<(WlanFullmacImplIfcDeauthIndRequest, WlanFullmacImplIfcDeauthIndResponder)> {
7822        if let WlanFullmacImplIfcRequest::DeauthInd { payload, responder } = self {
7823            Some((payload, responder))
7824        } else {
7825            None
7826        }
7827    }
7828
7829    #[allow(irrefutable_let_patterns)]
7830    pub fn into_assoc_ind(
7831        self,
7832    ) -> Option<(WlanFullmacImplIfcAssocIndRequest, WlanFullmacImplIfcAssocIndResponder)> {
7833        if let WlanFullmacImplIfcRequest::AssocInd { payload, responder } = self {
7834            Some((payload, responder))
7835        } else {
7836            None
7837        }
7838    }
7839
7840    #[allow(irrefutable_let_patterns)]
7841    pub fn into_disassoc_conf(
7842        self,
7843    ) -> Option<(WlanFullmacImplIfcDisassocConfRequest, WlanFullmacImplIfcDisassocConfResponder)>
7844    {
7845        if let WlanFullmacImplIfcRequest::DisassocConf { payload, responder } = self {
7846            Some((payload, responder))
7847        } else {
7848            None
7849        }
7850    }
7851
7852    #[allow(irrefutable_let_patterns)]
7853    pub fn into_disassoc_ind(
7854        self,
7855    ) -> Option<(WlanFullmacImplIfcDisassocIndRequest, WlanFullmacImplIfcDisassocIndResponder)>
7856    {
7857        if let WlanFullmacImplIfcRequest::DisassocInd { payload, responder } = self {
7858            Some((payload, responder))
7859        } else {
7860            None
7861        }
7862    }
7863
7864    #[allow(irrefutable_let_patterns)]
7865    pub fn into_start_conf(
7866        self,
7867    ) -> Option<(WlanFullmacImplIfcStartConfRequest, WlanFullmacImplIfcStartConfResponder)> {
7868        if let WlanFullmacImplIfcRequest::StartConf { payload, responder } = self {
7869            Some((payload, responder))
7870        } else {
7871            None
7872        }
7873    }
7874
7875    #[allow(irrefutable_let_patterns)]
7876    pub fn into_stop_conf(
7877        self,
7878    ) -> Option<(WlanFullmacImplIfcStopConfRequest, WlanFullmacImplIfcStopConfResponder)> {
7879        if let WlanFullmacImplIfcRequest::StopConf { payload, responder } = self {
7880            Some((payload, responder))
7881        } else {
7882            None
7883        }
7884    }
7885
7886    #[allow(irrefutable_let_patterns)]
7887    pub fn into_eapol_conf(
7888        self,
7889    ) -> Option<(WlanFullmacImplIfcEapolConfRequest, WlanFullmacImplIfcEapolConfResponder)> {
7890        if let WlanFullmacImplIfcRequest::EapolConf { payload, responder } = self {
7891            Some((payload, responder))
7892        } else {
7893            None
7894        }
7895    }
7896
7897    #[allow(irrefutable_let_patterns)]
7898    pub fn into_on_channel_switch(
7899        self,
7900    ) -> Option<(WlanFullmacChannelSwitchInfo, WlanFullmacImplIfcOnChannelSwitchResponder)> {
7901        if let WlanFullmacImplIfcRequest::OnChannelSwitch { ind, responder } = self {
7902            Some((ind, responder))
7903        } else {
7904            None
7905        }
7906    }
7907
7908    #[allow(irrefutable_let_patterns)]
7909    pub fn into_signal_report(
7910        self,
7911    ) -> Option<(WlanFullmacSignalReportIndication, WlanFullmacImplIfcSignalReportResponder)> {
7912        if let WlanFullmacImplIfcRequest::SignalReport { ind, responder } = self {
7913            Some((ind, responder))
7914        } else {
7915            None
7916        }
7917    }
7918
7919    #[allow(irrefutable_let_patterns)]
7920    pub fn into_eapol_ind(
7921        self,
7922    ) -> Option<(WlanFullmacImplIfcEapolIndRequest, WlanFullmacImplIfcEapolIndResponder)> {
7923        if let WlanFullmacImplIfcRequest::EapolInd { payload, responder } = self {
7924            Some((payload, responder))
7925        } else {
7926            None
7927        }
7928    }
7929
7930    #[allow(irrefutable_let_patterns)]
7931    pub fn into_on_pmk_available(
7932        self,
7933    ) -> Option<(WlanFullmacImplIfcOnPmkAvailableRequest, WlanFullmacImplIfcOnPmkAvailableResponder)>
7934    {
7935        if let WlanFullmacImplIfcRequest::OnPmkAvailable { payload, responder } = self {
7936            Some((payload, responder))
7937        } else {
7938            None
7939        }
7940    }
7941
7942    #[allow(irrefutable_let_patterns)]
7943    pub fn into_sae_handshake_ind(
7944        self,
7945    ) -> Option<(
7946        WlanFullmacImplIfcSaeHandshakeIndRequest,
7947        WlanFullmacImplIfcSaeHandshakeIndResponder,
7948    )> {
7949        if let WlanFullmacImplIfcRequest::SaeHandshakeInd { payload, responder } = self {
7950            Some((payload, responder))
7951        } else {
7952            None
7953        }
7954    }
7955
7956    #[allow(irrefutable_let_patterns)]
7957    pub fn into_sae_frame_rx(self) -> Option<(SaeFrame, WlanFullmacImplIfcSaeFrameRxResponder)> {
7958        if let WlanFullmacImplIfcRequest::SaeFrameRx { frame, responder } = self {
7959            Some((frame, responder))
7960        } else {
7961            None
7962        }
7963    }
7964
7965    #[allow(irrefutable_let_patterns)]
7966    pub fn into_on_wmm_status_resp(
7967        self,
7968    ) -> Option<(
7969        i32,
7970        fidl_fuchsia_wlan_driver::WlanWmmParameters,
7971        WlanFullmacImplIfcOnWmmStatusRespResponder,
7972    )> {
7973        if let WlanFullmacImplIfcRequest::OnWmmStatusResp { status, wmm_params, responder } = self {
7974            Some((status, wmm_params, responder))
7975        } else {
7976            None
7977        }
7978    }
7979
7980    /// Name of the method defined in FIDL
7981    pub fn method_name(&self) -> &'static str {
7982        match *self {
7983            WlanFullmacImplIfcRequest::OnScanResult { .. } => "on_scan_result",
7984            WlanFullmacImplIfcRequest::OnScanEnd { .. } => "on_scan_end",
7985            WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable { .. } => {
7986                "on_scheduled_scan_matches_available"
7987            }
7988            WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware { .. } => {
7989                "on_scheduled_scan_stopped_by_firmware"
7990            }
7991            WlanFullmacImplIfcRequest::ConnectConf { .. } => "connect_conf",
7992            WlanFullmacImplIfcRequest::RoamConf { .. } => "roam_conf",
7993            WlanFullmacImplIfcRequest::RoamStartInd { .. } => "roam_start_ind",
7994            WlanFullmacImplIfcRequest::RoamResultInd { .. } => "roam_result_ind",
7995            WlanFullmacImplIfcRequest::AuthInd { .. } => "auth_ind",
7996            WlanFullmacImplIfcRequest::DeauthConf { .. } => "deauth_conf",
7997            WlanFullmacImplIfcRequest::DeauthInd { .. } => "deauth_ind",
7998            WlanFullmacImplIfcRequest::AssocInd { .. } => "assoc_ind",
7999            WlanFullmacImplIfcRequest::DisassocConf { .. } => "disassoc_conf",
8000            WlanFullmacImplIfcRequest::DisassocInd { .. } => "disassoc_ind",
8001            WlanFullmacImplIfcRequest::StartConf { .. } => "start_conf",
8002            WlanFullmacImplIfcRequest::StopConf { .. } => "stop_conf",
8003            WlanFullmacImplIfcRequest::EapolConf { .. } => "eapol_conf",
8004            WlanFullmacImplIfcRequest::OnChannelSwitch { .. } => "on_channel_switch",
8005            WlanFullmacImplIfcRequest::SignalReport { .. } => "signal_report",
8006            WlanFullmacImplIfcRequest::EapolInd { .. } => "eapol_ind",
8007            WlanFullmacImplIfcRequest::OnPmkAvailable { .. } => "on_pmk_available",
8008            WlanFullmacImplIfcRequest::SaeHandshakeInd { .. } => "sae_handshake_ind",
8009            WlanFullmacImplIfcRequest::SaeFrameRx { .. } => "sae_frame_rx",
8010            WlanFullmacImplIfcRequest::OnWmmStatusResp { .. } => "on_wmm_status_resp",
8011        }
8012    }
8013}
8014
8015#[derive(Debug, Clone)]
8016pub struct WlanFullmacImplIfcControlHandle {
8017    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8018}
8019
8020impl WlanFullmacImplIfcControlHandle {
8021    pub fn shutdown_with_epitaph(&self, status: impl Into<fidl::Epitaph>) {
8022        self.inner.shutdown_with_epitaph(status.into())
8023    }
8024}
8025
8026impl fidl::endpoints::ControlHandle for WlanFullmacImplIfcControlHandle {
8027    fn shutdown(&self) {
8028        self.inner.shutdown()
8029    }
8030
8031    fn shutdown_with_epitaph(&self, status: fidl::Epitaph) {
8032        self.inner.shutdown_with_epitaph(status)
8033    }
8034
8035    fn is_closed(&self) -> bool {
8036        self.inner.channel().is_closed()
8037    }
8038    fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
8039        self.inner.channel().on_closed()
8040    }
8041
8042    #[cfg(target_os = "fuchsia")]
8043    fn signal_peer(
8044        &self,
8045        clear_mask: zx::Signals,
8046        set_mask: zx::Signals,
8047    ) -> Result<(), zx_status::Status> {
8048        use fidl::Peered;
8049        self.inner.channel().signal_peer(clear_mask, set_mask)
8050    }
8051}
8052
8053impl WlanFullmacImplIfcControlHandle {}
8054
8055#[must_use = "FIDL methods require a response to be sent"]
8056#[derive(Debug)]
8057pub struct WlanFullmacImplIfcOnScanResultResponder {
8058    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8059    tx_id: u32,
8060}
8061
8062/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8063/// if the responder is dropped without sending a response, so that the client
8064/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8065impl std::ops::Drop for WlanFullmacImplIfcOnScanResultResponder {
8066    fn drop(&mut self) {
8067        self.control_handle.shutdown();
8068        // Safety: drops once, never accessed again
8069        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8070    }
8071}
8072
8073impl fidl::endpoints::Responder for WlanFullmacImplIfcOnScanResultResponder {
8074    type ControlHandle = WlanFullmacImplIfcControlHandle;
8075
8076    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8077        &self.control_handle
8078    }
8079
8080    fn drop_without_shutdown(mut self) {
8081        // Safety: drops once, never accessed again due to mem::forget
8082        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8083        // Prevent Drop from running (which would shut down the channel)
8084        std::mem::forget(self);
8085    }
8086}
8087
8088impl WlanFullmacImplIfcOnScanResultResponder {
8089    /// Sends a response to the FIDL transaction.
8090    ///
8091    /// Sets the channel to shutdown if an error occurs.
8092    pub fn send(self) -> Result<(), fidl::Error> {
8093        let _result = self.send_raw();
8094        if _result.is_err() {
8095            self.control_handle.shutdown();
8096        }
8097        self.drop_without_shutdown();
8098        _result
8099    }
8100
8101    /// Similar to "send" but does not shutdown the channel if an error occurs.
8102    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8103        let _result = self.send_raw();
8104        self.drop_without_shutdown();
8105        _result
8106    }
8107
8108    fn send_raw(&self) -> Result<(), fidl::Error> {
8109        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8110            (),
8111            self.tx_id,
8112            0x29aa81dc570f7a3e,
8113            fidl::encoding::DynamicFlags::empty(),
8114        )
8115    }
8116}
8117
8118#[must_use = "FIDL methods require a response to be sent"]
8119#[derive(Debug)]
8120pub struct WlanFullmacImplIfcOnScanEndResponder {
8121    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8122    tx_id: u32,
8123}
8124
8125/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8126/// if the responder is dropped without sending a response, so that the client
8127/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8128impl std::ops::Drop for WlanFullmacImplIfcOnScanEndResponder {
8129    fn drop(&mut self) {
8130        self.control_handle.shutdown();
8131        // Safety: drops once, never accessed again
8132        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8133    }
8134}
8135
8136impl fidl::endpoints::Responder for WlanFullmacImplIfcOnScanEndResponder {
8137    type ControlHandle = WlanFullmacImplIfcControlHandle;
8138
8139    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8140        &self.control_handle
8141    }
8142
8143    fn drop_without_shutdown(mut self) {
8144        // Safety: drops once, never accessed again due to mem::forget
8145        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8146        // Prevent Drop from running (which would shut down the channel)
8147        std::mem::forget(self);
8148    }
8149}
8150
8151impl WlanFullmacImplIfcOnScanEndResponder {
8152    /// Sends a response to the FIDL transaction.
8153    ///
8154    /// Sets the channel to shutdown if an error occurs.
8155    pub fn send(self) -> Result<(), fidl::Error> {
8156        let _result = self.send_raw();
8157        if _result.is_err() {
8158            self.control_handle.shutdown();
8159        }
8160        self.drop_without_shutdown();
8161        _result
8162    }
8163
8164    /// Similar to "send" but does not shutdown the channel if an error occurs.
8165    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8166        let _result = self.send_raw();
8167        self.drop_without_shutdown();
8168        _result
8169    }
8170
8171    fn send_raw(&self) -> Result<(), fidl::Error> {
8172        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8173            (),
8174            self.tx_id,
8175            0x7cd8aff80d27073c,
8176            fidl::encoding::DynamicFlags::empty(),
8177        )
8178    }
8179}
8180
8181#[must_use = "FIDL methods require a response to be sent"]
8182#[derive(Debug)]
8183pub struct WlanFullmacImplIfcConnectConfResponder {
8184    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8185    tx_id: u32,
8186}
8187
8188/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8189/// if the responder is dropped without sending a response, so that the client
8190/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8191impl std::ops::Drop for WlanFullmacImplIfcConnectConfResponder {
8192    fn drop(&mut self) {
8193        self.control_handle.shutdown();
8194        // Safety: drops once, never accessed again
8195        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8196    }
8197}
8198
8199impl fidl::endpoints::Responder for WlanFullmacImplIfcConnectConfResponder {
8200    type ControlHandle = WlanFullmacImplIfcControlHandle;
8201
8202    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8203        &self.control_handle
8204    }
8205
8206    fn drop_without_shutdown(mut self) {
8207        // Safety: drops once, never accessed again due to mem::forget
8208        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8209        // Prevent Drop from running (which would shut down the channel)
8210        std::mem::forget(self);
8211    }
8212}
8213
8214impl WlanFullmacImplIfcConnectConfResponder {
8215    /// Sends a response to the FIDL transaction.
8216    ///
8217    /// Sets the channel to shutdown if an error occurs.
8218    pub fn send(self) -> Result<(), fidl::Error> {
8219        let _result = self.send_raw();
8220        if _result.is_err() {
8221            self.control_handle.shutdown();
8222        }
8223        self.drop_without_shutdown();
8224        _result
8225    }
8226
8227    /// Similar to "send" but does not shutdown the channel if an error occurs.
8228    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8229        let _result = self.send_raw();
8230        self.drop_without_shutdown();
8231        _result
8232    }
8233
8234    fn send_raw(&self) -> Result<(), fidl::Error> {
8235        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8236            (),
8237            self.tx_id,
8238            0x3c22c6d80b2a2759,
8239            fidl::encoding::DynamicFlags::empty(),
8240        )
8241    }
8242}
8243
8244#[must_use = "FIDL methods require a response to be sent"]
8245#[derive(Debug)]
8246pub struct WlanFullmacImplIfcRoamConfResponder {
8247    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8248    tx_id: u32,
8249}
8250
8251/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8252/// if the responder is dropped without sending a response, so that the client
8253/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8254impl std::ops::Drop for WlanFullmacImplIfcRoamConfResponder {
8255    fn drop(&mut self) {
8256        self.control_handle.shutdown();
8257        // Safety: drops once, never accessed again
8258        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8259    }
8260}
8261
8262impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamConfResponder {
8263    type ControlHandle = WlanFullmacImplIfcControlHandle;
8264
8265    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8266        &self.control_handle
8267    }
8268
8269    fn drop_without_shutdown(mut self) {
8270        // Safety: drops once, never accessed again due to mem::forget
8271        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8272        // Prevent Drop from running (which would shut down the channel)
8273        std::mem::forget(self);
8274    }
8275}
8276
8277impl WlanFullmacImplIfcRoamConfResponder {
8278    /// Sends a response to the FIDL transaction.
8279    ///
8280    /// Sets the channel to shutdown if an error occurs.
8281    pub fn send(self) -> Result<(), fidl::Error> {
8282        let _result = self.send_raw();
8283        if _result.is_err() {
8284            self.control_handle.shutdown();
8285        }
8286        self.drop_without_shutdown();
8287        _result
8288    }
8289
8290    /// Similar to "send" but does not shutdown the channel if an error occurs.
8291    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8292        let _result = self.send_raw();
8293        self.drop_without_shutdown();
8294        _result
8295    }
8296
8297    fn send_raw(&self) -> Result<(), fidl::Error> {
8298        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8299            (),
8300            self.tx_id,
8301            0x368b2a5b903b3f7b,
8302            fidl::encoding::DynamicFlags::empty(),
8303        )
8304    }
8305}
8306
8307#[must_use = "FIDL methods require a response to be sent"]
8308#[derive(Debug)]
8309pub struct WlanFullmacImplIfcRoamStartIndResponder {
8310    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8311    tx_id: u32,
8312}
8313
8314/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8315/// if the responder is dropped without sending a response, so that the client
8316/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8317impl std::ops::Drop for WlanFullmacImplIfcRoamStartIndResponder {
8318    fn drop(&mut self) {
8319        self.control_handle.shutdown();
8320        // Safety: drops once, never accessed again
8321        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8322    }
8323}
8324
8325impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamStartIndResponder {
8326    type ControlHandle = WlanFullmacImplIfcControlHandle;
8327
8328    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8329        &self.control_handle
8330    }
8331
8332    fn drop_without_shutdown(mut self) {
8333        // Safety: drops once, never accessed again due to mem::forget
8334        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8335        // Prevent Drop from running (which would shut down the channel)
8336        std::mem::forget(self);
8337    }
8338}
8339
8340impl WlanFullmacImplIfcRoamStartIndResponder {
8341    /// Sends a response to the FIDL transaction.
8342    ///
8343    /// Sets the channel to shutdown if an error occurs.
8344    pub fn send(self) -> Result<(), fidl::Error> {
8345        let _result = self.send_raw();
8346        if _result.is_err() {
8347            self.control_handle.shutdown();
8348        }
8349        self.drop_without_shutdown();
8350        _result
8351    }
8352
8353    /// Similar to "send" but does not shutdown the channel if an error occurs.
8354    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8355        let _result = self.send_raw();
8356        self.drop_without_shutdown();
8357        _result
8358    }
8359
8360    fn send_raw(&self) -> Result<(), fidl::Error> {
8361        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8362            (),
8363            self.tx_id,
8364            0x23e1d9368935e7e4,
8365            fidl::encoding::DynamicFlags::empty(),
8366        )
8367    }
8368}
8369
8370#[must_use = "FIDL methods require a response to be sent"]
8371#[derive(Debug)]
8372pub struct WlanFullmacImplIfcRoamResultIndResponder {
8373    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8374    tx_id: u32,
8375}
8376
8377/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8378/// if the responder is dropped without sending a response, so that the client
8379/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8380impl std::ops::Drop for WlanFullmacImplIfcRoamResultIndResponder {
8381    fn drop(&mut self) {
8382        self.control_handle.shutdown();
8383        // Safety: drops once, never accessed again
8384        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8385    }
8386}
8387
8388impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamResultIndResponder {
8389    type ControlHandle = WlanFullmacImplIfcControlHandle;
8390
8391    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8392        &self.control_handle
8393    }
8394
8395    fn drop_without_shutdown(mut self) {
8396        // Safety: drops once, never accessed again due to mem::forget
8397        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8398        // Prevent Drop from running (which would shut down the channel)
8399        std::mem::forget(self);
8400    }
8401}
8402
8403impl WlanFullmacImplIfcRoamResultIndResponder {
8404    /// Sends a response to the FIDL transaction.
8405    ///
8406    /// Sets the channel to shutdown if an error occurs.
8407    pub fn send(self) -> Result<(), fidl::Error> {
8408        let _result = self.send_raw();
8409        if _result.is_err() {
8410            self.control_handle.shutdown();
8411        }
8412        self.drop_without_shutdown();
8413        _result
8414    }
8415
8416    /// Similar to "send" but does not shutdown the channel if an error occurs.
8417    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8418        let _result = self.send_raw();
8419        self.drop_without_shutdown();
8420        _result
8421    }
8422
8423    fn send_raw(&self) -> Result<(), fidl::Error> {
8424        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8425            (),
8426            self.tx_id,
8427            0x7081c1b1ceea4914,
8428            fidl::encoding::DynamicFlags::empty(),
8429        )
8430    }
8431}
8432
8433#[must_use = "FIDL methods require a response to be sent"]
8434#[derive(Debug)]
8435pub struct WlanFullmacImplIfcAuthIndResponder {
8436    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8437    tx_id: u32,
8438}
8439
8440/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8441/// if the responder is dropped without sending a response, so that the client
8442/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8443impl std::ops::Drop for WlanFullmacImplIfcAuthIndResponder {
8444    fn drop(&mut self) {
8445        self.control_handle.shutdown();
8446        // Safety: drops once, never accessed again
8447        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8448    }
8449}
8450
8451impl fidl::endpoints::Responder for WlanFullmacImplIfcAuthIndResponder {
8452    type ControlHandle = WlanFullmacImplIfcControlHandle;
8453
8454    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8455        &self.control_handle
8456    }
8457
8458    fn drop_without_shutdown(mut self) {
8459        // Safety: drops once, never accessed again due to mem::forget
8460        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8461        // Prevent Drop from running (which would shut down the channel)
8462        std::mem::forget(self);
8463    }
8464}
8465
8466impl WlanFullmacImplIfcAuthIndResponder {
8467    /// Sends a response to the FIDL transaction.
8468    ///
8469    /// Sets the channel to shutdown if an error occurs.
8470    pub fn send(self) -> Result<(), fidl::Error> {
8471        let _result = self.send_raw();
8472        if _result.is_err() {
8473            self.control_handle.shutdown();
8474        }
8475        self.drop_without_shutdown();
8476        _result
8477    }
8478
8479    /// Similar to "send" but does not shutdown the channel if an error occurs.
8480    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8481        let _result = self.send_raw();
8482        self.drop_without_shutdown();
8483        _result
8484    }
8485
8486    fn send_raw(&self) -> Result<(), fidl::Error> {
8487        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8488            (),
8489            self.tx_id,
8490            0x270e1f8889650d0b,
8491            fidl::encoding::DynamicFlags::empty(),
8492        )
8493    }
8494}
8495
8496#[must_use = "FIDL methods require a response to be sent"]
8497#[derive(Debug)]
8498pub struct WlanFullmacImplIfcDeauthConfResponder {
8499    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8500    tx_id: u32,
8501}
8502
8503/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8504/// if the responder is dropped without sending a response, so that the client
8505/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8506impl std::ops::Drop for WlanFullmacImplIfcDeauthConfResponder {
8507    fn drop(&mut self) {
8508        self.control_handle.shutdown();
8509        // Safety: drops once, never accessed again
8510        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8511    }
8512}
8513
8514impl fidl::endpoints::Responder for WlanFullmacImplIfcDeauthConfResponder {
8515    type ControlHandle = WlanFullmacImplIfcControlHandle;
8516
8517    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8518        &self.control_handle
8519    }
8520
8521    fn drop_without_shutdown(mut self) {
8522        // Safety: drops once, never accessed again due to mem::forget
8523        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8524        // Prevent Drop from running (which would shut down the channel)
8525        std::mem::forget(self);
8526    }
8527}
8528
8529impl WlanFullmacImplIfcDeauthConfResponder {
8530    /// Sends a response to the FIDL transaction.
8531    ///
8532    /// Sets the channel to shutdown if an error occurs.
8533    pub fn send(self) -> Result<(), fidl::Error> {
8534        let _result = self.send_raw();
8535        if _result.is_err() {
8536            self.control_handle.shutdown();
8537        }
8538        self.drop_without_shutdown();
8539        _result
8540    }
8541
8542    /// Similar to "send" but does not shutdown the channel if an error occurs.
8543    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8544        let _result = self.send_raw();
8545        self.drop_without_shutdown();
8546        _result
8547    }
8548
8549    fn send_raw(&self) -> Result<(), fidl::Error> {
8550        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8551            (),
8552            self.tx_id,
8553            0x2c94b0d7258111b7,
8554            fidl::encoding::DynamicFlags::empty(),
8555        )
8556    }
8557}
8558
8559#[must_use = "FIDL methods require a response to be sent"]
8560#[derive(Debug)]
8561pub struct WlanFullmacImplIfcDeauthIndResponder {
8562    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8563    tx_id: u32,
8564}
8565
8566/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8567/// if the responder is dropped without sending a response, so that the client
8568/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8569impl std::ops::Drop for WlanFullmacImplIfcDeauthIndResponder {
8570    fn drop(&mut self) {
8571        self.control_handle.shutdown();
8572        // Safety: drops once, never accessed again
8573        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8574    }
8575}
8576
8577impl fidl::endpoints::Responder for WlanFullmacImplIfcDeauthIndResponder {
8578    type ControlHandle = WlanFullmacImplIfcControlHandle;
8579
8580    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8581        &self.control_handle
8582    }
8583
8584    fn drop_without_shutdown(mut self) {
8585        // Safety: drops once, never accessed again due to mem::forget
8586        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8587        // Prevent Drop from running (which would shut down the channel)
8588        std::mem::forget(self);
8589    }
8590}
8591
8592impl WlanFullmacImplIfcDeauthIndResponder {
8593    /// Sends a response to the FIDL transaction.
8594    ///
8595    /// Sets the channel to shutdown if an error occurs.
8596    pub fn send(self) -> Result<(), fidl::Error> {
8597        let _result = self.send_raw();
8598        if _result.is_err() {
8599            self.control_handle.shutdown();
8600        }
8601        self.drop_without_shutdown();
8602        _result
8603    }
8604
8605    /// Similar to "send" but does not shutdown the channel if an error occurs.
8606    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8607        let _result = self.send_raw();
8608        self.drop_without_shutdown();
8609        _result
8610    }
8611
8612    fn send_raw(&self) -> Result<(), fidl::Error> {
8613        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8614            (),
8615            self.tx_id,
8616            0x26cd27cdadd8dbaf,
8617            fidl::encoding::DynamicFlags::empty(),
8618        )
8619    }
8620}
8621
8622#[must_use = "FIDL methods require a response to be sent"]
8623#[derive(Debug)]
8624pub struct WlanFullmacImplIfcAssocIndResponder {
8625    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8626    tx_id: u32,
8627}
8628
8629/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8630/// if the responder is dropped without sending a response, so that the client
8631/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8632impl std::ops::Drop for WlanFullmacImplIfcAssocIndResponder {
8633    fn drop(&mut self) {
8634        self.control_handle.shutdown();
8635        // Safety: drops once, never accessed again
8636        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8637    }
8638}
8639
8640impl fidl::endpoints::Responder for WlanFullmacImplIfcAssocIndResponder {
8641    type ControlHandle = WlanFullmacImplIfcControlHandle;
8642
8643    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8644        &self.control_handle
8645    }
8646
8647    fn drop_without_shutdown(mut self) {
8648        // Safety: drops once, never accessed again due to mem::forget
8649        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8650        // Prevent Drop from running (which would shut down the channel)
8651        std::mem::forget(self);
8652    }
8653}
8654
8655impl WlanFullmacImplIfcAssocIndResponder {
8656    /// Sends a response to the FIDL transaction.
8657    ///
8658    /// Sets the channel to shutdown if an error occurs.
8659    pub fn send(self) -> Result<(), fidl::Error> {
8660        let _result = self.send_raw();
8661        if _result.is_err() {
8662            self.control_handle.shutdown();
8663        }
8664        self.drop_without_shutdown();
8665        _result
8666    }
8667
8668    /// Similar to "send" but does not shutdown the channel if an error occurs.
8669    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8670        let _result = self.send_raw();
8671        self.drop_without_shutdown();
8672        _result
8673    }
8674
8675    fn send_raw(&self) -> Result<(), fidl::Error> {
8676        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8677            (),
8678            self.tx_id,
8679            0x3e44529e3dc179ce,
8680            fidl::encoding::DynamicFlags::empty(),
8681        )
8682    }
8683}
8684
8685#[must_use = "FIDL methods require a response to be sent"]
8686#[derive(Debug)]
8687pub struct WlanFullmacImplIfcDisassocConfResponder {
8688    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8689    tx_id: u32,
8690}
8691
8692/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8693/// if the responder is dropped without sending a response, so that the client
8694/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8695impl std::ops::Drop for WlanFullmacImplIfcDisassocConfResponder {
8696    fn drop(&mut self) {
8697        self.control_handle.shutdown();
8698        // Safety: drops once, never accessed again
8699        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8700    }
8701}
8702
8703impl fidl::endpoints::Responder for WlanFullmacImplIfcDisassocConfResponder {
8704    type ControlHandle = WlanFullmacImplIfcControlHandle;
8705
8706    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8707        &self.control_handle
8708    }
8709
8710    fn drop_without_shutdown(mut self) {
8711        // Safety: drops once, never accessed again due to mem::forget
8712        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8713        // Prevent Drop from running (which would shut down the channel)
8714        std::mem::forget(self);
8715    }
8716}
8717
8718impl WlanFullmacImplIfcDisassocConfResponder {
8719    /// Sends a response to the FIDL transaction.
8720    ///
8721    /// Sets the channel to shutdown if an error occurs.
8722    pub fn send(self) -> Result<(), fidl::Error> {
8723        let _result = self.send_raw();
8724        if _result.is_err() {
8725            self.control_handle.shutdown();
8726        }
8727        self.drop_without_shutdown();
8728        _result
8729    }
8730
8731    /// Similar to "send" but does not shutdown the channel if an error occurs.
8732    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8733        let _result = self.send_raw();
8734        self.drop_without_shutdown();
8735        _result
8736    }
8737
8738    fn send_raw(&self) -> Result<(), fidl::Error> {
8739        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8740            (),
8741            self.tx_id,
8742            0x7c713bcd58a76cb3,
8743            fidl::encoding::DynamicFlags::empty(),
8744        )
8745    }
8746}
8747
8748#[must_use = "FIDL methods require a response to be sent"]
8749#[derive(Debug)]
8750pub struct WlanFullmacImplIfcDisassocIndResponder {
8751    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8752    tx_id: u32,
8753}
8754
8755/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8756/// if the responder is dropped without sending a response, so that the client
8757/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8758impl std::ops::Drop for WlanFullmacImplIfcDisassocIndResponder {
8759    fn drop(&mut self) {
8760        self.control_handle.shutdown();
8761        // Safety: drops once, never accessed again
8762        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8763    }
8764}
8765
8766impl fidl::endpoints::Responder for WlanFullmacImplIfcDisassocIndResponder {
8767    type ControlHandle = WlanFullmacImplIfcControlHandle;
8768
8769    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8770        &self.control_handle
8771    }
8772
8773    fn drop_without_shutdown(mut self) {
8774        // Safety: drops once, never accessed again due to mem::forget
8775        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8776        // Prevent Drop from running (which would shut down the channel)
8777        std::mem::forget(self);
8778    }
8779}
8780
8781impl WlanFullmacImplIfcDisassocIndResponder {
8782    /// Sends a response to the FIDL transaction.
8783    ///
8784    /// Sets the channel to shutdown if an error occurs.
8785    pub fn send(self) -> Result<(), fidl::Error> {
8786        let _result = self.send_raw();
8787        if _result.is_err() {
8788            self.control_handle.shutdown();
8789        }
8790        self.drop_without_shutdown();
8791        _result
8792    }
8793
8794    /// Similar to "send" but does not shutdown the channel if an error occurs.
8795    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8796        let _result = self.send_raw();
8797        self.drop_without_shutdown();
8798        _result
8799    }
8800
8801    fn send_raw(&self) -> Result<(), fidl::Error> {
8802        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8803            (),
8804            self.tx_id,
8805            0x6667b381b7f3990f,
8806            fidl::encoding::DynamicFlags::empty(),
8807        )
8808    }
8809}
8810
8811#[must_use = "FIDL methods require a response to be sent"]
8812#[derive(Debug)]
8813pub struct WlanFullmacImplIfcStartConfResponder {
8814    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8815    tx_id: u32,
8816}
8817
8818/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8819/// if the responder is dropped without sending a response, so that the client
8820/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8821impl std::ops::Drop for WlanFullmacImplIfcStartConfResponder {
8822    fn drop(&mut self) {
8823        self.control_handle.shutdown();
8824        // Safety: drops once, never accessed again
8825        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8826    }
8827}
8828
8829impl fidl::endpoints::Responder for WlanFullmacImplIfcStartConfResponder {
8830    type ControlHandle = WlanFullmacImplIfcControlHandle;
8831
8832    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8833        &self.control_handle
8834    }
8835
8836    fn drop_without_shutdown(mut self) {
8837        // Safety: drops once, never accessed again due to mem::forget
8838        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8839        // Prevent Drop from running (which would shut down the channel)
8840        std::mem::forget(self);
8841    }
8842}
8843
8844impl WlanFullmacImplIfcStartConfResponder {
8845    /// Sends a response to the FIDL transaction.
8846    ///
8847    /// Sets the channel to shutdown if an error occurs.
8848    pub fn send(self) -> Result<(), fidl::Error> {
8849        let _result = self.send_raw();
8850        if _result.is_err() {
8851            self.control_handle.shutdown();
8852        }
8853        self.drop_without_shutdown();
8854        _result
8855    }
8856
8857    /// Similar to "send" but does not shutdown the channel if an error occurs.
8858    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8859        let _result = self.send_raw();
8860        self.drop_without_shutdown();
8861        _result
8862    }
8863
8864    fn send_raw(&self) -> Result<(), fidl::Error> {
8865        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8866            (),
8867            self.tx_id,
8868            0x3e9b9641f3ddc7fc,
8869            fidl::encoding::DynamicFlags::empty(),
8870        )
8871    }
8872}
8873
8874#[must_use = "FIDL methods require a response to be sent"]
8875#[derive(Debug)]
8876pub struct WlanFullmacImplIfcStopConfResponder {
8877    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8878    tx_id: u32,
8879}
8880
8881/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8882/// if the responder is dropped without sending a response, so that the client
8883/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8884impl std::ops::Drop for WlanFullmacImplIfcStopConfResponder {
8885    fn drop(&mut self) {
8886        self.control_handle.shutdown();
8887        // Safety: drops once, never accessed again
8888        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8889    }
8890}
8891
8892impl fidl::endpoints::Responder for WlanFullmacImplIfcStopConfResponder {
8893    type ControlHandle = WlanFullmacImplIfcControlHandle;
8894
8895    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8896        &self.control_handle
8897    }
8898
8899    fn drop_without_shutdown(mut self) {
8900        // Safety: drops once, never accessed again due to mem::forget
8901        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8902        // Prevent Drop from running (which would shut down the channel)
8903        std::mem::forget(self);
8904    }
8905}
8906
8907impl WlanFullmacImplIfcStopConfResponder {
8908    /// Sends a response to the FIDL transaction.
8909    ///
8910    /// Sets the channel to shutdown if an error occurs.
8911    pub fn send(self) -> Result<(), fidl::Error> {
8912        let _result = self.send_raw();
8913        if _result.is_err() {
8914            self.control_handle.shutdown();
8915        }
8916        self.drop_without_shutdown();
8917        _result
8918    }
8919
8920    /// Similar to "send" but does not shutdown the channel if an error occurs.
8921    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8922        let _result = self.send_raw();
8923        self.drop_without_shutdown();
8924        _result
8925    }
8926
8927    fn send_raw(&self) -> Result<(), fidl::Error> {
8928        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8929            (),
8930            self.tx_id,
8931            0x320a5ff227a4e9df,
8932            fidl::encoding::DynamicFlags::empty(),
8933        )
8934    }
8935}
8936
8937#[must_use = "FIDL methods require a response to be sent"]
8938#[derive(Debug)]
8939pub struct WlanFullmacImplIfcEapolConfResponder {
8940    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8941    tx_id: u32,
8942}
8943
8944/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8945/// if the responder is dropped without sending a response, so that the client
8946/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8947impl std::ops::Drop for WlanFullmacImplIfcEapolConfResponder {
8948    fn drop(&mut self) {
8949        self.control_handle.shutdown();
8950        // Safety: drops once, never accessed again
8951        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8952    }
8953}
8954
8955impl fidl::endpoints::Responder for WlanFullmacImplIfcEapolConfResponder {
8956    type ControlHandle = WlanFullmacImplIfcControlHandle;
8957
8958    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8959        &self.control_handle
8960    }
8961
8962    fn drop_without_shutdown(mut self) {
8963        // Safety: drops once, never accessed again due to mem::forget
8964        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8965        // Prevent Drop from running (which would shut down the channel)
8966        std::mem::forget(self);
8967    }
8968}
8969
8970impl WlanFullmacImplIfcEapolConfResponder {
8971    /// Sends a response to the FIDL transaction.
8972    ///
8973    /// Sets the channel to shutdown if an error occurs.
8974    pub fn send(self) -> Result<(), fidl::Error> {
8975        let _result = self.send_raw();
8976        if _result.is_err() {
8977            self.control_handle.shutdown();
8978        }
8979        self.drop_without_shutdown();
8980        _result
8981    }
8982
8983    /// Similar to "send" but does not shutdown the channel if an error occurs.
8984    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8985        let _result = self.send_raw();
8986        self.drop_without_shutdown();
8987        _result
8988    }
8989
8990    fn send_raw(&self) -> Result<(), fidl::Error> {
8991        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8992            (),
8993            self.tx_id,
8994            0x77364db9cc3970ec,
8995            fidl::encoding::DynamicFlags::empty(),
8996        )
8997    }
8998}
8999
9000#[must_use = "FIDL methods require a response to be sent"]
9001#[derive(Debug)]
9002pub struct WlanFullmacImplIfcOnChannelSwitchResponder {
9003    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9004    tx_id: u32,
9005}
9006
9007/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9008/// if the responder is dropped without sending a response, so that the client
9009/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9010impl std::ops::Drop for WlanFullmacImplIfcOnChannelSwitchResponder {
9011    fn drop(&mut self) {
9012        self.control_handle.shutdown();
9013        // Safety: drops once, never accessed again
9014        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9015    }
9016}
9017
9018impl fidl::endpoints::Responder for WlanFullmacImplIfcOnChannelSwitchResponder {
9019    type ControlHandle = WlanFullmacImplIfcControlHandle;
9020
9021    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9022        &self.control_handle
9023    }
9024
9025    fn drop_without_shutdown(mut self) {
9026        // Safety: drops once, never accessed again due to mem::forget
9027        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9028        // Prevent Drop from running (which would shut down the channel)
9029        std::mem::forget(self);
9030    }
9031}
9032
9033impl WlanFullmacImplIfcOnChannelSwitchResponder {
9034    /// Sends a response to the FIDL transaction.
9035    ///
9036    /// Sets the channel to shutdown if an error occurs.
9037    pub fn send(self) -> Result<(), fidl::Error> {
9038        let _result = self.send_raw();
9039        if _result.is_err() {
9040            self.control_handle.shutdown();
9041        }
9042        self.drop_without_shutdown();
9043        _result
9044    }
9045
9046    /// Similar to "send" but does not shutdown the channel if an error occurs.
9047    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9048        let _result = self.send_raw();
9049        self.drop_without_shutdown();
9050        _result
9051    }
9052
9053    fn send_raw(&self) -> Result<(), fidl::Error> {
9054        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9055            (),
9056            self.tx_id,
9057            0x21db0b8f71cae647,
9058            fidl::encoding::DynamicFlags::empty(),
9059        )
9060    }
9061}
9062
9063#[must_use = "FIDL methods require a response to be sent"]
9064#[derive(Debug)]
9065pub struct WlanFullmacImplIfcSignalReportResponder {
9066    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9067    tx_id: u32,
9068}
9069
9070/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9071/// if the responder is dropped without sending a response, so that the client
9072/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9073impl std::ops::Drop for WlanFullmacImplIfcSignalReportResponder {
9074    fn drop(&mut self) {
9075        self.control_handle.shutdown();
9076        // Safety: drops once, never accessed again
9077        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9078    }
9079}
9080
9081impl fidl::endpoints::Responder for WlanFullmacImplIfcSignalReportResponder {
9082    type ControlHandle = WlanFullmacImplIfcControlHandle;
9083
9084    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9085        &self.control_handle
9086    }
9087
9088    fn drop_without_shutdown(mut self) {
9089        // Safety: drops once, never accessed again due to mem::forget
9090        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9091        // Prevent Drop from running (which would shut down the channel)
9092        std::mem::forget(self);
9093    }
9094}
9095
9096impl WlanFullmacImplIfcSignalReportResponder {
9097    /// Sends a response to the FIDL transaction.
9098    ///
9099    /// Sets the channel to shutdown if an error occurs.
9100    pub fn send(self) -> Result<(), fidl::Error> {
9101        let _result = self.send_raw();
9102        if _result.is_err() {
9103            self.control_handle.shutdown();
9104        }
9105        self.drop_without_shutdown();
9106        _result
9107    }
9108
9109    /// Similar to "send" but does not shutdown the channel if an error occurs.
9110    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9111        let _result = self.send_raw();
9112        self.drop_without_shutdown();
9113        _result
9114    }
9115
9116    fn send_raw(&self) -> Result<(), fidl::Error> {
9117        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9118            (),
9119            self.tx_id,
9120            0x79679fa8789c3d9f,
9121            fidl::encoding::DynamicFlags::empty(),
9122        )
9123    }
9124}
9125
9126#[must_use = "FIDL methods require a response to be sent"]
9127#[derive(Debug)]
9128pub struct WlanFullmacImplIfcEapolIndResponder {
9129    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9130    tx_id: u32,
9131}
9132
9133/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9134/// if the responder is dropped without sending a response, so that the client
9135/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9136impl std::ops::Drop for WlanFullmacImplIfcEapolIndResponder {
9137    fn drop(&mut self) {
9138        self.control_handle.shutdown();
9139        // Safety: drops once, never accessed again
9140        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9141    }
9142}
9143
9144impl fidl::endpoints::Responder for WlanFullmacImplIfcEapolIndResponder {
9145    type ControlHandle = WlanFullmacImplIfcControlHandle;
9146
9147    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9148        &self.control_handle
9149    }
9150
9151    fn drop_without_shutdown(mut self) {
9152        // Safety: drops once, never accessed again due to mem::forget
9153        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9154        // Prevent Drop from running (which would shut down the channel)
9155        std::mem::forget(self);
9156    }
9157}
9158
9159impl WlanFullmacImplIfcEapolIndResponder {
9160    /// Sends a response to the FIDL transaction.
9161    ///
9162    /// Sets the channel to shutdown if an error occurs.
9163    pub fn send(self) -> Result<(), fidl::Error> {
9164        let _result = self.send_raw();
9165        if _result.is_err() {
9166            self.control_handle.shutdown();
9167        }
9168        self.drop_without_shutdown();
9169        _result
9170    }
9171
9172    /// Similar to "send" but does not shutdown the channel if an error occurs.
9173    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9174        let _result = self.send_raw();
9175        self.drop_without_shutdown();
9176        _result
9177    }
9178
9179    fn send_raw(&self) -> Result<(), fidl::Error> {
9180        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9181            (),
9182            self.tx_id,
9183            0x3de8ec1eda10d1d0,
9184            fidl::encoding::DynamicFlags::empty(),
9185        )
9186    }
9187}
9188
9189#[must_use = "FIDL methods require a response to be sent"]
9190#[derive(Debug)]
9191pub struct WlanFullmacImplIfcOnPmkAvailableResponder {
9192    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9193    tx_id: u32,
9194}
9195
9196/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9197/// if the responder is dropped without sending a response, so that the client
9198/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9199impl std::ops::Drop for WlanFullmacImplIfcOnPmkAvailableResponder {
9200    fn drop(&mut self) {
9201        self.control_handle.shutdown();
9202        // Safety: drops once, never accessed again
9203        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9204    }
9205}
9206
9207impl fidl::endpoints::Responder for WlanFullmacImplIfcOnPmkAvailableResponder {
9208    type ControlHandle = WlanFullmacImplIfcControlHandle;
9209
9210    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9211        &self.control_handle
9212    }
9213
9214    fn drop_without_shutdown(mut self) {
9215        // Safety: drops once, never accessed again due to mem::forget
9216        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9217        // Prevent Drop from running (which would shut down the channel)
9218        std::mem::forget(self);
9219    }
9220}
9221
9222impl WlanFullmacImplIfcOnPmkAvailableResponder {
9223    /// Sends a response to the FIDL transaction.
9224    ///
9225    /// Sets the channel to shutdown if an error occurs.
9226    pub fn send(self) -> Result<(), fidl::Error> {
9227        let _result = self.send_raw();
9228        if _result.is_err() {
9229            self.control_handle.shutdown();
9230        }
9231        self.drop_without_shutdown();
9232        _result
9233    }
9234
9235    /// Similar to "send" but does not shutdown the channel if an error occurs.
9236    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9237        let _result = self.send_raw();
9238        self.drop_without_shutdown();
9239        _result
9240    }
9241
9242    fn send_raw(&self) -> Result<(), fidl::Error> {
9243        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9244            (),
9245            self.tx_id,
9246            0x5cedd8d9be28a17e,
9247            fidl::encoding::DynamicFlags::empty(),
9248        )
9249    }
9250}
9251
9252#[must_use = "FIDL methods require a response to be sent"]
9253#[derive(Debug)]
9254pub struct WlanFullmacImplIfcSaeHandshakeIndResponder {
9255    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9256    tx_id: u32,
9257}
9258
9259/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9260/// if the responder is dropped without sending a response, so that the client
9261/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9262impl std::ops::Drop for WlanFullmacImplIfcSaeHandshakeIndResponder {
9263    fn drop(&mut self) {
9264        self.control_handle.shutdown();
9265        // Safety: drops once, never accessed again
9266        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9267    }
9268}
9269
9270impl fidl::endpoints::Responder for WlanFullmacImplIfcSaeHandshakeIndResponder {
9271    type ControlHandle = WlanFullmacImplIfcControlHandle;
9272
9273    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9274        &self.control_handle
9275    }
9276
9277    fn drop_without_shutdown(mut self) {
9278        // Safety: drops once, never accessed again due to mem::forget
9279        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9280        // Prevent Drop from running (which would shut down the channel)
9281        std::mem::forget(self);
9282    }
9283}
9284
9285impl WlanFullmacImplIfcSaeHandshakeIndResponder {
9286    /// Sends a response to the FIDL transaction.
9287    ///
9288    /// Sets the channel to shutdown if an error occurs.
9289    pub fn send(self) -> Result<(), fidl::Error> {
9290        let _result = self.send_raw();
9291        if _result.is_err() {
9292            self.control_handle.shutdown();
9293        }
9294        self.drop_without_shutdown();
9295        _result
9296    }
9297
9298    /// Similar to "send" but does not shutdown the channel if an error occurs.
9299    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9300        let _result = self.send_raw();
9301        self.drop_without_shutdown();
9302        _result
9303    }
9304
9305    fn send_raw(&self) -> Result<(), fidl::Error> {
9306        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9307            (),
9308            self.tx_id,
9309            0x4f3d53885503a1d8,
9310            fidl::encoding::DynamicFlags::empty(),
9311        )
9312    }
9313}
9314
9315#[must_use = "FIDL methods require a response to be sent"]
9316#[derive(Debug)]
9317pub struct WlanFullmacImplIfcSaeFrameRxResponder {
9318    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9319    tx_id: u32,
9320}
9321
9322/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9323/// if the responder is dropped without sending a response, so that the client
9324/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9325impl std::ops::Drop for WlanFullmacImplIfcSaeFrameRxResponder {
9326    fn drop(&mut self) {
9327        self.control_handle.shutdown();
9328        // Safety: drops once, never accessed again
9329        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9330    }
9331}
9332
9333impl fidl::endpoints::Responder for WlanFullmacImplIfcSaeFrameRxResponder {
9334    type ControlHandle = WlanFullmacImplIfcControlHandle;
9335
9336    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9337        &self.control_handle
9338    }
9339
9340    fn drop_without_shutdown(mut self) {
9341        // Safety: drops once, never accessed again due to mem::forget
9342        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9343        // Prevent Drop from running (which would shut down the channel)
9344        std::mem::forget(self);
9345    }
9346}
9347
9348impl WlanFullmacImplIfcSaeFrameRxResponder {
9349    /// Sends a response to the FIDL transaction.
9350    ///
9351    /// Sets the channel to shutdown if an error occurs.
9352    pub fn send(self) -> Result<(), fidl::Error> {
9353        let _result = self.send_raw();
9354        if _result.is_err() {
9355            self.control_handle.shutdown();
9356        }
9357        self.drop_without_shutdown();
9358        _result
9359    }
9360
9361    /// Similar to "send" but does not shutdown the channel if an error occurs.
9362    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9363        let _result = self.send_raw();
9364        self.drop_without_shutdown();
9365        _result
9366    }
9367
9368    fn send_raw(&self) -> Result<(), fidl::Error> {
9369        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9370            (),
9371            self.tx_id,
9372            0x51650906857ed4d4,
9373            fidl::encoding::DynamicFlags::empty(),
9374        )
9375    }
9376}
9377
9378#[must_use = "FIDL methods require a response to be sent"]
9379#[derive(Debug)]
9380pub struct WlanFullmacImplIfcOnWmmStatusRespResponder {
9381    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9382    tx_id: u32,
9383}
9384
9385/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9386/// if the responder is dropped without sending a response, so that the client
9387/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9388impl std::ops::Drop for WlanFullmacImplIfcOnWmmStatusRespResponder {
9389    fn drop(&mut self) {
9390        self.control_handle.shutdown();
9391        // Safety: drops once, never accessed again
9392        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9393    }
9394}
9395
9396impl fidl::endpoints::Responder for WlanFullmacImplIfcOnWmmStatusRespResponder {
9397    type ControlHandle = WlanFullmacImplIfcControlHandle;
9398
9399    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9400        &self.control_handle
9401    }
9402
9403    fn drop_without_shutdown(mut self) {
9404        // Safety: drops once, never accessed again due to mem::forget
9405        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9406        // Prevent Drop from running (which would shut down the channel)
9407        std::mem::forget(self);
9408    }
9409}
9410
9411impl WlanFullmacImplIfcOnWmmStatusRespResponder {
9412    /// Sends a response to the FIDL transaction.
9413    ///
9414    /// Sets the channel to shutdown if an error occurs.
9415    pub fn send(self) -> Result<(), fidl::Error> {
9416        let _result = self.send_raw();
9417        if _result.is_err() {
9418            self.control_handle.shutdown();
9419        }
9420        self.drop_without_shutdown();
9421        _result
9422    }
9423
9424    /// Similar to "send" but does not shutdown the channel if an error occurs.
9425    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9426        let _result = self.send_raw();
9427        self.drop_without_shutdown();
9428        _result
9429    }
9430
9431    fn send_raw(&self) -> Result<(), fidl::Error> {
9432        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9433            (),
9434            self.tx_id,
9435            0x6823a88bf3ba8b2a,
9436            fidl::encoding::DynamicFlags::empty(),
9437        )
9438    }
9439}
9440
9441#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
9442pub struct ServiceMarker;
9443
9444#[cfg(target_os = "fuchsia")]
9445impl fidl::endpoints::ServiceMarker for ServiceMarker {
9446    type Proxy = ServiceProxy;
9447    type Request = ServiceRequest;
9448    const SERVICE_NAME: &'static str = "fuchsia.wlan.fullmac.Service";
9449}
9450
9451/// A request for one of the member protocols of Service.
9452///
9453#[cfg(target_os = "fuchsia")]
9454pub enum ServiceRequest {
9455    WlanFullmacImpl(WlanFullmacImpl_RequestStream),
9456}
9457
9458#[cfg(target_os = "fuchsia")]
9459impl fidl::endpoints::ServiceRequest for ServiceRequest {
9460    type Service = ServiceMarker;
9461
9462    fn dispatch(name: &str, _channel: fidl::AsyncChannel) -> Self {
9463        match name {
9464            "wlan_fullmac_impl" => Self::WlanFullmacImpl(
9465                <WlanFullmacImpl_RequestStream as fidl::endpoints::RequestStream>::from_channel(
9466                    _channel,
9467                ),
9468            ),
9469            _ => panic!("no such member protocol name for service Service"),
9470        }
9471    }
9472
9473    fn member_names() -> &'static [&'static str] {
9474        &["wlan_fullmac_impl"]
9475    }
9476}
9477#[cfg(target_os = "fuchsia")]
9478pub struct ServiceProxy(#[allow(dead_code)] Box<dyn fidl::endpoints::MemberOpener>);
9479
9480#[cfg(target_os = "fuchsia")]
9481impl fidl::endpoints::ServiceProxy for ServiceProxy {
9482    type Service = ServiceMarker;
9483
9484    fn from_member_opener(opener: Box<dyn fidl::endpoints::MemberOpener>) -> Self {
9485        Self(opener)
9486    }
9487}
9488
9489#[cfg(target_os = "fuchsia")]
9490impl ServiceProxy {
9491    pub fn connect_to_wlan_fullmac_impl(&self) -> Result<WlanFullmacImpl_Proxy, fidl::Error> {
9492        let (proxy, server_end) = fidl::endpoints::create_proxy::<WlanFullmacImpl_Marker>();
9493        self.connect_channel_to_wlan_fullmac_impl(server_end)?;
9494        Ok(proxy)
9495    }
9496
9497    /// Like `connect_to_wlan_fullmac_impl`, but returns a sync proxy.
9498    /// See [`Self::connect_to_wlan_fullmac_impl`] for more details.
9499    pub fn connect_to_wlan_fullmac_impl_sync(
9500        &self,
9501    ) -> Result<WlanFullmacImpl_SynchronousProxy, fidl::Error> {
9502        let (proxy, server_end) = fidl::endpoints::create_sync_proxy::<WlanFullmacImpl_Marker>();
9503        self.connect_channel_to_wlan_fullmac_impl(server_end)?;
9504        Ok(proxy)
9505    }
9506
9507    /// Like `connect_to_wlan_fullmac_impl`, but accepts a server end.
9508    /// See [`Self::connect_to_wlan_fullmac_impl`] for more details.
9509    pub fn connect_channel_to_wlan_fullmac_impl(
9510        &self,
9511        server_end: fidl::endpoints::ServerEnd<WlanFullmacImpl_Marker>,
9512    ) -> Result<(), fidl::Error> {
9513        self.0.open_member("wlan_fullmac_impl", server_end.into_channel())
9514    }
9515
9516    pub fn instance_name(&self) -> &str {
9517        self.0.instance_name()
9518    }
9519}
9520
9521mod internal {
9522    use super::*;
9523
9524    impl WlanFullmacImplInitRequest {
9525        #[inline(always)]
9526        fn max_ordinal_present(&self) -> u64 {
9527            if let Some(_) = self.ifc {
9528                return 1;
9529            }
9530            0
9531        }
9532    }
9533
9534    impl fidl::encoding::ResourceTypeMarker for WlanFullmacImplInitRequest {
9535        type Borrowed<'a> = &'a mut Self;
9536        fn take_or_borrow<'a>(
9537            value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9538        ) -> Self::Borrowed<'a> {
9539            value
9540        }
9541    }
9542
9543    unsafe impl fidl::encoding::TypeMarker for WlanFullmacImplInitRequest {
9544        type Owned = Self;
9545
9546        #[inline(always)]
9547        fn inline_align(_context: fidl::encoding::Context) -> usize {
9548            8
9549        }
9550
9551        #[inline(always)]
9552        fn inline_size(_context: fidl::encoding::Context) -> usize {
9553            16
9554        }
9555    }
9556
9557    unsafe impl
9558        fidl::encoding::Encode<
9559            WlanFullmacImplInitRequest,
9560            fidl::encoding::DefaultFuchsiaResourceDialect,
9561        > for &mut WlanFullmacImplInitRequest
9562    {
9563        unsafe fn encode(
9564            self,
9565            encoder: &mut fidl::encoding::Encoder<
9566                '_,
9567                fidl::encoding::DefaultFuchsiaResourceDialect,
9568            >,
9569            offset: usize,
9570            mut depth: fidl::encoding::Depth,
9571        ) -> fidl::Result<()> {
9572            encoder.debug_check_bounds::<WlanFullmacImplInitRequest>(offset);
9573            // Vector header
9574            let max_ordinal: u64 = self.max_ordinal_present();
9575            encoder.write_num(max_ordinal, offset);
9576            encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9577            // Calling encoder.out_of_line_offset(0) is not allowed.
9578            if max_ordinal == 0 {
9579                return Ok(());
9580            }
9581            depth.increment()?;
9582            let envelope_size = 8;
9583            let bytes_len = max_ordinal as usize * envelope_size;
9584            #[allow(unused_variables)]
9585            let offset = encoder.out_of_line_offset(bytes_len);
9586            let mut _prev_end_offset: usize = 0;
9587            if 1 > max_ordinal {
9588                return Ok(());
9589            }
9590
9591            // Write at offset+(ordinal-1)*envelope_size, since ordinals are one-based and envelopes
9592            // are envelope_size bytes.
9593            let cur_offset: usize = (1 - 1) * envelope_size;
9594
9595            // Zero reserved fields.
9596            encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9597
9598            // Safety:
9599            // - bytes_len is calculated to fit envelope_size*max(member.ordinal).
9600            // - Since cur_offset is envelope_size*(member.ordinal - 1) and the envelope takes
9601            //   envelope_size bytes, there is always sufficient room.
9602            fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
9603            self.ifc.as_mut().map(<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
9604            encoder, offset + cur_offset, depth
9605        )?;
9606
9607            _prev_end_offset = cur_offset + envelope_size;
9608
9609            Ok(())
9610        }
9611    }
9612
9613    impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
9614        for WlanFullmacImplInitRequest
9615    {
9616        #[inline(always)]
9617        fn new_empty() -> Self {
9618            Self::default()
9619        }
9620
9621        unsafe fn decode(
9622            &mut self,
9623            decoder: &mut fidl::encoding::Decoder<
9624                '_,
9625                fidl::encoding::DefaultFuchsiaResourceDialect,
9626            >,
9627            offset: usize,
9628            mut depth: fidl::encoding::Depth,
9629        ) -> fidl::Result<()> {
9630            decoder.debug_check_bounds::<Self>(offset);
9631            let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9632                None => return Err(fidl::Error::NotNullable),
9633                Some(len) => len,
9634            };
9635            // Calling decoder.out_of_line_offset(0) is not allowed.
9636            if len == 0 {
9637                return Ok(());
9638            };
9639            depth.increment()?;
9640            let envelope_size = 8;
9641            let bytes_len = len * envelope_size;
9642            let offset = decoder.out_of_line_offset(bytes_len)?;
9643            // Decode the envelope for each type.
9644            let mut _next_ordinal_to_read = 0;
9645            let mut next_offset = offset;
9646            let end_offset = offset + bytes_len;
9647            _next_ordinal_to_read += 1;
9648            if next_offset >= end_offset {
9649                return Ok(());
9650            }
9651
9652            // Decode unknown envelopes for gaps in ordinals.
9653            while _next_ordinal_to_read < 1 {
9654                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9655                _next_ordinal_to_read += 1;
9656                next_offset += envelope_size;
9657            }
9658
9659            let next_out_of_line = decoder.next_out_of_line();
9660            let handles_before = decoder.remaining_handles();
9661            if let Some((inlined, num_bytes, num_handles)) =
9662                fidl::encoding::decode_envelope_header(decoder, next_offset)?
9663            {
9664                let member_inline_size = <fidl::encoding::Endpoint<
9665                    fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>,
9666                > as fidl::encoding::TypeMarker>::inline_size(
9667                    decoder.context
9668                );
9669                if inlined != (member_inline_size <= 4) {
9670                    return Err(fidl::Error::InvalidInlineBitInEnvelope);
9671                }
9672                let inner_offset;
9673                let mut inner_depth = depth.clone();
9674                if inlined {
9675                    decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9676                    inner_offset = next_offset;
9677                } else {
9678                    inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9679                    inner_depth.increment()?;
9680                }
9681                let val_ref = self.ifc.get_or_insert_with(|| {
9682                    fidl::new_empty!(
9683                        fidl::encoding::Endpoint<
9684                            fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>,
9685                        >,
9686                        fidl::encoding::DefaultFuchsiaResourceDialect
9687                    )
9688                });
9689                fidl::decode!(
9690                    fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>>,
9691                    fidl::encoding::DefaultFuchsiaResourceDialect,
9692                    val_ref,
9693                    decoder,
9694                    inner_offset,
9695                    inner_depth
9696                )?;
9697                if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9698                {
9699                    return Err(fidl::Error::InvalidNumBytesInEnvelope);
9700                }
9701                if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9702                    return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9703                }
9704            }
9705
9706            next_offset += envelope_size;
9707
9708            // Decode the remaining unknown envelopes.
9709            while next_offset < end_offset {
9710                _next_ordinal_to_read += 1;
9711                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9712                next_offset += envelope_size;
9713            }
9714
9715            Ok(())
9716        }
9717    }
9718
9719    impl WlanFullmacImplInitResponse {
9720        #[inline(always)]
9721        fn max_ordinal_present(&self) -> u64 {
9722            if let Some(_) = self.sme_channel {
9723                return 1;
9724            }
9725            0
9726        }
9727    }
9728
9729    impl fidl::encoding::ResourceTypeMarker for WlanFullmacImplInitResponse {
9730        type Borrowed<'a> = &'a mut Self;
9731        fn take_or_borrow<'a>(
9732            value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9733        ) -> Self::Borrowed<'a> {
9734            value
9735        }
9736    }
9737
9738    unsafe impl fidl::encoding::TypeMarker for WlanFullmacImplInitResponse {
9739        type Owned = Self;
9740
9741        #[inline(always)]
9742        fn inline_align(_context: fidl::encoding::Context) -> usize {
9743            8
9744        }
9745
9746        #[inline(always)]
9747        fn inline_size(_context: fidl::encoding::Context) -> usize {
9748            16
9749        }
9750    }
9751
9752    unsafe impl
9753        fidl::encoding::Encode<
9754            WlanFullmacImplInitResponse,
9755            fidl::encoding::DefaultFuchsiaResourceDialect,
9756        > for &mut WlanFullmacImplInitResponse
9757    {
9758        unsafe fn encode(
9759            self,
9760            encoder: &mut fidl::encoding::Encoder<
9761                '_,
9762                fidl::encoding::DefaultFuchsiaResourceDialect,
9763            >,
9764            offset: usize,
9765            mut depth: fidl::encoding::Depth,
9766        ) -> fidl::Result<()> {
9767            encoder.debug_check_bounds::<WlanFullmacImplInitResponse>(offset);
9768            // Vector header
9769            let max_ordinal: u64 = self.max_ordinal_present();
9770            encoder.write_num(max_ordinal, offset);
9771            encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9772            // Calling encoder.out_of_line_offset(0) is not allowed.
9773            if max_ordinal == 0 {
9774                return Ok(());
9775            }
9776            depth.increment()?;
9777            let envelope_size = 8;
9778            let bytes_len = max_ordinal as usize * envelope_size;
9779            #[allow(unused_variables)]
9780            let offset = encoder.out_of_line_offset(bytes_len);
9781            let mut _prev_end_offset: usize = 0;
9782            if 1 > max_ordinal {
9783                return Ok(());
9784            }
9785
9786            // Write at offset+(ordinal-1)*envelope_size, since ordinals are one-based and envelopes
9787            // are envelope_size bytes.
9788            let cur_offset: usize = (1 - 1) * envelope_size;
9789
9790            // Zero reserved fields.
9791            encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9792
9793            // Safety:
9794            // - bytes_len is calculated to fit envelope_size*max(member.ordinal).
9795            // - Since cur_offset is envelope_size*(member.ordinal - 1) and the envelope takes
9796            //   envelope_size bytes, there is always sufficient room.
9797            fidl::encoding::encode_in_envelope_optional::<
9798                fidl::encoding::HandleType<
9799                    fidl::Channel,
9800                    { fidl::ObjectType::CHANNEL.into_raw() },
9801                    2147483648,
9802                >,
9803                fidl::encoding::DefaultFuchsiaResourceDialect,
9804            >(
9805                self.sme_channel.as_mut().map(
9806                    <fidl::encoding::HandleType<
9807                        fidl::Channel,
9808                        { fidl::ObjectType::CHANNEL.into_raw() },
9809                        2147483648,
9810                    > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
9811                ),
9812                encoder,
9813                offset + cur_offset,
9814                depth,
9815            )?;
9816
9817            _prev_end_offset = cur_offset + envelope_size;
9818
9819            Ok(())
9820        }
9821    }
9822
9823    impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
9824        for WlanFullmacImplInitResponse
9825    {
9826        #[inline(always)]
9827        fn new_empty() -> Self {
9828            Self::default()
9829        }
9830
9831        unsafe fn decode(
9832            &mut self,
9833            decoder: &mut fidl::encoding::Decoder<
9834                '_,
9835                fidl::encoding::DefaultFuchsiaResourceDialect,
9836            >,
9837            offset: usize,
9838            mut depth: fidl::encoding::Depth,
9839        ) -> fidl::Result<()> {
9840            decoder.debug_check_bounds::<Self>(offset);
9841            let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9842                None => return Err(fidl::Error::NotNullable),
9843                Some(len) => len,
9844            };
9845            // Calling decoder.out_of_line_offset(0) is not allowed.
9846            if len == 0 {
9847                return Ok(());
9848            };
9849            depth.increment()?;
9850            let envelope_size = 8;
9851            let bytes_len = len * envelope_size;
9852            let offset = decoder.out_of_line_offset(bytes_len)?;
9853            // Decode the envelope for each type.
9854            let mut _next_ordinal_to_read = 0;
9855            let mut next_offset = offset;
9856            let end_offset = offset + bytes_len;
9857            _next_ordinal_to_read += 1;
9858            if next_offset >= end_offset {
9859                return Ok(());
9860            }
9861
9862            // Decode unknown envelopes for gaps in ordinals.
9863            while _next_ordinal_to_read < 1 {
9864                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9865                _next_ordinal_to_read += 1;
9866                next_offset += envelope_size;
9867            }
9868
9869            let next_out_of_line = decoder.next_out_of_line();
9870            let handles_before = decoder.remaining_handles();
9871            if let Some((inlined, num_bytes, num_handles)) =
9872                fidl::encoding::decode_envelope_header(decoder, next_offset)?
9873            {
9874                let member_inline_size = <fidl::encoding::HandleType<
9875                    fidl::Channel,
9876                    { fidl::ObjectType::CHANNEL.into_raw() },
9877                    2147483648,
9878                > as fidl::encoding::TypeMarker>::inline_size(
9879                    decoder.context
9880                );
9881                if inlined != (member_inline_size <= 4) {
9882                    return Err(fidl::Error::InvalidInlineBitInEnvelope);
9883                }
9884                let inner_offset;
9885                let mut inner_depth = depth.clone();
9886                if inlined {
9887                    decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9888                    inner_offset = next_offset;
9889                } else {
9890                    inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9891                    inner_depth.increment()?;
9892                }
9893                let val_ref =
9894                self.sme_channel.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
9895                fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
9896                if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9897                {
9898                    return Err(fidl::Error::InvalidNumBytesInEnvelope);
9899                }
9900                if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9901                    return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9902                }
9903            }
9904
9905            next_offset += envelope_size;
9906
9907            // Decode the remaining unknown envelopes.
9908            while next_offset < end_offset {
9909                _next_ordinal_to_read += 1;
9910                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9911                next_offset += envelope_size;
9912            }
9913
9914            Ok(())
9915        }
9916    }
9917}