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.phyimpl/WlanPhyImpl.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.phyimpl/WlanPhyImpl.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.phyimpl/WlanPhyImpl.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 fidl::endpoints::ControlHandle for WlanFullmacImpl_ControlHandle {
3430    fn shutdown(&self) {
3431        self.inner.shutdown()
3432    }
3433
3434    fn shutdown_with_epitaph(&self, status: zx_status::Status) {
3435        self.inner.shutdown_with_epitaph(status)
3436    }
3437
3438    fn is_closed(&self) -> bool {
3439        self.inner.channel().is_closed()
3440    }
3441    fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
3442        self.inner.channel().on_closed()
3443    }
3444
3445    #[cfg(target_os = "fuchsia")]
3446    fn signal_peer(
3447        &self,
3448        clear_mask: zx::Signals,
3449        set_mask: zx::Signals,
3450    ) -> Result<(), zx_status::Status> {
3451        use fidl::Peered;
3452        self.inner.channel().signal_peer(clear_mask, set_mask)
3453    }
3454}
3455
3456impl WlanFullmacImpl_ControlHandle {}
3457
3458#[must_use = "FIDL methods require a response to be sent"]
3459#[derive(Debug)]
3460pub struct WlanFullmacImpl_InitResponder {
3461    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3462    tx_id: u32,
3463}
3464
3465/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3466/// if the responder is dropped without sending a response, so that the client
3467/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3468impl std::ops::Drop for WlanFullmacImpl_InitResponder {
3469    fn drop(&mut self) {
3470        self.control_handle.shutdown();
3471        // Safety: drops once, never accessed again
3472        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3473    }
3474}
3475
3476impl fidl::endpoints::Responder for WlanFullmacImpl_InitResponder {
3477    type ControlHandle = WlanFullmacImpl_ControlHandle;
3478
3479    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3480        &self.control_handle
3481    }
3482
3483    fn drop_without_shutdown(mut self) {
3484        // Safety: drops once, never accessed again due to mem::forget
3485        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3486        // Prevent Drop from running (which would shut down the channel)
3487        std::mem::forget(self);
3488    }
3489}
3490
3491impl WlanFullmacImpl_InitResponder {
3492    /// Sends a response to the FIDL transaction.
3493    ///
3494    /// Sets the channel to shutdown if an error occurs.
3495    pub fn send(
3496        self,
3497        mut result: Result<WlanFullmacImplInitResponse, i32>,
3498    ) -> Result<(), fidl::Error> {
3499        let _result = self.send_raw(result);
3500        if _result.is_err() {
3501            self.control_handle.shutdown();
3502        }
3503        self.drop_without_shutdown();
3504        _result
3505    }
3506
3507    /// Similar to "send" but does not shutdown the channel if an error occurs.
3508    pub fn send_no_shutdown_on_err(
3509        self,
3510        mut result: Result<WlanFullmacImplInitResponse, i32>,
3511    ) -> Result<(), fidl::Error> {
3512        let _result = self.send_raw(result);
3513        self.drop_without_shutdown();
3514        _result
3515    }
3516
3517    fn send_raw(
3518        &self,
3519        mut result: Result<WlanFullmacImplInitResponse, i32>,
3520    ) -> Result<(), fidl::Error> {
3521        self.control_handle
3522            .inner
3523            .send::<fidl::encoding::ResultType<WlanFullmacImplInitResponse, i32>>(
3524                result.as_mut().map_err(|e| *e),
3525                self.tx_id,
3526                0x593dfb6cb3f0f1aa,
3527                fidl::encoding::DynamicFlags::empty(),
3528            )
3529    }
3530}
3531
3532#[must_use = "FIDL methods require a response to be sent"]
3533#[derive(Debug)]
3534pub struct WlanFullmacImpl_QueryResponder {
3535    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3536    tx_id: u32,
3537}
3538
3539/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3540/// if the responder is dropped without sending a response, so that the client
3541/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3542impl std::ops::Drop for WlanFullmacImpl_QueryResponder {
3543    fn drop(&mut self) {
3544        self.control_handle.shutdown();
3545        // Safety: drops once, never accessed again
3546        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3547    }
3548}
3549
3550impl fidl::endpoints::Responder for WlanFullmacImpl_QueryResponder {
3551    type ControlHandle = WlanFullmacImpl_ControlHandle;
3552
3553    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3554        &self.control_handle
3555    }
3556
3557    fn drop_without_shutdown(mut self) {
3558        // Safety: drops once, never accessed again due to mem::forget
3559        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3560        // Prevent Drop from running (which would shut down the channel)
3561        std::mem::forget(self);
3562    }
3563}
3564
3565impl WlanFullmacImpl_QueryResponder {
3566    /// Sends a response to the FIDL transaction.
3567    ///
3568    /// Sets the channel to shutdown if an error occurs.
3569    pub fn send(
3570        self,
3571        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3572    ) -> Result<(), fidl::Error> {
3573        let _result = self.send_raw(result);
3574        if _result.is_err() {
3575            self.control_handle.shutdown();
3576        }
3577        self.drop_without_shutdown();
3578        _result
3579    }
3580
3581    /// Similar to "send" but does not shutdown the channel if an error occurs.
3582    pub fn send_no_shutdown_on_err(
3583        self,
3584        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3585    ) -> Result<(), fidl::Error> {
3586        let _result = self.send_raw(result);
3587        self.drop_without_shutdown();
3588        _result
3589    }
3590
3591    fn send_raw(
3592        &self,
3593        mut result: Result<&WlanFullmacImplQueryResponse, i32>,
3594    ) -> Result<(), fidl::Error> {
3595        self.control_handle
3596            .inner
3597            .send::<fidl::encoding::ResultType<WlanFullmacImplQueryResponse, i32>>(
3598                result,
3599                self.tx_id,
3600                0x28ac65f9da3941d4,
3601                fidl::encoding::DynamicFlags::empty(),
3602            )
3603    }
3604}
3605
3606#[must_use = "FIDL methods require a response to be sent"]
3607#[derive(Debug)]
3608pub struct WlanFullmacImpl_QuerySecuritySupportResponder {
3609    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3610    tx_id: u32,
3611}
3612
3613/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3614/// if the responder is dropped without sending a response, so that the client
3615/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3616impl std::ops::Drop for WlanFullmacImpl_QuerySecuritySupportResponder {
3617    fn drop(&mut self) {
3618        self.control_handle.shutdown();
3619        // Safety: drops once, never accessed again
3620        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3621    }
3622}
3623
3624impl fidl::endpoints::Responder for WlanFullmacImpl_QuerySecuritySupportResponder {
3625    type ControlHandle = WlanFullmacImpl_ControlHandle;
3626
3627    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3628        &self.control_handle
3629    }
3630
3631    fn drop_without_shutdown(mut self) {
3632        // Safety: drops once, never accessed again due to mem::forget
3633        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3634        // Prevent Drop from running (which would shut down the channel)
3635        std::mem::forget(self);
3636    }
3637}
3638
3639impl WlanFullmacImpl_QuerySecuritySupportResponder {
3640    /// Sends a response to the FIDL transaction.
3641    ///
3642    /// Sets the channel to shutdown if an error occurs.
3643    pub fn send(
3644        self,
3645        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3646    ) -> Result<(), fidl::Error> {
3647        let _result = self.send_raw(result);
3648        if _result.is_err() {
3649            self.control_handle.shutdown();
3650        }
3651        self.drop_without_shutdown();
3652        _result
3653    }
3654
3655    /// Similar to "send" but does not shutdown the channel if an error occurs.
3656    pub fn send_no_shutdown_on_err(
3657        self,
3658        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3659    ) -> Result<(), fidl::Error> {
3660        let _result = self.send_raw(result);
3661        self.drop_without_shutdown();
3662        _result
3663    }
3664
3665    fn send_raw(
3666        &self,
3667        mut result: Result<&WlanFullmacImplQuerySecuritySupportResponse, i32>,
3668    ) -> Result<(), fidl::Error> {
3669        self.control_handle.inner.send::<fidl::encoding::ResultType<
3670            WlanFullmacImplQuerySecuritySupportResponse,
3671            i32,
3672        >>(
3673            result,
3674            self.tx_id,
3675            0x11cf3fa6eeb93f84,
3676            fidl::encoding::DynamicFlags::empty(),
3677        )
3678    }
3679}
3680
3681#[must_use = "FIDL methods require a response to be sent"]
3682#[derive(Debug)]
3683pub struct WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3684    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3685    tx_id: u32,
3686}
3687
3688/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3689/// if the responder is dropped without sending a response, so that the client
3690/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3691impl std::ops::Drop for WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3692    fn drop(&mut self) {
3693        self.control_handle.shutdown();
3694        // Safety: drops once, never accessed again
3695        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3696    }
3697}
3698
3699impl fidl::endpoints::Responder for WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3700    type ControlHandle = WlanFullmacImpl_ControlHandle;
3701
3702    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3703        &self.control_handle
3704    }
3705
3706    fn drop_without_shutdown(mut self) {
3707        // Safety: drops once, never accessed again due to mem::forget
3708        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3709        // Prevent Drop from running (which would shut down the channel)
3710        std::mem::forget(self);
3711    }
3712}
3713
3714impl WlanFullmacImpl_QuerySpectrumManagementSupportResponder {
3715    /// Sends a response to the FIDL transaction.
3716    ///
3717    /// Sets the channel to shutdown if an error occurs.
3718    pub fn send(
3719        self,
3720        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3721    ) -> Result<(), fidl::Error> {
3722        let _result = self.send_raw(result);
3723        if _result.is_err() {
3724            self.control_handle.shutdown();
3725        }
3726        self.drop_without_shutdown();
3727        _result
3728    }
3729
3730    /// Similar to "send" but does not shutdown the channel if an error occurs.
3731    pub fn send_no_shutdown_on_err(
3732        self,
3733        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3734    ) -> Result<(), fidl::Error> {
3735        let _result = self.send_raw(result);
3736        self.drop_without_shutdown();
3737        _result
3738    }
3739
3740    fn send_raw(
3741        &self,
3742        mut result: Result<&WlanFullmacImplQuerySpectrumManagementSupportResponse, i32>,
3743    ) -> Result<(), fidl::Error> {
3744        self.control_handle.inner.send::<fidl::encoding::ResultType<
3745            WlanFullmacImplQuerySpectrumManagementSupportResponse,
3746            i32,
3747        >>(
3748            result,
3749            self.tx_id,
3750            0x22ae7551d855b83a,
3751            fidl::encoding::DynamicFlags::empty(),
3752        )
3753    }
3754}
3755
3756#[must_use = "FIDL methods require a response to be sent"]
3757#[derive(Debug)]
3758pub struct WlanFullmacImpl_QueryTelemetrySupportResponder {
3759    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3760    tx_id: u32,
3761}
3762
3763/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3764/// if the responder is dropped without sending a response, so that the client
3765/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3766impl std::ops::Drop for WlanFullmacImpl_QueryTelemetrySupportResponder {
3767    fn drop(&mut self) {
3768        self.control_handle.shutdown();
3769        // Safety: drops once, never accessed again
3770        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3771    }
3772}
3773
3774impl fidl::endpoints::Responder for WlanFullmacImpl_QueryTelemetrySupportResponder {
3775    type ControlHandle = WlanFullmacImpl_ControlHandle;
3776
3777    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3778        &self.control_handle
3779    }
3780
3781    fn drop_without_shutdown(mut self) {
3782        // Safety: drops once, never accessed again due to mem::forget
3783        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3784        // Prevent Drop from running (which would shut down the channel)
3785        std::mem::forget(self);
3786    }
3787}
3788
3789impl WlanFullmacImpl_QueryTelemetrySupportResponder {
3790    /// Sends a response to the FIDL transaction.
3791    ///
3792    /// Sets the channel to shutdown if an error occurs.
3793    pub fn send(
3794        self,
3795        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3796    ) -> Result<(), fidl::Error> {
3797        let _result = self.send_raw(result);
3798        if _result.is_err() {
3799            self.control_handle.shutdown();
3800        }
3801        self.drop_without_shutdown();
3802        _result
3803    }
3804
3805    /// Similar to "send" but does not shutdown the channel if an error occurs.
3806    pub fn send_no_shutdown_on_err(
3807        self,
3808        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3809    ) -> Result<(), fidl::Error> {
3810        let _result = self.send_raw(result);
3811        self.drop_without_shutdown();
3812        _result
3813    }
3814
3815    fn send_raw(
3816        &self,
3817        mut result: Result<&WlanFullmacImplQueryTelemetrySupportResponse, i32>,
3818    ) -> Result<(), fidl::Error> {
3819        self.control_handle.inner.send::<fidl::encoding::ResultType<
3820            WlanFullmacImplQueryTelemetrySupportResponse,
3821            i32,
3822        >>(
3823            result,
3824            self.tx_id,
3825            0x4561479ca560827f,
3826            fidl::encoding::DynamicFlags::empty(),
3827        )
3828    }
3829}
3830
3831#[must_use = "FIDL methods require a response to be sent"]
3832#[derive(Debug)]
3833pub struct WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3834    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3835    tx_id: u32,
3836}
3837
3838/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3839/// if the responder is dropped without sending a response, so that the client
3840/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3841impl std::ops::Drop for WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3842    fn drop(&mut self) {
3843        self.control_handle.shutdown();
3844        // Safety: drops once, never accessed again
3845        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3846    }
3847}
3848
3849impl fidl::endpoints::Responder for WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3850    type ControlHandle = WlanFullmacImpl_ControlHandle;
3851
3852    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3853        &self.control_handle
3854    }
3855
3856    fn drop_without_shutdown(mut self) {
3857        // Safety: drops once, never accessed again due to mem::forget
3858        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3859        // Prevent Drop from running (which would shut down the channel)
3860        std::mem::forget(self);
3861    }
3862}
3863
3864impl WlanFullmacImpl_QueryApfPacketFilterSupportResponder {
3865    /// Sends a response to the FIDL transaction.
3866    ///
3867    /// Sets the channel to shutdown if an error occurs.
3868    pub fn send(
3869        self,
3870        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3871    ) -> Result<(), fidl::Error> {
3872        let _result = self.send_raw(result);
3873        if _result.is_err() {
3874            self.control_handle.shutdown();
3875        }
3876        self.drop_without_shutdown();
3877        _result
3878    }
3879
3880    /// Similar to "send" but does not shutdown the channel if an error occurs.
3881    pub fn send_no_shutdown_on_err(
3882        self,
3883        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3884    ) -> Result<(), fidl::Error> {
3885        let _result = self.send_raw(result);
3886        self.drop_without_shutdown();
3887        _result
3888    }
3889
3890    fn send_raw(
3891        &self,
3892        mut result: Result<&WlanFullmacImplQueryApfPacketFilterSupportResponse, i32>,
3893    ) -> Result<(), fidl::Error> {
3894        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
3895            WlanFullmacImplQueryApfPacketFilterSupportResponse,
3896            i32,
3897        >>(
3898            fidl::encoding::FlexibleResult::new(result),
3899            self.tx_id,
3900            0x6df8cdf0acd4dfad,
3901            fidl::encoding::DynamicFlags::FLEXIBLE,
3902        )
3903    }
3904}
3905
3906#[must_use = "FIDL methods require a response to be sent"]
3907#[derive(Debug)]
3908pub struct WlanFullmacImpl_StartScanResponder {
3909    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3910    tx_id: u32,
3911}
3912
3913/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3914/// if the responder is dropped without sending a response, so that the client
3915/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3916impl std::ops::Drop for WlanFullmacImpl_StartScanResponder {
3917    fn drop(&mut self) {
3918        self.control_handle.shutdown();
3919        // Safety: drops once, never accessed again
3920        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3921    }
3922}
3923
3924impl fidl::endpoints::Responder for WlanFullmacImpl_StartScanResponder {
3925    type ControlHandle = WlanFullmacImpl_ControlHandle;
3926
3927    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3928        &self.control_handle
3929    }
3930
3931    fn drop_without_shutdown(mut self) {
3932        // Safety: drops once, never accessed again due to mem::forget
3933        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3934        // Prevent Drop from running (which would shut down the channel)
3935        std::mem::forget(self);
3936    }
3937}
3938
3939impl WlanFullmacImpl_StartScanResponder {
3940    /// Sends a response to the FIDL transaction.
3941    ///
3942    /// Sets the channel to shutdown if an error occurs.
3943    pub fn send(self) -> Result<(), fidl::Error> {
3944        let _result = self.send_raw();
3945        if _result.is_err() {
3946            self.control_handle.shutdown();
3947        }
3948        self.drop_without_shutdown();
3949        _result
3950    }
3951
3952    /// Similar to "send" but does not shutdown the channel if an error occurs.
3953    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
3954        let _result = self.send_raw();
3955        self.drop_without_shutdown();
3956        _result
3957    }
3958
3959    fn send_raw(&self) -> Result<(), fidl::Error> {
3960        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
3961            (),
3962            self.tx_id,
3963            0x26c17bf595aa161c,
3964            fidl::encoding::DynamicFlags::empty(),
3965        )
3966    }
3967}
3968
3969#[must_use = "FIDL methods require a response to be sent"]
3970#[derive(Debug)]
3971pub struct WlanFullmacImpl_StartScheduledScanResponder {
3972    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
3973    tx_id: u32,
3974}
3975
3976/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
3977/// if the responder is dropped without sending a response, so that the client
3978/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
3979impl std::ops::Drop for WlanFullmacImpl_StartScheduledScanResponder {
3980    fn drop(&mut self) {
3981        self.control_handle.shutdown();
3982        // Safety: drops once, never accessed again
3983        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3984    }
3985}
3986
3987impl fidl::endpoints::Responder for WlanFullmacImpl_StartScheduledScanResponder {
3988    type ControlHandle = WlanFullmacImpl_ControlHandle;
3989
3990    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
3991        &self.control_handle
3992    }
3993
3994    fn drop_without_shutdown(mut self) {
3995        // Safety: drops once, never accessed again due to mem::forget
3996        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
3997        // Prevent Drop from running (which would shut down the channel)
3998        std::mem::forget(self);
3999    }
4000}
4001
4002impl WlanFullmacImpl_StartScheduledScanResponder {
4003    /// Sends a response to the FIDL transaction.
4004    ///
4005    /// Sets the channel to shutdown if an error occurs.
4006    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4007        let _result = self.send_raw(result);
4008        if _result.is_err() {
4009            self.control_handle.shutdown();
4010        }
4011        self.drop_without_shutdown();
4012        _result
4013    }
4014
4015    /// Similar to "send" but does not shutdown the channel if an error occurs.
4016    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4017        let _result = self.send_raw(result);
4018        self.drop_without_shutdown();
4019        _result
4020    }
4021
4022    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4023        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4024            fidl::encoding::EmptyStruct,
4025            i32,
4026        >>(
4027            fidl::encoding::FlexibleResult::new(result),
4028            self.tx_id,
4029            0x67bb4356265682d2,
4030            fidl::encoding::DynamicFlags::FLEXIBLE,
4031        )
4032    }
4033}
4034
4035#[must_use = "FIDL methods require a response to be sent"]
4036#[derive(Debug)]
4037pub struct WlanFullmacImpl_StopScheduledScanResponder {
4038    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4039    tx_id: u32,
4040}
4041
4042/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4043/// if the responder is dropped without sending a response, so that the client
4044/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4045impl std::ops::Drop for WlanFullmacImpl_StopScheduledScanResponder {
4046    fn drop(&mut self) {
4047        self.control_handle.shutdown();
4048        // Safety: drops once, never accessed again
4049        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4050    }
4051}
4052
4053impl fidl::endpoints::Responder for WlanFullmacImpl_StopScheduledScanResponder {
4054    type ControlHandle = WlanFullmacImpl_ControlHandle;
4055
4056    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4057        &self.control_handle
4058    }
4059
4060    fn drop_without_shutdown(mut self) {
4061        // Safety: drops once, never accessed again due to mem::forget
4062        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4063        // Prevent Drop from running (which would shut down the channel)
4064        std::mem::forget(self);
4065    }
4066}
4067
4068impl WlanFullmacImpl_StopScheduledScanResponder {
4069    /// Sends a response to the FIDL transaction.
4070    ///
4071    /// Sets the channel to shutdown if an error occurs.
4072    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4073        let _result = self.send_raw(result);
4074        if _result.is_err() {
4075            self.control_handle.shutdown();
4076        }
4077        self.drop_without_shutdown();
4078        _result
4079    }
4080
4081    /// Similar to "send" but does not shutdown the channel if an error occurs.
4082    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4083        let _result = self.send_raw(result);
4084        self.drop_without_shutdown();
4085        _result
4086    }
4087
4088    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
4089        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4090            fidl::encoding::EmptyStruct,
4091            i32,
4092        >>(
4093            fidl::encoding::FlexibleResult::new(result),
4094            self.tx_id,
4095            0x71bf2a03f2cdc10f,
4096            fidl::encoding::DynamicFlags::FLEXIBLE,
4097        )
4098    }
4099}
4100
4101#[must_use = "FIDL methods require a response to be sent"]
4102#[derive(Debug)]
4103pub struct WlanFullmacImpl_GetScheduledScanEnabledResponder {
4104    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4105    tx_id: u32,
4106}
4107
4108/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4109/// if the responder is dropped without sending a response, so that the client
4110/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4111impl std::ops::Drop for WlanFullmacImpl_GetScheduledScanEnabledResponder {
4112    fn drop(&mut self) {
4113        self.control_handle.shutdown();
4114        // Safety: drops once, never accessed again
4115        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4116    }
4117}
4118
4119impl fidl::endpoints::Responder for WlanFullmacImpl_GetScheduledScanEnabledResponder {
4120    type ControlHandle = WlanFullmacImpl_ControlHandle;
4121
4122    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4123        &self.control_handle
4124    }
4125
4126    fn drop_without_shutdown(mut self) {
4127        // Safety: drops once, never accessed again due to mem::forget
4128        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4129        // Prevent Drop from running (which would shut down the channel)
4130        std::mem::forget(self);
4131    }
4132}
4133
4134impl WlanFullmacImpl_GetScheduledScanEnabledResponder {
4135    /// Sends a response to the FIDL transaction.
4136    ///
4137    /// Sets the channel to shutdown if an error occurs.
4138    pub fn send(
4139        self,
4140        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4141    ) -> Result<(), fidl::Error> {
4142        let _result = self.send_raw(result);
4143        if _result.is_err() {
4144            self.control_handle.shutdown();
4145        }
4146        self.drop_without_shutdown();
4147        _result
4148    }
4149
4150    /// Similar to "send" but does not shutdown the channel if an error occurs.
4151    pub fn send_no_shutdown_on_err(
4152        self,
4153        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4154    ) -> Result<(), fidl::Error> {
4155        let _result = self.send_raw(result);
4156        self.drop_without_shutdown();
4157        _result
4158    }
4159
4160    fn send_raw(
4161        &self,
4162        mut result: Result<&WlanFullmacImplGetScheduledScanEnabledResponse, i32>,
4163    ) -> Result<(), fidl::Error> {
4164        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
4165            WlanFullmacImplGetScheduledScanEnabledResponse,
4166            i32,
4167        >>(
4168            fidl::encoding::FlexibleResult::new(result),
4169            self.tx_id,
4170            0x96be6f11648f198,
4171            fidl::encoding::DynamicFlags::FLEXIBLE,
4172        )
4173    }
4174}
4175
4176#[must_use = "FIDL methods require a response to be sent"]
4177#[derive(Debug)]
4178pub struct WlanFullmacImpl_ConnectResponder {
4179    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4180    tx_id: u32,
4181}
4182
4183/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4184/// if the responder is dropped without sending a response, so that the client
4185/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4186impl std::ops::Drop for WlanFullmacImpl_ConnectResponder {
4187    fn drop(&mut self) {
4188        self.control_handle.shutdown();
4189        // Safety: drops once, never accessed again
4190        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4191    }
4192}
4193
4194impl fidl::endpoints::Responder for WlanFullmacImpl_ConnectResponder {
4195    type ControlHandle = WlanFullmacImpl_ControlHandle;
4196
4197    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4198        &self.control_handle
4199    }
4200
4201    fn drop_without_shutdown(mut self) {
4202        // Safety: drops once, never accessed again due to mem::forget
4203        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4204        // Prevent Drop from running (which would shut down the channel)
4205        std::mem::forget(self);
4206    }
4207}
4208
4209impl WlanFullmacImpl_ConnectResponder {
4210    /// Sends a response to the FIDL transaction.
4211    ///
4212    /// Sets the channel to shutdown if an error occurs.
4213    pub fn send(self) -> Result<(), fidl::Error> {
4214        let _result = self.send_raw();
4215        if _result.is_err() {
4216            self.control_handle.shutdown();
4217        }
4218        self.drop_without_shutdown();
4219        _result
4220    }
4221
4222    /// Similar to "send" but does not shutdown the channel if an error occurs.
4223    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4224        let _result = self.send_raw();
4225        self.drop_without_shutdown();
4226        _result
4227    }
4228
4229    fn send_raw(&self) -> Result<(), fidl::Error> {
4230        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4231            (),
4232            self.tx_id,
4233            0x19eb0322efb07a76,
4234            fidl::encoding::DynamicFlags::empty(),
4235        )
4236    }
4237}
4238
4239#[must_use = "FIDL methods require a response to be sent"]
4240#[derive(Debug)]
4241pub struct WlanFullmacImpl_ReconnectResponder {
4242    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4243    tx_id: u32,
4244}
4245
4246/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4247/// if the responder is dropped without sending a response, so that the client
4248/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4249impl std::ops::Drop for WlanFullmacImpl_ReconnectResponder {
4250    fn drop(&mut self) {
4251        self.control_handle.shutdown();
4252        // Safety: drops once, never accessed again
4253        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4254    }
4255}
4256
4257impl fidl::endpoints::Responder for WlanFullmacImpl_ReconnectResponder {
4258    type ControlHandle = WlanFullmacImpl_ControlHandle;
4259
4260    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4261        &self.control_handle
4262    }
4263
4264    fn drop_without_shutdown(mut self) {
4265        // Safety: drops once, never accessed again due to mem::forget
4266        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4267        // Prevent Drop from running (which would shut down the channel)
4268        std::mem::forget(self);
4269    }
4270}
4271
4272impl WlanFullmacImpl_ReconnectResponder {
4273    /// Sends a response to the FIDL transaction.
4274    ///
4275    /// Sets the channel to shutdown if an error occurs.
4276    pub fn send(self) -> Result<(), fidl::Error> {
4277        let _result = self.send_raw();
4278        if _result.is_err() {
4279            self.control_handle.shutdown();
4280        }
4281        self.drop_without_shutdown();
4282        _result
4283    }
4284
4285    /// Similar to "send" but does not shutdown the channel if an error occurs.
4286    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4287        let _result = self.send_raw();
4288        self.drop_without_shutdown();
4289        _result
4290    }
4291
4292    fn send_raw(&self) -> Result<(), fidl::Error> {
4293        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4294            (),
4295            self.tx_id,
4296            0x474084c4ef19ee71,
4297            fidl::encoding::DynamicFlags::empty(),
4298        )
4299    }
4300}
4301
4302#[must_use = "FIDL methods require a response to be sent"]
4303#[derive(Debug)]
4304pub struct WlanFullmacImpl_RoamResponder {
4305    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4306    tx_id: u32,
4307}
4308
4309/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4310/// if the responder is dropped without sending a response, so that the client
4311/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4312impl std::ops::Drop for WlanFullmacImpl_RoamResponder {
4313    fn drop(&mut self) {
4314        self.control_handle.shutdown();
4315        // Safety: drops once, never accessed again
4316        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4317    }
4318}
4319
4320impl fidl::endpoints::Responder for WlanFullmacImpl_RoamResponder {
4321    type ControlHandle = WlanFullmacImpl_ControlHandle;
4322
4323    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4324        &self.control_handle
4325    }
4326
4327    fn drop_without_shutdown(mut self) {
4328        // Safety: drops once, never accessed again due to mem::forget
4329        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4330        // Prevent Drop from running (which would shut down the channel)
4331        std::mem::forget(self);
4332    }
4333}
4334
4335impl WlanFullmacImpl_RoamResponder {
4336    /// Sends a response to the FIDL transaction.
4337    ///
4338    /// Sets the channel to shutdown if an error occurs.
4339    pub fn send(self) -> Result<(), fidl::Error> {
4340        let _result = self.send_raw();
4341        if _result.is_err() {
4342            self.control_handle.shutdown();
4343        }
4344        self.drop_without_shutdown();
4345        _result
4346    }
4347
4348    /// Similar to "send" but does not shutdown the channel if an error occurs.
4349    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4350        let _result = self.send_raw();
4351        self.drop_without_shutdown();
4352        _result
4353    }
4354
4355    fn send_raw(&self) -> Result<(), fidl::Error> {
4356        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4357            (),
4358            self.tx_id,
4359            0x1e35dcc98b124b64,
4360            fidl::encoding::DynamicFlags::empty(),
4361        )
4362    }
4363}
4364
4365#[must_use = "FIDL methods require a response to be sent"]
4366#[derive(Debug)]
4367pub struct WlanFullmacImpl_AuthRespResponder {
4368    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4369    tx_id: u32,
4370}
4371
4372/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4373/// if the responder is dropped without sending a response, so that the client
4374/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4375impl std::ops::Drop for WlanFullmacImpl_AuthRespResponder {
4376    fn drop(&mut self) {
4377        self.control_handle.shutdown();
4378        // Safety: drops once, never accessed again
4379        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4380    }
4381}
4382
4383impl fidl::endpoints::Responder for WlanFullmacImpl_AuthRespResponder {
4384    type ControlHandle = WlanFullmacImpl_ControlHandle;
4385
4386    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4387        &self.control_handle
4388    }
4389
4390    fn drop_without_shutdown(mut self) {
4391        // Safety: drops once, never accessed again due to mem::forget
4392        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4393        // Prevent Drop from running (which would shut down the channel)
4394        std::mem::forget(self);
4395    }
4396}
4397
4398impl WlanFullmacImpl_AuthRespResponder {
4399    /// Sends a response to the FIDL transaction.
4400    ///
4401    /// Sets the channel to shutdown if an error occurs.
4402    pub fn send(self) -> Result<(), fidl::Error> {
4403        let _result = self.send_raw();
4404        if _result.is_err() {
4405            self.control_handle.shutdown();
4406        }
4407        self.drop_without_shutdown();
4408        _result
4409    }
4410
4411    /// Similar to "send" but does not shutdown the channel if an error occurs.
4412    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4413        let _result = self.send_raw();
4414        self.drop_without_shutdown();
4415        _result
4416    }
4417
4418    fn send_raw(&self) -> Result<(), fidl::Error> {
4419        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4420            (),
4421            self.tx_id,
4422            0x5f7ea24b44a4aaeb,
4423            fidl::encoding::DynamicFlags::empty(),
4424        )
4425    }
4426}
4427
4428#[must_use = "FIDL methods require a response to be sent"]
4429#[derive(Debug)]
4430pub struct WlanFullmacImpl_DeauthResponder {
4431    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4432    tx_id: u32,
4433}
4434
4435/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4436/// if the responder is dropped without sending a response, so that the client
4437/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4438impl std::ops::Drop for WlanFullmacImpl_DeauthResponder {
4439    fn drop(&mut self) {
4440        self.control_handle.shutdown();
4441        // Safety: drops once, never accessed again
4442        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4443    }
4444}
4445
4446impl fidl::endpoints::Responder for WlanFullmacImpl_DeauthResponder {
4447    type ControlHandle = WlanFullmacImpl_ControlHandle;
4448
4449    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4450        &self.control_handle
4451    }
4452
4453    fn drop_without_shutdown(mut self) {
4454        // Safety: drops once, never accessed again due to mem::forget
4455        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4456        // Prevent Drop from running (which would shut down the channel)
4457        std::mem::forget(self);
4458    }
4459}
4460
4461impl WlanFullmacImpl_DeauthResponder {
4462    /// Sends a response to the FIDL transaction.
4463    ///
4464    /// Sets the channel to shutdown if an error occurs.
4465    pub fn send(self) -> Result<(), fidl::Error> {
4466        let _result = self.send_raw();
4467        if _result.is_err() {
4468            self.control_handle.shutdown();
4469        }
4470        self.drop_without_shutdown();
4471        _result
4472    }
4473
4474    /// Similar to "send" but does not shutdown the channel if an error occurs.
4475    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4476        let _result = self.send_raw();
4477        self.drop_without_shutdown();
4478        _result
4479    }
4480
4481    fn send_raw(&self) -> Result<(), fidl::Error> {
4482        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4483            (),
4484            self.tx_id,
4485            0x112786eccbf12f37,
4486            fidl::encoding::DynamicFlags::empty(),
4487        )
4488    }
4489}
4490
4491#[must_use = "FIDL methods require a response to be sent"]
4492#[derive(Debug)]
4493pub struct WlanFullmacImpl_AssocRespResponder {
4494    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4495    tx_id: u32,
4496}
4497
4498/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4499/// if the responder is dropped without sending a response, so that the client
4500/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4501impl std::ops::Drop for WlanFullmacImpl_AssocRespResponder {
4502    fn drop(&mut self) {
4503        self.control_handle.shutdown();
4504        // Safety: drops once, never accessed again
4505        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4506    }
4507}
4508
4509impl fidl::endpoints::Responder for WlanFullmacImpl_AssocRespResponder {
4510    type ControlHandle = WlanFullmacImpl_ControlHandle;
4511
4512    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4513        &self.control_handle
4514    }
4515
4516    fn drop_without_shutdown(mut self) {
4517        // Safety: drops once, never accessed again due to mem::forget
4518        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4519        // Prevent Drop from running (which would shut down the channel)
4520        std::mem::forget(self);
4521    }
4522}
4523
4524impl WlanFullmacImpl_AssocRespResponder {
4525    /// Sends a response to the FIDL transaction.
4526    ///
4527    /// Sets the channel to shutdown if an error occurs.
4528    pub fn send(self) -> Result<(), fidl::Error> {
4529        let _result = self.send_raw();
4530        if _result.is_err() {
4531            self.control_handle.shutdown();
4532        }
4533        self.drop_without_shutdown();
4534        _result
4535    }
4536
4537    /// Similar to "send" but does not shutdown the channel if an error occurs.
4538    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4539        let _result = self.send_raw();
4540        self.drop_without_shutdown();
4541        _result
4542    }
4543
4544    fn send_raw(&self) -> Result<(), fidl::Error> {
4545        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4546            (),
4547            self.tx_id,
4548            0x5022ce6b8eefec2f,
4549            fidl::encoding::DynamicFlags::empty(),
4550        )
4551    }
4552}
4553
4554#[must_use = "FIDL methods require a response to be sent"]
4555#[derive(Debug)]
4556pub struct WlanFullmacImpl_DisassocResponder {
4557    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4558    tx_id: u32,
4559}
4560
4561/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4562/// if the responder is dropped without sending a response, so that the client
4563/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4564impl std::ops::Drop for WlanFullmacImpl_DisassocResponder {
4565    fn drop(&mut self) {
4566        self.control_handle.shutdown();
4567        // Safety: drops once, never accessed again
4568        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4569    }
4570}
4571
4572impl fidl::endpoints::Responder for WlanFullmacImpl_DisassocResponder {
4573    type ControlHandle = WlanFullmacImpl_ControlHandle;
4574
4575    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4576        &self.control_handle
4577    }
4578
4579    fn drop_without_shutdown(mut self) {
4580        // Safety: drops once, never accessed again due to mem::forget
4581        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4582        // Prevent Drop from running (which would shut down the channel)
4583        std::mem::forget(self);
4584    }
4585}
4586
4587impl WlanFullmacImpl_DisassocResponder {
4588    /// Sends a response to the FIDL transaction.
4589    ///
4590    /// Sets the channel to shutdown if an error occurs.
4591    pub fn send(self) -> Result<(), fidl::Error> {
4592        let _result = self.send_raw();
4593        if _result.is_err() {
4594            self.control_handle.shutdown();
4595        }
4596        self.drop_without_shutdown();
4597        _result
4598    }
4599
4600    /// Similar to "send" but does not shutdown the channel if an error occurs.
4601    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4602        let _result = self.send_raw();
4603        self.drop_without_shutdown();
4604        _result
4605    }
4606
4607    fn send_raw(&self) -> Result<(), fidl::Error> {
4608        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4609            (),
4610            self.tx_id,
4611            0x9c0fc4e8de53e01,
4612            fidl::encoding::DynamicFlags::empty(),
4613        )
4614    }
4615}
4616
4617#[must_use = "FIDL methods require a response to be sent"]
4618#[derive(Debug)]
4619pub struct WlanFullmacImpl_StartBssResponder {
4620    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4621    tx_id: u32,
4622}
4623
4624/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4625/// if the responder is dropped without sending a response, so that the client
4626/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4627impl std::ops::Drop for WlanFullmacImpl_StartBssResponder {
4628    fn drop(&mut self) {
4629        self.control_handle.shutdown();
4630        // Safety: drops once, never accessed again
4631        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4632    }
4633}
4634
4635impl fidl::endpoints::Responder for WlanFullmacImpl_StartBssResponder {
4636    type ControlHandle = WlanFullmacImpl_ControlHandle;
4637
4638    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4639        &self.control_handle
4640    }
4641
4642    fn drop_without_shutdown(mut self) {
4643        // Safety: drops once, never accessed again due to mem::forget
4644        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4645        // Prevent Drop from running (which would shut down the channel)
4646        std::mem::forget(self);
4647    }
4648}
4649
4650impl WlanFullmacImpl_StartBssResponder {
4651    /// Sends a response to the FIDL transaction.
4652    ///
4653    /// Sets the channel to shutdown if an error occurs.
4654    pub fn send(self) -> Result<(), fidl::Error> {
4655        let _result = self.send_raw();
4656        if _result.is_err() {
4657            self.control_handle.shutdown();
4658        }
4659        self.drop_without_shutdown();
4660        _result
4661    }
4662
4663    /// Similar to "send" but does not shutdown the channel if an error occurs.
4664    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4665        let _result = self.send_raw();
4666        self.drop_without_shutdown();
4667        _result
4668    }
4669
4670    fn send_raw(&self) -> Result<(), fidl::Error> {
4671        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4672            (),
4673            self.tx_id,
4674            0x6922644d6b1d341d,
4675            fidl::encoding::DynamicFlags::empty(),
4676        )
4677    }
4678}
4679
4680#[must_use = "FIDL methods require a response to be sent"]
4681#[derive(Debug)]
4682pub struct WlanFullmacImpl_StopBssResponder {
4683    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4684    tx_id: u32,
4685}
4686
4687/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4688/// if the responder is dropped without sending a response, so that the client
4689/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4690impl std::ops::Drop for WlanFullmacImpl_StopBssResponder {
4691    fn drop(&mut self) {
4692        self.control_handle.shutdown();
4693        // Safety: drops once, never accessed again
4694        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4695    }
4696}
4697
4698impl fidl::endpoints::Responder for WlanFullmacImpl_StopBssResponder {
4699    type ControlHandle = WlanFullmacImpl_ControlHandle;
4700
4701    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4702        &self.control_handle
4703    }
4704
4705    fn drop_without_shutdown(mut self) {
4706        // Safety: drops once, never accessed again due to mem::forget
4707        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4708        // Prevent Drop from running (which would shut down the channel)
4709        std::mem::forget(self);
4710    }
4711}
4712
4713impl WlanFullmacImpl_StopBssResponder {
4714    /// Sends a response to the FIDL transaction.
4715    ///
4716    /// Sets the channel to shutdown if an error occurs.
4717    pub fn send(self) -> Result<(), fidl::Error> {
4718        let _result = self.send_raw();
4719        if _result.is_err() {
4720            self.control_handle.shutdown();
4721        }
4722        self.drop_without_shutdown();
4723        _result
4724    }
4725
4726    /// Similar to "send" but does not shutdown the channel if an error occurs.
4727    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4728        let _result = self.send_raw();
4729        self.drop_without_shutdown();
4730        _result
4731    }
4732
4733    fn send_raw(&self) -> Result<(), fidl::Error> {
4734        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4735            (),
4736            self.tx_id,
4737            0x5aeb9b72e7575268,
4738            fidl::encoding::DynamicFlags::empty(),
4739        )
4740    }
4741}
4742
4743#[must_use = "FIDL methods require a response to be sent"]
4744#[derive(Debug)]
4745pub struct WlanFullmacImpl_SetKeysResponder {
4746    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4747    tx_id: u32,
4748}
4749
4750/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4751/// if the responder is dropped without sending a response, so that the client
4752/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4753impl std::ops::Drop for WlanFullmacImpl_SetKeysResponder {
4754    fn drop(&mut self) {
4755        self.control_handle.shutdown();
4756        // Safety: drops once, never accessed again
4757        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4758    }
4759}
4760
4761impl fidl::endpoints::Responder for WlanFullmacImpl_SetKeysResponder {
4762    type ControlHandle = WlanFullmacImpl_ControlHandle;
4763
4764    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4765        &self.control_handle
4766    }
4767
4768    fn drop_without_shutdown(mut self) {
4769        // Safety: drops once, never accessed again due to mem::forget
4770        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4771        // Prevent Drop from running (which would shut down the channel)
4772        std::mem::forget(self);
4773    }
4774}
4775
4776impl WlanFullmacImpl_SetKeysResponder {
4777    /// Sends a response to the FIDL transaction.
4778    ///
4779    /// Sets the channel to shutdown if an error occurs.
4780    pub fn send(self, mut resp: &WlanFullmacSetKeysResp) -> Result<(), fidl::Error> {
4781        let _result = self.send_raw(resp);
4782        if _result.is_err() {
4783            self.control_handle.shutdown();
4784        }
4785        self.drop_without_shutdown();
4786        _result
4787    }
4788
4789    /// Similar to "send" but does not shutdown the channel if an error occurs.
4790    pub fn send_no_shutdown_on_err(
4791        self,
4792        mut resp: &WlanFullmacSetKeysResp,
4793    ) -> Result<(), fidl::Error> {
4794        let _result = self.send_raw(resp);
4795        self.drop_without_shutdown();
4796        _result
4797    }
4798
4799    fn send_raw(&self, mut resp: &WlanFullmacSetKeysResp) -> Result<(), fidl::Error> {
4800        self.control_handle.inner.send::<WlanFullmacImplSetKeysResponse>(
4801            (resp,),
4802            self.tx_id,
4803            0x20f46b1e039f0985,
4804            fidl::encoding::DynamicFlags::empty(),
4805        )
4806    }
4807}
4808
4809#[must_use = "FIDL methods require a response to be sent"]
4810#[derive(Debug)]
4811pub struct WlanFullmacImpl_EapolTxResponder {
4812    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4813    tx_id: u32,
4814}
4815
4816/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4817/// if the responder is dropped without sending a response, so that the client
4818/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4819impl std::ops::Drop for WlanFullmacImpl_EapolTxResponder {
4820    fn drop(&mut self) {
4821        self.control_handle.shutdown();
4822        // Safety: drops once, never accessed again
4823        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4824    }
4825}
4826
4827impl fidl::endpoints::Responder for WlanFullmacImpl_EapolTxResponder {
4828    type ControlHandle = WlanFullmacImpl_ControlHandle;
4829
4830    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4831        &self.control_handle
4832    }
4833
4834    fn drop_without_shutdown(mut self) {
4835        // Safety: drops once, never accessed again due to mem::forget
4836        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4837        // Prevent Drop from running (which would shut down the channel)
4838        std::mem::forget(self);
4839    }
4840}
4841
4842impl WlanFullmacImpl_EapolTxResponder {
4843    /// Sends a response to the FIDL transaction.
4844    ///
4845    /// Sets the channel to shutdown if an error occurs.
4846    pub fn send(self) -> Result<(), fidl::Error> {
4847        let _result = self.send_raw();
4848        if _result.is_err() {
4849            self.control_handle.shutdown();
4850        }
4851        self.drop_without_shutdown();
4852        _result
4853    }
4854
4855    /// Similar to "send" but does not shutdown the channel if an error occurs.
4856    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
4857        let _result = self.send_raw();
4858        self.drop_without_shutdown();
4859        _result
4860    }
4861
4862    fn send_raw(&self) -> Result<(), fidl::Error> {
4863        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
4864            (),
4865            self.tx_id,
4866            0x529a2d90fd4c8177,
4867            fidl::encoding::DynamicFlags::empty(),
4868        )
4869    }
4870}
4871
4872#[must_use = "FIDL methods require a response to be sent"]
4873#[derive(Debug)]
4874pub struct WlanFullmacImpl_GetIfaceStatsResponder {
4875    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4876    tx_id: u32,
4877}
4878
4879/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4880/// if the responder is dropped without sending a response, so that the client
4881/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4882impl std::ops::Drop for WlanFullmacImpl_GetIfaceStatsResponder {
4883    fn drop(&mut self) {
4884        self.control_handle.shutdown();
4885        // Safety: drops once, never accessed again
4886        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4887    }
4888}
4889
4890impl fidl::endpoints::Responder for WlanFullmacImpl_GetIfaceStatsResponder {
4891    type ControlHandle = WlanFullmacImpl_ControlHandle;
4892
4893    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4894        &self.control_handle
4895    }
4896
4897    fn drop_without_shutdown(mut self) {
4898        // Safety: drops once, never accessed again due to mem::forget
4899        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4900        // Prevent Drop from running (which would shut down the channel)
4901        std::mem::forget(self);
4902    }
4903}
4904
4905impl WlanFullmacImpl_GetIfaceStatsResponder {
4906    /// Sends a response to the FIDL transaction.
4907    ///
4908    /// Sets the channel to shutdown if an error occurs.
4909    pub fn send(
4910        self,
4911        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4912    ) -> Result<(), fidl::Error> {
4913        let _result = self.send_raw(result);
4914        if _result.is_err() {
4915            self.control_handle.shutdown();
4916        }
4917        self.drop_without_shutdown();
4918        _result
4919    }
4920
4921    /// Similar to "send" but does not shutdown the channel if an error occurs.
4922    pub fn send_no_shutdown_on_err(
4923        self,
4924        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4925    ) -> Result<(), fidl::Error> {
4926        let _result = self.send_raw(result);
4927        self.drop_without_shutdown();
4928        _result
4929    }
4930
4931    fn send_raw(
4932        &self,
4933        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceStats, i32>,
4934    ) -> Result<(), fidl::Error> {
4935        self.control_handle.inner.send::<fidl::encoding::ResultType<
4936            WlanFullmacImplGetIfaceStatsResponse,
4937            i32,
4938        >>(
4939            result.map(|stats| (stats,)),
4940            self.tx_id,
4941            0x505563776ef0392f,
4942            fidl::encoding::DynamicFlags::empty(),
4943        )
4944    }
4945}
4946
4947#[must_use = "FIDL methods require a response to be sent"]
4948#[derive(Debug)]
4949pub struct WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4950    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
4951    tx_id: u32,
4952}
4953
4954/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
4955/// if the responder is dropped without sending a response, so that the client
4956/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
4957impl std::ops::Drop for WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4958    fn drop(&mut self) {
4959        self.control_handle.shutdown();
4960        // Safety: drops once, never accessed again
4961        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4962    }
4963}
4964
4965impl fidl::endpoints::Responder for WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4966    type ControlHandle = WlanFullmacImpl_ControlHandle;
4967
4968    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
4969        &self.control_handle
4970    }
4971
4972    fn drop_without_shutdown(mut self) {
4973        // Safety: drops once, never accessed again due to mem::forget
4974        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
4975        // Prevent Drop from running (which would shut down the channel)
4976        std::mem::forget(self);
4977    }
4978}
4979
4980impl WlanFullmacImpl_GetIfaceHistogramStatsResponder {
4981    /// Sends a response to the FIDL transaction.
4982    ///
4983    /// Sets the channel to shutdown if an error occurs.
4984    pub fn send(
4985        self,
4986        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
4987    ) -> Result<(), fidl::Error> {
4988        let _result = self.send_raw(result);
4989        if _result.is_err() {
4990            self.control_handle.shutdown();
4991        }
4992        self.drop_without_shutdown();
4993        _result
4994    }
4995
4996    /// Similar to "send" but does not shutdown the channel if an error occurs.
4997    pub fn send_no_shutdown_on_err(
4998        self,
4999        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
5000    ) -> Result<(), fidl::Error> {
5001        let _result = self.send_raw(result);
5002        self.drop_without_shutdown();
5003        _result
5004    }
5005
5006    fn send_raw(
5007        &self,
5008        mut result: Result<&fidl_fuchsia_wlan_stats::IfaceHistogramStats, i32>,
5009    ) -> Result<(), fidl::Error> {
5010        self.control_handle.inner.send::<fidl::encoding::ResultType<
5011            WlanFullmacImplGetIfaceHistogramStatsResponse,
5012            i32,
5013        >>(
5014            result.map(|stats| (stats,)),
5015            self.tx_id,
5016            0x503d586f30ccf2cd,
5017            fidl::encoding::DynamicFlags::empty(),
5018        )
5019    }
5020}
5021
5022#[must_use = "FIDL methods require a response to be sent"]
5023#[derive(Debug)]
5024pub struct WlanFullmacImpl_GetSignalReportResponder {
5025    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5026    tx_id: u32,
5027}
5028
5029/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5030/// if the responder is dropped without sending a response, so that the client
5031/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5032impl std::ops::Drop for WlanFullmacImpl_GetSignalReportResponder {
5033    fn drop(&mut self) {
5034        self.control_handle.shutdown();
5035        // Safety: drops once, never accessed again
5036        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5037    }
5038}
5039
5040impl fidl::endpoints::Responder for WlanFullmacImpl_GetSignalReportResponder {
5041    type ControlHandle = WlanFullmacImpl_ControlHandle;
5042
5043    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5044        &self.control_handle
5045    }
5046
5047    fn drop_without_shutdown(mut self) {
5048        // Safety: drops once, never accessed again due to mem::forget
5049        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5050        // Prevent Drop from running (which would shut down the channel)
5051        std::mem::forget(self);
5052    }
5053}
5054
5055impl WlanFullmacImpl_GetSignalReportResponder {
5056    /// Sends a response to the FIDL transaction.
5057    ///
5058    /// Sets the channel to shutdown if an error occurs.
5059    pub fn send(
5060        self,
5061        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5062    ) -> Result<(), fidl::Error> {
5063        let _result = self.send_raw(result);
5064        if _result.is_err() {
5065            self.control_handle.shutdown();
5066        }
5067        self.drop_without_shutdown();
5068        _result
5069    }
5070
5071    /// Similar to "send" but does not shutdown the channel if an error occurs.
5072    pub fn send_no_shutdown_on_err(
5073        self,
5074        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5075    ) -> Result<(), fidl::Error> {
5076        let _result = self.send_raw(result);
5077        self.drop_without_shutdown();
5078        _result
5079    }
5080
5081    fn send_raw(
5082        &self,
5083        mut result: Result<&fidl_fuchsia_wlan_stats::SignalReport, i32>,
5084    ) -> Result<(), fidl::Error> {
5085        self.control_handle.inner.send::<fidl::encoding::ResultType<
5086            fidl_fuchsia_wlan_stats::SignalReport,
5087            i32,
5088        >>(
5089            result,
5090            self.tx_id,
5091            0x5d93f056e4796bb3,
5092            fidl::encoding::DynamicFlags::empty(),
5093        )
5094    }
5095}
5096
5097#[must_use = "FIDL methods require a response to be sent"]
5098#[derive(Debug)]
5099pub struct WlanFullmacImpl_SaeHandshakeRespResponder {
5100    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5101    tx_id: u32,
5102}
5103
5104/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5105/// if the responder is dropped without sending a response, so that the client
5106/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5107impl std::ops::Drop for WlanFullmacImpl_SaeHandshakeRespResponder {
5108    fn drop(&mut self) {
5109        self.control_handle.shutdown();
5110        // Safety: drops once, never accessed again
5111        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5112    }
5113}
5114
5115impl fidl::endpoints::Responder for WlanFullmacImpl_SaeHandshakeRespResponder {
5116    type ControlHandle = WlanFullmacImpl_ControlHandle;
5117
5118    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5119        &self.control_handle
5120    }
5121
5122    fn drop_without_shutdown(mut self) {
5123        // Safety: drops once, never accessed again due to mem::forget
5124        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5125        // Prevent Drop from running (which would shut down the channel)
5126        std::mem::forget(self);
5127    }
5128}
5129
5130impl WlanFullmacImpl_SaeHandshakeRespResponder {
5131    /// Sends a response to the FIDL transaction.
5132    ///
5133    /// Sets the channel to shutdown if an error occurs.
5134    pub fn send(self) -> Result<(), fidl::Error> {
5135        let _result = self.send_raw();
5136        if _result.is_err() {
5137            self.control_handle.shutdown();
5138        }
5139        self.drop_without_shutdown();
5140        _result
5141    }
5142
5143    /// Similar to "send" but does not shutdown the channel if an error occurs.
5144    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5145        let _result = self.send_raw();
5146        self.drop_without_shutdown();
5147        _result
5148    }
5149
5150    fn send_raw(&self) -> Result<(), fidl::Error> {
5151        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5152            (),
5153            self.tx_id,
5154            0x72cd3a31ae5a54f6,
5155            fidl::encoding::DynamicFlags::empty(),
5156        )
5157    }
5158}
5159
5160#[must_use = "FIDL methods require a response to be sent"]
5161#[derive(Debug)]
5162pub struct WlanFullmacImpl_SaeFrameTxResponder {
5163    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5164    tx_id: u32,
5165}
5166
5167/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5168/// if the responder is dropped without sending a response, so that the client
5169/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5170impl std::ops::Drop for WlanFullmacImpl_SaeFrameTxResponder {
5171    fn drop(&mut self) {
5172        self.control_handle.shutdown();
5173        // Safety: drops once, never accessed again
5174        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5175    }
5176}
5177
5178impl fidl::endpoints::Responder for WlanFullmacImpl_SaeFrameTxResponder {
5179    type ControlHandle = WlanFullmacImpl_ControlHandle;
5180
5181    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5182        &self.control_handle
5183    }
5184
5185    fn drop_without_shutdown(mut self) {
5186        // Safety: drops once, never accessed again due to mem::forget
5187        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5188        // Prevent Drop from running (which would shut down the channel)
5189        std::mem::forget(self);
5190    }
5191}
5192
5193impl WlanFullmacImpl_SaeFrameTxResponder {
5194    /// Sends a response to the FIDL transaction.
5195    ///
5196    /// Sets the channel to shutdown if an error occurs.
5197    pub fn send(self) -> Result<(), fidl::Error> {
5198        let _result = self.send_raw();
5199        if _result.is_err() {
5200            self.control_handle.shutdown();
5201        }
5202        self.drop_without_shutdown();
5203        _result
5204    }
5205
5206    /// Similar to "send" but does not shutdown the channel if an error occurs.
5207    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5208        let _result = self.send_raw();
5209        self.drop_without_shutdown();
5210        _result
5211    }
5212
5213    fn send_raw(&self) -> Result<(), fidl::Error> {
5214        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5215            (),
5216            self.tx_id,
5217            0x4715ad5dc5a6340f,
5218            fidl::encoding::DynamicFlags::empty(),
5219        )
5220    }
5221}
5222
5223#[must_use = "FIDL methods require a response to be sent"]
5224#[derive(Debug)]
5225pub struct WlanFullmacImpl_WmmStatusReqResponder {
5226    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5227    tx_id: u32,
5228}
5229
5230/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5231/// if the responder is dropped without sending a response, so that the client
5232/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5233impl std::ops::Drop for WlanFullmacImpl_WmmStatusReqResponder {
5234    fn drop(&mut self) {
5235        self.control_handle.shutdown();
5236        // Safety: drops once, never accessed again
5237        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5238    }
5239}
5240
5241impl fidl::endpoints::Responder for WlanFullmacImpl_WmmStatusReqResponder {
5242    type ControlHandle = WlanFullmacImpl_ControlHandle;
5243
5244    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5245        &self.control_handle
5246    }
5247
5248    fn drop_without_shutdown(mut self) {
5249        // Safety: drops once, never accessed again due to mem::forget
5250        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5251        // Prevent Drop from running (which would shut down the channel)
5252        std::mem::forget(self);
5253    }
5254}
5255
5256impl WlanFullmacImpl_WmmStatusReqResponder {
5257    /// Sends a response to the FIDL transaction.
5258    ///
5259    /// Sets the channel to shutdown if an error occurs.
5260    pub fn send(self) -> Result<(), fidl::Error> {
5261        let _result = self.send_raw();
5262        if _result.is_err() {
5263            self.control_handle.shutdown();
5264        }
5265        self.drop_without_shutdown();
5266        _result
5267    }
5268
5269    /// Similar to "send" but does not shutdown the channel if an error occurs.
5270    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5271        let _result = self.send_raw();
5272        self.drop_without_shutdown();
5273        _result
5274    }
5275
5276    fn send_raw(&self) -> Result<(), fidl::Error> {
5277        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5278            (),
5279            self.tx_id,
5280            0x635ecef3beb7a059,
5281            fidl::encoding::DynamicFlags::empty(),
5282        )
5283    }
5284}
5285
5286#[must_use = "FIDL methods require a response to be sent"]
5287#[derive(Debug)]
5288pub struct WlanFullmacImpl_OnLinkStateChangedResponder {
5289    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5290    tx_id: u32,
5291}
5292
5293/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5294/// if the responder is dropped without sending a response, so that the client
5295/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5296impl std::ops::Drop for WlanFullmacImpl_OnLinkStateChangedResponder {
5297    fn drop(&mut self) {
5298        self.control_handle.shutdown();
5299        // Safety: drops once, never accessed again
5300        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5301    }
5302}
5303
5304impl fidl::endpoints::Responder for WlanFullmacImpl_OnLinkStateChangedResponder {
5305    type ControlHandle = WlanFullmacImpl_ControlHandle;
5306
5307    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5308        &self.control_handle
5309    }
5310
5311    fn drop_without_shutdown(mut self) {
5312        // Safety: drops once, never accessed again due to mem::forget
5313        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5314        // Prevent Drop from running (which would shut down the channel)
5315        std::mem::forget(self);
5316    }
5317}
5318
5319impl WlanFullmacImpl_OnLinkStateChangedResponder {
5320    /// Sends a response to the FIDL transaction.
5321    ///
5322    /// Sets the channel to shutdown if an error occurs.
5323    pub fn send(self) -> Result<(), fidl::Error> {
5324        let _result = self.send_raw();
5325        if _result.is_err() {
5326            self.control_handle.shutdown();
5327        }
5328        self.drop_without_shutdown();
5329        _result
5330    }
5331
5332    /// Similar to "send" but does not shutdown the channel if an error occurs.
5333    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
5334        let _result = self.send_raw();
5335        self.drop_without_shutdown();
5336        _result
5337    }
5338
5339    fn send_raw(&self) -> Result<(), fidl::Error> {
5340        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
5341            (),
5342            self.tx_id,
5343            0x4d896e5b68e488d7,
5344            fidl::encoding::DynamicFlags::empty(),
5345        )
5346    }
5347}
5348
5349#[must_use = "FIDL methods require a response to be sent"]
5350#[derive(Debug)]
5351pub struct WlanFullmacImpl_SetMacAddressResponder {
5352    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5353    tx_id: u32,
5354}
5355
5356/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5357/// if the responder is dropped without sending a response, so that the client
5358/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5359impl std::ops::Drop for WlanFullmacImpl_SetMacAddressResponder {
5360    fn drop(&mut self) {
5361        self.control_handle.shutdown();
5362        // Safety: drops once, never accessed again
5363        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5364    }
5365}
5366
5367impl fidl::endpoints::Responder for WlanFullmacImpl_SetMacAddressResponder {
5368    type ControlHandle = WlanFullmacImpl_ControlHandle;
5369
5370    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5371        &self.control_handle
5372    }
5373
5374    fn drop_without_shutdown(mut self) {
5375        // Safety: drops once, never accessed again due to mem::forget
5376        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5377        // Prevent Drop from running (which would shut down the channel)
5378        std::mem::forget(self);
5379    }
5380}
5381
5382impl WlanFullmacImpl_SetMacAddressResponder {
5383    /// Sends a response to the FIDL transaction.
5384    ///
5385    /// Sets the channel to shutdown if an error occurs.
5386    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5387        let _result = self.send_raw(result);
5388        if _result.is_err() {
5389            self.control_handle.shutdown();
5390        }
5391        self.drop_without_shutdown();
5392        _result
5393    }
5394
5395    /// Similar to "send" but does not shutdown the channel if an error occurs.
5396    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5397        let _result = self.send_raw(result);
5398        self.drop_without_shutdown();
5399        _result
5400    }
5401
5402    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5403        self.control_handle
5404            .inner
5405            .send::<fidl::encoding::ResultType<fidl::encoding::EmptyStruct, i32>>(
5406                result,
5407                self.tx_id,
5408                0x211a97f6f21ae5f0,
5409                fidl::encoding::DynamicFlags::empty(),
5410            )
5411    }
5412}
5413
5414#[must_use = "FIDL methods require a response to be sent"]
5415#[derive(Debug)]
5416pub struct WlanFullmacImpl_InstallApfPacketFilterResponder {
5417    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5418    tx_id: u32,
5419}
5420
5421/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5422/// if the responder is dropped without sending a response, so that the client
5423/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5424impl std::ops::Drop for WlanFullmacImpl_InstallApfPacketFilterResponder {
5425    fn drop(&mut self) {
5426        self.control_handle.shutdown();
5427        // Safety: drops once, never accessed again
5428        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5429    }
5430}
5431
5432impl fidl::endpoints::Responder for WlanFullmacImpl_InstallApfPacketFilterResponder {
5433    type ControlHandle = WlanFullmacImpl_ControlHandle;
5434
5435    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5436        &self.control_handle
5437    }
5438
5439    fn drop_without_shutdown(mut self) {
5440        // Safety: drops once, never accessed again due to mem::forget
5441        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5442        // Prevent Drop from running (which would shut down the channel)
5443        std::mem::forget(self);
5444    }
5445}
5446
5447impl WlanFullmacImpl_InstallApfPacketFilterResponder {
5448    /// Sends a response to the FIDL transaction.
5449    ///
5450    /// Sets the channel to shutdown if an error occurs.
5451    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5452        let _result = self.send_raw(result);
5453        if _result.is_err() {
5454            self.control_handle.shutdown();
5455        }
5456        self.drop_without_shutdown();
5457        _result
5458    }
5459
5460    /// Similar to "send" but does not shutdown the channel if an error occurs.
5461    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5462        let _result = self.send_raw(result);
5463        self.drop_without_shutdown();
5464        _result
5465    }
5466
5467    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5468        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5469            fidl::encoding::EmptyStruct,
5470            i32,
5471        >>(
5472            fidl::encoding::FlexibleResult::new(result),
5473            self.tx_id,
5474            0x14597eda84122115,
5475            fidl::encoding::DynamicFlags::FLEXIBLE,
5476        )
5477    }
5478}
5479
5480#[must_use = "FIDL methods require a response to be sent"]
5481#[derive(Debug)]
5482pub struct WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5483    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5484    tx_id: u32,
5485}
5486
5487/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5488/// if the responder is dropped without sending a response, so that the client
5489/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5490impl std::ops::Drop for WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5491    fn drop(&mut self) {
5492        self.control_handle.shutdown();
5493        // Safety: drops once, never accessed again
5494        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5495    }
5496}
5497
5498impl fidl::endpoints::Responder for WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5499    type ControlHandle = WlanFullmacImpl_ControlHandle;
5500
5501    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5502        &self.control_handle
5503    }
5504
5505    fn drop_without_shutdown(mut self) {
5506        // Safety: drops once, never accessed again due to mem::forget
5507        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5508        // Prevent Drop from running (which would shut down the channel)
5509        std::mem::forget(self);
5510    }
5511}
5512
5513impl WlanFullmacImpl_ReadApfPacketFilterDataResponder {
5514    /// Sends a response to the FIDL transaction.
5515    ///
5516    /// Sets the channel to shutdown if an error occurs.
5517    pub fn send(
5518        self,
5519        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5520    ) -> Result<(), fidl::Error> {
5521        let _result = self.send_raw(result);
5522        if _result.is_err() {
5523            self.control_handle.shutdown();
5524        }
5525        self.drop_without_shutdown();
5526        _result
5527    }
5528
5529    /// Similar to "send" but does not shutdown the channel if an error occurs.
5530    pub fn send_no_shutdown_on_err(
5531        self,
5532        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5533    ) -> Result<(), fidl::Error> {
5534        let _result = self.send_raw(result);
5535        self.drop_without_shutdown();
5536        _result
5537    }
5538
5539    fn send_raw(
5540        &self,
5541        mut result: Result<&WlanFullmacImplReadApfPacketFilterDataResponse, i32>,
5542    ) -> Result<(), fidl::Error> {
5543        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5544            WlanFullmacImplReadApfPacketFilterDataResponse,
5545            i32,
5546        >>(
5547            fidl::encoding::FlexibleResult::new(result),
5548            self.tx_id,
5549            0x6ddcf8a179553a3c,
5550            fidl::encoding::DynamicFlags::FLEXIBLE,
5551        )
5552    }
5553}
5554
5555#[must_use = "FIDL methods require a response to be sent"]
5556#[derive(Debug)]
5557pub struct WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5558    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5559    tx_id: u32,
5560}
5561
5562/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5563/// if the responder is dropped without sending a response, so that the client
5564/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5565impl std::ops::Drop for WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5566    fn drop(&mut self) {
5567        self.control_handle.shutdown();
5568        // Safety: drops once, never accessed again
5569        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5570    }
5571}
5572
5573impl fidl::endpoints::Responder for WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5574    type ControlHandle = WlanFullmacImpl_ControlHandle;
5575
5576    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5577        &self.control_handle
5578    }
5579
5580    fn drop_without_shutdown(mut self) {
5581        // Safety: drops once, never accessed again due to mem::forget
5582        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5583        // Prevent Drop from running (which would shut down the channel)
5584        std::mem::forget(self);
5585    }
5586}
5587
5588impl WlanFullmacImpl_SetApfPacketFilterEnabledResponder {
5589    /// Sends a response to the FIDL transaction.
5590    ///
5591    /// Sets the channel to shutdown if an error occurs.
5592    pub fn send(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5593        let _result = self.send_raw(result);
5594        if _result.is_err() {
5595            self.control_handle.shutdown();
5596        }
5597        self.drop_without_shutdown();
5598        _result
5599    }
5600
5601    /// Similar to "send" but does not shutdown the channel if an error occurs.
5602    pub fn send_no_shutdown_on_err(self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5603        let _result = self.send_raw(result);
5604        self.drop_without_shutdown();
5605        _result
5606    }
5607
5608    fn send_raw(&self, mut result: Result<(), i32>) -> Result<(), fidl::Error> {
5609        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5610            fidl::encoding::EmptyStruct,
5611            i32,
5612        >>(
5613            fidl::encoding::FlexibleResult::new(result),
5614            self.tx_id,
5615            0x808792cade97d59,
5616            fidl::encoding::DynamicFlags::FLEXIBLE,
5617        )
5618    }
5619}
5620
5621#[must_use = "FIDL methods require a response to be sent"]
5622#[derive(Debug)]
5623pub struct WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5624    control_handle: std::mem::ManuallyDrop<WlanFullmacImpl_ControlHandle>,
5625    tx_id: u32,
5626}
5627
5628/// Set the the channel to be shutdown (see [`WlanFullmacImpl_ControlHandle::shutdown`])
5629/// if the responder is dropped without sending a response, so that the client
5630/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
5631impl std::ops::Drop for WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5632    fn drop(&mut self) {
5633        self.control_handle.shutdown();
5634        // Safety: drops once, never accessed again
5635        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5636    }
5637}
5638
5639impl fidl::endpoints::Responder for WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5640    type ControlHandle = WlanFullmacImpl_ControlHandle;
5641
5642    fn control_handle(&self) -> &WlanFullmacImpl_ControlHandle {
5643        &self.control_handle
5644    }
5645
5646    fn drop_without_shutdown(mut self) {
5647        // Safety: drops once, never accessed again due to mem::forget
5648        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
5649        // Prevent Drop from running (which would shut down the channel)
5650        std::mem::forget(self);
5651    }
5652}
5653
5654impl WlanFullmacImpl_GetApfPacketFilterEnabledResponder {
5655    /// Sends a response to the FIDL transaction.
5656    ///
5657    /// Sets the channel to shutdown if an error occurs.
5658    pub fn send(
5659        self,
5660        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5661    ) -> Result<(), fidl::Error> {
5662        let _result = self.send_raw(result);
5663        if _result.is_err() {
5664            self.control_handle.shutdown();
5665        }
5666        self.drop_without_shutdown();
5667        _result
5668    }
5669
5670    /// Similar to "send" but does not shutdown the channel if an error occurs.
5671    pub fn send_no_shutdown_on_err(
5672        self,
5673        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5674    ) -> Result<(), fidl::Error> {
5675        let _result = self.send_raw(result);
5676        self.drop_without_shutdown();
5677        _result
5678    }
5679
5680    fn send_raw(
5681        &self,
5682        mut result: Result<&WlanFullmacImplGetApfPacketFilterEnabledResponse, i32>,
5683    ) -> Result<(), fidl::Error> {
5684        self.control_handle.inner.send::<fidl::encoding::FlexibleResultType<
5685            WlanFullmacImplGetApfPacketFilterEnabledResponse,
5686            i32,
5687        >>(
5688            fidl::encoding::FlexibleResult::new(result),
5689            self.tx_id,
5690            0x284e1725471e3ae7,
5691            fidl::encoding::DynamicFlags::FLEXIBLE,
5692        )
5693    }
5694}
5695
5696#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
5697pub struct WlanFullmacImplIfcMarker;
5698
5699impl fidl::endpoints::ProtocolMarker for WlanFullmacImplIfcMarker {
5700    type Proxy = WlanFullmacImplIfcProxy;
5701    type RequestStream = WlanFullmacImplIfcRequestStream;
5702    #[cfg(target_os = "fuchsia")]
5703    type SynchronousProxy = WlanFullmacImplIfcSynchronousProxy;
5704
5705    const DEBUG_NAME: &'static str = "fuchsia.wlan.fullmac.WlanFullmacImplIfc";
5706}
5707impl fidl::endpoints::DiscoverableProtocolMarker for WlanFullmacImplIfcMarker {}
5708
5709pub trait WlanFullmacImplIfcProxyInterface: Send + Sync {
5710    type OnScanResultResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5711    fn r#on_scan_result(
5712        &self,
5713        payload: &WlanFullmacImplIfcOnScanResultRequest,
5714    ) -> Self::OnScanResultResponseFut;
5715    type OnScanEndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5716    fn r#on_scan_end(
5717        &self,
5718        payload: &WlanFullmacImplIfcOnScanEndRequest,
5719    ) -> Self::OnScanEndResponseFut;
5720    fn r#on_scheduled_scan_matches_available(
5721        &self,
5722        payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
5723    ) -> Result<(), fidl::Error>;
5724    fn r#on_scheduled_scan_stopped_by_firmware(
5725        &self,
5726        payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
5727    ) -> Result<(), fidl::Error>;
5728    type ConnectConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5729    fn r#connect_conf(
5730        &self,
5731        payload: &WlanFullmacImplIfcConnectConfRequest,
5732    ) -> Self::ConnectConfResponseFut;
5733    type RoamConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5734    fn r#roam_conf(&self, payload: &WlanFullmacImplIfcRoamConfRequest)
5735    -> Self::RoamConfResponseFut;
5736    type RoamStartIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5737    fn r#roam_start_ind(
5738        &self,
5739        payload: &WlanFullmacImplIfcRoamStartIndRequest,
5740    ) -> Self::RoamStartIndResponseFut;
5741    type RoamResultIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5742    fn r#roam_result_ind(
5743        &self,
5744        payload: &WlanFullmacImplIfcRoamResultIndRequest,
5745    ) -> Self::RoamResultIndResponseFut;
5746    type AuthIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5747    fn r#auth_ind(&self, payload: &WlanFullmacImplIfcAuthIndRequest) -> Self::AuthIndResponseFut;
5748    type DeauthConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5749    fn r#deauth_conf(
5750        &self,
5751        payload: &WlanFullmacImplIfcDeauthConfRequest,
5752    ) -> Self::DeauthConfResponseFut;
5753    type DeauthIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5754    fn r#deauth_ind(
5755        &self,
5756        payload: &WlanFullmacImplIfcDeauthIndRequest,
5757    ) -> Self::DeauthIndResponseFut;
5758    type AssocIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5759    fn r#assoc_ind(&self, payload: &WlanFullmacImplIfcAssocIndRequest)
5760    -> Self::AssocIndResponseFut;
5761    type DisassocConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5762    fn r#disassoc_conf(
5763        &self,
5764        payload: &WlanFullmacImplIfcDisassocConfRequest,
5765    ) -> Self::DisassocConfResponseFut;
5766    type DisassocIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5767    fn r#disassoc_ind(
5768        &self,
5769        payload: &WlanFullmacImplIfcDisassocIndRequest,
5770    ) -> Self::DisassocIndResponseFut;
5771    type StartConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5772    fn r#start_conf(
5773        &self,
5774        payload: &WlanFullmacImplIfcStartConfRequest,
5775    ) -> Self::StartConfResponseFut;
5776    type StopConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5777    fn r#stop_conf(&self, payload: &WlanFullmacImplIfcStopConfRequest)
5778    -> Self::StopConfResponseFut;
5779    type EapolConfResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5780    fn r#eapol_conf(
5781        &self,
5782        payload: &WlanFullmacImplIfcEapolConfRequest,
5783    ) -> Self::EapolConfResponseFut;
5784    type OnChannelSwitchResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5785    fn r#on_channel_switch(
5786        &self,
5787        ind: &WlanFullmacChannelSwitchInfo,
5788    ) -> Self::OnChannelSwitchResponseFut;
5789    type SignalReportResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5790    fn r#signal_report(
5791        &self,
5792        ind: &WlanFullmacSignalReportIndication,
5793    ) -> Self::SignalReportResponseFut;
5794    type EapolIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5795    fn r#eapol_ind(&self, payload: &WlanFullmacImplIfcEapolIndRequest)
5796    -> Self::EapolIndResponseFut;
5797    type OnPmkAvailableResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5798    fn r#on_pmk_available(
5799        &self,
5800        payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
5801    ) -> Self::OnPmkAvailableResponseFut;
5802    type SaeHandshakeIndResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5803    fn r#sae_handshake_ind(
5804        &self,
5805        payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
5806    ) -> Self::SaeHandshakeIndResponseFut;
5807    type SaeFrameRxResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5808    fn r#sae_frame_rx(&self, frame: &SaeFrame) -> Self::SaeFrameRxResponseFut;
5809    type OnWmmStatusRespResponseFut: std::future::Future<Output = Result<(), fidl::Error>> + Send;
5810    fn r#on_wmm_status_resp(
5811        &self,
5812        status: i32,
5813        wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
5814    ) -> Self::OnWmmStatusRespResponseFut;
5815}
5816#[derive(Debug)]
5817#[cfg(target_os = "fuchsia")]
5818pub struct WlanFullmacImplIfcSynchronousProxy {
5819    client: fidl::client::sync::Client,
5820}
5821
5822#[cfg(target_os = "fuchsia")]
5823impl fidl::endpoints::SynchronousProxy for WlanFullmacImplIfcSynchronousProxy {
5824    type Proxy = WlanFullmacImplIfcProxy;
5825    type Protocol = WlanFullmacImplIfcMarker;
5826
5827    fn from_channel(inner: fidl::Channel) -> Self {
5828        Self::new(inner)
5829    }
5830
5831    fn into_channel(self) -> fidl::Channel {
5832        self.client.into_channel()
5833    }
5834
5835    fn as_channel(&self) -> &fidl::Channel {
5836        self.client.as_channel()
5837    }
5838}
5839
5840#[cfg(target_os = "fuchsia")]
5841impl WlanFullmacImplIfcSynchronousProxy {
5842    pub fn new(channel: fidl::Channel) -> Self {
5843        Self { client: fidl::client::sync::Client::new(channel) }
5844    }
5845
5846    pub fn into_channel(self) -> fidl::Channel {
5847        self.client.into_channel()
5848    }
5849
5850    /// Waits until an event arrives and returns it. It is safe for other
5851    /// threads to make concurrent requests while waiting for an event.
5852    pub fn wait_for_event(
5853        &self,
5854        deadline: zx::MonotonicInstant,
5855    ) -> Result<WlanFullmacImplIfcEvent, fidl::Error> {
5856        WlanFullmacImplIfcEvent::decode(
5857            self.client.wait_for_event::<WlanFullmacImplIfcMarker>(deadline)?,
5858        )
5859    }
5860
5861    pub fn r#on_scan_result(
5862        &self,
5863        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
5864        ___deadline: zx::MonotonicInstant,
5865    ) -> Result<(), fidl::Error> {
5866        let _response = self.client.send_query::<
5867            WlanFullmacImplIfcOnScanResultRequest,
5868            fidl::encoding::EmptyPayload,
5869            WlanFullmacImplIfcMarker,
5870        >(
5871            payload,
5872            0x29aa81dc570f7a3e,
5873            fidl::encoding::DynamicFlags::empty(),
5874            ___deadline,
5875        )?;
5876        Ok(_response)
5877    }
5878
5879    pub fn r#on_scan_end(
5880        &self,
5881        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
5882        ___deadline: zx::MonotonicInstant,
5883    ) -> Result<(), fidl::Error> {
5884        let _response = self.client.send_query::<
5885            WlanFullmacImplIfcOnScanEndRequest,
5886            fidl::encoding::EmptyPayload,
5887            WlanFullmacImplIfcMarker,
5888        >(
5889            payload,
5890            0x7cd8aff80d27073c,
5891            fidl::encoding::DynamicFlags::empty(),
5892            ___deadline,
5893        )?;
5894        Ok(_response)
5895    }
5896
5897    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
5898    /// and results are available.
5899    pub fn r#on_scheduled_scan_matches_available(
5900        &self,
5901        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
5902    ) -> Result<(), fidl::Error> {
5903        self.client.send::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(
5904            payload,
5905            0x3036cd8b8b35e81b,
5906            fidl::encoding::DynamicFlags::empty(),
5907        )
5908    }
5909
5910    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
5911    pub fn r#on_scheduled_scan_stopped_by_firmware(
5912        &self,
5913        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
5914    ) -> Result<(), fidl::Error> {
5915        self.client.send::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(
5916            payload,
5917            0x50353be2c3029817,
5918            fidl::encoding::DynamicFlags::empty(),
5919        )
5920    }
5921
5922    pub fn r#connect_conf(
5923        &self,
5924        mut payload: &WlanFullmacImplIfcConnectConfRequest,
5925        ___deadline: zx::MonotonicInstant,
5926    ) -> Result<(), fidl::Error> {
5927        let _response = self.client.send_query::<
5928            WlanFullmacImplIfcConnectConfRequest,
5929            fidl::encoding::EmptyPayload,
5930            WlanFullmacImplIfcMarker,
5931        >(
5932            payload,
5933            0x3c22c6d80b2a2759,
5934            fidl::encoding::DynamicFlags::empty(),
5935            ___deadline,
5936        )?;
5937        Ok(_response)
5938    }
5939
5940    /// Report the result of an MLME-initiated roam attempt.
5941    pub fn r#roam_conf(
5942        &self,
5943        mut payload: &WlanFullmacImplIfcRoamConfRequest,
5944        ___deadline: zx::MonotonicInstant,
5945    ) -> Result<(), fidl::Error> {
5946        let _response = self.client.send_query::<
5947            WlanFullmacImplIfcRoamConfRequest,
5948            fidl::encoding::EmptyPayload,
5949            WlanFullmacImplIfcMarker,
5950        >(
5951            payload,
5952            0x368b2a5b903b3f7b,
5953            fidl::encoding::DynamicFlags::empty(),
5954            ___deadline,
5955        )?;
5956        Ok(_response)
5957    }
5958
5959    /// Report that a fullmac-initiated roam attempt is in progress.
5960    /// Fullmac must send this start indication for all roam attempts.
5961    pub fn r#roam_start_ind(
5962        &self,
5963        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
5964        ___deadline: zx::MonotonicInstant,
5965    ) -> Result<(), fidl::Error> {
5966        let _response = self.client.send_query::<
5967            WlanFullmacImplIfcRoamStartIndRequest,
5968            fidl::encoding::EmptyPayload,
5969            WlanFullmacImplIfcMarker,
5970        >(
5971            payload,
5972            0x23e1d9368935e7e4,
5973            fidl::encoding::DynamicFlags::empty(),
5974            ___deadline,
5975        )?;
5976        Ok(_response)
5977    }
5978
5979    /// Report the result of a fullmac-initiated roam attempt.
5980    pub fn r#roam_result_ind(
5981        &self,
5982        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
5983        ___deadline: zx::MonotonicInstant,
5984    ) -> Result<(), fidl::Error> {
5985        let _response = self.client.send_query::<
5986            WlanFullmacImplIfcRoamResultIndRequest,
5987            fidl::encoding::EmptyPayload,
5988            WlanFullmacImplIfcMarker,
5989        >(
5990            payload,
5991            0x7081c1b1ceea4914,
5992            fidl::encoding::DynamicFlags::empty(),
5993            ___deadline,
5994        )?;
5995        Ok(_response)
5996    }
5997
5998    pub fn r#auth_ind(
5999        &self,
6000        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6001        ___deadline: zx::MonotonicInstant,
6002    ) -> Result<(), fidl::Error> {
6003        let _response = self.client.send_query::<
6004            WlanFullmacImplIfcAuthIndRequest,
6005            fidl::encoding::EmptyPayload,
6006            WlanFullmacImplIfcMarker,
6007        >(
6008            payload,
6009            0x270e1f8889650d0b,
6010            fidl::encoding::DynamicFlags::empty(),
6011            ___deadline,
6012        )?;
6013        Ok(_response)
6014    }
6015
6016    pub fn r#deauth_conf(
6017        &self,
6018        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6019        ___deadline: zx::MonotonicInstant,
6020    ) -> Result<(), fidl::Error> {
6021        let _response = self.client.send_query::<
6022            WlanFullmacImplIfcDeauthConfRequest,
6023            fidl::encoding::EmptyPayload,
6024            WlanFullmacImplIfcMarker,
6025        >(
6026            payload,
6027            0x2c94b0d7258111b7,
6028            fidl::encoding::DynamicFlags::empty(),
6029            ___deadline,
6030        )?;
6031        Ok(_response)
6032    }
6033
6034    /// Report that the driver deauthenticated.
6035    pub fn r#deauth_ind(
6036        &self,
6037        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6038        ___deadline: zx::MonotonicInstant,
6039    ) -> Result<(), fidl::Error> {
6040        let _response = self.client.send_query::<
6041            WlanFullmacImplIfcDeauthIndRequest,
6042            fidl::encoding::EmptyPayload,
6043            WlanFullmacImplIfcMarker,
6044        >(
6045            payload,
6046            0x26cd27cdadd8dbaf,
6047            fidl::encoding::DynamicFlags::empty(),
6048            ___deadline,
6049        )?;
6050        Ok(_response)
6051    }
6052
6053    pub fn r#assoc_ind(
6054        &self,
6055        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6056        ___deadline: zx::MonotonicInstant,
6057    ) -> Result<(), fidl::Error> {
6058        let _response = self.client.send_query::<
6059            WlanFullmacImplIfcAssocIndRequest,
6060            fidl::encoding::EmptyPayload,
6061            WlanFullmacImplIfcMarker,
6062        >(
6063            payload,
6064            0x3e44529e3dc179ce,
6065            fidl::encoding::DynamicFlags::empty(),
6066            ___deadline,
6067        )?;
6068        Ok(_response)
6069    }
6070
6071    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
6072    pub fn r#disassoc_conf(
6073        &self,
6074        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6075        ___deadline: zx::MonotonicInstant,
6076    ) -> Result<(), fidl::Error> {
6077        let _response = self.client.send_query::<
6078            WlanFullmacImplIfcDisassocConfRequest,
6079            fidl::encoding::EmptyPayload,
6080            WlanFullmacImplIfcMarker,
6081        >(
6082            payload,
6083            0x7c713bcd58a76cb3,
6084            fidl::encoding::DynamicFlags::empty(),
6085            ___deadline,
6086        )?;
6087        Ok(_response)
6088    }
6089
6090    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
6091    pub fn r#disassoc_ind(
6092        &self,
6093        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6094        ___deadline: zx::MonotonicInstant,
6095    ) -> Result<(), fidl::Error> {
6096        let _response = self.client.send_query::<
6097            WlanFullmacImplIfcDisassocIndRequest,
6098            fidl::encoding::EmptyPayload,
6099            WlanFullmacImplIfcMarker,
6100        >(
6101            payload,
6102            0x6667b381b7f3990f,
6103            fidl::encoding::DynamicFlags::empty(),
6104            ___deadline,
6105        )?;
6106        Ok(_response)
6107    }
6108
6109    /// Report the result of a WlanFullmacImpl::StartBss request.
6110    pub fn r#start_conf(
6111        &self,
6112        mut payload: &WlanFullmacImplIfcStartConfRequest,
6113        ___deadline: zx::MonotonicInstant,
6114    ) -> Result<(), fidl::Error> {
6115        let _response = self.client.send_query::<
6116            WlanFullmacImplIfcStartConfRequest,
6117            fidl::encoding::EmptyPayload,
6118            WlanFullmacImplIfcMarker,
6119        >(
6120            payload,
6121            0x3e9b9641f3ddc7fc,
6122            fidl::encoding::DynamicFlags::empty(),
6123            ___deadline,
6124        )?;
6125        Ok(_response)
6126    }
6127
6128    /// Report the result of a WlanFullmacImpl::StopBss request.
6129    pub fn r#stop_conf(
6130        &self,
6131        mut payload: &WlanFullmacImplIfcStopConfRequest,
6132        ___deadline: zx::MonotonicInstant,
6133    ) -> Result<(), fidl::Error> {
6134        let _response = self.client.send_query::<
6135            WlanFullmacImplIfcStopConfRequest,
6136            fidl::encoding::EmptyPayload,
6137            WlanFullmacImplIfcMarker,
6138        >(
6139            payload,
6140            0x320a5ff227a4e9df,
6141            fidl::encoding::DynamicFlags::empty(),
6142            ___deadline,
6143        )?;
6144        Ok(_response)
6145    }
6146
6147    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
6148    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
6149    pub fn r#eapol_conf(
6150        &self,
6151        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6152        ___deadline: zx::MonotonicInstant,
6153    ) -> Result<(), fidl::Error> {
6154        let _response = self.client.send_query::<
6155            WlanFullmacImplIfcEapolConfRequest,
6156            fidl::encoding::EmptyPayload,
6157            WlanFullmacImplIfcMarker,
6158        >(
6159            payload,
6160            0x77364db9cc3970ec,
6161            fidl::encoding::DynamicFlags::empty(),
6162            ___deadline,
6163        )?;
6164        Ok(_response)
6165    }
6166
6167    pub fn r#on_channel_switch(
6168        &self,
6169        mut ind: &WlanFullmacChannelSwitchInfo,
6170        ___deadline: zx::MonotonicInstant,
6171    ) -> Result<(), fidl::Error> {
6172        let _response = self.client.send_query::<
6173            WlanFullmacImplIfcOnChannelSwitchRequest,
6174            fidl::encoding::EmptyPayload,
6175            WlanFullmacImplIfcMarker,
6176        >(
6177            (ind,),
6178            0x21db0b8f71cae647,
6179            fidl::encoding::DynamicFlags::empty(),
6180            ___deadline,
6181        )?;
6182        Ok(_response)
6183    }
6184
6185    pub fn r#signal_report(
6186        &self,
6187        mut ind: &WlanFullmacSignalReportIndication,
6188        ___deadline: zx::MonotonicInstant,
6189    ) -> Result<(), fidl::Error> {
6190        let _response = self.client.send_query::<
6191            WlanFullmacImplIfcSignalReportRequest,
6192            fidl::encoding::EmptyPayload,
6193            WlanFullmacImplIfcMarker,
6194        >(
6195            (ind,),
6196            0x79679fa8789c3d9f,
6197            fidl::encoding::DynamicFlags::empty(),
6198            ___deadline,
6199        )?;
6200        Ok(_response)
6201    }
6202
6203    /// Report that an EAPoL frame was received.
6204    pub fn r#eapol_ind(
6205        &self,
6206        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6207        ___deadline: zx::MonotonicInstant,
6208    ) -> Result<(), fidl::Error> {
6209        let _response = self.client.send_query::<
6210            WlanFullmacImplIfcEapolIndRequest,
6211            fidl::encoding::EmptyPayload,
6212            WlanFullmacImplIfcMarker,
6213        >(
6214            payload,
6215            0x3de8ec1eda10d1d0,
6216            fidl::encoding::DynamicFlags::empty(),
6217            ___deadline,
6218        )?;
6219        Ok(_response)
6220    }
6221
6222    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
6223    pub fn r#on_pmk_available(
6224        &self,
6225        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
6226        ___deadline: zx::MonotonicInstant,
6227    ) -> Result<(), fidl::Error> {
6228        let _response = self.client.send_query::<
6229            WlanFullmacImplIfcOnPmkAvailableRequest,
6230            fidl::encoding::EmptyPayload,
6231            WlanFullmacImplIfcMarker,
6232        >(
6233            payload,
6234            0x5cedd8d9be28a17e,
6235            fidl::encoding::DynamicFlags::empty(),
6236            ___deadline,
6237        )?;
6238        Ok(_response)
6239    }
6240
6241    pub fn r#sae_handshake_ind(
6242        &self,
6243        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
6244        ___deadline: zx::MonotonicInstant,
6245    ) -> Result<(), fidl::Error> {
6246        let _response = self.client.send_query::<
6247            WlanFullmacImplIfcSaeHandshakeIndRequest,
6248            fidl::encoding::EmptyPayload,
6249            WlanFullmacImplIfcMarker,
6250        >(
6251            payload,
6252            0x4f3d53885503a1d8,
6253            fidl::encoding::DynamicFlags::empty(),
6254            ___deadline,
6255        )?;
6256        Ok(_response)
6257    }
6258
6259    /// Receive an SAE authentication frame.
6260    pub fn r#sae_frame_rx(
6261        &self,
6262        mut frame: &SaeFrame,
6263        ___deadline: zx::MonotonicInstant,
6264    ) -> Result<(), fidl::Error> {
6265        let _response = self.client.send_query::<
6266            WlanFullmacImplIfcSaeFrameRxRequest,
6267            fidl::encoding::EmptyPayload,
6268            WlanFullmacImplIfcMarker,
6269        >(
6270            (frame,),
6271            0x51650906857ed4d4,
6272            fidl::encoding::DynamicFlags::empty(),
6273            ___deadline,
6274        )?;
6275        Ok(_response)
6276    }
6277
6278    pub fn r#on_wmm_status_resp(
6279        &self,
6280        mut status: i32,
6281        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
6282        ___deadline: zx::MonotonicInstant,
6283    ) -> Result<(), fidl::Error> {
6284        let _response = self.client.send_query::<
6285            WlanFullmacImplIfcOnWmmStatusRespRequest,
6286            fidl::encoding::EmptyPayload,
6287            WlanFullmacImplIfcMarker,
6288        >(
6289            (status, wmm_params,),
6290            0x6823a88bf3ba8b2a,
6291            fidl::encoding::DynamicFlags::empty(),
6292            ___deadline,
6293        )?;
6294        Ok(_response)
6295    }
6296}
6297
6298#[cfg(target_os = "fuchsia")]
6299impl From<WlanFullmacImplIfcSynchronousProxy> for zx::NullableHandle {
6300    fn from(value: WlanFullmacImplIfcSynchronousProxy) -> Self {
6301        value.into_channel().into()
6302    }
6303}
6304
6305#[cfg(target_os = "fuchsia")]
6306impl From<fidl::Channel> for WlanFullmacImplIfcSynchronousProxy {
6307    fn from(value: fidl::Channel) -> Self {
6308        Self::new(value)
6309    }
6310}
6311
6312#[cfg(target_os = "fuchsia")]
6313impl fidl::endpoints::FromClient for WlanFullmacImplIfcSynchronousProxy {
6314    type Protocol = WlanFullmacImplIfcMarker;
6315
6316    fn from_client(value: fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>) -> Self {
6317        Self::new(value.into_channel())
6318    }
6319}
6320
6321#[derive(Debug, Clone)]
6322pub struct WlanFullmacImplIfcProxy {
6323    client: fidl::client::Client<fidl::encoding::DefaultFuchsiaResourceDialect>,
6324}
6325
6326impl fidl::endpoints::Proxy for WlanFullmacImplIfcProxy {
6327    type Protocol = WlanFullmacImplIfcMarker;
6328
6329    fn from_channel(inner: ::fidl::AsyncChannel) -> Self {
6330        Self::new(inner)
6331    }
6332
6333    fn into_channel(self) -> Result<::fidl::AsyncChannel, Self> {
6334        self.client.into_channel().map_err(|client| Self { client })
6335    }
6336
6337    fn as_channel(&self) -> &::fidl::AsyncChannel {
6338        self.client.as_channel()
6339    }
6340}
6341
6342impl WlanFullmacImplIfcProxy {
6343    /// Create a new Proxy for fuchsia.wlan.fullmac/WlanFullmacImplIfc.
6344    pub fn new(channel: ::fidl::AsyncChannel) -> Self {
6345        let protocol_name =
6346            <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME;
6347        Self { client: fidl::client::Client::new(channel, protocol_name) }
6348    }
6349
6350    /// Get a Stream of events from the remote end of the protocol.
6351    ///
6352    /// # Panics
6353    ///
6354    /// Panics if the event stream was already taken.
6355    pub fn take_event_stream(&self) -> WlanFullmacImplIfcEventStream {
6356        WlanFullmacImplIfcEventStream { event_receiver: self.client.take_event_receiver() }
6357    }
6358
6359    pub fn r#on_scan_result(
6360        &self,
6361        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
6362    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6363        WlanFullmacImplIfcProxyInterface::r#on_scan_result(self, payload)
6364    }
6365
6366    pub fn r#on_scan_end(
6367        &self,
6368        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
6369    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6370        WlanFullmacImplIfcProxyInterface::r#on_scan_end(self, payload)
6371    }
6372
6373    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
6374    /// and results are available.
6375    pub fn r#on_scheduled_scan_matches_available(
6376        &self,
6377        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
6378    ) -> Result<(), fidl::Error> {
6379        WlanFullmacImplIfcProxyInterface::r#on_scheduled_scan_matches_available(self, payload)
6380    }
6381
6382    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
6383    pub fn r#on_scheduled_scan_stopped_by_firmware(
6384        &self,
6385        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
6386    ) -> Result<(), fidl::Error> {
6387        WlanFullmacImplIfcProxyInterface::r#on_scheduled_scan_stopped_by_firmware(self, payload)
6388    }
6389
6390    pub fn r#connect_conf(
6391        &self,
6392        mut payload: &WlanFullmacImplIfcConnectConfRequest,
6393    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6394        WlanFullmacImplIfcProxyInterface::r#connect_conf(self, payload)
6395    }
6396
6397    /// Report the result of an MLME-initiated roam attempt.
6398    pub fn r#roam_conf(
6399        &self,
6400        mut payload: &WlanFullmacImplIfcRoamConfRequest,
6401    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6402        WlanFullmacImplIfcProxyInterface::r#roam_conf(self, payload)
6403    }
6404
6405    /// Report that a fullmac-initiated roam attempt is in progress.
6406    /// Fullmac must send this start indication for all roam attempts.
6407    pub fn r#roam_start_ind(
6408        &self,
6409        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
6410    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6411        WlanFullmacImplIfcProxyInterface::r#roam_start_ind(self, payload)
6412    }
6413
6414    /// Report the result of a fullmac-initiated roam attempt.
6415    pub fn r#roam_result_ind(
6416        &self,
6417        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
6418    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6419        WlanFullmacImplIfcProxyInterface::r#roam_result_ind(self, payload)
6420    }
6421
6422    pub fn r#auth_ind(
6423        &self,
6424        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6425    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6426        WlanFullmacImplIfcProxyInterface::r#auth_ind(self, payload)
6427    }
6428
6429    pub fn r#deauth_conf(
6430        &self,
6431        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6432    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6433        WlanFullmacImplIfcProxyInterface::r#deauth_conf(self, payload)
6434    }
6435
6436    /// Report that the driver deauthenticated.
6437    pub fn r#deauth_ind(
6438        &self,
6439        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6440    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6441        WlanFullmacImplIfcProxyInterface::r#deauth_ind(self, payload)
6442    }
6443
6444    pub fn r#assoc_ind(
6445        &self,
6446        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6447    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6448        WlanFullmacImplIfcProxyInterface::r#assoc_ind(self, payload)
6449    }
6450
6451    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
6452    pub fn r#disassoc_conf(
6453        &self,
6454        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6455    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6456        WlanFullmacImplIfcProxyInterface::r#disassoc_conf(self, payload)
6457    }
6458
6459    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
6460    pub fn r#disassoc_ind(
6461        &self,
6462        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6463    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6464        WlanFullmacImplIfcProxyInterface::r#disassoc_ind(self, payload)
6465    }
6466
6467    /// Report the result of a WlanFullmacImpl::StartBss request.
6468    pub fn r#start_conf(
6469        &self,
6470        mut payload: &WlanFullmacImplIfcStartConfRequest,
6471    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6472        WlanFullmacImplIfcProxyInterface::r#start_conf(self, payload)
6473    }
6474
6475    /// Report the result of a WlanFullmacImpl::StopBss request.
6476    pub fn r#stop_conf(
6477        &self,
6478        mut payload: &WlanFullmacImplIfcStopConfRequest,
6479    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6480        WlanFullmacImplIfcProxyInterface::r#stop_conf(self, payload)
6481    }
6482
6483    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
6484    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
6485    pub fn r#eapol_conf(
6486        &self,
6487        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6488    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6489        WlanFullmacImplIfcProxyInterface::r#eapol_conf(self, payload)
6490    }
6491
6492    pub fn r#on_channel_switch(
6493        &self,
6494        mut ind: &WlanFullmacChannelSwitchInfo,
6495    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6496        WlanFullmacImplIfcProxyInterface::r#on_channel_switch(self, ind)
6497    }
6498
6499    pub fn r#signal_report(
6500        &self,
6501        mut ind: &WlanFullmacSignalReportIndication,
6502    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6503        WlanFullmacImplIfcProxyInterface::r#signal_report(self, ind)
6504    }
6505
6506    /// Report that an EAPoL frame was received.
6507    pub fn r#eapol_ind(
6508        &self,
6509        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6510    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6511        WlanFullmacImplIfcProxyInterface::r#eapol_ind(self, payload)
6512    }
6513
6514    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
6515    pub fn r#on_pmk_available(
6516        &self,
6517        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
6518    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6519        WlanFullmacImplIfcProxyInterface::r#on_pmk_available(self, payload)
6520    }
6521
6522    pub fn r#sae_handshake_ind(
6523        &self,
6524        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
6525    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6526        WlanFullmacImplIfcProxyInterface::r#sae_handshake_ind(self, payload)
6527    }
6528
6529    /// Receive an SAE authentication frame.
6530    pub fn r#sae_frame_rx(
6531        &self,
6532        mut frame: &SaeFrame,
6533    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6534        WlanFullmacImplIfcProxyInterface::r#sae_frame_rx(self, frame)
6535    }
6536
6537    pub fn r#on_wmm_status_resp(
6538        &self,
6539        mut status: i32,
6540        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
6541    ) -> fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect> {
6542        WlanFullmacImplIfcProxyInterface::r#on_wmm_status_resp(self, status, wmm_params)
6543    }
6544}
6545
6546impl WlanFullmacImplIfcProxyInterface for WlanFullmacImplIfcProxy {
6547    type OnScanResultResponseFut =
6548        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6549    fn r#on_scan_result(
6550        &self,
6551        mut payload: &WlanFullmacImplIfcOnScanResultRequest,
6552    ) -> Self::OnScanResultResponseFut {
6553        fn _decode(
6554            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6555        ) -> Result<(), fidl::Error> {
6556            let _response = fidl::client::decode_transaction_body::<
6557                fidl::encoding::EmptyPayload,
6558                fidl::encoding::DefaultFuchsiaResourceDialect,
6559                0x29aa81dc570f7a3e,
6560            >(_buf?)?;
6561            Ok(_response)
6562        }
6563        self.client.send_query_and_decode::<WlanFullmacImplIfcOnScanResultRequest, ()>(
6564            payload,
6565            0x29aa81dc570f7a3e,
6566            fidl::encoding::DynamicFlags::empty(),
6567            _decode,
6568        )
6569    }
6570
6571    type OnScanEndResponseFut =
6572        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6573    fn r#on_scan_end(
6574        &self,
6575        mut payload: &WlanFullmacImplIfcOnScanEndRequest,
6576    ) -> Self::OnScanEndResponseFut {
6577        fn _decode(
6578            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6579        ) -> Result<(), fidl::Error> {
6580            let _response = fidl::client::decode_transaction_body::<
6581                fidl::encoding::EmptyPayload,
6582                fidl::encoding::DefaultFuchsiaResourceDialect,
6583                0x7cd8aff80d27073c,
6584            >(_buf?)?;
6585            Ok(_response)
6586        }
6587        self.client.send_query_and_decode::<WlanFullmacImplIfcOnScanEndRequest, ()>(
6588            payload,
6589            0x7cd8aff80d27073c,
6590            fidl::encoding::DynamicFlags::empty(),
6591            _decode,
6592        )
6593    }
6594
6595    fn r#on_scheduled_scan_matches_available(
6596        &self,
6597        mut payload: &WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
6598    ) -> Result<(), fidl::Error> {
6599        self.client.send::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(
6600            payload,
6601            0x3036cd8b8b35e81b,
6602            fidl::encoding::DynamicFlags::empty(),
6603        )
6604    }
6605
6606    fn r#on_scheduled_scan_stopped_by_firmware(
6607        &self,
6608        mut payload: &WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
6609    ) -> Result<(), fidl::Error> {
6610        self.client.send::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(
6611            payload,
6612            0x50353be2c3029817,
6613            fidl::encoding::DynamicFlags::empty(),
6614        )
6615    }
6616
6617    type ConnectConfResponseFut =
6618        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6619    fn r#connect_conf(
6620        &self,
6621        mut payload: &WlanFullmacImplIfcConnectConfRequest,
6622    ) -> Self::ConnectConfResponseFut {
6623        fn _decode(
6624            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6625        ) -> Result<(), fidl::Error> {
6626            let _response = fidl::client::decode_transaction_body::<
6627                fidl::encoding::EmptyPayload,
6628                fidl::encoding::DefaultFuchsiaResourceDialect,
6629                0x3c22c6d80b2a2759,
6630            >(_buf?)?;
6631            Ok(_response)
6632        }
6633        self.client.send_query_and_decode::<WlanFullmacImplIfcConnectConfRequest, ()>(
6634            payload,
6635            0x3c22c6d80b2a2759,
6636            fidl::encoding::DynamicFlags::empty(),
6637            _decode,
6638        )
6639    }
6640
6641    type RoamConfResponseFut =
6642        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6643    fn r#roam_conf(
6644        &self,
6645        mut payload: &WlanFullmacImplIfcRoamConfRequest,
6646    ) -> Self::RoamConfResponseFut {
6647        fn _decode(
6648            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6649        ) -> Result<(), fidl::Error> {
6650            let _response = fidl::client::decode_transaction_body::<
6651                fidl::encoding::EmptyPayload,
6652                fidl::encoding::DefaultFuchsiaResourceDialect,
6653                0x368b2a5b903b3f7b,
6654            >(_buf?)?;
6655            Ok(_response)
6656        }
6657        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamConfRequest, ()>(
6658            payload,
6659            0x368b2a5b903b3f7b,
6660            fidl::encoding::DynamicFlags::empty(),
6661            _decode,
6662        )
6663    }
6664
6665    type RoamStartIndResponseFut =
6666        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6667    fn r#roam_start_ind(
6668        &self,
6669        mut payload: &WlanFullmacImplIfcRoamStartIndRequest,
6670    ) -> Self::RoamStartIndResponseFut {
6671        fn _decode(
6672            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6673        ) -> Result<(), fidl::Error> {
6674            let _response = fidl::client::decode_transaction_body::<
6675                fidl::encoding::EmptyPayload,
6676                fidl::encoding::DefaultFuchsiaResourceDialect,
6677                0x23e1d9368935e7e4,
6678            >(_buf?)?;
6679            Ok(_response)
6680        }
6681        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamStartIndRequest, ()>(
6682            payload,
6683            0x23e1d9368935e7e4,
6684            fidl::encoding::DynamicFlags::empty(),
6685            _decode,
6686        )
6687    }
6688
6689    type RoamResultIndResponseFut =
6690        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6691    fn r#roam_result_ind(
6692        &self,
6693        mut payload: &WlanFullmacImplIfcRoamResultIndRequest,
6694    ) -> Self::RoamResultIndResponseFut {
6695        fn _decode(
6696            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6697        ) -> Result<(), fidl::Error> {
6698            let _response = fidl::client::decode_transaction_body::<
6699                fidl::encoding::EmptyPayload,
6700                fidl::encoding::DefaultFuchsiaResourceDialect,
6701                0x7081c1b1ceea4914,
6702            >(_buf?)?;
6703            Ok(_response)
6704        }
6705        self.client.send_query_and_decode::<WlanFullmacImplIfcRoamResultIndRequest, ()>(
6706            payload,
6707            0x7081c1b1ceea4914,
6708            fidl::encoding::DynamicFlags::empty(),
6709            _decode,
6710        )
6711    }
6712
6713    type AuthIndResponseFut =
6714        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6715    fn r#auth_ind(
6716        &self,
6717        mut payload: &WlanFullmacImplIfcAuthIndRequest,
6718    ) -> Self::AuthIndResponseFut {
6719        fn _decode(
6720            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6721        ) -> Result<(), fidl::Error> {
6722            let _response = fidl::client::decode_transaction_body::<
6723                fidl::encoding::EmptyPayload,
6724                fidl::encoding::DefaultFuchsiaResourceDialect,
6725                0x270e1f8889650d0b,
6726            >(_buf?)?;
6727            Ok(_response)
6728        }
6729        self.client.send_query_and_decode::<WlanFullmacImplIfcAuthIndRequest, ()>(
6730            payload,
6731            0x270e1f8889650d0b,
6732            fidl::encoding::DynamicFlags::empty(),
6733            _decode,
6734        )
6735    }
6736
6737    type DeauthConfResponseFut =
6738        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6739    fn r#deauth_conf(
6740        &self,
6741        mut payload: &WlanFullmacImplIfcDeauthConfRequest,
6742    ) -> Self::DeauthConfResponseFut {
6743        fn _decode(
6744            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6745        ) -> Result<(), fidl::Error> {
6746            let _response = fidl::client::decode_transaction_body::<
6747                fidl::encoding::EmptyPayload,
6748                fidl::encoding::DefaultFuchsiaResourceDialect,
6749                0x2c94b0d7258111b7,
6750            >(_buf?)?;
6751            Ok(_response)
6752        }
6753        self.client.send_query_and_decode::<WlanFullmacImplIfcDeauthConfRequest, ()>(
6754            payload,
6755            0x2c94b0d7258111b7,
6756            fidl::encoding::DynamicFlags::empty(),
6757            _decode,
6758        )
6759    }
6760
6761    type DeauthIndResponseFut =
6762        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6763    fn r#deauth_ind(
6764        &self,
6765        mut payload: &WlanFullmacImplIfcDeauthIndRequest,
6766    ) -> Self::DeauthIndResponseFut {
6767        fn _decode(
6768            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6769        ) -> Result<(), fidl::Error> {
6770            let _response = fidl::client::decode_transaction_body::<
6771                fidl::encoding::EmptyPayload,
6772                fidl::encoding::DefaultFuchsiaResourceDialect,
6773                0x26cd27cdadd8dbaf,
6774            >(_buf?)?;
6775            Ok(_response)
6776        }
6777        self.client.send_query_and_decode::<WlanFullmacImplIfcDeauthIndRequest, ()>(
6778            payload,
6779            0x26cd27cdadd8dbaf,
6780            fidl::encoding::DynamicFlags::empty(),
6781            _decode,
6782        )
6783    }
6784
6785    type AssocIndResponseFut =
6786        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6787    fn r#assoc_ind(
6788        &self,
6789        mut payload: &WlanFullmacImplIfcAssocIndRequest,
6790    ) -> Self::AssocIndResponseFut {
6791        fn _decode(
6792            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6793        ) -> Result<(), fidl::Error> {
6794            let _response = fidl::client::decode_transaction_body::<
6795                fidl::encoding::EmptyPayload,
6796                fidl::encoding::DefaultFuchsiaResourceDialect,
6797                0x3e44529e3dc179ce,
6798            >(_buf?)?;
6799            Ok(_response)
6800        }
6801        self.client.send_query_and_decode::<WlanFullmacImplIfcAssocIndRequest, ()>(
6802            payload,
6803            0x3e44529e3dc179ce,
6804            fidl::encoding::DynamicFlags::empty(),
6805            _decode,
6806        )
6807    }
6808
6809    type DisassocConfResponseFut =
6810        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6811    fn r#disassoc_conf(
6812        &self,
6813        mut payload: &WlanFullmacImplIfcDisassocConfRequest,
6814    ) -> Self::DisassocConfResponseFut {
6815        fn _decode(
6816            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6817        ) -> Result<(), fidl::Error> {
6818            let _response = fidl::client::decode_transaction_body::<
6819                fidl::encoding::EmptyPayload,
6820                fidl::encoding::DefaultFuchsiaResourceDialect,
6821                0x7c713bcd58a76cb3,
6822            >(_buf?)?;
6823            Ok(_response)
6824        }
6825        self.client.send_query_and_decode::<WlanFullmacImplIfcDisassocConfRequest, ()>(
6826            payload,
6827            0x7c713bcd58a76cb3,
6828            fidl::encoding::DynamicFlags::empty(),
6829            _decode,
6830        )
6831    }
6832
6833    type DisassocIndResponseFut =
6834        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6835    fn r#disassoc_ind(
6836        &self,
6837        mut payload: &WlanFullmacImplIfcDisassocIndRequest,
6838    ) -> Self::DisassocIndResponseFut {
6839        fn _decode(
6840            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6841        ) -> Result<(), fidl::Error> {
6842            let _response = fidl::client::decode_transaction_body::<
6843                fidl::encoding::EmptyPayload,
6844                fidl::encoding::DefaultFuchsiaResourceDialect,
6845                0x6667b381b7f3990f,
6846            >(_buf?)?;
6847            Ok(_response)
6848        }
6849        self.client.send_query_and_decode::<WlanFullmacImplIfcDisassocIndRequest, ()>(
6850            payload,
6851            0x6667b381b7f3990f,
6852            fidl::encoding::DynamicFlags::empty(),
6853            _decode,
6854        )
6855    }
6856
6857    type StartConfResponseFut =
6858        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6859    fn r#start_conf(
6860        &self,
6861        mut payload: &WlanFullmacImplIfcStartConfRequest,
6862    ) -> Self::StartConfResponseFut {
6863        fn _decode(
6864            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6865        ) -> Result<(), fidl::Error> {
6866            let _response = fidl::client::decode_transaction_body::<
6867                fidl::encoding::EmptyPayload,
6868                fidl::encoding::DefaultFuchsiaResourceDialect,
6869                0x3e9b9641f3ddc7fc,
6870            >(_buf?)?;
6871            Ok(_response)
6872        }
6873        self.client.send_query_and_decode::<WlanFullmacImplIfcStartConfRequest, ()>(
6874            payload,
6875            0x3e9b9641f3ddc7fc,
6876            fidl::encoding::DynamicFlags::empty(),
6877            _decode,
6878        )
6879    }
6880
6881    type StopConfResponseFut =
6882        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6883    fn r#stop_conf(
6884        &self,
6885        mut payload: &WlanFullmacImplIfcStopConfRequest,
6886    ) -> Self::StopConfResponseFut {
6887        fn _decode(
6888            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6889        ) -> Result<(), fidl::Error> {
6890            let _response = fidl::client::decode_transaction_body::<
6891                fidl::encoding::EmptyPayload,
6892                fidl::encoding::DefaultFuchsiaResourceDialect,
6893                0x320a5ff227a4e9df,
6894            >(_buf?)?;
6895            Ok(_response)
6896        }
6897        self.client.send_query_and_decode::<WlanFullmacImplIfcStopConfRequest, ()>(
6898            payload,
6899            0x320a5ff227a4e9df,
6900            fidl::encoding::DynamicFlags::empty(),
6901            _decode,
6902        )
6903    }
6904
6905    type EapolConfResponseFut =
6906        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6907    fn r#eapol_conf(
6908        &self,
6909        mut payload: &WlanFullmacImplIfcEapolConfRequest,
6910    ) -> Self::EapolConfResponseFut {
6911        fn _decode(
6912            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6913        ) -> Result<(), fidl::Error> {
6914            let _response = fidl::client::decode_transaction_body::<
6915                fidl::encoding::EmptyPayload,
6916                fidl::encoding::DefaultFuchsiaResourceDialect,
6917                0x77364db9cc3970ec,
6918            >(_buf?)?;
6919            Ok(_response)
6920        }
6921        self.client.send_query_and_decode::<WlanFullmacImplIfcEapolConfRequest, ()>(
6922            payload,
6923            0x77364db9cc3970ec,
6924            fidl::encoding::DynamicFlags::empty(),
6925            _decode,
6926        )
6927    }
6928
6929    type OnChannelSwitchResponseFut =
6930        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6931    fn r#on_channel_switch(
6932        &self,
6933        mut ind: &WlanFullmacChannelSwitchInfo,
6934    ) -> Self::OnChannelSwitchResponseFut {
6935        fn _decode(
6936            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6937        ) -> Result<(), fidl::Error> {
6938            let _response = fidl::client::decode_transaction_body::<
6939                fidl::encoding::EmptyPayload,
6940                fidl::encoding::DefaultFuchsiaResourceDialect,
6941                0x21db0b8f71cae647,
6942            >(_buf?)?;
6943            Ok(_response)
6944        }
6945        self.client.send_query_and_decode::<WlanFullmacImplIfcOnChannelSwitchRequest, ()>(
6946            (ind,),
6947            0x21db0b8f71cae647,
6948            fidl::encoding::DynamicFlags::empty(),
6949            _decode,
6950        )
6951    }
6952
6953    type SignalReportResponseFut =
6954        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6955    fn r#signal_report(
6956        &self,
6957        mut ind: &WlanFullmacSignalReportIndication,
6958    ) -> Self::SignalReportResponseFut {
6959        fn _decode(
6960            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6961        ) -> Result<(), fidl::Error> {
6962            let _response = fidl::client::decode_transaction_body::<
6963                fidl::encoding::EmptyPayload,
6964                fidl::encoding::DefaultFuchsiaResourceDialect,
6965                0x79679fa8789c3d9f,
6966            >(_buf?)?;
6967            Ok(_response)
6968        }
6969        self.client.send_query_and_decode::<WlanFullmacImplIfcSignalReportRequest, ()>(
6970            (ind,),
6971            0x79679fa8789c3d9f,
6972            fidl::encoding::DynamicFlags::empty(),
6973            _decode,
6974        )
6975    }
6976
6977    type EapolIndResponseFut =
6978        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
6979    fn r#eapol_ind(
6980        &self,
6981        mut payload: &WlanFullmacImplIfcEapolIndRequest,
6982    ) -> Self::EapolIndResponseFut {
6983        fn _decode(
6984            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
6985        ) -> Result<(), fidl::Error> {
6986            let _response = fidl::client::decode_transaction_body::<
6987                fidl::encoding::EmptyPayload,
6988                fidl::encoding::DefaultFuchsiaResourceDialect,
6989                0x3de8ec1eda10d1d0,
6990            >(_buf?)?;
6991            Ok(_response)
6992        }
6993        self.client.send_query_and_decode::<WlanFullmacImplIfcEapolIndRequest, ()>(
6994            payload,
6995            0x3de8ec1eda10d1d0,
6996            fidl::encoding::DynamicFlags::empty(),
6997            _decode,
6998        )
6999    }
7000
7001    type OnPmkAvailableResponseFut =
7002        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7003    fn r#on_pmk_available(
7004        &self,
7005        mut payload: &WlanFullmacImplIfcOnPmkAvailableRequest,
7006    ) -> Self::OnPmkAvailableResponseFut {
7007        fn _decode(
7008            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7009        ) -> Result<(), fidl::Error> {
7010            let _response = fidl::client::decode_transaction_body::<
7011                fidl::encoding::EmptyPayload,
7012                fidl::encoding::DefaultFuchsiaResourceDialect,
7013                0x5cedd8d9be28a17e,
7014            >(_buf?)?;
7015            Ok(_response)
7016        }
7017        self.client.send_query_and_decode::<WlanFullmacImplIfcOnPmkAvailableRequest, ()>(
7018            payload,
7019            0x5cedd8d9be28a17e,
7020            fidl::encoding::DynamicFlags::empty(),
7021            _decode,
7022        )
7023    }
7024
7025    type SaeHandshakeIndResponseFut =
7026        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7027    fn r#sae_handshake_ind(
7028        &self,
7029        mut payload: &WlanFullmacImplIfcSaeHandshakeIndRequest,
7030    ) -> Self::SaeHandshakeIndResponseFut {
7031        fn _decode(
7032            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7033        ) -> Result<(), fidl::Error> {
7034            let _response = fidl::client::decode_transaction_body::<
7035                fidl::encoding::EmptyPayload,
7036                fidl::encoding::DefaultFuchsiaResourceDialect,
7037                0x4f3d53885503a1d8,
7038            >(_buf?)?;
7039            Ok(_response)
7040        }
7041        self.client.send_query_and_decode::<WlanFullmacImplIfcSaeHandshakeIndRequest, ()>(
7042            payload,
7043            0x4f3d53885503a1d8,
7044            fidl::encoding::DynamicFlags::empty(),
7045            _decode,
7046        )
7047    }
7048
7049    type SaeFrameRxResponseFut =
7050        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7051    fn r#sae_frame_rx(&self, mut frame: &SaeFrame) -> Self::SaeFrameRxResponseFut {
7052        fn _decode(
7053            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7054        ) -> Result<(), fidl::Error> {
7055            let _response = fidl::client::decode_transaction_body::<
7056                fidl::encoding::EmptyPayload,
7057                fidl::encoding::DefaultFuchsiaResourceDialect,
7058                0x51650906857ed4d4,
7059            >(_buf?)?;
7060            Ok(_response)
7061        }
7062        self.client.send_query_and_decode::<WlanFullmacImplIfcSaeFrameRxRequest, ()>(
7063            (frame,),
7064            0x51650906857ed4d4,
7065            fidl::encoding::DynamicFlags::empty(),
7066            _decode,
7067        )
7068    }
7069
7070    type OnWmmStatusRespResponseFut =
7071        fidl::client::QueryResponseFut<(), fidl::encoding::DefaultFuchsiaResourceDialect>;
7072    fn r#on_wmm_status_resp(
7073        &self,
7074        mut status: i32,
7075        mut wmm_params: &fidl_fuchsia_wlan_driver::WlanWmmParameters,
7076    ) -> Self::OnWmmStatusRespResponseFut {
7077        fn _decode(
7078            mut _buf: Result<<fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc, fidl::Error>,
7079        ) -> Result<(), fidl::Error> {
7080            let _response = fidl::client::decode_transaction_body::<
7081                fidl::encoding::EmptyPayload,
7082                fidl::encoding::DefaultFuchsiaResourceDialect,
7083                0x6823a88bf3ba8b2a,
7084            >(_buf?)?;
7085            Ok(_response)
7086        }
7087        self.client.send_query_and_decode::<WlanFullmacImplIfcOnWmmStatusRespRequest, ()>(
7088            (status, wmm_params),
7089            0x6823a88bf3ba8b2a,
7090            fidl::encoding::DynamicFlags::empty(),
7091            _decode,
7092        )
7093    }
7094}
7095
7096pub struct WlanFullmacImplIfcEventStream {
7097    event_receiver: fidl::client::EventReceiver<fidl::encoding::DefaultFuchsiaResourceDialect>,
7098}
7099
7100impl std::marker::Unpin for WlanFullmacImplIfcEventStream {}
7101
7102impl futures::stream::FusedStream for WlanFullmacImplIfcEventStream {
7103    fn is_terminated(&self) -> bool {
7104        self.event_receiver.is_terminated()
7105    }
7106}
7107
7108impl futures::Stream for WlanFullmacImplIfcEventStream {
7109    type Item = Result<WlanFullmacImplIfcEvent, fidl::Error>;
7110
7111    fn poll_next(
7112        mut self: std::pin::Pin<&mut Self>,
7113        cx: &mut std::task::Context<'_>,
7114    ) -> std::task::Poll<Option<Self::Item>> {
7115        match futures::ready!(futures::stream::StreamExt::poll_next_unpin(
7116            &mut self.event_receiver,
7117            cx
7118        )?) {
7119            Some(buf) => std::task::Poll::Ready(Some(WlanFullmacImplIfcEvent::decode(buf))),
7120            None => std::task::Poll::Ready(None),
7121        }
7122    }
7123}
7124
7125#[derive(Debug)]
7126pub enum WlanFullmacImplIfcEvent {}
7127
7128impl WlanFullmacImplIfcEvent {
7129    /// Decodes a message buffer as a [`WlanFullmacImplIfcEvent`].
7130    fn decode(
7131        mut buf: <fidl::encoding::DefaultFuchsiaResourceDialect as fidl::encoding::ResourceDialect>::MessageBufEtc,
7132    ) -> Result<WlanFullmacImplIfcEvent, fidl::Error> {
7133        let (bytes, _handles) = buf.split_mut();
7134        let (tx_header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7135        debug_assert_eq!(tx_header.tx_id, 0);
7136        match tx_header.ordinal {
7137            _ => Err(fidl::Error::UnknownOrdinal {
7138                ordinal: tx_header.ordinal,
7139                protocol_name:
7140                    <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7141            }),
7142        }
7143    }
7144}
7145
7146/// A Stream of incoming requests for fuchsia.wlan.fullmac/WlanFullmacImplIfc.
7147pub struct WlanFullmacImplIfcRequestStream {
7148    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7149    is_terminated: bool,
7150}
7151
7152impl std::marker::Unpin for WlanFullmacImplIfcRequestStream {}
7153
7154impl futures::stream::FusedStream for WlanFullmacImplIfcRequestStream {
7155    fn is_terminated(&self) -> bool {
7156        self.is_terminated
7157    }
7158}
7159
7160impl fidl::endpoints::RequestStream for WlanFullmacImplIfcRequestStream {
7161    type Protocol = WlanFullmacImplIfcMarker;
7162    type ControlHandle = WlanFullmacImplIfcControlHandle;
7163
7164    fn from_channel(channel: ::fidl::AsyncChannel) -> Self {
7165        Self { inner: std::sync::Arc::new(fidl::ServeInner::new(channel)), is_terminated: false }
7166    }
7167
7168    fn control_handle(&self) -> Self::ControlHandle {
7169        WlanFullmacImplIfcControlHandle { inner: self.inner.clone() }
7170    }
7171
7172    fn into_inner(
7173        self,
7174    ) -> (::std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>, bool)
7175    {
7176        (self.inner, self.is_terminated)
7177    }
7178
7179    fn from_inner(
7180        inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
7181        is_terminated: bool,
7182    ) -> Self {
7183        Self { inner, is_terminated }
7184    }
7185}
7186
7187impl futures::Stream for WlanFullmacImplIfcRequestStream {
7188    type Item = Result<WlanFullmacImplIfcRequest, fidl::Error>;
7189
7190    fn poll_next(
7191        mut self: std::pin::Pin<&mut Self>,
7192        cx: &mut std::task::Context<'_>,
7193    ) -> std::task::Poll<Option<Self::Item>> {
7194        let this = &mut *self;
7195        if this.inner.check_shutdown(cx) {
7196            this.is_terminated = true;
7197            return std::task::Poll::Ready(None);
7198        }
7199        if this.is_terminated {
7200            panic!("polled WlanFullmacImplIfcRequestStream after completion");
7201        }
7202        fidl::encoding::with_tls_decode_buf::<_, fidl::encoding::DefaultFuchsiaResourceDialect>(
7203            |bytes, handles| {
7204                match this.inner.channel().read_etc(cx, bytes, handles) {
7205                    std::task::Poll::Ready(Ok(())) => {}
7206                    std::task::Poll::Pending => return std::task::Poll::Pending,
7207                    std::task::Poll::Ready(Err(zx_status::Status::PEER_CLOSED)) => {
7208                        this.is_terminated = true;
7209                        return std::task::Poll::Ready(None);
7210                    }
7211                    std::task::Poll::Ready(Err(e)) => {
7212                        return std::task::Poll::Ready(Some(Err(fidl::Error::ServerRequestRead(
7213                            e.into(),
7214                        ))));
7215                    }
7216                }
7217
7218                // A message has been received from the channel
7219                let (header, _body_bytes) = fidl::encoding::decode_transaction_header(bytes)?;
7220
7221                std::task::Poll::Ready(Some(match header.ordinal {
7222                0x29aa81dc570f7a3e => {
7223                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7224                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScanResultRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7225                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScanResultRequest>(&header, _body_bytes, handles, &mut req)?;
7226                    let control_handle = WlanFullmacImplIfcControlHandle {
7227                        inner: this.inner.clone(),
7228                    };
7229                    Ok(WlanFullmacImplIfcRequest::OnScanResult {payload: req,
7230                        responder: WlanFullmacImplIfcOnScanResultResponder {
7231                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7232                            tx_id: header.tx_id,
7233                        },
7234                    })
7235                }
7236                0x7cd8aff80d27073c => {
7237                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7238                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScanEndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7239                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScanEndRequest>(&header, _body_bytes, handles, &mut req)?;
7240                    let control_handle = WlanFullmacImplIfcControlHandle {
7241                        inner: this.inner.clone(),
7242                    };
7243                    Ok(WlanFullmacImplIfcRequest::OnScanEnd {payload: req,
7244                        responder: WlanFullmacImplIfcOnScanEndResponder {
7245                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7246                            tx_id: header.tx_id,
7247                        },
7248                    })
7249                }
7250                0x3036cd8b8b35e81b => {
7251                    header.validate_request_tx_id(fidl::MethodType::OneWay)?;
7252                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7253                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest>(&header, _body_bytes, handles, &mut req)?;
7254                    let control_handle = WlanFullmacImplIfcControlHandle {
7255                        inner: this.inner.clone(),
7256                    };
7257                    Ok(WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable {payload: req,
7258                        control_handle,
7259                    })
7260                }
7261                0x50353be2c3029817 => {
7262                    header.validate_request_tx_id(fidl::MethodType::OneWay)?;
7263                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7264                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest>(&header, _body_bytes, handles, &mut req)?;
7265                    let control_handle = WlanFullmacImplIfcControlHandle {
7266                        inner: this.inner.clone(),
7267                    };
7268                    Ok(WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware {payload: req,
7269                        control_handle,
7270                    })
7271                }
7272                0x3c22c6d80b2a2759 => {
7273                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7274                    let mut req = fidl::new_empty!(WlanFullmacImplIfcConnectConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7275                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcConnectConfRequest>(&header, _body_bytes, handles, &mut req)?;
7276                    let control_handle = WlanFullmacImplIfcControlHandle {
7277                        inner: this.inner.clone(),
7278                    };
7279                    Ok(WlanFullmacImplIfcRequest::ConnectConf {payload: req,
7280                        responder: WlanFullmacImplIfcConnectConfResponder {
7281                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7282                            tx_id: header.tx_id,
7283                        },
7284                    })
7285                }
7286                0x368b2a5b903b3f7b => {
7287                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7288                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7289                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamConfRequest>(&header, _body_bytes, handles, &mut req)?;
7290                    let control_handle = WlanFullmacImplIfcControlHandle {
7291                        inner: this.inner.clone(),
7292                    };
7293                    Ok(WlanFullmacImplIfcRequest::RoamConf {payload: req,
7294                        responder: WlanFullmacImplIfcRoamConfResponder {
7295                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7296                            tx_id: header.tx_id,
7297                        },
7298                    })
7299                }
7300                0x23e1d9368935e7e4 => {
7301                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7302                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamStartIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7303                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamStartIndRequest>(&header, _body_bytes, handles, &mut req)?;
7304                    let control_handle = WlanFullmacImplIfcControlHandle {
7305                        inner: this.inner.clone(),
7306                    };
7307                    Ok(WlanFullmacImplIfcRequest::RoamStartInd {payload: req,
7308                        responder: WlanFullmacImplIfcRoamStartIndResponder {
7309                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7310                            tx_id: header.tx_id,
7311                        },
7312                    })
7313                }
7314                0x7081c1b1ceea4914 => {
7315                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7316                    let mut req = fidl::new_empty!(WlanFullmacImplIfcRoamResultIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7317                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcRoamResultIndRequest>(&header, _body_bytes, handles, &mut req)?;
7318                    let control_handle = WlanFullmacImplIfcControlHandle {
7319                        inner: this.inner.clone(),
7320                    };
7321                    Ok(WlanFullmacImplIfcRequest::RoamResultInd {payload: req,
7322                        responder: WlanFullmacImplIfcRoamResultIndResponder {
7323                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7324                            tx_id: header.tx_id,
7325                        },
7326                    })
7327                }
7328                0x270e1f8889650d0b => {
7329                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7330                    let mut req = fidl::new_empty!(WlanFullmacImplIfcAuthIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7331                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcAuthIndRequest>(&header, _body_bytes, handles, &mut req)?;
7332                    let control_handle = WlanFullmacImplIfcControlHandle {
7333                        inner: this.inner.clone(),
7334                    };
7335                    Ok(WlanFullmacImplIfcRequest::AuthInd {payload: req,
7336                        responder: WlanFullmacImplIfcAuthIndResponder {
7337                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7338                            tx_id: header.tx_id,
7339                        },
7340                    })
7341                }
7342                0x2c94b0d7258111b7 => {
7343                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7344                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDeauthConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7345                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDeauthConfRequest>(&header, _body_bytes, handles, &mut req)?;
7346                    let control_handle = WlanFullmacImplIfcControlHandle {
7347                        inner: this.inner.clone(),
7348                    };
7349                    Ok(WlanFullmacImplIfcRequest::DeauthConf {payload: req,
7350                        responder: WlanFullmacImplIfcDeauthConfResponder {
7351                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7352                            tx_id: header.tx_id,
7353                        },
7354                    })
7355                }
7356                0x26cd27cdadd8dbaf => {
7357                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7358                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDeauthIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7359                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDeauthIndRequest>(&header, _body_bytes, handles, &mut req)?;
7360                    let control_handle = WlanFullmacImplIfcControlHandle {
7361                        inner: this.inner.clone(),
7362                    };
7363                    Ok(WlanFullmacImplIfcRequest::DeauthInd {payload: req,
7364                        responder: WlanFullmacImplIfcDeauthIndResponder {
7365                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7366                            tx_id: header.tx_id,
7367                        },
7368                    })
7369                }
7370                0x3e44529e3dc179ce => {
7371                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7372                    let mut req = fidl::new_empty!(WlanFullmacImplIfcAssocIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7373                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcAssocIndRequest>(&header, _body_bytes, handles, &mut req)?;
7374                    let control_handle = WlanFullmacImplIfcControlHandle {
7375                        inner: this.inner.clone(),
7376                    };
7377                    Ok(WlanFullmacImplIfcRequest::AssocInd {payload: req,
7378                        responder: WlanFullmacImplIfcAssocIndResponder {
7379                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7380                            tx_id: header.tx_id,
7381                        },
7382                    })
7383                }
7384                0x7c713bcd58a76cb3 => {
7385                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7386                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDisassocConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7387                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDisassocConfRequest>(&header, _body_bytes, handles, &mut req)?;
7388                    let control_handle = WlanFullmacImplIfcControlHandle {
7389                        inner: this.inner.clone(),
7390                    };
7391                    Ok(WlanFullmacImplIfcRequest::DisassocConf {payload: req,
7392                        responder: WlanFullmacImplIfcDisassocConfResponder {
7393                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7394                            tx_id: header.tx_id,
7395                        },
7396                    })
7397                }
7398                0x6667b381b7f3990f => {
7399                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7400                    let mut req = fidl::new_empty!(WlanFullmacImplIfcDisassocIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7401                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcDisassocIndRequest>(&header, _body_bytes, handles, &mut req)?;
7402                    let control_handle = WlanFullmacImplIfcControlHandle {
7403                        inner: this.inner.clone(),
7404                    };
7405                    Ok(WlanFullmacImplIfcRequest::DisassocInd {payload: req,
7406                        responder: WlanFullmacImplIfcDisassocIndResponder {
7407                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7408                            tx_id: header.tx_id,
7409                        },
7410                    })
7411                }
7412                0x3e9b9641f3ddc7fc => {
7413                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7414                    let mut req = fidl::new_empty!(WlanFullmacImplIfcStartConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7415                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcStartConfRequest>(&header, _body_bytes, handles, &mut req)?;
7416                    let control_handle = WlanFullmacImplIfcControlHandle {
7417                        inner: this.inner.clone(),
7418                    };
7419                    Ok(WlanFullmacImplIfcRequest::StartConf {payload: req,
7420                        responder: WlanFullmacImplIfcStartConfResponder {
7421                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7422                            tx_id: header.tx_id,
7423                        },
7424                    })
7425                }
7426                0x320a5ff227a4e9df => {
7427                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7428                    let mut req = fidl::new_empty!(WlanFullmacImplIfcStopConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7429                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcStopConfRequest>(&header, _body_bytes, handles, &mut req)?;
7430                    let control_handle = WlanFullmacImplIfcControlHandle {
7431                        inner: this.inner.clone(),
7432                    };
7433                    Ok(WlanFullmacImplIfcRequest::StopConf {payload: req,
7434                        responder: WlanFullmacImplIfcStopConfResponder {
7435                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7436                            tx_id: header.tx_id,
7437                        },
7438                    })
7439                }
7440                0x77364db9cc3970ec => {
7441                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7442                    let mut req = fidl::new_empty!(WlanFullmacImplIfcEapolConfRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7443                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcEapolConfRequest>(&header, _body_bytes, handles, &mut req)?;
7444                    let control_handle = WlanFullmacImplIfcControlHandle {
7445                        inner: this.inner.clone(),
7446                    };
7447                    Ok(WlanFullmacImplIfcRequest::EapolConf {payload: req,
7448                        responder: WlanFullmacImplIfcEapolConfResponder {
7449                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7450                            tx_id: header.tx_id,
7451                        },
7452                    })
7453                }
7454                0x21db0b8f71cae647 => {
7455                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7456                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnChannelSwitchRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7457                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnChannelSwitchRequest>(&header, _body_bytes, handles, &mut req)?;
7458                    let control_handle = WlanFullmacImplIfcControlHandle {
7459                        inner: this.inner.clone(),
7460                    };
7461                    Ok(WlanFullmacImplIfcRequest::OnChannelSwitch {ind: req.ind,
7462
7463                        responder: WlanFullmacImplIfcOnChannelSwitchResponder {
7464                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7465                            tx_id: header.tx_id,
7466                        },
7467                    })
7468                }
7469                0x79679fa8789c3d9f => {
7470                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7471                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSignalReportRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7472                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSignalReportRequest>(&header, _body_bytes, handles, &mut req)?;
7473                    let control_handle = WlanFullmacImplIfcControlHandle {
7474                        inner: this.inner.clone(),
7475                    };
7476                    Ok(WlanFullmacImplIfcRequest::SignalReport {ind: req.ind,
7477
7478                        responder: WlanFullmacImplIfcSignalReportResponder {
7479                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7480                            tx_id: header.tx_id,
7481                        },
7482                    })
7483                }
7484                0x3de8ec1eda10d1d0 => {
7485                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7486                    let mut req = fidl::new_empty!(WlanFullmacImplIfcEapolIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7487                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcEapolIndRequest>(&header, _body_bytes, handles, &mut req)?;
7488                    let control_handle = WlanFullmacImplIfcControlHandle {
7489                        inner: this.inner.clone(),
7490                    };
7491                    Ok(WlanFullmacImplIfcRequest::EapolInd {payload: req,
7492                        responder: WlanFullmacImplIfcEapolIndResponder {
7493                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7494                            tx_id: header.tx_id,
7495                        },
7496                    })
7497                }
7498                0x5cedd8d9be28a17e => {
7499                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7500                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnPmkAvailableRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7501                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnPmkAvailableRequest>(&header, _body_bytes, handles, &mut req)?;
7502                    let control_handle = WlanFullmacImplIfcControlHandle {
7503                        inner: this.inner.clone(),
7504                    };
7505                    Ok(WlanFullmacImplIfcRequest::OnPmkAvailable {payload: req,
7506                        responder: WlanFullmacImplIfcOnPmkAvailableResponder {
7507                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7508                            tx_id: header.tx_id,
7509                        },
7510                    })
7511                }
7512                0x4f3d53885503a1d8 => {
7513                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7514                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSaeHandshakeIndRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7515                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSaeHandshakeIndRequest>(&header, _body_bytes, handles, &mut req)?;
7516                    let control_handle = WlanFullmacImplIfcControlHandle {
7517                        inner: this.inner.clone(),
7518                    };
7519                    Ok(WlanFullmacImplIfcRequest::SaeHandshakeInd {payload: req,
7520                        responder: WlanFullmacImplIfcSaeHandshakeIndResponder {
7521                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7522                            tx_id: header.tx_id,
7523                        },
7524                    })
7525                }
7526                0x51650906857ed4d4 => {
7527                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7528                    let mut req = fidl::new_empty!(WlanFullmacImplIfcSaeFrameRxRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7529                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcSaeFrameRxRequest>(&header, _body_bytes, handles, &mut req)?;
7530                    let control_handle = WlanFullmacImplIfcControlHandle {
7531                        inner: this.inner.clone(),
7532                    };
7533                    Ok(WlanFullmacImplIfcRequest::SaeFrameRx {frame: req.frame,
7534
7535                        responder: WlanFullmacImplIfcSaeFrameRxResponder {
7536                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7537                            tx_id: header.tx_id,
7538                        },
7539                    })
7540                }
7541                0x6823a88bf3ba8b2a => {
7542                    header.validate_request_tx_id(fidl::MethodType::TwoWay)?;
7543                    let mut req = fidl::new_empty!(WlanFullmacImplIfcOnWmmStatusRespRequest, fidl::encoding::DefaultFuchsiaResourceDialect);
7544                    fidl::encoding::Decoder::<fidl::encoding::DefaultFuchsiaResourceDialect>::decode_into::<WlanFullmacImplIfcOnWmmStatusRespRequest>(&header, _body_bytes, handles, &mut req)?;
7545                    let control_handle = WlanFullmacImplIfcControlHandle {
7546                        inner: this.inner.clone(),
7547                    };
7548                    Ok(WlanFullmacImplIfcRequest::OnWmmStatusResp {status: req.status,
7549wmm_params: req.wmm_params,
7550
7551                        responder: WlanFullmacImplIfcOnWmmStatusRespResponder {
7552                            control_handle: std::mem::ManuallyDrop::new(control_handle),
7553                            tx_id: header.tx_id,
7554                        },
7555                    })
7556                }
7557                _ => Err(fidl::Error::UnknownOrdinal {
7558                    ordinal: header.ordinal,
7559                    protocol_name: <WlanFullmacImplIfcMarker as fidl::endpoints::ProtocolMarker>::DEBUG_NAME,
7560                }),
7561            }))
7562            },
7563        )
7564    }
7565}
7566
7567/// Protocol definition for communication from the fullmac vendor driver to the platform.
7568#[derive(Debug)]
7569pub enum WlanFullmacImplIfcRequest {
7570    OnScanResult {
7571        payload: WlanFullmacImplIfcOnScanResultRequest,
7572        responder: WlanFullmacImplIfcOnScanResultResponder,
7573    },
7574    OnScanEnd {
7575        payload: WlanFullmacImplIfcOnScanEndRequest,
7576        responder: WlanFullmacImplIfcOnScanEndResponder,
7577    },
7578    /// Indicates to MLME that an individual scan within the scheduled scan plan has been completed
7579    /// and results are available.
7580    OnScheduledScanMatchesAvailable {
7581        payload: WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
7582        control_handle: WlanFullmacImplIfcControlHandle,
7583    },
7584    /// Indicates to MLME that scheduled scanning has been stopped by the firmware.
7585    OnScheduledScanStoppedByFirmware {
7586        payload: WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
7587        control_handle: WlanFullmacImplIfcControlHandle,
7588    },
7589    ConnectConf {
7590        payload: WlanFullmacImplIfcConnectConfRequest,
7591        responder: WlanFullmacImplIfcConnectConfResponder,
7592    },
7593    /// Report the result of an MLME-initiated roam attempt.
7594    RoamConf {
7595        payload: WlanFullmacImplIfcRoamConfRequest,
7596        responder: WlanFullmacImplIfcRoamConfResponder,
7597    },
7598    /// Report that a fullmac-initiated roam attempt is in progress.
7599    /// Fullmac must send this start indication for all roam attempts.
7600    RoamStartInd {
7601        payload: WlanFullmacImplIfcRoamStartIndRequest,
7602        responder: WlanFullmacImplIfcRoamStartIndResponder,
7603    },
7604    /// Report the result of a fullmac-initiated roam attempt.
7605    RoamResultInd {
7606        payload: WlanFullmacImplIfcRoamResultIndRequest,
7607        responder: WlanFullmacImplIfcRoamResultIndResponder,
7608    },
7609    AuthInd {
7610        payload: WlanFullmacImplIfcAuthIndRequest,
7611        responder: WlanFullmacImplIfcAuthIndResponder,
7612    },
7613    DeauthConf {
7614        payload: WlanFullmacImplIfcDeauthConfRequest,
7615        responder: WlanFullmacImplIfcDeauthConfResponder,
7616    },
7617    /// Report that the driver deauthenticated.
7618    DeauthInd {
7619        payload: WlanFullmacImplIfcDeauthIndRequest,
7620        responder: WlanFullmacImplIfcDeauthIndResponder,
7621    },
7622    AssocInd {
7623        payload: WlanFullmacImplIfcAssocIndRequest,
7624        responder: WlanFullmacImplIfcAssocIndResponder,
7625    },
7626    /// Report the result of a previously-issued disassociate request. IEEE 802.11-2020 6.3.9.2.
7627    DisassocConf {
7628        payload: WlanFullmacImplIfcDisassocConfRequest,
7629        responder: WlanFullmacImplIfcDisassocConfResponder,
7630    },
7631    /// Report that disassociation with the specified peer occurred (IEEE 802.11-2020 6.3.9.3).
7632    DisassocInd {
7633        payload: WlanFullmacImplIfcDisassocIndRequest,
7634        responder: WlanFullmacImplIfcDisassocIndResponder,
7635    },
7636    /// Report the result of a WlanFullmacImpl::StartBss request.
7637    StartConf {
7638        payload: WlanFullmacImplIfcStartConfRequest,
7639        responder: WlanFullmacImplIfcStartConfResponder,
7640    },
7641    /// Report the result of a WlanFullmacImpl::StopBss request.
7642    StopConf {
7643        payload: WlanFullmacImplIfcStopConfRequest,
7644        responder: WlanFullmacImplIfcStopConfResponder,
7645    },
7646    /// Report the result of a EAPoL frame transmission (IEEE 802.11-2020 6.3.22.2).
7647    /// EAPoL frames are transmitted by the platform via WlanFullmacImpl::EapolTx.
7648    EapolConf {
7649        payload: WlanFullmacImplIfcEapolConfRequest,
7650        responder: WlanFullmacImplIfcEapolConfResponder,
7651    },
7652    OnChannelSwitch {
7653        ind: WlanFullmacChannelSwitchInfo,
7654        responder: WlanFullmacImplIfcOnChannelSwitchResponder,
7655    },
7656    SignalReport {
7657        ind: WlanFullmacSignalReportIndication,
7658        responder: WlanFullmacImplIfcSignalReportResponder,
7659    },
7660    /// Report that an EAPoL frame was received.
7661    EapolInd {
7662        payload: WlanFullmacImplIfcEapolIndRequest,
7663        responder: WlanFullmacImplIfcEapolIndResponder,
7664    },
7665    /// Inform the platform that the PMK is available after a driver-handled SAE handshake.
7666    OnPmkAvailable {
7667        payload: WlanFullmacImplIfcOnPmkAvailableRequest,
7668        responder: WlanFullmacImplIfcOnPmkAvailableResponder,
7669    },
7670    SaeHandshakeInd {
7671        payload: WlanFullmacImplIfcSaeHandshakeIndRequest,
7672        responder: WlanFullmacImplIfcSaeHandshakeIndResponder,
7673    },
7674    /// Receive an SAE authentication frame.
7675    SaeFrameRx { frame: SaeFrame, responder: WlanFullmacImplIfcSaeFrameRxResponder },
7676    OnWmmStatusResp {
7677        status: i32,
7678        wmm_params: fidl_fuchsia_wlan_driver::WlanWmmParameters,
7679        responder: WlanFullmacImplIfcOnWmmStatusRespResponder,
7680    },
7681}
7682
7683impl WlanFullmacImplIfcRequest {
7684    #[allow(irrefutable_let_patterns)]
7685    pub fn into_on_scan_result(
7686        self,
7687    ) -> Option<(WlanFullmacImplIfcOnScanResultRequest, WlanFullmacImplIfcOnScanResultResponder)>
7688    {
7689        if let WlanFullmacImplIfcRequest::OnScanResult { payload, responder } = self {
7690            Some((payload, responder))
7691        } else {
7692            None
7693        }
7694    }
7695
7696    #[allow(irrefutable_let_patterns)]
7697    pub fn into_on_scan_end(
7698        self,
7699    ) -> Option<(WlanFullmacImplIfcOnScanEndRequest, WlanFullmacImplIfcOnScanEndResponder)> {
7700        if let WlanFullmacImplIfcRequest::OnScanEnd { payload, responder } = self {
7701            Some((payload, responder))
7702        } else {
7703            None
7704        }
7705    }
7706
7707    #[allow(irrefutable_let_patterns)]
7708    pub fn into_on_scheduled_scan_matches_available(
7709        self,
7710    ) -> Option<(
7711        WlanFullmacImplIfcOnScheduledScanMatchesAvailableRequest,
7712        WlanFullmacImplIfcControlHandle,
7713    )> {
7714        if let WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable {
7715            payload,
7716            control_handle,
7717        } = self
7718        {
7719            Some((payload, control_handle))
7720        } else {
7721            None
7722        }
7723    }
7724
7725    #[allow(irrefutable_let_patterns)]
7726    pub fn into_on_scheduled_scan_stopped_by_firmware(
7727        self,
7728    ) -> Option<(
7729        WlanFullmacImplIfcOnScheduledScanStoppedByFirmwareRequest,
7730        WlanFullmacImplIfcControlHandle,
7731    )> {
7732        if let WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware {
7733            payload,
7734            control_handle,
7735        } = self
7736        {
7737            Some((payload, control_handle))
7738        } else {
7739            None
7740        }
7741    }
7742
7743    #[allow(irrefutable_let_patterns)]
7744    pub fn into_connect_conf(
7745        self,
7746    ) -> Option<(WlanFullmacImplIfcConnectConfRequest, WlanFullmacImplIfcConnectConfResponder)>
7747    {
7748        if let WlanFullmacImplIfcRequest::ConnectConf { payload, responder } = self {
7749            Some((payload, responder))
7750        } else {
7751            None
7752        }
7753    }
7754
7755    #[allow(irrefutable_let_patterns)]
7756    pub fn into_roam_conf(
7757        self,
7758    ) -> Option<(WlanFullmacImplIfcRoamConfRequest, WlanFullmacImplIfcRoamConfResponder)> {
7759        if let WlanFullmacImplIfcRequest::RoamConf { payload, responder } = self {
7760            Some((payload, responder))
7761        } else {
7762            None
7763        }
7764    }
7765
7766    #[allow(irrefutable_let_patterns)]
7767    pub fn into_roam_start_ind(
7768        self,
7769    ) -> Option<(WlanFullmacImplIfcRoamStartIndRequest, WlanFullmacImplIfcRoamStartIndResponder)>
7770    {
7771        if let WlanFullmacImplIfcRequest::RoamStartInd { payload, responder } = self {
7772            Some((payload, responder))
7773        } else {
7774            None
7775        }
7776    }
7777
7778    #[allow(irrefutable_let_patterns)]
7779    pub fn into_roam_result_ind(
7780        self,
7781    ) -> Option<(WlanFullmacImplIfcRoamResultIndRequest, WlanFullmacImplIfcRoamResultIndResponder)>
7782    {
7783        if let WlanFullmacImplIfcRequest::RoamResultInd { payload, responder } = self {
7784            Some((payload, responder))
7785        } else {
7786            None
7787        }
7788    }
7789
7790    #[allow(irrefutable_let_patterns)]
7791    pub fn into_auth_ind(
7792        self,
7793    ) -> Option<(WlanFullmacImplIfcAuthIndRequest, WlanFullmacImplIfcAuthIndResponder)> {
7794        if let WlanFullmacImplIfcRequest::AuthInd { payload, responder } = self {
7795            Some((payload, responder))
7796        } else {
7797            None
7798        }
7799    }
7800
7801    #[allow(irrefutable_let_patterns)]
7802    pub fn into_deauth_conf(
7803        self,
7804    ) -> Option<(WlanFullmacImplIfcDeauthConfRequest, WlanFullmacImplIfcDeauthConfResponder)> {
7805        if let WlanFullmacImplIfcRequest::DeauthConf { payload, responder } = self {
7806            Some((payload, responder))
7807        } else {
7808            None
7809        }
7810    }
7811
7812    #[allow(irrefutable_let_patterns)]
7813    pub fn into_deauth_ind(
7814        self,
7815    ) -> Option<(WlanFullmacImplIfcDeauthIndRequest, WlanFullmacImplIfcDeauthIndResponder)> {
7816        if let WlanFullmacImplIfcRequest::DeauthInd { payload, responder } = self {
7817            Some((payload, responder))
7818        } else {
7819            None
7820        }
7821    }
7822
7823    #[allow(irrefutable_let_patterns)]
7824    pub fn into_assoc_ind(
7825        self,
7826    ) -> Option<(WlanFullmacImplIfcAssocIndRequest, WlanFullmacImplIfcAssocIndResponder)> {
7827        if let WlanFullmacImplIfcRequest::AssocInd { payload, responder } = self {
7828            Some((payload, responder))
7829        } else {
7830            None
7831        }
7832    }
7833
7834    #[allow(irrefutable_let_patterns)]
7835    pub fn into_disassoc_conf(
7836        self,
7837    ) -> Option<(WlanFullmacImplIfcDisassocConfRequest, WlanFullmacImplIfcDisassocConfResponder)>
7838    {
7839        if let WlanFullmacImplIfcRequest::DisassocConf { payload, responder } = self {
7840            Some((payload, responder))
7841        } else {
7842            None
7843        }
7844    }
7845
7846    #[allow(irrefutable_let_patterns)]
7847    pub fn into_disassoc_ind(
7848        self,
7849    ) -> Option<(WlanFullmacImplIfcDisassocIndRequest, WlanFullmacImplIfcDisassocIndResponder)>
7850    {
7851        if let WlanFullmacImplIfcRequest::DisassocInd { payload, responder } = self {
7852            Some((payload, responder))
7853        } else {
7854            None
7855        }
7856    }
7857
7858    #[allow(irrefutable_let_patterns)]
7859    pub fn into_start_conf(
7860        self,
7861    ) -> Option<(WlanFullmacImplIfcStartConfRequest, WlanFullmacImplIfcStartConfResponder)> {
7862        if let WlanFullmacImplIfcRequest::StartConf { payload, responder } = self {
7863            Some((payload, responder))
7864        } else {
7865            None
7866        }
7867    }
7868
7869    #[allow(irrefutable_let_patterns)]
7870    pub fn into_stop_conf(
7871        self,
7872    ) -> Option<(WlanFullmacImplIfcStopConfRequest, WlanFullmacImplIfcStopConfResponder)> {
7873        if let WlanFullmacImplIfcRequest::StopConf { payload, responder } = self {
7874            Some((payload, responder))
7875        } else {
7876            None
7877        }
7878    }
7879
7880    #[allow(irrefutable_let_patterns)]
7881    pub fn into_eapol_conf(
7882        self,
7883    ) -> Option<(WlanFullmacImplIfcEapolConfRequest, WlanFullmacImplIfcEapolConfResponder)> {
7884        if let WlanFullmacImplIfcRequest::EapolConf { payload, responder } = self {
7885            Some((payload, responder))
7886        } else {
7887            None
7888        }
7889    }
7890
7891    #[allow(irrefutable_let_patterns)]
7892    pub fn into_on_channel_switch(
7893        self,
7894    ) -> Option<(WlanFullmacChannelSwitchInfo, WlanFullmacImplIfcOnChannelSwitchResponder)> {
7895        if let WlanFullmacImplIfcRequest::OnChannelSwitch { ind, responder } = self {
7896            Some((ind, responder))
7897        } else {
7898            None
7899        }
7900    }
7901
7902    #[allow(irrefutable_let_patterns)]
7903    pub fn into_signal_report(
7904        self,
7905    ) -> Option<(WlanFullmacSignalReportIndication, WlanFullmacImplIfcSignalReportResponder)> {
7906        if let WlanFullmacImplIfcRequest::SignalReport { ind, responder } = self {
7907            Some((ind, responder))
7908        } else {
7909            None
7910        }
7911    }
7912
7913    #[allow(irrefutable_let_patterns)]
7914    pub fn into_eapol_ind(
7915        self,
7916    ) -> Option<(WlanFullmacImplIfcEapolIndRequest, WlanFullmacImplIfcEapolIndResponder)> {
7917        if let WlanFullmacImplIfcRequest::EapolInd { payload, responder } = self {
7918            Some((payload, responder))
7919        } else {
7920            None
7921        }
7922    }
7923
7924    #[allow(irrefutable_let_patterns)]
7925    pub fn into_on_pmk_available(
7926        self,
7927    ) -> Option<(WlanFullmacImplIfcOnPmkAvailableRequest, WlanFullmacImplIfcOnPmkAvailableResponder)>
7928    {
7929        if let WlanFullmacImplIfcRequest::OnPmkAvailable { payload, responder } = self {
7930            Some((payload, responder))
7931        } else {
7932            None
7933        }
7934    }
7935
7936    #[allow(irrefutable_let_patterns)]
7937    pub fn into_sae_handshake_ind(
7938        self,
7939    ) -> Option<(
7940        WlanFullmacImplIfcSaeHandshakeIndRequest,
7941        WlanFullmacImplIfcSaeHandshakeIndResponder,
7942    )> {
7943        if let WlanFullmacImplIfcRequest::SaeHandshakeInd { payload, responder } = self {
7944            Some((payload, responder))
7945        } else {
7946            None
7947        }
7948    }
7949
7950    #[allow(irrefutable_let_patterns)]
7951    pub fn into_sae_frame_rx(self) -> Option<(SaeFrame, WlanFullmacImplIfcSaeFrameRxResponder)> {
7952        if let WlanFullmacImplIfcRequest::SaeFrameRx { frame, responder } = self {
7953            Some((frame, responder))
7954        } else {
7955            None
7956        }
7957    }
7958
7959    #[allow(irrefutable_let_patterns)]
7960    pub fn into_on_wmm_status_resp(
7961        self,
7962    ) -> Option<(
7963        i32,
7964        fidl_fuchsia_wlan_driver::WlanWmmParameters,
7965        WlanFullmacImplIfcOnWmmStatusRespResponder,
7966    )> {
7967        if let WlanFullmacImplIfcRequest::OnWmmStatusResp { status, wmm_params, responder } = self {
7968            Some((status, wmm_params, responder))
7969        } else {
7970            None
7971        }
7972    }
7973
7974    /// Name of the method defined in FIDL
7975    pub fn method_name(&self) -> &'static str {
7976        match *self {
7977            WlanFullmacImplIfcRequest::OnScanResult { .. } => "on_scan_result",
7978            WlanFullmacImplIfcRequest::OnScanEnd { .. } => "on_scan_end",
7979            WlanFullmacImplIfcRequest::OnScheduledScanMatchesAvailable { .. } => {
7980                "on_scheduled_scan_matches_available"
7981            }
7982            WlanFullmacImplIfcRequest::OnScheduledScanStoppedByFirmware { .. } => {
7983                "on_scheduled_scan_stopped_by_firmware"
7984            }
7985            WlanFullmacImplIfcRequest::ConnectConf { .. } => "connect_conf",
7986            WlanFullmacImplIfcRequest::RoamConf { .. } => "roam_conf",
7987            WlanFullmacImplIfcRequest::RoamStartInd { .. } => "roam_start_ind",
7988            WlanFullmacImplIfcRequest::RoamResultInd { .. } => "roam_result_ind",
7989            WlanFullmacImplIfcRequest::AuthInd { .. } => "auth_ind",
7990            WlanFullmacImplIfcRequest::DeauthConf { .. } => "deauth_conf",
7991            WlanFullmacImplIfcRequest::DeauthInd { .. } => "deauth_ind",
7992            WlanFullmacImplIfcRequest::AssocInd { .. } => "assoc_ind",
7993            WlanFullmacImplIfcRequest::DisassocConf { .. } => "disassoc_conf",
7994            WlanFullmacImplIfcRequest::DisassocInd { .. } => "disassoc_ind",
7995            WlanFullmacImplIfcRequest::StartConf { .. } => "start_conf",
7996            WlanFullmacImplIfcRequest::StopConf { .. } => "stop_conf",
7997            WlanFullmacImplIfcRequest::EapolConf { .. } => "eapol_conf",
7998            WlanFullmacImplIfcRequest::OnChannelSwitch { .. } => "on_channel_switch",
7999            WlanFullmacImplIfcRequest::SignalReport { .. } => "signal_report",
8000            WlanFullmacImplIfcRequest::EapolInd { .. } => "eapol_ind",
8001            WlanFullmacImplIfcRequest::OnPmkAvailable { .. } => "on_pmk_available",
8002            WlanFullmacImplIfcRequest::SaeHandshakeInd { .. } => "sae_handshake_ind",
8003            WlanFullmacImplIfcRequest::SaeFrameRx { .. } => "sae_frame_rx",
8004            WlanFullmacImplIfcRequest::OnWmmStatusResp { .. } => "on_wmm_status_resp",
8005        }
8006    }
8007}
8008
8009#[derive(Debug, Clone)]
8010pub struct WlanFullmacImplIfcControlHandle {
8011    inner: std::sync::Arc<fidl::ServeInner<fidl::encoding::DefaultFuchsiaResourceDialect>>,
8012}
8013
8014impl fidl::endpoints::ControlHandle for WlanFullmacImplIfcControlHandle {
8015    fn shutdown(&self) {
8016        self.inner.shutdown()
8017    }
8018
8019    fn shutdown_with_epitaph(&self, status: zx_status::Status) {
8020        self.inner.shutdown_with_epitaph(status)
8021    }
8022
8023    fn is_closed(&self) -> bool {
8024        self.inner.channel().is_closed()
8025    }
8026    fn on_closed(&self) -> fidl::OnSignalsRef<'_> {
8027        self.inner.channel().on_closed()
8028    }
8029
8030    #[cfg(target_os = "fuchsia")]
8031    fn signal_peer(
8032        &self,
8033        clear_mask: zx::Signals,
8034        set_mask: zx::Signals,
8035    ) -> Result<(), zx_status::Status> {
8036        use fidl::Peered;
8037        self.inner.channel().signal_peer(clear_mask, set_mask)
8038    }
8039}
8040
8041impl WlanFullmacImplIfcControlHandle {}
8042
8043#[must_use = "FIDL methods require a response to be sent"]
8044#[derive(Debug)]
8045pub struct WlanFullmacImplIfcOnScanResultResponder {
8046    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8047    tx_id: u32,
8048}
8049
8050/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8051/// if the responder is dropped without sending a response, so that the client
8052/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8053impl std::ops::Drop for WlanFullmacImplIfcOnScanResultResponder {
8054    fn drop(&mut self) {
8055        self.control_handle.shutdown();
8056        // Safety: drops once, never accessed again
8057        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8058    }
8059}
8060
8061impl fidl::endpoints::Responder for WlanFullmacImplIfcOnScanResultResponder {
8062    type ControlHandle = WlanFullmacImplIfcControlHandle;
8063
8064    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8065        &self.control_handle
8066    }
8067
8068    fn drop_without_shutdown(mut self) {
8069        // Safety: drops once, never accessed again due to mem::forget
8070        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8071        // Prevent Drop from running (which would shut down the channel)
8072        std::mem::forget(self);
8073    }
8074}
8075
8076impl WlanFullmacImplIfcOnScanResultResponder {
8077    /// Sends a response to the FIDL transaction.
8078    ///
8079    /// Sets the channel to shutdown if an error occurs.
8080    pub fn send(self) -> Result<(), fidl::Error> {
8081        let _result = self.send_raw();
8082        if _result.is_err() {
8083            self.control_handle.shutdown();
8084        }
8085        self.drop_without_shutdown();
8086        _result
8087    }
8088
8089    /// Similar to "send" but does not shutdown the channel if an error occurs.
8090    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8091        let _result = self.send_raw();
8092        self.drop_without_shutdown();
8093        _result
8094    }
8095
8096    fn send_raw(&self) -> Result<(), fidl::Error> {
8097        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8098            (),
8099            self.tx_id,
8100            0x29aa81dc570f7a3e,
8101            fidl::encoding::DynamicFlags::empty(),
8102        )
8103    }
8104}
8105
8106#[must_use = "FIDL methods require a response to be sent"]
8107#[derive(Debug)]
8108pub struct WlanFullmacImplIfcOnScanEndResponder {
8109    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8110    tx_id: u32,
8111}
8112
8113/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8114/// if the responder is dropped without sending a response, so that the client
8115/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8116impl std::ops::Drop for WlanFullmacImplIfcOnScanEndResponder {
8117    fn drop(&mut self) {
8118        self.control_handle.shutdown();
8119        // Safety: drops once, never accessed again
8120        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8121    }
8122}
8123
8124impl fidl::endpoints::Responder for WlanFullmacImplIfcOnScanEndResponder {
8125    type ControlHandle = WlanFullmacImplIfcControlHandle;
8126
8127    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8128        &self.control_handle
8129    }
8130
8131    fn drop_without_shutdown(mut self) {
8132        // Safety: drops once, never accessed again due to mem::forget
8133        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8134        // Prevent Drop from running (which would shut down the channel)
8135        std::mem::forget(self);
8136    }
8137}
8138
8139impl WlanFullmacImplIfcOnScanEndResponder {
8140    /// Sends a response to the FIDL transaction.
8141    ///
8142    /// Sets the channel to shutdown if an error occurs.
8143    pub fn send(self) -> Result<(), fidl::Error> {
8144        let _result = self.send_raw();
8145        if _result.is_err() {
8146            self.control_handle.shutdown();
8147        }
8148        self.drop_without_shutdown();
8149        _result
8150    }
8151
8152    /// Similar to "send" but does not shutdown the channel if an error occurs.
8153    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8154        let _result = self.send_raw();
8155        self.drop_without_shutdown();
8156        _result
8157    }
8158
8159    fn send_raw(&self) -> Result<(), fidl::Error> {
8160        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8161            (),
8162            self.tx_id,
8163            0x7cd8aff80d27073c,
8164            fidl::encoding::DynamicFlags::empty(),
8165        )
8166    }
8167}
8168
8169#[must_use = "FIDL methods require a response to be sent"]
8170#[derive(Debug)]
8171pub struct WlanFullmacImplIfcConnectConfResponder {
8172    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8173    tx_id: u32,
8174}
8175
8176/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8177/// if the responder is dropped without sending a response, so that the client
8178/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8179impl std::ops::Drop for WlanFullmacImplIfcConnectConfResponder {
8180    fn drop(&mut self) {
8181        self.control_handle.shutdown();
8182        // Safety: drops once, never accessed again
8183        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8184    }
8185}
8186
8187impl fidl::endpoints::Responder for WlanFullmacImplIfcConnectConfResponder {
8188    type ControlHandle = WlanFullmacImplIfcControlHandle;
8189
8190    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8191        &self.control_handle
8192    }
8193
8194    fn drop_without_shutdown(mut self) {
8195        // Safety: drops once, never accessed again due to mem::forget
8196        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8197        // Prevent Drop from running (which would shut down the channel)
8198        std::mem::forget(self);
8199    }
8200}
8201
8202impl WlanFullmacImplIfcConnectConfResponder {
8203    /// Sends a response to the FIDL transaction.
8204    ///
8205    /// Sets the channel to shutdown if an error occurs.
8206    pub fn send(self) -> Result<(), fidl::Error> {
8207        let _result = self.send_raw();
8208        if _result.is_err() {
8209            self.control_handle.shutdown();
8210        }
8211        self.drop_without_shutdown();
8212        _result
8213    }
8214
8215    /// Similar to "send" but does not shutdown the channel if an error occurs.
8216    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8217        let _result = self.send_raw();
8218        self.drop_without_shutdown();
8219        _result
8220    }
8221
8222    fn send_raw(&self) -> Result<(), fidl::Error> {
8223        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8224            (),
8225            self.tx_id,
8226            0x3c22c6d80b2a2759,
8227            fidl::encoding::DynamicFlags::empty(),
8228        )
8229    }
8230}
8231
8232#[must_use = "FIDL methods require a response to be sent"]
8233#[derive(Debug)]
8234pub struct WlanFullmacImplIfcRoamConfResponder {
8235    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8236    tx_id: u32,
8237}
8238
8239/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8240/// if the responder is dropped without sending a response, so that the client
8241/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8242impl std::ops::Drop for WlanFullmacImplIfcRoamConfResponder {
8243    fn drop(&mut self) {
8244        self.control_handle.shutdown();
8245        // Safety: drops once, never accessed again
8246        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8247    }
8248}
8249
8250impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamConfResponder {
8251    type ControlHandle = WlanFullmacImplIfcControlHandle;
8252
8253    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8254        &self.control_handle
8255    }
8256
8257    fn drop_without_shutdown(mut self) {
8258        // Safety: drops once, never accessed again due to mem::forget
8259        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8260        // Prevent Drop from running (which would shut down the channel)
8261        std::mem::forget(self);
8262    }
8263}
8264
8265impl WlanFullmacImplIfcRoamConfResponder {
8266    /// Sends a response to the FIDL transaction.
8267    ///
8268    /// Sets the channel to shutdown if an error occurs.
8269    pub fn send(self) -> Result<(), fidl::Error> {
8270        let _result = self.send_raw();
8271        if _result.is_err() {
8272            self.control_handle.shutdown();
8273        }
8274        self.drop_without_shutdown();
8275        _result
8276    }
8277
8278    /// Similar to "send" but does not shutdown the channel if an error occurs.
8279    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8280        let _result = self.send_raw();
8281        self.drop_without_shutdown();
8282        _result
8283    }
8284
8285    fn send_raw(&self) -> Result<(), fidl::Error> {
8286        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8287            (),
8288            self.tx_id,
8289            0x368b2a5b903b3f7b,
8290            fidl::encoding::DynamicFlags::empty(),
8291        )
8292    }
8293}
8294
8295#[must_use = "FIDL methods require a response to be sent"]
8296#[derive(Debug)]
8297pub struct WlanFullmacImplIfcRoamStartIndResponder {
8298    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8299    tx_id: u32,
8300}
8301
8302/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8303/// if the responder is dropped without sending a response, so that the client
8304/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8305impl std::ops::Drop for WlanFullmacImplIfcRoamStartIndResponder {
8306    fn drop(&mut self) {
8307        self.control_handle.shutdown();
8308        // Safety: drops once, never accessed again
8309        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8310    }
8311}
8312
8313impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamStartIndResponder {
8314    type ControlHandle = WlanFullmacImplIfcControlHandle;
8315
8316    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8317        &self.control_handle
8318    }
8319
8320    fn drop_without_shutdown(mut self) {
8321        // Safety: drops once, never accessed again due to mem::forget
8322        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8323        // Prevent Drop from running (which would shut down the channel)
8324        std::mem::forget(self);
8325    }
8326}
8327
8328impl WlanFullmacImplIfcRoamStartIndResponder {
8329    /// Sends a response to the FIDL transaction.
8330    ///
8331    /// Sets the channel to shutdown if an error occurs.
8332    pub fn send(self) -> Result<(), fidl::Error> {
8333        let _result = self.send_raw();
8334        if _result.is_err() {
8335            self.control_handle.shutdown();
8336        }
8337        self.drop_without_shutdown();
8338        _result
8339    }
8340
8341    /// Similar to "send" but does not shutdown the channel if an error occurs.
8342    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8343        let _result = self.send_raw();
8344        self.drop_without_shutdown();
8345        _result
8346    }
8347
8348    fn send_raw(&self) -> Result<(), fidl::Error> {
8349        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8350            (),
8351            self.tx_id,
8352            0x23e1d9368935e7e4,
8353            fidl::encoding::DynamicFlags::empty(),
8354        )
8355    }
8356}
8357
8358#[must_use = "FIDL methods require a response to be sent"]
8359#[derive(Debug)]
8360pub struct WlanFullmacImplIfcRoamResultIndResponder {
8361    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8362    tx_id: u32,
8363}
8364
8365/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8366/// if the responder is dropped without sending a response, so that the client
8367/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8368impl std::ops::Drop for WlanFullmacImplIfcRoamResultIndResponder {
8369    fn drop(&mut self) {
8370        self.control_handle.shutdown();
8371        // Safety: drops once, never accessed again
8372        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8373    }
8374}
8375
8376impl fidl::endpoints::Responder for WlanFullmacImplIfcRoamResultIndResponder {
8377    type ControlHandle = WlanFullmacImplIfcControlHandle;
8378
8379    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8380        &self.control_handle
8381    }
8382
8383    fn drop_without_shutdown(mut self) {
8384        // Safety: drops once, never accessed again due to mem::forget
8385        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8386        // Prevent Drop from running (which would shut down the channel)
8387        std::mem::forget(self);
8388    }
8389}
8390
8391impl WlanFullmacImplIfcRoamResultIndResponder {
8392    /// Sends a response to the FIDL transaction.
8393    ///
8394    /// Sets the channel to shutdown if an error occurs.
8395    pub fn send(self) -> Result<(), fidl::Error> {
8396        let _result = self.send_raw();
8397        if _result.is_err() {
8398            self.control_handle.shutdown();
8399        }
8400        self.drop_without_shutdown();
8401        _result
8402    }
8403
8404    /// Similar to "send" but does not shutdown the channel if an error occurs.
8405    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8406        let _result = self.send_raw();
8407        self.drop_without_shutdown();
8408        _result
8409    }
8410
8411    fn send_raw(&self) -> Result<(), fidl::Error> {
8412        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8413            (),
8414            self.tx_id,
8415            0x7081c1b1ceea4914,
8416            fidl::encoding::DynamicFlags::empty(),
8417        )
8418    }
8419}
8420
8421#[must_use = "FIDL methods require a response to be sent"]
8422#[derive(Debug)]
8423pub struct WlanFullmacImplIfcAuthIndResponder {
8424    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8425    tx_id: u32,
8426}
8427
8428/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8429/// if the responder is dropped without sending a response, so that the client
8430/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8431impl std::ops::Drop for WlanFullmacImplIfcAuthIndResponder {
8432    fn drop(&mut self) {
8433        self.control_handle.shutdown();
8434        // Safety: drops once, never accessed again
8435        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8436    }
8437}
8438
8439impl fidl::endpoints::Responder for WlanFullmacImplIfcAuthIndResponder {
8440    type ControlHandle = WlanFullmacImplIfcControlHandle;
8441
8442    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8443        &self.control_handle
8444    }
8445
8446    fn drop_without_shutdown(mut self) {
8447        // Safety: drops once, never accessed again due to mem::forget
8448        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8449        // Prevent Drop from running (which would shut down the channel)
8450        std::mem::forget(self);
8451    }
8452}
8453
8454impl WlanFullmacImplIfcAuthIndResponder {
8455    /// Sends a response to the FIDL transaction.
8456    ///
8457    /// Sets the channel to shutdown if an error occurs.
8458    pub fn send(self) -> Result<(), fidl::Error> {
8459        let _result = self.send_raw();
8460        if _result.is_err() {
8461            self.control_handle.shutdown();
8462        }
8463        self.drop_without_shutdown();
8464        _result
8465    }
8466
8467    /// Similar to "send" but does not shutdown the channel if an error occurs.
8468    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8469        let _result = self.send_raw();
8470        self.drop_without_shutdown();
8471        _result
8472    }
8473
8474    fn send_raw(&self) -> Result<(), fidl::Error> {
8475        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8476            (),
8477            self.tx_id,
8478            0x270e1f8889650d0b,
8479            fidl::encoding::DynamicFlags::empty(),
8480        )
8481    }
8482}
8483
8484#[must_use = "FIDL methods require a response to be sent"]
8485#[derive(Debug)]
8486pub struct WlanFullmacImplIfcDeauthConfResponder {
8487    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8488    tx_id: u32,
8489}
8490
8491/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8492/// if the responder is dropped without sending a response, so that the client
8493/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8494impl std::ops::Drop for WlanFullmacImplIfcDeauthConfResponder {
8495    fn drop(&mut self) {
8496        self.control_handle.shutdown();
8497        // Safety: drops once, never accessed again
8498        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8499    }
8500}
8501
8502impl fidl::endpoints::Responder for WlanFullmacImplIfcDeauthConfResponder {
8503    type ControlHandle = WlanFullmacImplIfcControlHandle;
8504
8505    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8506        &self.control_handle
8507    }
8508
8509    fn drop_without_shutdown(mut self) {
8510        // Safety: drops once, never accessed again due to mem::forget
8511        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8512        // Prevent Drop from running (which would shut down the channel)
8513        std::mem::forget(self);
8514    }
8515}
8516
8517impl WlanFullmacImplIfcDeauthConfResponder {
8518    /// Sends a response to the FIDL transaction.
8519    ///
8520    /// Sets the channel to shutdown if an error occurs.
8521    pub fn send(self) -> Result<(), fidl::Error> {
8522        let _result = self.send_raw();
8523        if _result.is_err() {
8524            self.control_handle.shutdown();
8525        }
8526        self.drop_without_shutdown();
8527        _result
8528    }
8529
8530    /// Similar to "send" but does not shutdown the channel if an error occurs.
8531    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8532        let _result = self.send_raw();
8533        self.drop_without_shutdown();
8534        _result
8535    }
8536
8537    fn send_raw(&self) -> Result<(), fidl::Error> {
8538        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8539            (),
8540            self.tx_id,
8541            0x2c94b0d7258111b7,
8542            fidl::encoding::DynamicFlags::empty(),
8543        )
8544    }
8545}
8546
8547#[must_use = "FIDL methods require a response to be sent"]
8548#[derive(Debug)]
8549pub struct WlanFullmacImplIfcDeauthIndResponder {
8550    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8551    tx_id: u32,
8552}
8553
8554/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8555/// if the responder is dropped without sending a response, so that the client
8556/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8557impl std::ops::Drop for WlanFullmacImplIfcDeauthIndResponder {
8558    fn drop(&mut self) {
8559        self.control_handle.shutdown();
8560        // Safety: drops once, never accessed again
8561        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8562    }
8563}
8564
8565impl fidl::endpoints::Responder for WlanFullmacImplIfcDeauthIndResponder {
8566    type ControlHandle = WlanFullmacImplIfcControlHandle;
8567
8568    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8569        &self.control_handle
8570    }
8571
8572    fn drop_without_shutdown(mut self) {
8573        // Safety: drops once, never accessed again due to mem::forget
8574        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8575        // Prevent Drop from running (which would shut down the channel)
8576        std::mem::forget(self);
8577    }
8578}
8579
8580impl WlanFullmacImplIfcDeauthIndResponder {
8581    /// Sends a response to the FIDL transaction.
8582    ///
8583    /// Sets the channel to shutdown if an error occurs.
8584    pub fn send(self) -> Result<(), fidl::Error> {
8585        let _result = self.send_raw();
8586        if _result.is_err() {
8587            self.control_handle.shutdown();
8588        }
8589        self.drop_without_shutdown();
8590        _result
8591    }
8592
8593    /// Similar to "send" but does not shutdown the channel if an error occurs.
8594    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8595        let _result = self.send_raw();
8596        self.drop_without_shutdown();
8597        _result
8598    }
8599
8600    fn send_raw(&self) -> Result<(), fidl::Error> {
8601        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8602            (),
8603            self.tx_id,
8604            0x26cd27cdadd8dbaf,
8605            fidl::encoding::DynamicFlags::empty(),
8606        )
8607    }
8608}
8609
8610#[must_use = "FIDL methods require a response to be sent"]
8611#[derive(Debug)]
8612pub struct WlanFullmacImplIfcAssocIndResponder {
8613    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8614    tx_id: u32,
8615}
8616
8617/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8618/// if the responder is dropped without sending a response, so that the client
8619/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8620impl std::ops::Drop for WlanFullmacImplIfcAssocIndResponder {
8621    fn drop(&mut self) {
8622        self.control_handle.shutdown();
8623        // Safety: drops once, never accessed again
8624        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8625    }
8626}
8627
8628impl fidl::endpoints::Responder for WlanFullmacImplIfcAssocIndResponder {
8629    type ControlHandle = WlanFullmacImplIfcControlHandle;
8630
8631    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8632        &self.control_handle
8633    }
8634
8635    fn drop_without_shutdown(mut self) {
8636        // Safety: drops once, never accessed again due to mem::forget
8637        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8638        // Prevent Drop from running (which would shut down the channel)
8639        std::mem::forget(self);
8640    }
8641}
8642
8643impl WlanFullmacImplIfcAssocIndResponder {
8644    /// Sends a response to the FIDL transaction.
8645    ///
8646    /// Sets the channel to shutdown if an error occurs.
8647    pub fn send(self) -> Result<(), fidl::Error> {
8648        let _result = self.send_raw();
8649        if _result.is_err() {
8650            self.control_handle.shutdown();
8651        }
8652        self.drop_without_shutdown();
8653        _result
8654    }
8655
8656    /// Similar to "send" but does not shutdown the channel if an error occurs.
8657    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8658        let _result = self.send_raw();
8659        self.drop_without_shutdown();
8660        _result
8661    }
8662
8663    fn send_raw(&self) -> Result<(), fidl::Error> {
8664        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8665            (),
8666            self.tx_id,
8667            0x3e44529e3dc179ce,
8668            fidl::encoding::DynamicFlags::empty(),
8669        )
8670    }
8671}
8672
8673#[must_use = "FIDL methods require a response to be sent"]
8674#[derive(Debug)]
8675pub struct WlanFullmacImplIfcDisassocConfResponder {
8676    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8677    tx_id: u32,
8678}
8679
8680/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8681/// if the responder is dropped without sending a response, so that the client
8682/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8683impl std::ops::Drop for WlanFullmacImplIfcDisassocConfResponder {
8684    fn drop(&mut self) {
8685        self.control_handle.shutdown();
8686        // Safety: drops once, never accessed again
8687        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8688    }
8689}
8690
8691impl fidl::endpoints::Responder for WlanFullmacImplIfcDisassocConfResponder {
8692    type ControlHandle = WlanFullmacImplIfcControlHandle;
8693
8694    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8695        &self.control_handle
8696    }
8697
8698    fn drop_without_shutdown(mut self) {
8699        // Safety: drops once, never accessed again due to mem::forget
8700        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8701        // Prevent Drop from running (which would shut down the channel)
8702        std::mem::forget(self);
8703    }
8704}
8705
8706impl WlanFullmacImplIfcDisassocConfResponder {
8707    /// Sends a response to the FIDL transaction.
8708    ///
8709    /// Sets the channel to shutdown if an error occurs.
8710    pub fn send(self) -> Result<(), fidl::Error> {
8711        let _result = self.send_raw();
8712        if _result.is_err() {
8713            self.control_handle.shutdown();
8714        }
8715        self.drop_without_shutdown();
8716        _result
8717    }
8718
8719    /// Similar to "send" but does not shutdown the channel if an error occurs.
8720    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8721        let _result = self.send_raw();
8722        self.drop_without_shutdown();
8723        _result
8724    }
8725
8726    fn send_raw(&self) -> Result<(), fidl::Error> {
8727        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8728            (),
8729            self.tx_id,
8730            0x7c713bcd58a76cb3,
8731            fidl::encoding::DynamicFlags::empty(),
8732        )
8733    }
8734}
8735
8736#[must_use = "FIDL methods require a response to be sent"]
8737#[derive(Debug)]
8738pub struct WlanFullmacImplIfcDisassocIndResponder {
8739    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8740    tx_id: u32,
8741}
8742
8743/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8744/// if the responder is dropped without sending a response, so that the client
8745/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8746impl std::ops::Drop for WlanFullmacImplIfcDisassocIndResponder {
8747    fn drop(&mut self) {
8748        self.control_handle.shutdown();
8749        // Safety: drops once, never accessed again
8750        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8751    }
8752}
8753
8754impl fidl::endpoints::Responder for WlanFullmacImplIfcDisassocIndResponder {
8755    type ControlHandle = WlanFullmacImplIfcControlHandle;
8756
8757    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8758        &self.control_handle
8759    }
8760
8761    fn drop_without_shutdown(mut self) {
8762        // Safety: drops once, never accessed again due to mem::forget
8763        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8764        // Prevent Drop from running (which would shut down the channel)
8765        std::mem::forget(self);
8766    }
8767}
8768
8769impl WlanFullmacImplIfcDisassocIndResponder {
8770    /// Sends a response to the FIDL transaction.
8771    ///
8772    /// Sets the channel to shutdown if an error occurs.
8773    pub fn send(self) -> Result<(), fidl::Error> {
8774        let _result = self.send_raw();
8775        if _result.is_err() {
8776            self.control_handle.shutdown();
8777        }
8778        self.drop_without_shutdown();
8779        _result
8780    }
8781
8782    /// Similar to "send" but does not shutdown the channel if an error occurs.
8783    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8784        let _result = self.send_raw();
8785        self.drop_without_shutdown();
8786        _result
8787    }
8788
8789    fn send_raw(&self) -> Result<(), fidl::Error> {
8790        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8791            (),
8792            self.tx_id,
8793            0x6667b381b7f3990f,
8794            fidl::encoding::DynamicFlags::empty(),
8795        )
8796    }
8797}
8798
8799#[must_use = "FIDL methods require a response to be sent"]
8800#[derive(Debug)]
8801pub struct WlanFullmacImplIfcStartConfResponder {
8802    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8803    tx_id: u32,
8804}
8805
8806/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8807/// if the responder is dropped without sending a response, so that the client
8808/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8809impl std::ops::Drop for WlanFullmacImplIfcStartConfResponder {
8810    fn drop(&mut self) {
8811        self.control_handle.shutdown();
8812        // Safety: drops once, never accessed again
8813        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8814    }
8815}
8816
8817impl fidl::endpoints::Responder for WlanFullmacImplIfcStartConfResponder {
8818    type ControlHandle = WlanFullmacImplIfcControlHandle;
8819
8820    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8821        &self.control_handle
8822    }
8823
8824    fn drop_without_shutdown(mut self) {
8825        // Safety: drops once, never accessed again due to mem::forget
8826        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8827        // Prevent Drop from running (which would shut down the channel)
8828        std::mem::forget(self);
8829    }
8830}
8831
8832impl WlanFullmacImplIfcStartConfResponder {
8833    /// Sends a response to the FIDL transaction.
8834    ///
8835    /// Sets the channel to shutdown if an error occurs.
8836    pub fn send(self) -> Result<(), fidl::Error> {
8837        let _result = self.send_raw();
8838        if _result.is_err() {
8839            self.control_handle.shutdown();
8840        }
8841        self.drop_without_shutdown();
8842        _result
8843    }
8844
8845    /// Similar to "send" but does not shutdown the channel if an error occurs.
8846    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8847        let _result = self.send_raw();
8848        self.drop_without_shutdown();
8849        _result
8850    }
8851
8852    fn send_raw(&self) -> Result<(), fidl::Error> {
8853        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8854            (),
8855            self.tx_id,
8856            0x3e9b9641f3ddc7fc,
8857            fidl::encoding::DynamicFlags::empty(),
8858        )
8859    }
8860}
8861
8862#[must_use = "FIDL methods require a response to be sent"]
8863#[derive(Debug)]
8864pub struct WlanFullmacImplIfcStopConfResponder {
8865    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8866    tx_id: u32,
8867}
8868
8869/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8870/// if the responder is dropped without sending a response, so that the client
8871/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8872impl std::ops::Drop for WlanFullmacImplIfcStopConfResponder {
8873    fn drop(&mut self) {
8874        self.control_handle.shutdown();
8875        // Safety: drops once, never accessed again
8876        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8877    }
8878}
8879
8880impl fidl::endpoints::Responder for WlanFullmacImplIfcStopConfResponder {
8881    type ControlHandle = WlanFullmacImplIfcControlHandle;
8882
8883    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8884        &self.control_handle
8885    }
8886
8887    fn drop_without_shutdown(mut self) {
8888        // Safety: drops once, never accessed again due to mem::forget
8889        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8890        // Prevent Drop from running (which would shut down the channel)
8891        std::mem::forget(self);
8892    }
8893}
8894
8895impl WlanFullmacImplIfcStopConfResponder {
8896    /// Sends a response to the FIDL transaction.
8897    ///
8898    /// Sets the channel to shutdown if an error occurs.
8899    pub fn send(self) -> Result<(), fidl::Error> {
8900        let _result = self.send_raw();
8901        if _result.is_err() {
8902            self.control_handle.shutdown();
8903        }
8904        self.drop_without_shutdown();
8905        _result
8906    }
8907
8908    /// Similar to "send" but does not shutdown the channel if an error occurs.
8909    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8910        let _result = self.send_raw();
8911        self.drop_without_shutdown();
8912        _result
8913    }
8914
8915    fn send_raw(&self) -> Result<(), fidl::Error> {
8916        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8917            (),
8918            self.tx_id,
8919            0x320a5ff227a4e9df,
8920            fidl::encoding::DynamicFlags::empty(),
8921        )
8922    }
8923}
8924
8925#[must_use = "FIDL methods require a response to be sent"]
8926#[derive(Debug)]
8927pub struct WlanFullmacImplIfcEapolConfResponder {
8928    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8929    tx_id: u32,
8930}
8931
8932/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8933/// if the responder is dropped without sending a response, so that the client
8934/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8935impl std::ops::Drop for WlanFullmacImplIfcEapolConfResponder {
8936    fn drop(&mut self) {
8937        self.control_handle.shutdown();
8938        // Safety: drops once, never accessed again
8939        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8940    }
8941}
8942
8943impl fidl::endpoints::Responder for WlanFullmacImplIfcEapolConfResponder {
8944    type ControlHandle = WlanFullmacImplIfcControlHandle;
8945
8946    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
8947        &self.control_handle
8948    }
8949
8950    fn drop_without_shutdown(mut self) {
8951        // Safety: drops once, never accessed again due to mem::forget
8952        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
8953        // Prevent Drop from running (which would shut down the channel)
8954        std::mem::forget(self);
8955    }
8956}
8957
8958impl WlanFullmacImplIfcEapolConfResponder {
8959    /// Sends a response to the FIDL transaction.
8960    ///
8961    /// Sets the channel to shutdown if an error occurs.
8962    pub fn send(self) -> Result<(), fidl::Error> {
8963        let _result = self.send_raw();
8964        if _result.is_err() {
8965            self.control_handle.shutdown();
8966        }
8967        self.drop_without_shutdown();
8968        _result
8969    }
8970
8971    /// Similar to "send" but does not shutdown the channel if an error occurs.
8972    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
8973        let _result = self.send_raw();
8974        self.drop_without_shutdown();
8975        _result
8976    }
8977
8978    fn send_raw(&self) -> Result<(), fidl::Error> {
8979        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
8980            (),
8981            self.tx_id,
8982            0x77364db9cc3970ec,
8983            fidl::encoding::DynamicFlags::empty(),
8984        )
8985    }
8986}
8987
8988#[must_use = "FIDL methods require a response to be sent"]
8989#[derive(Debug)]
8990pub struct WlanFullmacImplIfcOnChannelSwitchResponder {
8991    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
8992    tx_id: u32,
8993}
8994
8995/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
8996/// if the responder is dropped without sending a response, so that the client
8997/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
8998impl std::ops::Drop for WlanFullmacImplIfcOnChannelSwitchResponder {
8999    fn drop(&mut self) {
9000        self.control_handle.shutdown();
9001        // Safety: drops once, never accessed again
9002        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9003    }
9004}
9005
9006impl fidl::endpoints::Responder for WlanFullmacImplIfcOnChannelSwitchResponder {
9007    type ControlHandle = WlanFullmacImplIfcControlHandle;
9008
9009    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9010        &self.control_handle
9011    }
9012
9013    fn drop_without_shutdown(mut self) {
9014        // Safety: drops once, never accessed again due to mem::forget
9015        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9016        // Prevent Drop from running (which would shut down the channel)
9017        std::mem::forget(self);
9018    }
9019}
9020
9021impl WlanFullmacImplIfcOnChannelSwitchResponder {
9022    /// Sends a response to the FIDL transaction.
9023    ///
9024    /// Sets the channel to shutdown if an error occurs.
9025    pub fn send(self) -> Result<(), fidl::Error> {
9026        let _result = self.send_raw();
9027        if _result.is_err() {
9028            self.control_handle.shutdown();
9029        }
9030        self.drop_without_shutdown();
9031        _result
9032    }
9033
9034    /// Similar to "send" but does not shutdown the channel if an error occurs.
9035    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9036        let _result = self.send_raw();
9037        self.drop_without_shutdown();
9038        _result
9039    }
9040
9041    fn send_raw(&self) -> Result<(), fidl::Error> {
9042        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9043            (),
9044            self.tx_id,
9045            0x21db0b8f71cae647,
9046            fidl::encoding::DynamicFlags::empty(),
9047        )
9048    }
9049}
9050
9051#[must_use = "FIDL methods require a response to be sent"]
9052#[derive(Debug)]
9053pub struct WlanFullmacImplIfcSignalReportResponder {
9054    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9055    tx_id: u32,
9056}
9057
9058/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9059/// if the responder is dropped without sending a response, so that the client
9060/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9061impl std::ops::Drop for WlanFullmacImplIfcSignalReportResponder {
9062    fn drop(&mut self) {
9063        self.control_handle.shutdown();
9064        // Safety: drops once, never accessed again
9065        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9066    }
9067}
9068
9069impl fidl::endpoints::Responder for WlanFullmacImplIfcSignalReportResponder {
9070    type ControlHandle = WlanFullmacImplIfcControlHandle;
9071
9072    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9073        &self.control_handle
9074    }
9075
9076    fn drop_without_shutdown(mut self) {
9077        // Safety: drops once, never accessed again due to mem::forget
9078        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9079        // Prevent Drop from running (which would shut down the channel)
9080        std::mem::forget(self);
9081    }
9082}
9083
9084impl WlanFullmacImplIfcSignalReportResponder {
9085    /// Sends a response to the FIDL transaction.
9086    ///
9087    /// Sets the channel to shutdown if an error occurs.
9088    pub fn send(self) -> Result<(), fidl::Error> {
9089        let _result = self.send_raw();
9090        if _result.is_err() {
9091            self.control_handle.shutdown();
9092        }
9093        self.drop_without_shutdown();
9094        _result
9095    }
9096
9097    /// Similar to "send" but does not shutdown the channel if an error occurs.
9098    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9099        let _result = self.send_raw();
9100        self.drop_without_shutdown();
9101        _result
9102    }
9103
9104    fn send_raw(&self) -> Result<(), fidl::Error> {
9105        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9106            (),
9107            self.tx_id,
9108            0x79679fa8789c3d9f,
9109            fidl::encoding::DynamicFlags::empty(),
9110        )
9111    }
9112}
9113
9114#[must_use = "FIDL methods require a response to be sent"]
9115#[derive(Debug)]
9116pub struct WlanFullmacImplIfcEapolIndResponder {
9117    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9118    tx_id: u32,
9119}
9120
9121/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9122/// if the responder is dropped without sending a response, so that the client
9123/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9124impl std::ops::Drop for WlanFullmacImplIfcEapolIndResponder {
9125    fn drop(&mut self) {
9126        self.control_handle.shutdown();
9127        // Safety: drops once, never accessed again
9128        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9129    }
9130}
9131
9132impl fidl::endpoints::Responder for WlanFullmacImplIfcEapolIndResponder {
9133    type ControlHandle = WlanFullmacImplIfcControlHandle;
9134
9135    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9136        &self.control_handle
9137    }
9138
9139    fn drop_without_shutdown(mut self) {
9140        // Safety: drops once, never accessed again due to mem::forget
9141        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9142        // Prevent Drop from running (which would shut down the channel)
9143        std::mem::forget(self);
9144    }
9145}
9146
9147impl WlanFullmacImplIfcEapolIndResponder {
9148    /// Sends a response to the FIDL transaction.
9149    ///
9150    /// Sets the channel to shutdown if an error occurs.
9151    pub fn send(self) -> Result<(), fidl::Error> {
9152        let _result = self.send_raw();
9153        if _result.is_err() {
9154            self.control_handle.shutdown();
9155        }
9156        self.drop_without_shutdown();
9157        _result
9158    }
9159
9160    /// Similar to "send" but does not shutdown the channel if an error occurs.
9161    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9162        let _result = self.send_raw();
9163        self.drop_without_shutdown();
9164        _result
9165    }
9166
9167    fn send_raw(&self) -> Result<(), fidl::Error> {
9168        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9169            (),
9170            self.tx_id,
9171            0x3de8ec1eda10d1d0,
9172            fidl::encoding::DynamicFlags::empty(),
9173        )
9174    }
9175}
9176
9177#[must_use = "FIDL methods require a response to be sent"]
9178#[derive(Debug)]
9179pub struct WlanFullmacImplIfcOnPmkAvailableResponder {
9180    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9181    tx_id: u32,
9182}
9183
9184/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9185/// if the responder is dropped without sending a response, so that the client
9186/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9187impl std::ops::Drop for WlanFullmacImplIfcOnPmkAvailableResponder {
9188    fn drop(&mut self) {
9189        self.control_handle.shutdown();
9190        // Safety: drops once, never accessed again
9191        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9192    }
9193}
9194
9195impl fidl::endpoints::Responder for WlanFullmacImplIfcOnPmkAvailableResponder {
9196    type ControlHandle = WlanFullmacImplIfcControlHandle;
9197
9198    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9199        &self.control_handle
9200    }
9201
9202    fn drop_without_shutdown(mut self) {
9203        // Safety: drops once, never accessed again due to mem::forget
9204        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9205        // Prevent Drop from running (which would shut down the channel)
9206        std::mem::forget(self);
9207    }
9208}
9209
9210impl WlanFullmacImplIfcOnPmkAvailableResponder {
9211    /// Sends a response to the FIDL transaction.
9212    ///
9213    /// Sets the channel to shutdown if an error occurs.
9214    pub fn send(self) -> Result<(), fidl::Error> {
9215        let _result = self.send_raw();
9216        if _result.is_err() {
9217            self.control_handle.shutdown();
9218        }
9219        self.drop_without_shutdown();
9220        _result
9221    }
9222
9223    /// Similar to "send" but does not shutdown the channel if an error occurs.
9224    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9225        let _result = self.send_raw();
9226        self.drop_without_shutdown();
9227        _result
9228    }
9229
9230    fn send_raw(&self) -> Result<(), fidl::Error> {
9231        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9232            (),
9233            self.tx_id,
9234            0x5cedd8d9be28a17e,
9235            fidl::encoding::DynamicFlags::empty(),
9236        )
9237    }
9238}
9239
9240#[must_use = "FIDL methods require a response to be sent"]
9241#[derive(Debug)]
9242pub struct WlanFullmacImplIfcSaeHandshakeIndResponder {
9243    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9244    tx_id: u32,
9245}
9246
9247/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9248/// if the responder is dropped without sending a response, so that the client
9249/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9250impl std::ops::Drop for WlanFullmacImplIfcSaeHandshakeIndResponder {
9251    fn drop(&mut self) {
9252        self.control_handle.shutdown();
9253        // Safety: drops once, never accessed again
9254        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9255    }
9256}
9257
9258impl fidl::endpoints::Responder for WlanFullmacImplIfcSaeHandshakeIndResponder {
9259    type ControlHandle = WlanFullmacImplIfcControlHandle;
9260
9261    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9262        &self.control_handle
9263    }
9264
9265    fn drop_without_shutdown(mut self) {
9266        // Safety: drops once, never accessed again due to mem::forget
9267        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9268        // Prevent Drop from running (which would shut down the channel)
9269        std::mem::forget(self);
9270    }
9271}
9272
9273impl WlanFullmacImplIfcSaeHandshakeIndResponder {
9274    /// Sends a response to the FIDL transaction.
9275    ///
9276    /// Sets the channel to shutdown if an error occurs.
9277    pub fn send(self) -> Result<(), fidl::Error> {
9278        let _result = self.send_raw();
9279        if _result.is_err() {
9280            self.control_handle.shutdown();
9281        }
9282        self.drop_without_shutdown();
9283        _result
9284    }
9285
9286    /// Similar to "send" but does not shutdown the channel if an error occurs.
9287    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9288        let _result = self.send_raw();
9289        self.drop_without_shutdown();
9290        _result
9291    }
9292
9293    fn send_raw(&self) -> Result<(), fidl::Error> {
9294        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9295            (),
9296            self.tx_id,
9297            0x4f3d53885503a1d8,
9298            fidl::encoding::DynamicFlags::empty(),
9299        )
9300    }
9301}
9302
9303#[must_use = "FIDL methods require a response to be sent"]
9304#[derive(Debug)]
9305pub struct WlanFullmacImplIfcSaeFrameRxResponder {
9306    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9307    tx_id: u32,
9308}
9309
9310/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9311/// if the responder is dropped without sending a response, so that the client
9312/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9313impl std::ops::Drop for WlanFullmacImplIfcSaeFrameRxResponder {
9314    fn drop(&mut self) {
9315        self.control_handle.shutdown();
9316        // Safety: drops once, never accessed again
9317        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9318    }
9319}
9320
9321impl fidl::endpoints::Responder for WlanFullmacImplIfcSaeFrameRxResponder {
9322    type ControlHandle = WlanFullmacImplIfcControlHandle;
9323
9324    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9325        &self.control_handle
9326    }
9327
9328    fn drop_without_shutdown(mut self) {
9329        // Safety: drops once, never accessed again due to mem::forget
9330        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9331        // Prevent Drop from running (which would shut down the channel)
9332        std::mem::forget(self);
9333    }
9334}
9335
9336impl WlanFullmacImplIfcSaeFrameRxResponder {
9337    /// Sends a response to the FIDL transaction.
9338    ///
9339    /// Sets the channel to shutdown if an error occurs.
9340    pub fn send(self) -> Result<(), fidl::Error> {
9341        let _result = self.send_raw();
9342        if _result.is_err() {
9343            self.control_handle.shutdown();
9344        }
9345        self.drop_without_shutdown();
9346        _result
9347    }
9348
9349    /// Similar to "send" but does not shutdown the channel if an error occurs.
9350    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9351        let _result = self.send_raw();
9352        self.drop_without_shutdown();
9353        _result
9354    }
9355
9356    fn send_raw(&self) -> Result<(), fidl::Error> {
9357        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9358            (),
9359            self.tx_id,
9360            0x51650906857ed4d4,
9361            fidl::encoding::DynamicFlags::empty(),
9362        )
9363    }
9364}
9365
9366#[must_use = "FIDL methods require a response to be sent"]
9367#[derive(Debug)]
9368pub struct WlanFullmacImplIfcOnWmmStatusRespResponder {
9369    control_handle: std::mem::ManuallyDrop<WlanFullmacImplIfcControlHandle>,
9370    tx_id: u32,
9371}
9372
9373/// Set the the channel to be shutdown (see [`WlanFullmacImplIfcControlHandle::shutdown`])
9374/// if the responder is dropped without sending a response, so that the client
9375/// doesn't hang. To prevent this behavior, call `drop_without_shutdown`.
9376impl std::ops::Drop for WlanFullmacImplIfcOnWmmStatusRespResponder {
9377    fn drop(&mut self) {
9378        self.control_handle.shutdown();
9379        // Safety: drops once, never accessed again
9380        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9381    }
9382}
9383
9384impl fidl::endpoints::Responder for WlanFullmacImplIfcOnWmmStatusRespResponder {
9385    type ControlHandle = WlanFullmacImplIfcControlHandle;
9386
9387    fn control_handle(&self) -> &WlanFullmacImplIfcControlHandle {
9388        &self.control_handle
9389    }
9390
9391    fn drop_without_shutdown(mut self) {
9392        // Safety: drops once, never accessed again due to mem::forget
9393        unsafe { std::mem::ManuallyDrop::drop(&mut self.control_handle) };
9394        // Prevent Drop from running (which would shut down the channel)
9395        std::mem::forget(self);
9396    }
9397}
9398
9399impl WlanFullmacImplIfcOnWmmStatusRespResponder {
9400    /// Sends a response to the FIDL transaction.
9401    ///
9402    /// Sets the channel to shutdown if an error occurs.
9403    pub fn send(self) -> Result<(), fidl::Error> {
9404        let _result = self.send_raw();
9405        if _result.is_err() {
9406            self.control_handle.shutdown();
9407        }
9408        self.drop_without_shutdown();
9409        _result
9410    }
9411
9412    /// Similar to "send" but does not shutdown the channel if an error occurs.
9413    pub fn send_no_shutdown_on_err(self) -> Result<(), fidl::Error> {
9414        let _result = self.send_raw();
9415        self.drop_without_shutdown();
9416        _result
9417    }
9418
9419    fn send_raw(&self) -> Result<(), fidl::Error> {
9420        self.control_handle.inner.send::<fidl::encoding::EmptyPayload>(
9421            (),
9422            self.tx_id,
9423            0x6823a88bf3ba8b2a,
9424            fidl::encoding::DynamicFlags::empty(),
9425        )
9426    }
9427}
9428
9429#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
9430pub struct ServiceMarker;
9431
9432#[cfg(target_os = "fuchsia")]
9433impl fidl::endpoints::ServiceMarker for ServiceMarker {
9434    type Proxy = ServiceProxy;
9435    type Request = ServiceRequest;
9436    const SERVICE_NAME: &'static str = "fuchsia.wlan.fullmac.Service";
9437}
9438
9439/// A request for one of the member protocols of Service.
9440///
9441#[cfg(target_os = "fuchsia")]
9442pub enum ServiceRequest {
9443    WlanFullmacImpl(WlanFullmacImpl_RequestStream),
9444}
9445
9446#[cfg(target_os = "fuchsia")]
9447impl fidl::endpoints::ServiceRequest for ServiceRequest {
9448    type Service = ServiceMarker;
9449
9450    fn dispatch(name: &str, _channel: fidl::AsyncChannel) -> Self {
9451        match name {
9452            "wlan_fullmac_impl" => Self::WlanFullmacImpl(
9453                <WlanFullmacImpl_RequestStream as fidl::endpoints::RequestStream>::from_channel(
9454                    _channel,
9455                ),
9456            ),
9457            _ => panic!("no such member protocol name for service Service"),
9458        }
9459    }
9460
9461    fn member_names() -> &'static [&'static str] {
9462        &["wlan_fullmac_impl"]
9463    }
9464}
9465#[cfg(target_os = "fuchsia")]
9466pub struct ServiceProxy(#[allow(dead_code)] Box<dyn fidl::endpoints::MemberOpener>);
9467
9468#[cfg(target_os = "fuchsia")]
9469impl fidl::endpoints::ServiceProxy for ServiceProxy {
9470    type Service = ServiceMarker;
9471
9472    fn from_member_opener(opener: Box<dyn fidl::endpoints::MemberOpener>) -> Self {
9473        Self(opener)
9474    }
9475}
9476
9477#[cfg(target_os = "fuchsia")]
9478impl ServiceProxy {
9479    pub fn connect_to_wlan_fullmac_impl(&self) -> Result<WlanFullmacImpl_Proxy, fidl::Error> {
9480        let (proxy, server_end) = fidl::endpoints::create_proxy::<WlanFullmacImpl_Marker>();
9481        self.connect_channel_to_wlan_fullmac_impl(server_end)?;
9482        Ok(proxy)
9483    }
9484
9485    /// Like `connect_to_wlan_fullmac_impl`, but returns a sync proxy.
9486    /// See [`Self::connect_to_wlan_fullmac_impl`] for more details.
9487    pub fn connect_to_wlan_fullmac_impl_sync(
9488        &self,
9489    ) -> Result<WlanFullmacImpl_SynchronousProxy, fidl::Error> {
9490        let (proxy, server_end) = fidl::endpoints::create_sync_proxy::<WlanFullmacImpl_Marker>();
9491        self.connect_channel_to_wlan_fullmac_impl(server_end)?;
9492        Ok(proxy)
9493    }
9494
9495    /// Like `connect_to_wlan_fullmac_impl`, but accepts a server end.
9496    /// See [`Self::connect_to_wlan_fullmac_impl`] for more details.
9497    pub fn connect_channel_to_wlan_fullmac_impl(
9498        &self,
9499        server_end: fidl::endpoints::ServerEnd<WlanFullmacImpl_Marker>,
9500    ) -> Result<(), fidl::Error> {
9501        self.0.open_member("wlan_fullmac_impl", server_end.into_channel())
9502    }
9503
9504    pub fn instance_name(&self) -> &str {
9505        self.0.instance_name()
9506    }
9507}
9508
9509mod internal {
9510    use super::*;
9511
9512    impl WlanFullmacImplInitRequest {
9513        #[inline(always)]
9514        fn max_ordinal_present(&self) -> u64 {
9515            if let Some(_) = self.ifc {
9516                return 1;
9517            }
9518            0
9519        }
9520    }
9521
9522    impl fidl::encoding::ResourceTypeMarker for WlanFullmacImplInitRequest {
9523        type Borrowed<'a> = &'a mut Self;
9524        fn take_or_borrow<'a>(
9525            value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9526        ) -> Self::Borrowed<'a> {
9527            value
9528        }
9529    }
9530
9531    unsafe impl fidl::encoding::TypeMarker for WlanFullmacImplInitRequest {
9532        type Owned = Self;
9533
9534        #[inline(always)]
9535        fn inline_align(_context: fidl::encoding::Context) -> usize {
9536            8
9537        }
9538
9539        #[inline(always)]
9540        fn inline_size(_context: fidl::encoding::Context) -> usize {
9541            16
9542        }
9543    }
9544
9545    unsafe impl
9546        fidl::encoding::Encode<
9547            WlanFullmacImplInitRequest,
9548            fidl::encoding::DefaultFuchsiaResourceDialect,
9549        > for &mut WlanFullmacImplInitRequest
9550    {
9551        unsafe fn encode(
9552            self,
9553            encoder: &mut fidl::encoding::Encoder<
9554                '_,
9555                fidl::encoding::DefaultFuchsiaResourceDialect,
9556            >,
9557            offset: usize,
9558            mut depth: fidl::encoding::Depth,
9559        ) -> fidl::Result<()> {
9560            encoder.debug_check_bounds::<WlanFullmacImplInitRequest>(offset);
9561            // Vector header
9562            let max_ordinal: u64 = self.max_ordinal_present();
9563            encoder.write_num(max_ordinal, offset);
9564            encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9565            // Calling encoder.out_of_line_offset(0) is not allowed.
9566            if max_ordinal == 0 {
9567                return Ok(());
9568            }
9569            depth.increment()?;
9570            let envelope_size = 8;
9571            let bytes_len = max_ordinal as usize * envelope_size;
9572            #[allow(unused_variables)]
9573            let offset = encoder.out_of_line_offset(bytes_len);
9574            let mut _prev_end_offset: usize = 0;
9575            if 1 > max_ordinal {
9576                return Ok(());
9577            }
9578
9579            // Write at offset+(ordinal-1)*envelope_size, since ordinals are one-based and envelopes
9580            // are envelope_size bytes.
9581            let cur_offset: usize = (1 - 1) * envelope_size;
9582
9583            // Zero reserved fields.
9584            encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9585
9586            // Safety:
9587            // - bytes_len is calculated to fit envelope_size*max(member.ordinal).
9588            // - Since cur_offset is envelope_size*(member.ordinal - 1) and the envelope takes
9589            //   envelope_size bytes, there is always sufficient room.
9590            fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>>, fidl::encoding::DefaultFuchsiaResourceDialect>(
9591            self.ifc.as_mut().map(<fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>> as fidl::encoding::ResourceTypeMarker>::take_or_borrow),
9592            encoder, offset + cur_offset, depth
9593        )?;
9594
9595            _prev_end_offset = cur_offset + envelope_size;
9596
9597            Ok(())
9598        }
9599    }
9600
9601    impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
9602        for WlanFullmacImplInitRequest
9603    {
9604        #[inline(always)]
9605        fn new_empty() -> Self {
9606            Self::default()
9607        }
9608
9609        unsafe fn decode(
9610            &mut self,
9611            decoder: &mut fidl::encoding::Decoder<
9612                '_,
9613                fidl::encoding::DefaultFuchsiaResourceDialect,
9614            >,
9615            offset: usize,
9616            mut depth: fidl::encoding::Depth,
9617        ) -> fidl::Result<()> {
9618            decoder.debug_check_bounds::<Self>(offset);
9619            let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9620                None => return Err(fidl::Error::NotNullable),
9621                Some(len) => len,
9622            };
9623            // Calling decoder.out_of_line_offset(0) is not allowed.
9624            if len == 0 {
9625                return Ok(());
9626            };
9627            depth.increment()?;
9628            let envelope_size = 8;
9629            let bytes_len = len * envelope_size;
9630            let offset = decoder.out_of_line_offset(bytes_len)?;
9631            // Decode the envelope for each type.
9632            let mut _next_ordinal_to_read = 0;
9633            let mut next_offset = offset;
9634            let end_offset = offset + bytes_len;
9635            _next_ordinal_to_read += 1;
9636            if next_offset >= end_offset {
9637                return Ok(());
9638            }
9639
9640            // Decode unknown envelopes for gaps in ordinals.
9641            while _next_ordinal_to_read < 1 {
9642                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9643                _next_ordinal_to_read += 1;
9644                next_offset += envelope_size;
9645            }
9646
9647            let next_out_of_line = decoder.next_out_of_line();
9648            let handles_before = decoder.remaining_handles();
9649            if let Some((inlined, num_bytes, num_handles)) =
9650                fidl::encoding::decode_envelope_header(decoder, next_offset)?
9651            {
9652                let member_inline_size = <fidl::encoding::Endpoint<
9653                    fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>,
9654                > as fidl::encoding::TypeMarker>::inline_size(
9655                    decoder.context
9656                );
9657                if inlined != (member_inline_size <= 4) {
9658                    return Err(fidl::Error::InvalidInlineBitInEnvelope);
9659                }
9660                let inner_offset;
9661                let mut inner_depth = depth.clone();
9662                if inlined {
9663                    decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9664                    inner_offset = next_offset;
9665                } else {
9666                    inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9667                    inner_depth.increment()?;
9668                }
9669                let val_ref = self.ifc.get_or_insert_with(|| {
9670                    fidl::new_empty!(
9671                        fidl::encoding::Endpoint<
9672                            fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>,
9673                        >,
9674                        fidl::encoding::DefaultFuchsiaResourceDialect
9675                    )
9676                });
9677                fidl::decode!(
9678                    fidl::encoding::Endpoint<fidl::endpoints::ClientEnd<WlanFullmacImplIfcMarker>>,
9679                    fidl::encoding::DefaultFuchsiaResourceDialect,
9680                    val_ref,
9681                    decoder,
9682                    inner_offset,
9683                    inner_depth
9684                )?;
9685                if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9686                {
9687                    return Err(fidl::Error::InvalidNumBytesInEnvelope);
9688                }
9689                if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9690                    return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9691                }
9692            }
9693
9694            next_offset += envelope_size;
9695
9696            // Decode the remaining unknown envelopes.
9697            while next_offset < end_offset {
9698                _next_ordinal_to_read += 1;
9699                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9700                next_offset += envelope_size;
9701            }
9702
9703            Ok(())
9704        }
9705    }
9706
9707    impl WlanFullmacImplInitResponse {
9708        #[inline(always)]
9709        fn max_ordinal_present(&self) -> u64 {
9710            if let Some(_) = self.sme_channel {
9711                return 1;
9712            }
9713            0
9714        }
9715    }
9716
9717    impl fidl::encoding::ResourceTypeMarker for WlanFullmacImplInitResponse {
9718        type Borrowed<'a> = &'a mut Self;
9719        fn take_or_borrow<'a>(
9720            value: &'a mut <Self as fidl::encoding::TypeMarker>::Owned,
9721        ) -> Self::Borrowed<'a> {
9722            value
9723        }
9724    }
9725
9726    unsafe impl fidl::encoding::TypeMarker for WlanFullmacImplInitResponse {
9727        type Owned = Self;
9728
9729        #[inline(always)]
9730        fn inline_align(_context: fidl::encoding::Context) -> usize {
9731            8
9732        }
9733
9734        #[inline(always)]
9735        fn inline_size(_context: fidl::encoding::Context) -> usize {
9736            16
9737        }
9738    }
9739
9740    unsafe impl
9741        fidl::encoding::Encode<
9742            WlanFullmacImplInitResponse,
9743            fidl::encoding::DefaultFuchsiaResourceDialect,
9744        > for &mut WlanFullmacImplInitResponse
9745    {
9746        unsafe fn encode(
9747            self,
9748            encoder: &mut fidl::encoding::Encoder<
9749                '_,
9750                fidl::encoding::DefaultFuchsiaResourceDialect,
9751            >,
9752            offset: usize,
9753            mut depth: fidl::encoding::Depth,
9754        ) -> fidl::Result<()> {
9755            encoder.debug_check_bounds::<WlanFullmacImplInitResponse>(offset);
9756            // Vector header
9757            let max_ordinal: u64 = self.max_ordinal_present();
9758            encoder.write_num(max_ordinal, offset);
9759            encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
9760            // Calling encoder.out_of_line_offset(0) is not allowed.
9761            if max_ordinal == 0 {
9762                return Ok(());
9763            }
9764            depth.increment()?;
9765            let envelope_size = 8;
9766            let bytes_len = max_ordinal as usize * envelope_size;
9767            #[allow(unused_variables)]
9768            let offset = encoder.out_of_line_offset(bytes_len);
9769            let mut _prev_end_offset: usize = 0;
9770            if 1 > max_ordinal {
9771                return Ok(());
9772            }
9773
9774            // Write at offset+(ordinal-1)*envelope_size, since ordinals are one-based and envelopes
9775            // are envelope_size bytes.
9776            let cur_offset: usize = (1 - 1) * envelope_size;
9777
9778            // Zero reserved fields.
9779            encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
9780
9781            // Safety:
9782            // - bytes_len is calculated to fit envelope_size*max(member.ordinal).
9783            // - Since cur_offset is envelope_size*(member.ordinal - 1) and the envelope takes
9784            //   envelope_size bytes, there is always sufficient room.
9785            fidl::encoding::encode_in_envelope_optional::<
9786                fidl::encoding::HandleType<
9787                    fidl::Channel,
9788                    { fidl::ObjectType::CHANNEL.into_raw() },
9789                    2147483648,
9790                >,
9791                fidl::encoding::DefaultFuchsiaResourceDialect,
9792            >(
9793                self.sme_channel.as_mut().map(
9794                    <fidl::encoding::HandleType<
9795                        fidl::Channel,
9796                        { fidl::ObjectType::CHANNEL.into_raw() },
9797                        2147483648,
9798                    > as fidl::encoding::ResourceTypeMarker>::take_or_borrow,
9799                ),
9800                encoder,
9801                offset + cur_offset,
9802                depth,
9803            )?;
9804
9805            _prev_end_offset = cur_offset + envelope_size;
9806
9807            Ok(())
9808        }
9809    }
9810
9811    impl fidl::encoding::Decode<Self, fidl::encoding::DefaultFuchsiaResourceDialect>
9812        for WlanFullmacImplInitResponse
9813    {
9814        #[inline(always)]
9815        fn new_empty() -> Self {
9816            Self::default()
9817        }
9818
9819        unsafe fn decode(
9820            &mut self,
9821            decoder: &mut fidl::encoding::Decoder<
9822                '_,
9823                fidl::encoding::DefaultFuchsiaResourceDialect,
9824            >,
9825            offset: usize,
9826            mut depth: fidl::encoding::Depth,
9827        ) -> fidl::Result<()> {
9828            decoder.debug_check_bounds::<Self>(offset);
9829            let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
9830                None => return Err(fidl::Error::NotNullable),
9831                Some(len) => len,
9832            };
9833            // Calling decoder.out_of_line_offset(0) is not allowed.
9834            if len == 0 {
9835                return Ok(());
9836            };
9837            depth.increment()?;
9838            let envelope_size = 8;
9839            let bytes_len = len * envelope_size;
9840            let offset = decoder.out_of_line_offset(bytes_len)?;
9841            // Decode the envelope for each type.
9842            let mut _next_ordinal_to_read = 0;
9843            let mut next_offset = offset;
9844            let end_offset = offset + bytes_len;
9845            _next_ordinal_to_read += 1;
9846            if next_offset >= end_offset {
9847                return Ok(());
9848            }
9849
9850            // Decode unknown envelopes for gaps in ordinals.
9851            while _next_ordinal_to_read < 1 {
9852                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9853                _next_ordinal_to_read += 1;
9854                next_offset += envelope_size;
9855            }
9856
9857            let next_out_of_line = decoder.next_out_of_line();
9858            let handles_before = decoder.remaining_handles();
9859            if let Some((inlined, num_bytes, num_handles)) =
9860                fidl::encoding::decode_envelope_header(decoder, next_offset)?
9861            {
9862                let member_inline_size = <fidl::encoding::HandleType<
9863                    fidl::Channel,
9864                    { fidl::ObjectType::CHANNEL.into_raw() },
9865                    2147483648,
9866                > as fidl::encoding::TypeMarker>::inline_size(
9867                    decoder.context
9868                );
9869                if inlined != (member_inline_size <= 4) {
9870                    return Err(fidl::Error::InvalidInlineBitInEnvelope);
9871                }
9872                let inner_offset;
9873                let mut inner_depth = depth.clone();
9874                if inlined {
9875                    decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
9876                    inner_offset = next_offset;
9877                } else {
9878                    inner_offset = decoder.out_of_line_offset(member_inline_size)?;
9879                    inner_depth.increment()?;
9880                }
9881                let val_ref =
9882                self.sme_channel.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect));
9883                fidl::decode!(fidl::encoding::HandleType<fidl::Channel, { fidl::ObjectType::CHANNEL.into_raw() }, 2147483648>, fidl::encoding::DefaultFuchsiaResourceDialect, val_ref, decoder, inner_offset, inner_depth)?;
9884                if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
9885                {
9886                    return Err(fidl::Error::InvalidNumBytesInEnvelope);
9887                }
9888                if handles_before != decoder.remaining_handles() + (num_handles as usize) {
9889                    return Err(fidl::Error::InvalidNumHandlesInEnvelope);
9890                }
9891            }
9892
9893            next_offset += envelope_size;
9894
9895            // Decode the remaining unknown envelopes.
9896            while next_offset < end_offset {
9897                _next_ordinal_to_read += 1;
9898                fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
9899                next_offset += envelope_size;
9900            }
9901
9902            Ok(())
9903        }
9904    }
9905}