1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
12pub enum DeviceMonitorError {
13 InvalidPhy,
14 InvalidIface,
15 NotSupported,
16 Internal,
17 #[doc(hidden)]
18 __SourceBreaking {
19 unknown_ordinal: u32,
20 },
21}
22
23#[macro_export]
25macro_rules! DeviceMonitorErrorUnknown {
26 () => {
27 _
28 };
29}
30
31impl DeviceMonitorError {
32 #[inline]
33 pub fn from_primitive(prim: u32) -> Option<Self> {
34 match prim {
35 0 => Some(Self::InvalidPhy),
36 1 => Some(Self::InvalidIface),
37 2 => Some(Self::NotSupported),
38 3 => Some(Self::Internal),
39 _ => None,
40 }
41 }
42
43 #[inline]
44 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
45 match prim {
46 0 => Self::InvalidPhy,
47 1 => Self::InvalidIface,
48 2 => Self::NotSupported,
49 3 => Self::Internal,
50 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
51 }
52 }
53
54 #[inline]
55 pub fn unknown() -> Self {
56 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
57 }
58
59 #[inline]
60 pub const fn into_primitive(self) -> u32 {
61 match self {
62 Self::InvalidPhy => 0,
63 Self::InvalidIface => 1,
64 Self::NotSupported => 2,
65 Self::Internal => 3,
66 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
67 }
68 }
69
70 #[inline]
71 pub fn is_unknown(&self) -> bool {
72 match self {
73 Self::__SourceBreaking { unknown_ordinal: _ } => true,
74 _ => false,
75 }
76 }
77}
78
79#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
80#[repr(C)]
81pub struct ClearCountryRequest {
82 pub phy_id: u16,
83}
84
85impl fidl::Persistable for ClearCountryRequest {}
86
87#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
88#[repr(C)]
89pub struct DestroyIfaceRequest {
90 pub iface_id: u16,
91}
92
93impl fidl::Persistable for DestroyIfaceRequest {}
94
95#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
96#[repr(C)]
97pub struct DeviceMonitorClearCountryRequest {
98 pub req: ClearCountryRequest,
99}
100
101impl fidl::Persistable for DeviceMonitorClearCountryRequest {}
102
103#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
104#[repr(C)]
105pub struct DeviceMonitorClearCountryResponse {
106 pub status: i32,
107}
108
109impl fidl::Persistable for DeviceMonitorClearCountryResponse {}
110
111#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
112#[repr(C)]
113pub struct DeviceMonitorDestroyIfaceRequest {
114 pub req: DestroyIfaceRequest,
115}
116
117impl fidl::Persistable for DeviceMonitorDestroyIfaceRequest {}
118
119#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
120#[repr(C)]
121pub struct DeviceMonitorDestroyIfaceResponse {
122 pub status: i32,
123}
124
125impl fidl::Persistable for DeviceMonitorDestroyIfaceResponse {}
126
127#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
128#[repr(C)]
129pub struct DeviceMonitorGetCountryRequest {
130 pub phy_id: u16,
131}
132
133impl fidl::Persistable for DeviceMonitorGetCountryRequest {}
134
135#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
136#[repr(C)]
137pub struct DeviceMonitorGetDevPathRequest {
138 pub phy_id: u16,
139}
140
141impl fidl::Persistable for DeviceMonitorGetDevPathRequest {}
142
143#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
144pub struct DeviceMonitorGetDevPathResponse {
145 pub dev_path: Option<String>,
146}
147
148impl fidl::Persistable for DeviceMonitorGetDevPathResponse {}
149
150#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
151#[repr(C)]
152pub struct DeviceMonitorGetPowerSaveModeRequest {
153 pub phy_id: u16,
154}
155
156impl fidl::Persistable for DeviceMonitorGetPowerSaveModeRequest {}
157
158#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
159#[repr(C)]
160pub struct DeviceMonitorGetPowerStateRequest {
161 pub phy_id: u16,
162}
163
164impl fidl::Persistable for DeviceMonitorGetPowerStateRequest {}
165
166#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
167#[repr(C)]
168pub struct DeviceMonitorGetSupportedMacRolesRequest {
169 pub phy_id: u16,
170}
171
172impl fidl::Persistable for DeviceMonitorGetSupportedMacRolesRequest {}
173
174#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
175#[repr(C)]
176pub struct DeviceMonitorGetTxPowerScenarioRequest {
177 pub phy_id: u16,
178}
179
180impl fidl::Persistable for DeviceMonitorGetTxPowerScenarioRequest {}
181
182#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
183pub struct DeviceMonitorListIfacesResponse {
184 pub iface_list: Vec<u16>,
185}
186
187impl fidl::Persistable for DeviceMonitorListIfacesResponse {}
188
189#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
190pub struct DeviceMonitorListPhysResponse {
191 pub phy_list: Vec<u16>,
192}
193
194impl fidl::Persistable for DeviceMonitorListPhysResponse {}
195
196#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
197#[repr(C)]
198pub struct DeviceMonitorPowerDownRequest {
199 pub phy_id: u16,
200}
201
202impl fidl::Persistable for DeviceMonitorPowerDownRequest {}
203
204#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
205#[repr(C)]
206pub struct DeviceMonitorPowerUpRequest {
207 pub phy_id: u16,
208}
209
210impl fidl::Persistable for DeviceMonitorPowerUpRequest {}
211
212#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
213#[repr(C)]
214pub struct DeviceMonitorQueryIfaceRequest {
215 pub iface_id: u16,
216}
217
218impl fidl::Persistable for DeviceMonitorQueryIfaceRequest {}
219
220#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
221#[repr(C)]
222pub struct DeviceMonitorResetRequest {
223 pub phy_id: u16,
224}
225
226impl fidl::Persistable for DeviceMonitorResetRequest {}
227
228#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
229#[repr(C)]
230pub struct DeviceMonitorResetTxPowerScenarioRequest {
231 pub phy_id: u16,
232}
233
234impl fidl::Persistable for DeviceMonitorResetTxPowerScenarioRequest {}
235
236#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
237pub struct DeviceMonitorSetBtCoexistenceModeRequest {
238 pub phy_id: u16,
239 pub mode: fidl_fuchsia_wlan_internal__common::BtCoexistenceMode,
240}
241
242impl fidl::Persistable for DeviceMonitorSetBtCoexistenceModeRequest {}
243
244#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
245#[repr(C)]
246pub struct DeviceMonitorSetCountryRequest {
247 pub req: SetCountryRequest,
248}
249
250impl fidl::Persistable for DeviceMonitorSetCountryRequest {}
251
252#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
253#[repr(C)]
254pub struct DeviceMonitorSetCountryResponse {
255 pub status: i32,
256}
257
258impl fidl::Persistable for DeviceMonitorSetCountryResponse {}
259
260#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
261pub struct DeviceMonitorSetPowerSaveModeRequest {
262 pub req: SetPowerSaveModeRequest,
263}
264
265impl fidl::Persistable for DeviceMonitorSetPowerSaveModeRequest {}
266
267#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
268#[repr(C)]
269pub struct DeviceMonitorSetPowerSaveModeResponse {
270 pub status: i32,
271}
272
273impl fidl::Persistable for DeviceMonitorSetPowerSaveModeResponse {}
274
275#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
276pub struct DeviceMonitorSetTxPowerScenarioRequest {
277 pub phy_id: u16,
278 pub scenario: fidl_fuchsia_wlan_internal__common::TxPowerScenario,
279}
280
281impl fidl::Persistable for DeviceMonitorSetTxPowerScenarioRequest {}
282
283#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
284#[repr(C)]
285pub struct DeviceMonitorGetCountryResponse {
286 pub resp: GetCountryResponse,
287}
288
289impl fidl::Persistable for DeviceMonitorGetCountryResponse {}
290
291#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
292pub struct DeviceMonitorGetPowerSaveModeResponse {
293 pub resp: GetPowerSaveModeResponse,
294}
295
296impl fidl::Persistable for DeviceMonitorGetPowerSaveModeResponse {}
297
298#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
299pub struct DeviceMonitorGetPowerStateResponse {
300 pub power_on: bool,
301}
302
303impl fidl::Persistable for DeviceMonitorGetPowerStateResponse {}
304
305#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
306pub struct DeviceMonitorGetSupportedMacRolesResponse {
307 pub supported_mac_roles: Vec<fidl_fuchsia_wlan_common__common::WlanMacRole>,
308}
309
310impl fidl::Persistable for DeviceMonitorGetSupportedMacRolesResponse {}
311
312#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
313pub struct DeviceMonitorGetTxPowerScenarioResponse {
314 pub scenario: fidl_fuchsia_wlan_internal__common::TxPowerScenario,
315}
316
317impl fidl::Persistable for DeviceMonitorGetTxPowerScenarioResponse {}
318
319#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
320pub struct DeviceMonitorQueryIfaceResponse {
321 pub resp: QueryIfaceResponse,
322}
323
324impl fidl::Persistable for DeviceMonitorQueryIfaceResponse {}
325
326#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
327#[repr(C)]
328pub struct DeviceWatcherOnIfaceAddedRequest {
329 pub iface_id: u16,
330}
331
332impl fidl::Persistable for DeviceWatcherOnIfaceAddedRequest {}
333
334#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
335#[repr(C)]
336pub struct DeviceWatcherOnIfaceRemovedRequest {
337 pub iface_id: u16,
338}
339
340impl fidl::Persistable for DeviceWatcherOnIfaceRemovedRequest {}
341
342#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
343#[repr(C)]
344pub struct DeviceWatcherOnPhyAddedRequest {
345 pub phy_id: u16,
346}
347
348impl fidl::Persistable for DeviceWatcherOnPhyAddedRequest {}
349
350#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
351#[repr(C)]
352pub struct DeviceWatcherOnPhyRemovedRequest {
353 pub phy_id: u16,
354}
355
356impl fidl::Persistable for DeviceWatcherOnPhyRemovedRequest {}
357
358#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
359#[repr(C)]
360pub struct GetCountryResponse {
361 pub alpha2: [u8; 2],
362}
363
364impl fidl::Persistable for GetCountryResponse {}
365
366#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
367pub struct GetPowerSaveModeResponse {
368 pub ps_mode: fidl_fuchsia_wlan_common__common::PowerSaveType,
370}
371
372impl fidl::Persistable for GetPowerSaveModeResponse {}
373
374#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
375pub struct QueryIfaceResponse {
376 pub role: fidl_fuchsia_wlan_common__common::WlanMacRole,
378 pub id: u16,
380 pub phy_id: u16,
382 pub phy_assigned_id: u16,
384 pub sta_addr: [u8; 6],
386}
387
388impl fidl::Persistable for QueryIfaceResponse {}
389
390#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
391#[repr(C)]
392pub struct SetCountryRequest {
393 pub phy_id: u16,
394 pub alpha2: [u8; 2],
395}
396
397impl fidl::Persistable for SetCountryRequest {}
398
399#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
400pub struct SetPowerSaveModeRequest {
401 pub phy_id: u16,
403 pub ps_mode: fidl_fuchsia_wlan_common__common::PowerSaveType,
405}
406
407impl fidl::Persistable for SetPowerSaveModeRequest {}
408
409#[derive(Clone, Debug, Default, PartialEq)]
410pub struct DeviceMonitorCreateIfaceRequest {
411 pub phy_id: Option<u16>,
412 pub role: Option<fidl_fuchsia_wlan_common__common::WlanMacRole>,
413 pub sta_address: Option<[u8; 6]>,
414 #[doc(hidden)]
415 pub __source_breaking: fidl::marker::SourceBreaking,
416}
417
418impl fidl::Persistable for DeviceMonitorCreateIfaceRequest {}
419
420#[derive(Clone, Debug, Default, PartialEq)]
421pub struct DeviceMonitorCreateIfaceResponse {
422 pub iface_id: Option<u16>,
423 #[doc(hidden)]
424 pub __source_breaking: fidl::marker::SourceBreaking,
425}
426
427impl fidl::Persistable for DeviceMonitorCreateIfaceResponse {}
428
429#[derive(Clone, Debug, PartialEq)]
430pub enum GetIfaceHistogramStatsResponse {
431 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
432 ErrorStatus(i32),
433}
434
435impl GetIfaceHistogramStatsResponse {
436 #[inline]
437 pub fn ordinal(&self) -> u64 {
438 match *self {
439 Self::Stats(_) => 1,
440 Self::ErrorStatus(_) => 2,
441 }
442 }
443}
444
445impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
446
447pub mod device_monitor_ordinals {
448 pub const LIST_PHYS: u64 = 0x3a08518874196aab;
449 pub const LIST_IFACES: u64 = 0x129e758fb8e0b113;
450 pub const GET_DEV_PATH: u64 = 0x4aa489b57113bccf;
451 pub const GET_SUPPORTED_MAC_ROLES: u64 = 0x172b3d2eabd5a14e;
452 pub const WATCH_DEVICES: u64 = 0x4615941e67e31b8e;
453 pub const GET_COUNTRY: u64 = 0x6f1040bd81bde90e;
454 pub const SET_COUNTRY: u64 = 0xdaa7b77a5a6e71b;
455 pub const CLEAR_COUNTRY: u64 = 0x66714d61103120e9;
456 pub const SET_POWER_SAVE_MODE: u64 = 0x62202b4d360533bc;
457 pub const GET_POWER_SAVE_MODE: u64 = 0x14304d406ada8693;
458 pub const POWER_DOWN: u64 = 0x374ad717fe8902e0;
459 pub const POWER_UP: u64 = 0xa2379b639869c17;
460 pub const RESET: u64 = 0x6def240c9f8c6867;
461 pub const SET_TX_POWER_SCENARIO: u64 = 0x7c51443a985934fd;
462 pub const RESET_TX_POWER_SCENARIO: u64 = 0x4790357c9cdddc4a;
463 pub const GET_TX_POWER_SCENARIO: u64 = 0x555fb197f90e9830;
464 pub const GET_POWER_STATE: u64 = 0x58cf95c5bbbe3f;
465 pub const SET_BT_COEXISTENCE_MODE: u64 = 0x97539596c9a79c7;
466 pub const CREATE_IFACE: u64 = 0x1e1d30c24c0ec144;
467 pub const QUERY_IFACE: u64 = 0x1a48c4a2b86259ef;
468 pub const DESTROY_IFACE: u64 = 0x4c77982c1616a3b0;
469 pub const GET_CLIENT_SME: u64 = 0x1b056c379ca98273;
470 pub const GET_AP_SME: u64 = 0x754de680c4318c52;
471 pub const GET_SME_TELEMETRY: u64 = 0x1baf42b003f7452a;
472}
473
474pub mod device_watcher_ordinals {
475 pub const ON_PHY_ADDED: u64 = 0x771c58e0bd059f86;
476 pub const ON_PHY_REMOVED: u64 = 0x4ad72b96ccb7cff6;
477 pub const ON_IFACE_ADDED: u64 = 0x6ee685e4aa1f31d8;
478 pub const ON_IFACE_REMOVED: u64 = 0x3b771b1fce38c291;
479}
480
481mod internal {
482 use super::*;
483 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorError {
484 type Owned = Self;
485
486 #[inline(always)]
487 fn inline_align(_context: fidl::encoding::Context) -> usize {
488 std::mem::align_of::<u32>()
489 }
490
491 #[inline(always)]
492 fn inline_size(_context: fidl::encoding::Context) -> usize {
493 std::mem::size_of::<u32>()
494 }
495
496 #[inline(always)]
497 fn encode_is_copy() -> bool {
498 false
499 }
500
501 #[inline(always)]
502 fn decode_is_copy() -> bool {
503 false
504 }
505 }
506
507 impl fidl::encoding::ValueTypeMarker for DeviceMonitorError {
508 type Borrowed<'a> = Self;
509 #[inline(always)]
510 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
511 *value
512 }
513 }
514
515 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
516 for DeviceMonitorError
517 {
518 #[inline]
519 unsafe fn encode(
520 self,
521 encoder: &mut fidl::encoding::Encoder<'_, D>,
522 offset: usize,
523 _depth: fidl::encoding::Depth,
524 ) -> fidl::Result<()> {
525 encoder.debug_check_bounds::<Self>(offset);
526 encoder.write_num(self.into_primitive(), offset);
527 Ok(())
528 }
529 }
530
531 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceMonitorError {
532 #[inline(always)]
533 fn new_empty() -> Self {
534 Self::unknown()
535 }
536
537 #[inline]
538 unsafe fn decode(
539 &mut self,
540 decoder: &mut fidl::encoding::Decoder<'_, D>,
541 offset: usize,
542 _depth: fidl::encoding::Depth,
543 ) -> fidl::Result<()> {
544 decoder.debug_check_bounds::<Self>(offset);
545 let prim = decoder.read_num::<u32>(offset);
546
547 *self = Self::from_primitive_allow_unknown(prim);
548 Ok(())
549 }
550 }
551
552 impl fidl::encoding::ValueTypeMarker for ClearCountryRequest {
553 type Borrowed<'a> = &'a Self;
554 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
555 value
556 }
557 }
558
559 unsafe impl fidl::encoding::TypeMarker for ClearCountryRequest {
560 type Owned = Self;
561
562 #[inline(always)]
563 fn inline_align(_context: fidl::encoding::Context) -> usize {
564 2
565 }
566
567 #[inline(always)]
568 fn inline_size(_context: fidl::encoding::Context) -> usize {
569 2
570 }
571 #[inline(always)]
572 fn encode_is_copy() -> bool {
573 true
574 }
575
576 #[inline(always)]
577 fn decode_is_copy() -> bool {
578 true
579 }
580 }
581
582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ClearCountryRequest, D>
583 for &ClearCountryRequest
584 {
585 #[inline]
586 unsafe fn encode(
587 self,
588 encoder: &mut fidl::encoding::Encoder<'_, D>,
589 offset: usize,
590 _depth: fidl::encoding::Depth,
591 ) -> fidl::Result<()> {
592 encoder.debug_check_bounds::<ClearCountryRequest>(offset);
593 unsafe {
594 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
596 (buf_ptr as *mut ClearCountryRequest)
597 .write_unaligned((self as *const ClearCountryRequest).read());
598 }
601 Ok(())
602 }
603 }
604 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
605 fidl::encoding::Encode<ClearCountryRequest, D> for (T0,)
606 {
607 #[inline]
608 unsafe fn encode(
609 self,
610 encoder: &mut fidl::encoding::Encoder<'_, D>,
611 offset: usize,
612 depth: fidl::encoding::Depth,
613 ) -> fidl::Result<()> {
614 encoder.debug_check_bounds::<ClearCountryRequest>(offset);
615 self.0.encode(encoder, offset + 0, depth)?;
619 Ok(())
620 }
621 }
622
623 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ClearCountryRequest {
624 #[inline(always)]
625 fn new_empty() -> Self {
626 Self { phy_id: fidl::new_empty!(u16, D) }
627 }
628
629 #[inline]
630 unsafe fn decode(
631 &mut self,
632 decoder: &mut fidl::encoding::Decoder<'_, D>,
633 offset: usize,
634 _depth: fidl::encoding::Depth,
635 ) -> fidl::Result<()> {
636 decoder.debug_check_bounds::<Self>(offset);
637 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
638 unsafe {
641 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
642 }
643 Ok(())
644 }
645 }
646
647 impl fidl::encoding::ValueTypeMarker for DestroyIfaceRequest {
648 type Borrowed<'a> = &'a Self;
649 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
650 value
651 }
652 }
653
654 unsafe impl fidl::encoding::TypeMarker for DestroyIfaceRequest {
655 type Owned = Self;
656
657 #[inline(always)]
658 fn inline_align(_context: fidl::encoding::Context) -> usize {
659 2
660 }
661
662 #[inline(always)]
663 fn inline_size(_context: fidl::encoding::Context) -> usize {
664 2
665 }
666 #[inline(always)]
667 fn encode_is_copy() -> bool {
668 true
669 }
670
671 #[inline(always)]
672 fn decode_is_copy() -> bool {
673 true
674 }
675 }
676
677 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DestroyIfaceRequest, D>
678 for &DestroyIfaceRequest
679 {
680 #[inline]
681 unsafe fn encode(
682 self,
683 encoder: &mut fidl::encoding::Encoder<'_, D>,
684 offset: usize,
685 _depth: fidl::encoding::Depth,
686 ) -> fidl::Result<()> {
687 encoder.debug_check_bounds::<DestroyIfaceRequest>(offset);
688 unsafe {
689 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
691 (buf_ptr as *mut DestroyIfaceRequest)
692 .write_unaligned((self as *const DestroyIfaceRequest).read());
693 }
696 Ok(())
697 }
698 }
699 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
700 fidl::encoding::Encode<DestroyIfaceRequest, D> for (T0,)
701 {
702 #[inline]
703 unsafe fn encode(
704 self,
705 encoder: &mut fidl::encoding::Encoder<'_, D>,
706 offset: usize,
707 depth: fidl::encoding::Depth,
708 ) -> fidl::Result<()> {
709 encoder.debug_check_bounds::<DestroyIfaceRequest>(offset);
710 self.0.encode(encoder, offset + 0, depth)?;
714 Ok(())
715 }
716 }
717
718 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DestroyIfaceRequest {
719 #[inline(always)]
720 fn new_empty() -> Self {
721 Self { iface_id: fidl::new_empty!(u16, D) }
722 }
723
724 #[inline]
725 unsafe fn decode(
726 &mut self,
727 decoder: &mut fidl::encoding::Decoder<'_, D>,
728 offset: usize,
729 _depth: fidl::encoding::Depth,
730 ) -> fidl::Result<()> {
731 decoder.debug_check_bounds::<Self>(offset);
732 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
733 unsafe {
736 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
737 }
738 Ok(())
739 }
740 }
741
742 impl fidl::encoding::ValueTypeMarker for DeviceMonitorClearCountryRequest {
743 type Borrowed<'a> = &'a Self;
744 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
745 value
746 }
747 }
748
749 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorClearCountryRequest {
750 type Owned = Self;
751
752 #[inline(always)]
753 fn inline_align(_context: fidl::encoding::Context) -> usize {
754 2
755 }
756
757 #[inline(always)]
758 fn inline_size(_context: fidl::encoding::Context) -> usize {
759 2
760 }
761 #[inline(always)]
762 fn encode_is_copy() -> bool {
763 true
764 }
765
766 #[inline(always)]
767 fn decode_is_copy() -> bool {
768 true
769 }
770 }
771
772 unsafe impl<D: fidl::encoding::ResourceDialect>
773 fidl::encoding::Encode<DeviceMonitorClearCountryRequest, D>
774 for &DeviceMonitorClearCountryRequest
775 {
776 #[inline]
777 unsafe fn encode(
778 self,
779 encoder: &mut fidl::encoding::Encoder<'_, D>,
780 offset: usize,
781 _depth: fidl::encoding::Depth,
782 ) -> fidl::Result<()> {
783 encoder.debug_check_bounds::<DeviceMonitorClearCountryRequest>(offset);
784 unsafe {
785 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
787 (buf_ptr as *mut DeviceMonitorClearCountryRequest)
788 .write_unaligned((self as *const DeviceMonitorClearCountryRequest).read());
789 }
792 Ok(())
793 }
794 }
795 unsafe impl<
796 D: fidl::encoding::ResourceDialect,
797 T0: fidl::encoding::Encode<ClearCountryRequest, D>,
798 > fidl::encoding::Encode<DeviceMonitorClearCountryRequest, D> for (T0,)
799 {
800 #[inline]
801 unsafe fn encode(
802 self,
803 encoder: &mut fidl::encoding::Encoder<'_, D>,
804 offset: usize,
805 depth: fidl::encoding::Depth,
806 ) -> fidl::Result<()> {
807 encoder.debug_check_bounds::<DeviceMonitorClearCountryRequest>(offset);
808 self.0.encode(encoder, offset + 0, depth)?;
812 Ok(())
813 }
814 }
815
816 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
817 for DeviceMonitorClearCountryRequest
818 {
819 #[inline(always)]
820 fn new_empty() -> Self {
821 Self { req: fidl::new_empty!(ClearCountryRequest, D) }
822 }
823
824 #[inline]
825 unsafe fn decode(
826 &mut self,
827 decoder: &mut fidl::encoding::Decoder<'_, D>,
828 offset: usize,
829 _depth: fidl::encoding::Depth,
830 ) -> fidl::Result<()> {
831 decoder.debug_check_bounds::<Self>(offset);
832 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
833 unsafe {
836 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
837 }
838 Ok(())
839 }
840 }
841
842 impl fidl::encoding::ValueTypeMarker for DeviceMonitorClearCountryResponse {
843 type Borrowed<'a> = &'a Self;
844 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
845 value
846 }
847 }
848
849 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorClearCountryResponse {
850 type Owned = Self;
851
852 #[inline(always)]
853 fn inline_align(_context: fidl::encoding::Context) -> usize {
854 4
855 }
856
857 #[inline(always)]
858 fn inline_size(_context: fidl::encoding::Context) -> usize {
859 4
860 }
861 #[inline(always)]
862 fn encode_is_copy() -> bool {
863 true
864 }
865
866 #[inline(always)]
867 fn decode_is_copy() -> bool {
868 true
869 }
870 }
871
872 unsafe impl<D: fidl::encoding::ResourceDialect>
873 fidl::encoding::Encode<DeviceMonitorClearCountryResponse, D>
874 for &DeviceMonitorClearCountryResponse
875 {
876 #[inline]
877 unsafe fn encode(
878 self,
879 encoder: &mut fidl::encoding::Encoder<'_, D>,
880 offset: usize,
881 _depth: fidl::encoding::Depth,
882 ) -> fidl::Result<()> {
883 encoder.debug_check_bounds::<DeviceMonitorClearCountryResponse>(offset);
884 unsafe {
885 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
887 (buf_ptr as *mut DeviceMonitorClearCountryResponse)
888 .write_unaligned((self as *const DeviceMonitorClearCountryResponse).read());
889 }
892 Ok(())
893 }
894 }
895 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
896 fidl::encoding::Encode<DeviceMonitorClearCountryResponse, D> for (T0,)
897 {
898 #[inline]
899 unsafe fn encode(
900 self,
901 encoder: &mut fidl::encoding::Encoder<'_, D>,
902 offset: usize,
903 depth: fidl::encoding::Depth,
904 ) -> fidl::Result<()> {
905 encoder.debug_check_bounds::<DeviceMonitorClearCountryResponse>(offset);
906 self.0.encode(encoder, offset + 0, depth)?;
910 Ok(())
911 }
912 }
913
914 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
915 for DeviceMonitorClearCountryResponse
916 {
917 #[inline(always)]
918 fn new_empty() -> Self {
919 Self { status: fidl::new_empty!(i32, D) }
920 }
921
922 #[inline]
923 unsafe fn decode(
924 &mut self,
925 decoder: &mut fidl::encoding::Decoder<'_, D>,
926 offset: usize,
927 _depth: fidl::encoding::Depth,
928 ) -> fidl::Result<()> {
929 decoder.debug_check_bounds::<Self>(offset);
930 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
931 unsafe {
934 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
935 }
936 Ok(())
937 }
938 }
939
940 impl fidl::encoding::ValueTypeMarker for DeviceMonitorDestroyIfaceRequest {
941 type Borrowed<'a> = &'a Self;
942 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
943 value
944 }
945 }
946
947 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorDestroyIfaceRequest {
948 type Owned = Self;
949
950 #[inline(always)]
951 fn inline_align(_context: fidl::encoding::Context) -> usize {
952 2
953 }
954
955 #[inline(always)]
956 fn inline_size(_context: fidl::encoding::Context) -> usize {
957 2
958 }
959 #[inline(always)]
960 fn encode_is_copy() -> bool {
961 true
962 }
963
964 #[inline(always)]
965 fn decode_is_copy() -> bool {
966 true
967 }
968 }
969
970 unsafe impl<D: fidl::encoding::ResourceDialect>
971 fidl::encoding::Encode<DeviceMonitorDestroyIfaceRequest, D>
972 for &DeviceMonitorDestroyIfaceRequest
973 {
974 #[inline]
975 unsafe fn encode(
976 self,
977 encoder: &mut fidl::encoding::Encoder<'_, D>,
978 offset: usize,
979 _depth: fidl::encoding::Depth,
980 ) -> fidl::Result<()> {
981 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceRequest>(offset);
982 unsafe {
983 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
985 (buf_ptr as *mut DeviceMonitorDestroyIfaceRequest)
986 .write_unaligned((self as *const DeviceMonitorDestroyIfaceRequest).read());
987 }
990 Ok(())
991 }
992 }
993 unsafe impl<
994 D: fidl::encoding::ResourceDialect,
995 T0: fidl::encoding::Encode<DestroyIfaceRequest, D>,
996 > fidl::encoding::Encode<DeviceMonitorDestroyIfaceRequest, D> for (T0,)
997 {
998 #[inline]
999 unsafe fn encode(
1000 self,
1001 encoder: &mut fidl::encoding::Encoder<'_, D>,
1002 offset: usize,
1003 depth: fidl::encoding::Depth,
1004 ) -> fidl::Result<()> {
1005 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceRequest>(offset);
1006 self.0.encode(encoder, offset + 0, depth)?;
1010 Ok(())
1011 }
1012 }
1013
1014 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1015 for DeviceMonitorDestroyIfaceRequest
1016 {
1017 #[inline(always)]
1018 fn new_empty() -> Self {
1019 Self { req: fidl::new_empty!(DestroyIfaceRequest, D) }
1020 }
1021
1022 #[inline]
1023 unsafe fn decode(
1024 &mut self,
1025 decoder: &mut fidl::encoding::Decoder<'_, D>,
1026 offset: usize,
1027 _depth: fidl::encoding::Depth,
1028 ) -> fidl::Result<()> {
1029 decoder.debug_check_bounds::<Self>(offset);
1030 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1031 unsafe {
1034 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1035 }
1036 Ok(())
1037 }
1038 }
1039
1040 impl fidl::encoding::ValueTypeMarker for DeviceMonitorDestroyIfaceResponse {
1041 type Borrowed<'a> = &'a Self;
1042 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1043 value
1044 }
1045 }
1046
1047 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorDestroyIfaceResponse {
1048 type Owned = Self;
1049
1050 #[inline(always)]
1051 fn inline_align(_context: fidl::encoding::Context) -> usize {
1052 4
1053 }
1054
1055 #[inline(always)]
1056 fn inline_size(_context: fidl::encoding::Context) -> usize {
1057 4
1058 }
1059 #[inline(always)]
1060 fn encode_is_copy() -> bool {
1061 true
1062 }
1063
1064 #[inline(always)]
1065 fn decode_is_copy() -> bool {
1066 true
1067 }
1068 }
1069
1070 unsafe impl<D: fidl::encoding::ResourceDialect>
1071 fidl::encoding::Encode<DeviceMonitorDestroyIfaceResponse, D>
1072 for &DeviceMonitorDestroyIfaceResponse
1073 {
1074 #[inline]
1075 unsafe fn encode(
1076 self,
1077 encoder: &mut fidl::encoding::Encoder<'_, D>,
1078 offset: usize,
1079 _depth: fidl::encoding::Depth,
1080 ) -> fidl::Result<()> {
1081 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceResponse>(offset);
1082 unsafe {
1083 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1085 (buf_ptr as *mut DeviceMonitorDestroyIfaceResponse)
1086 .write_unaligned((self as *const DeviceMonitorDestroyIfaceResponse).read());
1087 }
1090 Ok(())
1091 }
1092 }
1093 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
1094 fidl::encoding::Encode<DeviceMonitorDestroyIfaceResponse, D> for (T0,)
1095 {
1096 #[inline]
1097 unsafe fn encode(
1098 self,
1099 encoder: &mut fidl::encoding::Encoder<'_, D>,
1100 offset: usize,
1101 depth: fidl::encoding::Depth,
1102 ) -> fidl::Result<()> {
1103 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceResponse>(offset);
1104 self.0.encode(encoder, offset + 0, depth)?;
1108 Ok(())
1109 }
1110 }
1111
1112 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1113 for DeviceMonitorDestroyIfaceResponse
1114 {
1115 #[inline(always)]
1116 fn new_empty() -> Self {
1117 Self { status: fidl::new_empty!(i32, D) }
1118 }
1119
1120 #[inline]
1121 unsafe fn decode(
1122 &mut self,
1123 decoder: &mut fidl::encoding::Decoder<'_, D>,
1124 offset: usize,
1125 _depth: fidl::encoding::Depth,
1126 ) -> fidl::Result<()> {
1127 decoder.debug_check_bounds::<Self>(offset);
1128 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1129 unsafe {
1132 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1133 }
1134 Ok(())
1135 }
1136 }
1137
1138 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetCountryRequest {
1139 type Borrowed<'a> = &'a Self;
1140 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1141 value
1142 }
1143 }
1144
1145 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetCountryRequest {
1146 type Owned = Self;
1147
1148 #[inline(always)]
1149 fn inline_align(_context: fidl::encoding::Context) -> usize {
1150 2
1151 }
1152
1153 #[inline(always)]
1154 fn inline_size(_context: fidl::encoding::Context) -> usize {
1155 2
1156 }
1157 #[inline(always)]
1158 fn encode_is_copy() -> bool {
1159 true
1160 }
1161
1162 #[inline(always)]
1163 fn decode_is_copy() -> bool {
1164 true
1165 }
1166 }
1167
1168 unsafe impl<D: fidl::encoding::ResourceDialect>
1169 fidl::encoding::Encode<DeviceMonitorGetCountryRequest, D>
1170 for &DeviceMonitorGetCountryRequest
1171 {
1172 #[inline]
1173 unsafe fn encode(
1174 self,
1175 encoder: &mut fidl::encoding::Encoder<'_, D>,
1176 offset: usize,
1177 _depth: fidl::encoding::Depth,
1178 ) -> fidl::Result<()> {
1179 encoder.debug_check_bounds::<DeviceMonitorGetCountryRequest>(offset);
1180 unsafe {
1181 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1183 (buf_ptr as *mut DeviceMonitorGetCountryRequest)
1184 .write_unaligned((self as *const DeviceMonitorGetCountryRequest).read());
1185 }
1188 Ok(())
1189 }
1190 }
1191 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1192 fidl::encoding::Encode<DeviceMonitorGetCountryRequest, D> for (T0,)
1193 {
1194 #[inline]
1195 unsafe fn encode(
1196 self,
1197 encoder: &mut fidl::encoding::Encoder<'_, D>,
1198 offset: usize,
1199 depth: fidl::encoding::Depth,
1200 ) -> fidl::Result<()> {
1201 encoder.debug_check_bounds::<DeviceMonitorGetCountryRequest>(offset);
1202 self.0.encode(encoder, offset + 0, depth)?;
1206 Ok(())
1207 }
1208 }
1209
1210 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1211 for DeviceMonitorGetCountryRequest
1212 {
1213 #[inline(always)]
1214 fn new_empty() -> Self {
1215 Self { phy_id: fidl::new_empty!(u16, D) }
1216 }
1217
1218 #[inline]
1219 unsafe fn decode(
1220 &mut self,
1221 decoder: &mut fidl::encoding::Decoder<'_, D>,
1222 offset: usize,
1223 _depth: fidl::encoding::Depth,
1224 ) -> fidl::Result<()> {
1225 decoder.debug_check_bounds::<Self>(offset);
1226 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1227 unsafe {
1230 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1231 }
1232 Ok(())
1233 }
1234 }
1235
1236 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetDevPathRequest {
1237 type Borrowed<'a> = &'a Self;
1238 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1239 value
1240 }
1241 }
1242
1243 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetDevPathRequest {
1244 type Owned = Self;
1245
1246 #[inline(always)]
1247 fn inline_align(_context: fidl::encoding::Context) -> usize {
1248 2
1249 }
1250
1251 #[inline(always)]
1252 fn inline_size(_context: fidl::encoding::Context) -> usize {
1253 2
1254 }
1255 #[inline(always)]
1256 fn encode_is_copy() -> bool {
1257 true
1258 }
1259
1260 #[inline(always)]
1261 fn decode_is_copy() -> bool {
1262 true
1263 }
1264 }
1265
1266 unsafe impl<D: fidl::encoding::ResourceDialect>
1267 fidl::encoding::Encode<DeviceMonitorGetDevPathRequest, D>
1268 for &DeviceMonitorGetDevPathRequest
1269 {
1270 #[inline]
1271 unsafe fn encode(
1272 self,
1273 encoder: &mut fidl::encoding::Encoder<'_, D>,
1274 offset: usize,
1275 _depth: fidl::encoding::Depth,
1276 ) -> fidl::Result<()> {
1277 encoder.debug_check_bounds::<DeviceMonitorGetDevPathRequest>(offset);
1278 unsafe {
1279 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1281 (buf_ptr as *mut DeviceMonitorGetDevPathRequest)
1282 .write_unaligned((self as *const DeviceMonitorGetDevPathRequest).read());
1283 }
1286 Ok(())
1287 }
1288 }
1289 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1290 fidl::encoding::Encode<DeviceMonitorGetDevPathRequest, D> for (T0,)
1291 {
1292 #[inline]
1293 unsafe fn encode(
1294 self,
1295 encoder: &mut fidl::encoding::Encoder<'_, D>,
1296 offset: usize,
1297 depth: fidl::encoding::Depth,
1298 ) -> fidl::Result<()> {
1299 encoder.debug_check_bounds::<DeviceMonitorGetDevPathRequest>(offset);
1300 self.0.encode(encoder, offset + 0, depth)?;
1304 Ok(())
1305 }
1306 }
1307
1308 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1309 for DeviceMonitorGetDevPathRequest
1310 {
1311 #[inline(always)]
1312 fn new_empty() -> Self {
1313 Self { phy_id: fidl::new_empty!(u16, D) }
1314 }
1315
1316 #[inline]
1317 unsafe fn decode(
1318 &mut self,
1319 decoder: &mut fidl::encoding::Decoder<'_, D>,
1320 offset: usize,
1321 _depth: fidl::encoding::Depth,
1322 ) -> fidl::Result<()> {
1323 decoder.debug_check_bounds::<Self>(offset);
1324 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1325 unsafe {
1328 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1329 }
1330 Ok(())
1331 }
1332 }
1333
1334 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetDevPathResponse {
1335 type Borrowed<'a> = &'a Self;
1336 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1337 value
1338 }
1339 }
1340
1341 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetDevPathResponse {
1342 type Owned = Self;
1343
1344 #[inline(always)]
1345 fn inline_align(_context: fidl::encoding::Context) -> usize {
1346 8
1347 }
1348
1349 #[inline(always)]
1350 fn inline_size(_context: fidl::encoding::Context) -> usize {
1351 16
1352 }
1353 }
1354
1355 unsafe impl<D: fidl::encoding::ResourceDialect>
1356 fidl::encoding::Encode<DeviceMonitorGetDevPathResponse, D>
1357 for &DeviceMonitorGetDevPathResponse
1358 {
1359 #[inline]
1360 unsafe fn encode(
1361 self,
1362 encoder: &mut fidl::encoding::Encoder<'_, D>,
1363 offset: usize,
1364 _depth: fidl::encoding::Depth,
1365 ) -> fidl::Result<()> {
1366 encoder.debug_check_bounds::<DeviceMonitorGetDevPathResponse>(offset);
1367 fidl::encoding::Encode::<DeviceMonitorGetDevPathResponse, D>::encode(
1369 (
1370 <fidl::encoding::Optional<fidl::encoding::UnboundedString> as fidl::encoding::ValueTypeMarker>::borrow(&self.dev_path),
1371 ),
1372 encoder, offset, _depth
1373 )
1374 }
1375 }
1376 unsafe impl<
1377 D: fidl::encoding::ResourceDialect,
1378 T0: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::UnboundedString>, D>,
1379 > fidl::encoding::Encode<DeviceMonitorGetDevPathResponse, D> for (T0,)
1380 {
1381 #[inline]
1382 unsafe fn encode(
1383 self,
1384 encoder: &mut fidl::encoding::Encoder<'_, D>,
1385 offset: usize,
1386 depth: fidl::encoding::Depth,
1387 ) -> fidl::Result<()> {
1388 encoder.debug_check_bounds::<DeviceMonitorGetDevPathResponse>(offset);
1389 self.0.encode(encoder, offset + 0, depth)?;
1393 Ok(())
1394 }
1395 }
1396
1397 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1398 for DeviceMonitorGetDevPathResponse
1399 {
1400 #[inline(always)]
1401 fn new_empty() -> Self {
1402 Self {
1403 dev_path: fidl::new_empty!(
1404 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
1405 D
1406 ),
1407 }
1408 }
1409
1410 #[inline]
1411 unsafe fn decode(
1412 &mut self,
1413 decoder: &mut fidl::encoding::Decoder<'_, D>,
1414 offset: usize,
1415 _depth: fidl::encoding::Depth,
1416 ) -> fidl::Result<()> {
1417 decoder.debug_check_bounds::<Self>(offset);
1418 fidl::decode!(
1420 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
1421 D,
1422 &mut self.dev_path,
1423 decoder,
1424 offset + 0,
1425 _depth
1426 )?;
1427 Ok(())
1428 }
1429 }
1430
1431 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerSaveModeRequest {
1432 type Borrowed<'a> = &'a Self;
1433 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1434 value
1435 }
1436 }
1437
1438 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerSaveModeRequest {
1439 type Owned = Self;
1440
1441 #[inline(always)]
1442 fn inline_align(_context: fidl::encoding::Context) -> usize {
1443 2
1444 }
1445
1446 #[inline(always)]
1447 fn inline_size(_context: fidl::encoding::Context) -> usize {
1448 2
1449 }
1450 #[inline(always)]
1451 fn encode_is_copy() -> bool {
1452 true
1453 }
1454
1455 #[inline(always)]
1456 fn decode_is_copy() -> bool {
1457 true
1458 }
1459 }
1460
1461 unsafe impl<D: fidl::encoding::ResourceDialect>
1462 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeRequest, D>
1463 for &DeviceMonitorGetPowerSaveModeRequest
1464 {
1465 #[inline]
1466 unsafe fn encode(
1467 self,
1468 encoder: &mut fidl::encoding::Encoder<'_, D>,
1469 offset: usize,
1470 _depth: fidl::encoding::Depth,
1471 ) -> fidl::Result<()> {
1472 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeRequest>(offset);
1473 unsafe {
1474 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1476 (buf_ptr as *mut DeviceMonitorGetPowerSaveModeRequest)
1477 .write_unaligned((self as *const DeviceMonitorGetPowerSaveModeRequest).read());
1478 }
1481 Ok(())
1482 }
1483 }
1484 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1485 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeRequest, D> for (T0,)
1486 {
1487 #[inline]
1488 unsafe fn encode(
1489 self,
1490 encoder: &mut fidl::encoding::Encoder<'_, D>,
1491 offset: usize,
1492 depth: fidl::encoding::Depth,
1493 ) -> fidl::Result<()> {
1494 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeRequest>(offset);
1495 self.0.encode(encoder, offset + 0, depth)?;
1499 Ok(())
1500 }
1501 }
1502
1503 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1504 for DeviceMonitorGetPowerSaveModeRequest
1505 {
1506 #[inline(always)]
1507 fn new_empty() -> Self {
1508 Self { phy_id: fidl::new_empty!(u16, D) }
1509 }
1510
1511 #[inline]
1512 unsafe fn decode(
1513 &mut self,
1514 decoder: &mut fidl::encoding::Decoder<'_, D>,
1515 offset: usize,
1516 _depth: fidl::encoding::Depth,
1517 ) -> fidl::Result<()> {
1518 decoder.debug_check_bounds::<Self>(offset);
1519 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1520 unsafe {
1523 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1524 }
1525 Ok(())
1526 }
1527 }
1528
1529 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerStateRequest {
1530 type Borrowed<'a> = &'a Self;
1531 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1532 value
1533 }
1534 }
1535
1536 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerStateRequest {
1537 type Owned = Self;
1538
1539 #[inline(always)]
1540 fn inline_align(_context: fidl::encoding::Context) -> usize {
1541 2
1542 }
1543
1544 #[inline(always)]
1545 fn inline_size(_context: fidl::encoding::Context) -> usize {
1546 2
1547 }
1548 #[inline(always)]
1549 fn encode_is_copy() -> bool {
1550 true
1551 }
1552
1553 #[inline(always)]
1554 fn decode_is_copy() -> bool {
1555 true
1556 }
1557 }
1558
1559 unsafe impl<D: fidl::encoding::ResourceDialect>
1560 fidl::encoding::Encode<DeviceMonitorGetPowerStateRequest, D>
1561 for &DeviceMonitorGetPowerStateRequest
1562 {
1563 #[inline]
1564 unsafe fn encode(
1565 self,
1566 encoder: &mut fidl::encoding::Encoder<'_, D>,
1567 offset: usize,
1568 _depth: fidl::encoding::Depth,
1569 ) -> fidl::Result<()> {
1570 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateRequest>(offset);
1571 unsafe {
1572 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1574 (buf_ptr as *mut DeviceMonitorGetPowerStateRequest)
1575 .write_unaligned((self as *const DeviceMonitorGetPowerStateRequest).read());
1576 }
1579 Ok(())
1580 }
1581 }
1582 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1583 fidl::encoding::Encode<DeviceMonitorGetPowerStateRequest, D> for (T0,)
1584 {
1585 #[inline]
1586 unsafe fn encode(
1587 self,
1588 encoder: &mut fidl::encoding::Encoder<'_, D>,
1589 offset: usize,
1590 depth: fidl::encoding::Depth,
1591 ) -> fidl::Result<()> {
1592 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateRequest>(offset);
1593 self.0.encode(encoder, offset + 0, depth)?;
1597 Ok(())
1598 }
1599 }
1600
1601 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1602 for DeviceMonitorGetPowerStateRequest
1603 {
1604 #[inline(always)]
1605 fn new_empty() -> Self {
1606 Self { phy_id: fidl::new_empty!(u16, D) }
1607 }
1608
1609 #[inline]
1610 unsafe fn decode(
1611 &mut self,
1612 decoder: &mut fidl::encoding::Decoder<'_, D>,
1613 offset: usize,
1614 _depth: fidl::encoding::Depth,
1615 ) -> fidl::Result<()> {
1616 decoder.debug_check_bounds::<Self>(offset);
1617 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1618 unsafe {
1621 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1622 }
1623 Ok(())
1624 }
1625 }
1626
1627 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetSupportedMacRolesRequest {
1628 type Borrowed<'a> = &'a Self;
1629 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1630 value
1631 }
1632 }
1633
1634 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetSupportedMacRolesRequest {
1635 type Owned = Self;
1636
1637 #[inline(always)]
1638 fn inline_align(_context: fidl::encoding::Context) -> usize {
1639 2
1640 }
1641
1642 #[inline(always)]
1643 fn inline_size(_context: fidl::encoding::Context) -> usize {
1644 2
1645 }
1646 #[inline(always)]
1647 fn encode_is_copy() -> bool {
1648 true
1649 }
1650
1651 #[inline(always)]
1652 fn decode_is_copy() -> bool {
1653 true
1654 }
1655 }
1656
1657 unsafe impl<D: fidl::encoding::ResourceDialect>
1658 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesRequest, D>
1659 for &DeviceMonitorGetSupportedMacRolesRequest
1660 {
1661 #[inline]
1662 unsafe fn encode(
1663 self,
1664 encoder: &mut fidl::encoding::Encoder<'_, D>,
1665 offset: usize,
1666 _depth: fidl::encoding::Depth,
1667 ) -> fidl::Result<()> {
1668 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesRequest>(offset);
1669 unsafe {
1670 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1672 (buf_ptr as *mut DeviceMonitorGetSupportedMacRolesRequest).write_unaligned(
1673 (self as *const DeviceMonitorGetSupportedMacRolesRequest).read(),
1674 );
1675 }
1678 Ok(())
1679 }
1680 }
1681 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1682 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesRequest, D> for (T0,)
1683 {
1684 #[inline]
1685 unsafe fn encode(
1686 self,
1687 encoder: &mut fidl::encoding::Encoder<'_, D>,
1688 offset: usize,
1689 depth: fidl::encoding::Depth,
1690 ) -> fidl::Result<()> {
1691 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesRequest>(offset);
1692 self.0.encode(encoder, offset + 0, depth)?;
1696 Ok(())
1697 }
1698 }
1699
1700 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1701 for DeviceMonitorGetSupportedMacRolesRequest
1702 {
1703 #[inline(always)]
1704 fn new_empty() -> Self {
1705 Self { phy_id: fidl::new_empty!(u16, D) }
1706 }
1707
1708 #[inline]
1709 unsafe fn decode(
1710 &mut self,
1711 decoder: &mut fidl::encoding::Decoder<'_, D>,
1712 offset: usize,
1713 _depth: fidl::encoding::Depth,
1714 ) -> fidl::Result<()> {
1715 decoder.debug_check_bounds::<Self>(offset);
1716 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1717 unsafe {
1720 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1721 }
1722 Ok(())
1723 }
1724 }
1725
1726 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetTxPowerScenarioRequest {
1727 type Borrowed<'a> = &'a Self;
1728 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1729 value
1730 }
1731 }
1732
1733 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetTxPowerScenarioRequest {
1734 type Owned = Self;
1735
1736 #[inline(always)]
1737 fn inline_align(_context: fidl::encoding::Context) -> usize {
1738 2
1739 }
1740
1741 #[inline(always)]
1742 fn inline_size(_context: fidl::encoding::Context) -> usize {
1743 2
1744 }
1745 #[inline(always)]
1746 fn encode_is_copy() -> bool {
1747 true
1748 }
1749
1750 #[inline(always)]
1751 fn decode_is_copy() -> bool {
1752 true
1753 }
1754 }
1755
1756 unsafe impl<D: fidl::encoding::ResourceDialect>
1757 fidl::encoding::Encode<DeviceMonitorGetTxPowerScenarioRequest, D>
1758 for &DeviceMonitorGetTxPowerScenarioRequest
1759 {
1760 #[inline]
1761 unsafe fn encode(
1762 self,
1763 encoder: &mut fidl::encoding::Encoder<'_, D>,
1764 offset: usize,
1765 _depth: fidl::encoding::Depth,
1766 ) -> fidl::Result<()> {
1767 encoder.debug_check_bounds::<DeviceMonitorGetTxPowerScenarioRequest>(offset);
1768 unsafe {
1769 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1771 (buf_ptr as *mut DeviceMonitorGetTxPowerScenarioRequest).write_unaligned(
1772 (self as *const DeviceMonitorGetTxPowerScenarioRequest).read(),
1773 );
1774 }
1777 Ok(())
1778 }
1779 }
1780 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1781 fidl::encoding::Encode<DeviceMonitorGetTxPowerScenarioRequest, D> for (T0,)
1782 {
1783 #[inline]
1784 unsafe fn encode(
1785 self,
1786 encoder: &mut fidl::encoding::Encoder<'_, D>,
1787 offset: usize,
1788 depth: fidl::encoding::Depth,
1789 ) -> fidl::Result<()> {
1790 encoder.debug_check_bounds::<DeviceMonitorGetTxPowerScenarioRequest>(offset);
1791 self.0.encode(encoder, offset + 0, depth)?;
1795 Ok(())
1796 }
1797 }
1798
1799 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1800 for DeviceMonitorGetTxPowerScenarioRequest
1801 {
1802 #[inline(always)]
1803 fn new_empty() -> Self {
1804 Self { phy_id: fidl::new_empty!(u16, D) }
1805 }
1806
1807 #[inline]
1808 unsafe fn decode(
1809 &mut self,
1810 decoder: &mut fidl::encoding::Decoder<'_, D>,
1811 offset: usize,
1812 _depth: fidl::encoding::Depth,
1813 ) -> fidl::Result<()> {
1814 decoder.debug_check_bounds::<Self>(offset);
1815 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1816 unsafe {
1819 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1820 }
1821 Ok(())
1822 }
1823 }
1824
1825 impl fidl::encoding::ValueTypeMarker for DeviceMonitorListIfacesResponse {
1826 type Borrowed<'a> = &'a Self;
1827 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1828 value
1829 }
1830 }
1831
1832 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorListIfacesResponse {
1833 type Owned = Self;
1834
1835 #[inline(always)]
1836 fn inline_align(_context: fidl::encoding::Context) -> usize {
1837 8
1838 }
1839
1840 #[inline(always)]
1841 fn inline_size(_context: fidl::encoding::Context) -> usize {
1842 16
1843 }
1844 }
1845
1846 unsafe impl<D: fidl::encoding::ResourceDialect>
1847 fidl::encoding::Encode<DeviceMonitorListIfacesResponse, D>
1848 for &DeviceMonitorListIfacesResponse
1849 {
1850 #[inline]
1851 unsafe fn encode(
1852 self,
1853 encoder: &mut fidl::encoding::Encoder<'_, D>,
1854 offset: usize,
1855 _depth: fidl::encoding::Depth,
1856 ) -> fidl::Result<()> {
1857 encoder.debug_check_bounds::<DeviceMonitorListIfacesResponse>(offset);
1858 fidl::encoding::Encode::<DeviceMonitorListIfacesResponse, D>::encode(
1860 (
1861 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.iface_list),
1862 ),
1863 encoder, offset, _depth
1864 )
1865 }
1866 }
1867 unsafe impl<
1868 D: fidl::encoding::ResourceDialect,
1869 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u16>, D>,
1870 > fidl::encoding::Encode<DeviceMonitorListIfacesResponse, D> for (T0,)
1871 {
1872 #[inline]
1873 unsafe fn encode(
1874 self,
1875 encoder: &mut fidl::encoding::Encoder<'_, D>,
1876 offset: usize,
1877 depth: fidl::encoding::Depth,
1878 ) -> fidl::Result<()> {
1879 encoder.debug_check_bounds::<DeviceMonitorListIfacesResponse>(offset);
1880 self.0.encode(encoder, offset + 0, depth)?;
1884 Ok(())
1885 }
1886 }
1887
1888 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1889 for DeviceMonitorListIfacesResponse
1890 {
1891 #[inline(always)]
1892 fn new_empty() -> Self {
1893 Self { iface_list: fidl::new_empty!(fidl::encoding::UnboundedVector<u16>, D) }
1894 }
1895
1896 #[inline]
1897 unsafe fn decode(
1898 &mut self,
1899 decoder: &mut fidl::encoding::Decoder<'_, D>,
1900 offset: usize,
1901 _depth: fidl::encoding::Depth,
1902 ) -> fidl::Result<()> {
1903 decoder.debug_check_bounds::<Self>(offset);
1904 fidl::decode!(
1906 fidl::encoding::UnboundedVector<u16>,
1907 D,
1908 &mut self.iface_list,
1909 decoder,
1910 offset + 0,
1911 _depth
1912 )?;
1913 Ok(())
1914 }
1915 }
1916
1917 impl fidl::encoding::ValueTypeMarker for DeviceMonitorListPhysResponse {
1918 type Borrowed<'a> = &'a Self;
1919 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1920 value
1921 }
1922 }
1923
1924 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorListPhysResponse {
1925 type Owned = Self;
1926
1927 #[inline(always)]
1928 fn inline_align(_context: fidl::encoding::Context) -> usize {
1929 8
1930 }
1931
1932 #[inline(always)]
1933 fn inline_size(_context: fidl::encoding::Context) -> usize {
1934 16
1935 }
1936 }
1937
1938 unsafe impl<D: fidl::encoding::ResourceDialect>
1939 fidl::encoding::Encode<DeviceMonitorListPhysResponse, D>
1940 for &DeviceMonitorListPhysResponse
1941 {
1942 #[inline]
1943 unsafe fn encode(
1944 self,
1945 encoder: &mut fidl::encoding::Encoder<'_, D>,
1946 offset: usize,
1947 _depth: fidl::encoding::Depth,
1948 ) -> fidl::Result<()> {
1949 encoder.debug_check_bounds::<DeviceMonitorListPhysResponse>(offset);
1950 fidl::encoding::Encode::<DeviceMonitorListPhysResponse, D>::encode(
1952 (
1953 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_list),
1954 ),
1955 encoder, offset, _depth
1956 )
1957 }
1958 }
1959 unsafe impl<
1960 D: fidl::encoding::ResourceDialect,
1961 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u16>, D>,
1962 > fidl::encoding::Encode<DeviceMonitorListPhysResponse, D> for (T0,)
1963 {
1964 #[inline]
1965 unsafe fn encode(
1966 self,
1967 encoder: &mut fidl::encoding::Encoder<'_, D>,
1968 offset: usize,
1969 depth: fidl::encoding::Depth,
1970 ) -> fidl::Result<()> {
1971 encoder.debug_check_bounds::<DeviceMonitorListPhysResponse>(offset);
1972 self.0.encode(encoder, offset + 0, depth)?;
1976 Ok(())
1977 }
1978 }
1979
1980 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1981 for DeviceMonitorListPhysResponse
1982 {
1983 #[inline(always)]
1984 fn new_empty() -> Self {
1985 Self { phy_list: fidl::new_empty!(fidl::encoding::UnboundedVector<u16>, D) }
1986 }
1987
1988 #[inline]
1989 unsafe fn decode(
1990 &mut self,
1991 decoder: &mut fidl::encoding::Decoder<'_, D>,
1992 offset: usize,
1993 _depth: fidl::encoding::Depth,
1994 ) -> fidl::Result<()> {
1995 decoder.debug_check_bounds::<Self>(offset);
1996 fidl::decode!(
1998 fidl::encoding::UnboundedVector<u16>,
1999 D,
2000 &mut self.phy_list,
2001 decoder,
2002 offset + 0,
2003 _depth
2004 )?;
2005 Ok(())
2006 }
2007 }
2008
2009 impl fidl::encoding::ValueTypeMarker for DeviceMonitorPowerDownRequest {
2010 type Borrowed<'a> = &'a Self;
2011 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2012 value
2013 }
2014 }
2015
2016 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorPowerDownRequest {
2017 type Owned = Self;
2018
2019 #[inline(always)]
2020 fn inline_align(_context: fidl::encoding::Context) -> usize {
2021 2
2022 }
2023
2024 #[inline(always)]
2025 fn inline_size(_context: fidl::encoding::Context) -> usize {
2026 2
2027 }
2028 #[inline(always)]
2029 fn encode_is_copy() -> bool {
2030 true
2031 }
2032
2033 #[inline(always)]
2034 fn decode_is_copy() -> bool {
2035 true
2036 }
2037 }
2038
2039 unsafe impl<D: fidl::encoding::ResourceDialect>
2040 fidl::encoding::Encode<DeviceMonitorPowerDownRequest, D>
2041 for &DeviceMonitorPowerDownRequest
2042 {
2043 #[inline]
2044 unsafe fn encode(
2045 self,
2046 encoder: &mut fidl::encoding::Encoder<'_, D>,
2047 offset: usize,
2048 _depth: fidl::encoding::Depth,
2049 ) -> fidl::Result<()> {
2050 encoder.debug_check_bounds::<DeviceMonitorPowerDownRequest>(offset);
2051 unsafe {
2052 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2054 (buf_ptr as *mut DeviceMonitorPowerDownRequest)
2055 .write_unaligned((self as *const DeviceMonitorPowerDownRequest).read());
2056 }
2059 Ok(())
2060 }
2061 }
2062 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2063 fidl::encoding::Encode<DeviceMonitorPowerDownRequest, D> for (T0,)
2064 {
2065 #[inline]
2066 unsafe fn encode(
2067 self,
2068 encoder: &mut fidl::encoding::Encoder<'_, D>,
2069 offset: usize,
2070 depth: fidl::encoding::Depth,
2071 ) -> fidl::Result<()> {
2072 encoder.debug_check_bounds::<DeviceMonitorPowerDownRequest>(offset);
2073 self.0.encode(encoder, offset + 0, depth)?;
2077 Ok(())
2078 }
2079 }
2080
2081 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2082 for DeviceMonitorPowerDownRequest
2083 {
2084 #[inline(always)]
2085 fn new_empty() -> Self {
2086 Self { phy_id: fidl::new_empty!(u16, D) }
2087 }
2088
2089 #[inline]
2090 unsafe fn decode(
2091 &mut self,
2092 decoder: &mut fidl::encoding::Decoder<'_, D>,
2093 offset: usize,
2094 _depth: fidl::encoding::Depth,
2095 ) -> fidl::Result<()> {
2096 decoder.debug_check_bounds::<Self>(offset);
2097 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2098 unsafe {
2101 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2102 }
2103 Ok(())
2104 }
2105 }
2106
2107 impl fidl::encoding::ValueTypeMarker for DeviceMonitorPowerUpRequest {
2108 type Borrowed<'a> = &'a Self;
2109 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2110 value
2111 }
2112 }
2113
2114 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorPowerUpRequest {
2115 type Owned = Self;
2116
2117 #[inline(always)]
2118 fn inline_align(_context: fidl::encoding::Context) -> usize {
2119 2
2120 }
2121
2122 #[inline(always)]
2123 fn inline_size(_context: fidl::encoding::Context) -> usize {
2124 2
2125 }
2126 #[inline(always)]
2127 fn encode_is_copy() -> bool {
2128 true
2129 }
2130
2131 #[inline(always)]
2132 fn decode_is_copy() -> bool {
2133 true
2134 }
2135 }
2136
2137 unsafe impl<D: fidl::encoding::ResourceDialect>
2138 fidl::encoding::Encode<DeviceMonitorPowerUpRequest, D> for &DeviceMonitorPowerUpRequest
2139 {
2140 #[inline]
2141 unsafe fn encode(
2142 self,
2143 encoder: &mut fidl::encoding::Encoder<'_, D>,
2144 offset: usize,
2145 _depth: fidl::encoding::Depth,
2146 ) -> fidl::Result<()> {
2147 encoder.debug_check_bounds::<DeviceMonitorPowerUpRequest>(offset);
2148 unsafe {
2149 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2151 (buf_ptr as *mut DeviceMonitorPowerUpRequest)
2152 .write_unaligned((self as *const DeviceMonitorPowerUpRequest).read());
2153 }
2156 Ok(())
2157 }
2158 }
2159 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2160 fidl::encoding::Encode<DeviceMonitorPowerUpRequest, D> for (T0,)
2161 {
2162 #[inline]
2163 unsafe fn encode(
2164 self,
2165 encoder: &mut fidl::encoding::Encoder<'_, D>,
2166 offset: usize,
2167 depth: fidl::encoding::Depth,
2168 ) -> fidl::Result<()> {
2169 encoder.debug_check_bounds::<DeviceMonitorPowerUpRequest>(offset);
2170 self.0.encode(encoder, offset + 0, depth)?;
2174 Ok(())
2175 }
2176 }
2177
2178 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2179 for DeviceMonitorPowerUpRequest
2180 {
2181 #[inline(always)]
2182 fn new_empty() -> Self {
2183 Self { phy_id: fidl::new_empty!(u16, D) }
2184 }
2185
2186 #[inline]
2187 unsafe fn decode(
2188 &mut self,
2189 decoder: &mut fidl::encoding::Decoder<'_, D>,
2190 offset: usize,
2191 _depth: fidl::encoding::Depth,
2192 ) -> fidl::Result<()> {
2193 decoder.debug_check_bounds::<Self>(offset);
2194 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2195 unsafe {
2198 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2199 }
2200 Ok(())
2201 }
2202 }
2203
2204 impl fidl::encoding::ValueTypeMarker for DeviceMonitorQueryIfaceRequest {
2205 type Borrowed<'a> = &'a Self;
2206 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2207 value
2208 }
2209 }
2210
2211 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorQueryIfaceRequest {
2212 type Owned = Self;
2213
2214 #[inline(always)]
2215 fn inline_align(_context: fidl::encoding::Context) -> usize {
2216 2
2217 }
2218
2219 #[inline(always)]
2220 fn inline_size(_context: fidl::encoding::Context) -> usize {
2221 2
2222 }
2223 #[inline(always)]
2224 fn encode_is_copy() -> bool {
2225 true
2226 }
2227
2228 #[inline(always)]
2229 fn decode_is_copy() -> bool {
2230 true
2231 }
2232 }
2233
2234 unsafe impl<D: fidl::encoding::ResourceDialect>
2235 fidl::encoding::Encode<DeviceMonitorQueryIfaceRequest, D>
2236 for &DeviceMonitorQueryIfaceRequest
2237 {
2238 #[inline]
2239 unsafe fn encode(
2240 self,
2241 encoder: &mut fidl::encoding::Encoder<'_, D>,
2242 offset: usize,
2243 _depth: fidl::encoding::Depth,
2244 ) -> fidl::Result<()> {
2245 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceRequest>(offset);
2246 unsafe {
2247 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2249 (buf_ptr as *mut DeviceMonitorQueryIfaceRequest)
2250 .write_unaligned((self as *const DeviceMonitorQueryIfaceRequest).read());
2251 }
2254 Ok(())
2255 }
2256 }
2257 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2258 fidl::encoding::Encode<DeviceMonitorQueryIfaceRequest, D> for (T0,)
2259 {
2260 #[inline]
2261 unsafe fn encode(
2262 self,
2263 encoder: &mut fidl::encoding::Encoder<'_, D>,
2264 offset: usize,
2265 depth: fidl::encoding::Depth,
2266 ) -> fidl::Result<()> {
2267 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceRequest>(offset);
2268 self.0.encode(encoder, offset + 0, depth)?;
2272 Ok(())
2273 }
2274 }
2275
2276 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2277 for DeviceMonitorQueryIfaceRequest
2278 {
2279 #[inline(always)]
2280 fn new_empty() -> Self {
2281 Self { iface_id: fidl::new_empty!(u16, D) }
2282 }
2283
2284 #[inline]
2285 unsafe fn decode(
2286 &mut self,
2287 decoder: &mut fidl::encoding::Decoder<'_, D>,
2288 offset: usize,
2289 _depth: fidl::encoding::Depth,
2290 ) -> fidl::Result<()> {
2291 decoder.debug_check_bounds::<Self>(offset);
2292 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2293 unsafe {
2296 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2297 }
2298 Ok(())
2299 }
2300 }
2301
2302 impl fidl::encoding::ValueTypeMarker for DeviceMonitorResetRequest {
2303 type Borrowed<'a> = &'a Self;
2304 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2305 value
2306 }
2307 }
2308
2309 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorResetRequest {
2310 type Owned = Self;
2311
2312 #[inline(always)]
2313 fn inline_align(_context: fidl::encoding::Context) -> usize {
2314 2
2315 }
2316
2317 #[inline(always)]
2318 fn inline_size(_context: fidl::encoding::Context) -> usize {
2319 2
2320 }
2321 #[inline(always)]
2322 fn encode_is_copy() -> bool {
2323 true
2324 }
2325
2326 #[inline(always)]
2327 fn decode_is_copy() -> bool {
2328 true
2329 }
2330 }
2331
2332 unsafe impl<D: fidl::encoding::ResourceDialect>
2333 fidl::encoding::Encode<DeviceMonitorResetRequest, D> for &DeviceMonitorResetRequest
2334 {
2335 #[inline]
2336 unsafe fn encode(
2337 self,
2338 encoder: &mut fidl::encoding::Encoder<'_, D>,
2339 offset: usize,
2340 _depth: fidl::encoding::Depth,
2341 ) -> fidl::Result<()> {
2342 encoder.debug_check_bounds::<DeviceMonitorResetRequest>(offset);
2343 unsafe {
2344 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2346 (buf_ptr as *mut DeviceMonitorResetRequest)
2347 .write_unaligned((self as *const DeviceMonitorResetRequest).read());
2348 }
2351 Ok(())
2352 }
2353 }
2354 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2355 fidl::encoding::Encode<DeviceMonitorResetRequest, D> for (T0,)
2356 {
2357 #[inline]
2358 unsafe fn encode(
2359 self,
2360 encoder: &mut fidl::encoding::Encoder<'_, D>,
2361 offset: usize,
2362 depth: fidl::encoding::Depth,
2363 ) -> fidl::Result<()> {
2364 encoder.debug_check_bounds::<DeviceMonitorResetRequest>(offset);
2365 self.0.encode(encoder, offset + 0, depth)?;
2369 Ok(())
2370 }
2371 }
2372
2373 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2374 for DeviceMonitorResetRequest
2375 {
2376 #[inline(always)]
2377 fn new_empty() -> Self {
2378 Self { phy_id: fidl::new_empty!(u16, D) }
2379 }
2380
2381 #[inline]
2382 unsafe fn decode(
2383 &mut self,
2384 decoder: &mut fidl::encoding::Decoder<'_, D>,
2385 offset: usize,
2386 _depth: fidl::encoding::Depth,
2387 ) -> fidl::Result<()> {
2388 decoder.debug_check_bounds::<Self>(offset);
2389 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2390 unsafe {
2393 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2394 }
2395 Ok(())
2396 }
2397 }
2398
2399 impl fidl::encoding::ValueTypeMarker for DeviceMonitorResetTxPowerScenarioRequest {
2400 type Borrowed<'a> = &'a Self;
2401 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2402 value
2403 }
2404 }
2405
2406 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorResetTxPowerScenarioRequest {
2407 type Owned = Self;
2408
2409 #[inline(always)]
2410 fn inline_align(_context: fidl::encoding::Context) -> usize {
2411 2
2412 }
2413
2414 #[inline(always)]
2415 fn inline_size(_context: fidl::encoding::Context) -> usize {
2416 2
2417 }
2418 #[inline(always)]
2419 fn encode_is_copy() -> bool {
2420 true
2421 }
2422
2423 #[inline(always)]
2424 fn decode_is_copy() -> bool {
2425 true
2426 }
2427 }
2428
2429 unsafe impl<D: fidl::encoding::ResourceDialect>
2430 fidl::encoding::Encode<DeviceMonitorResetTxPowerScenarioRequest, D>
2431 for &DeviceMonitorResetTxPowerScenarioRequest
2432 {
2433 #[inline]
2434 unsafe fn encode(
2435 self,
2436 encoder: &mut fidl::encoding::Encoder<'_, D>,
2437 offset: usize,
2438 _depth: fidl::encoding::Depth,
2439 ) -> fidl::Result<()> {
2440 encoder.debug_check_bounds::<DeviceMonitorResetTxPowerScenarioRequest>(offset);
2441 unsafe {
2442 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2444 (buf_ptr as *mut DeviceMonitorResetTxPowerScenarioRequest).write_unaligned(
2445 (self as *const DeviceMonitorResetTxPowerScenarioRequest).read(),
2446 );
2447 }
2450 Ok(())
2451 }
2452 }
2453 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2454 fidl::encoding::Encode<DeviceMonitorResetTxPowerScenarioRequest, D> for (T0,)
2455 {
2456 #[inline]
2457 unsafe fn encode(
2458 self,
2459 encoder: &mut fidl::encoding::Encoder<'_, D>,
2460 offset: usize,
2461 depth: fidl::encoding::Depth,
2462 ) -> fidl::Result<()> {
2463 encoder.debug_check_bounds::<DeviceMonitorResetTxPowerScenarioRequest>(offset);
2464 self.0.encode(encoder, offset + 0, depth)?;
2468 Ok(())
2469 }
2470 }
2471
2472 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2473 for DeviceMonitorResetTxPowerScenarioRequest
2474 {
2475 #[inline(always)]
2476 fn new_empty() -> Self {
2477 Self { phy_id: fidl::new_empty!(u16, D) }
2478 }
2479
2480 #[inline]
2481 unsafe fn decode(
2482 &mut self,
2483 decoder: &mut fidl::encoding::Decoder<'_, D>,
2484 offset: usize,
2485 _depth: fidl::encoding::Depth,
2486 ) -> fidl::Result<()> {
2487 decoder.debug_check_bounds::<Self>(offset);
2488 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2489 unsafe {
2492 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2493 }
2494 Ok(())
2495 }
2496 }
2497
2498 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetBtCoexistenceModeRequest {
2499 type Borrowed<'a> = &'a Self;
2500 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2501 value
2502 }
2503 }
2504
2505 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetBtCoexistenceModeRequest {
2506 type Owned = Self;
2507
2508 #[inline(always)]
2509 fn inline_align(_context: fidl::encoding::Context) -> usize {
2510 4
2511 }
2512
2513 #[inline(always)]
2514 fn inline_size(_context: fidl::encoding::Context) -> usize {
2515 8
2516 }
2517 }
2518
2519 unsafe impl<D: fidl::encoding::ResourceDialect>
2520 fidl::encoding::Encode<DeviceMonitorSetBtCoexistenceModeRequest, D>
2521 for &DeviceMonitorSetBtCoexistenceModeRequest
2522 {
2523 #[inline]
2524 unsafe fn encode(
2525 self,
2526 encoder: &mut fidl::encoding::Encoder<'_, D>,
2527 offset: usize,
2528 _depth: fidl::encoding::Depth,
2529 ) -> fidl::Result<()> {
2530 encoder.debug_check_bounds::<DeviceMonitorSetBtCoexistenceModeRequest>(offset);
2531 fidl::encoding::Encode::<DeviceMonitorSetBtCoexistenceModeRequest, D>::encode(
2533 (
2534 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
2535 <fidl_fuchsia_wlan_internal__common::BtCoexistenceMode as fidl::encoding::ValueTypeMarker>::borrow(&self.mode),
2536 ),
2537 encoder, offset, _depth
2538 )
2539 }
2540 }
2541 unsafe impl<
2542 D: fidl::encoding::ResourceDialect,
2543 T0: fidl::encoding::Encode<u16, D>,
2544 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::BtCoexistenceMode, D>,
2545 > fidl::encoding::Encode<DeviceMonitorSetBtCoexistenceModeRequest, D> for (T0, T1)
2546 {
2547 #[inline]
2548 unsafe fn encode(
2549 self,
2550 encoder: &mut fidl::encoding::Encoder<'_, D>,
2551 offset: usize,
2552 depth: fidl::encoding::Depth,
2553 ) -> fidl::Result<()> {
2554 encoder.debug_check_bounds::<DeviceMonitorSetBtCoexistenceModeRequest>(offset);
2555 unsafe {
2558 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
2559 (ptr as *mut u32).write_unaligned(0);
2560 }
2561 self.0.encode(encoder, offset + 0, depth)?;
2563 self.1.encode(encoder, offset + 4, depth)?;
2564 Ok(())
2565 }
2566 }
2567
2568 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2569 for DeviceMonitorSetBtCoexistenceModeRequest
2570 {
2571 #[inline(always)]
2572 fn new_empty() -> Self {
2573 Self {
2574 phy_id: fidl::new_empty!(u16, D),
2575 mode: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::BtCoexistenceMode, D),
2576 }
2577 }
2578
2579 #[inline]
2580 unsafe fn decode(
2581 &mut self,
2582 decoder: &mut fidl::encoding::Decoder<'_, D>,
2583 offset: usize,
2584 _depth: fidl::encoding::Depth,
2585 ) -> fidl::Result<()> {
2586 decoder.debug_check_bounds::<Self>(offset);
2587 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
2589 let padval = unsafe { (ptr as *const u32).read_unaligned() };
2590 let mask = 0xffff0000u32;
2591 let maskedval = padval & mask;
2592 if maskedval != 0 {
2593 return Err(fidl::Error::NonZeroPadding {
2594 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
2595 });
2596 }
2597 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 0, _depth)?;
2598 fidl::decode!(
2599 fidl_fuchsia_wlan_internal__common::BtCoexistenceMode,
2600 D,
2601 &mut self.mode,
2602 decoder,
2603 offset + 4,
2604 _depth
2605 )?;
2606 Ok(())
2607 }
2608 }
2609
2610 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetCountryRequest {
2611 type Borrowed<'a> = &'a Self;
2612 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2613 value
2614 }
2615 }
2616
2617 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetCountryRequest {
2618 type Owned = Self;
2619
2620 #[inline(always)]
2621 fn inline_align(_context: fidl::encoding::Context) -> usize {
2622 2
2623 }
2624
2625 #[inline(always)]
2626 fn inline_size(_context: fidl::encoding::Context) -> usize {
2627 4
2628 }
2629 #[inline(always)]
2630 fn encode_is_copy() -> bool {
2631 true
2632 }
2633
2634 #[inline(always)]
2635 fn decode_is_copy() -> bool {
2636 true
2637 }
2638 }
2639
2640 unsafe impl<D: fidl::encoding::ResourceDialect>
2641 fidl::encoding::Encode<DeviceMonitorSetCountryRequest, D>
2642 for &DeviceMonitorSetCountryRequest
2643 {
2644 #[inline]
2645 unsafe fn encode(
2646 self,
2647 encoder: &mut fidl::encoding::Encoder<'_, D>,
2648 offset: usize,
2649 _depth: fidl::encoding::Depth,
2650 ) -> fidl::Result<()> {
2651 encoder.debug_check_bounds::<DeviceMonitorSetCountryRequest>(offset);
2652 unsafe {
2653 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2655 (buf_ptr as *mut DeviceMonitorSetCountryRequest)
2656 .write_unaligned((self as *const DeviceMonitorSetCountryRequest).read());
2657 }
2660 Ok(())
2661 }
2662 }
2663 unsafe impl<
2664 D: fidl::encoding::ResourceDialect,
2665 T0: fidl::encoding::Encode<SetCountryRequest, D>,
2666 > fidl::encoding::Encode<DeviceMonitorSetCountryRequest, D> for (T0,)
2667 {
2668 #[inline]
2669 unsafe fn encode(
2670 self,
2671 encoder: &mut fidl::encoding::Encoder<'_, D>,
2672 offset: usize,
2673 depth: fidl::encoding::Depth,
2674 ) -> fidl::Result<()> {
2675 encoder.debug_check_bounds::<DeviceMonitorSetCountryRequest>(offset);
2676 self.0.encode(encoder, offset + 0, depth)?;
2680 Ok(())
2681 }
2682 }
2683
2684 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2685 for DeviceMonitorSetCountryRequest
2686 {
2687 #[inline(always)]
2688 fn new_empty() -> Self {
2689 Self { req: fidl::new_empty!(SetCountryRequest, D) }
2690 }
2691
2692 #[inline]
2693 unsafe fn decode(
2694 &mut self,
2695 decoder: &mut fidl::encoding::Decoder<'_, D>,
2696 offset: usize,
2697 _depth: fidl::encoding::Depth,
2698 ) -> fidl::Result<()> {
2699 decoder.debug_check_bounds::<Self>(offset);
2700 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2701 unsafe {
2704 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2705 }
2706 Ok(())
2707 }
2708 }
2709
2710 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetCountryResponse {
2711 type Borrowed<'a> = &'a Self;
2712 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2713 value
2714 }
2715 }
2716
2717 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetCountryResponse {
2718 type Owned = Self;
2719
2720 #[inline(always)]
2721 fn inline_align(_context: fidl::encoding::Context) -> usize {
2722 4
2723 }
2724
2725 #[inline(always)]
2726 fn inline_size(_context: fidl::encoding::Context) -> usize {
2727 4
2728 }
2729 #[inline(always)]
2730 fn encode_is_copy() -> bool {
2731 true
2732 }
2733
2734 #[inline(always)]
2735 fn decode_is_copy() -> bool {
2736 true
2737 }
2738 }
2739
2740 unsafe impl<D: fidl::encoding::ResourceDialect>
2741 fidl::encoding::Encode<DeviceMonitorSetCountryResponse, D>
2742 for &DeviceMonitorSetCountryResponse
2743 {
2744 #[inline]
2745 unsafe fn encode(
2746 self,
2747 encoder: &mut fidl::encoding::Encoder<'_, D>,
2748 offset: usize,
2749 _depth: fidl::encoding::Depth,
2750 ) -> fidl::Result<()> {
2751 encoder.debug_check_bounds::<DeviceMonitorSetCountryResponse>(offset);
2752 unsafe {
2753 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2755 (buf_ptr as *mut DeviceMonitorSetCountryResponse)
2756 .write_unaligned((self as *const DeviceMonitorSetCountryResponse).read());
2757 }
2760 Ok(())
2761 }
2762 }
2763 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2764 fidl::encoding::Encode<DeviceMonitorSetCountryResponse, D> for (T0,)
2765 {
2766 #[inline]
2767 unsafe fn encode(
2768 self,
2769 encoder: &mut fidl::encoding::Encoder<'_, D>,
2770 offset: usize,
2771 depth: fidl::encoding::Depth,
2772 ) -> fidl::Result<()> {
2773 encoder.debug_check_bounds::<DeviceMonitorSetCountryResponse>(offset);
2774 self.0.encode(encoder, offset + 0, depth)?;
2778 Ok(())
2779 }
2780 }
2781
2782 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2783 for DeviceMonitorSetCountryResponse
2784 {
2785 #[inline(always)]
2786 fn new_empty() -> Self {
2787 Self { status: fidl::new_empty!(i32, D) }
2788 }
2789
2790 #[inline]
2791 unsafe fn decode(
2792 &mut self,
2793 decoder: &mut fidl::encoding::Decoder<'_, D>,
2794 offset: usize,
2795 _depth: fidl::encoding::Depth,
2796 ) -> fidl::Result<()> {
2797 decoder.debug_check_bounds::<Self>(offset);
2798 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2799 unsafe {
2802 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2803 }
2804 Ok(())
2805 }
2806 }
2807
2808 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetPowerSaveModeRequest {
2809 type Borrowed<'a> = &'a Self;
2810 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2811 value
2812 }
2813 }
2814
2815 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetPowerSaveModeRequest {
2816 type Owned = Self;
2817
2818 #[inline(always)]
2819 fn inline_align(_context: fidl::encoding::Context) -> usize {
2820 4
2821 }
2822
2823 #[inline(always)]
2824 fn inline_size(_context: fidl::encoding::Context) -> usize {
2825 8
2826 }
2827 }
2828
2829 unsafe impl<D: fidl::encoding::ResourceDialect>
2830 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeRequest, D>
2831 for &DeviceMonitorSetPowerSaveModeRequest
2832 {
2833 #[inline]
2834 unsafe fn encode(
2835 self,
2836 encoder: &mut fidl::encoding::Encoder<'_, D>,
2837 offset: usize,
2838 _depth: fidl::encoding::Depth,
2839 ) -> fidl::Result<()> {
2840 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeRequest>(offset);
2841 fidl::encoding::Encode::<DeviceMonitorSetPowerSaveModeRequest, D>::encode(
2843 (<SetPowerSaveModeRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
2844 encoder,
2845 offset,
2846 _depth,
2847 )
2848 }
2849 }
2850 unsafe impl<
2851 D: fidl::encoding::ResourceDialect,
2852 T0: fidl::encoding::Encode<SetPowerSaveModeRequest, D>,
2853 > fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeRequest, D> for (T0,)
2854 {
2855 #[inline]
2856 unsafe fn encode(
2857 self,
2858 encoder: &mut fidl::encoding::Encoder<'_, D>,
2859 offset: usize,
2860 depth: fidl::encoding::Depth,
2861 ) -> fidl::Result<()> {
2862 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeRequest>(offset);
2863 self.0.encode(encoder, offset + 0, depth)?;
2867 Ok(())
2868 }
2869 }
2870
2871 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2872 for DeviceMonitorSetPowerSaveModeRequest
2873 {
2874 #[inline(always)]
2875 fn new_empty() -> Self {
2876 Self { req: fidl::new_empty!(SetPowerSaveModeRequest, D) }
2877 }
2878
2879 #[inline]
2880 unsafe fn decode(
2881 &mut self,
2882 decoder: &mut fidl::encoding::Decoder<'_, D>,
2883 offset: usize,
2884 _depth: fidl::encoding::Depth,
2885 ) -> fidl::Result<()> {
2886 decoder.debug_check_bounds::<Self>(offset);
2887 fidl::decode!(SetPowerSaveModeRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
2889 Ok(())
2890 }
2891 }
2892
2893 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetPowerSaveModeResponse {
2894 type Borrowed<'a> = &'a Self;
2895 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2896 value
2897 }
2898 }
2899
2900 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetPowerSaveModeResponse {
2901 type Owned = Self;
2902
2903 #[inline(always)]
2904 fn inline_align(_context: fidl::encoding::Context) -> usize {
2905 4
2906 }
2907
2908 #[inline(always)]
2909 fn inline_size(_context: fidl::encoding::Context) -> usize {
2910 4
2911 }
2912 #[inline(always)]
2913 fn encode_is_copy() -> bool {
2914 true
2915 }
2916
2917 #[inline(always)]
2918 fn decode_is_copy() -> bool {
2919 true
2920 }
2921 }
2922
2923 unsafe impl<D: fidl::encoding::ResourceDialect>
2924 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeResponse, D>
2925 for &DeviceMonitorSetPowerSaveModeResponse
2926 {
2927 #[inline]
2928 unsafe fn encode(
2929 self,
2930 encoder: &mut fidl::encoding::Encoder<'_, D>,
2931 offset: usize,
2932 _depth: fidl::encoding::Depth,
2933 ) -> fidl::Result<()> {
2934 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeResponse>(offset);
2935 unsafe {
2936 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2938 (buf_ptr as *mut DeviceMonitorSetPowerSaveModeResponse)
2939 .write_unaligned((self as *const DeviceMonitorSetPowerSaveModeResponse).read());
2940 }
2943 Ok(())
2944 }
2945 }
2946 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2947 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeResponse, D> for (T0,)
2948 {
2949 #[inline]
2950 unsafe fn encode(
2951 self,
2952 encoder: &mut fidl::encoding::Encoder<'_, D>,
2953 offset: usize,
2954 depth: fidl::encoding::Depth,
2955 ) -> fidl::Result<()> {
2956 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeResponse>(offset);
2957 self.0.encode(encoder, offset + 0, depth)?;
2961 Ok(())
2962 }
2963 }
2964
2965 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2966 for DeviceMonitorSetPowerSaveModeResponse
2967 {
2968 #[inline(always)]
2969 fn new_empty() -> Self {
2970 Self { status: fidl::new_empty!(i32, D) }
2971 }
2972
2973 #[inline]
2974 unsafe fn decode(
2975 &mut self,
2976 decoder: &mut fidl::encoding::Decoder<'_, D>,
2977 offset: usize,
2978 _depth: fidl::encoding::Depth,
2979 ) -> fidl::Result<()> {
2980 decoder.debug_check_bounds::<Self>(offset);
2981 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2982 unsafe {
2985 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2986 }
2987 Ok(())
2988 }
2989 }
2990
2991 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetTxPowerScenarioRequest {
2992 type Borrowed<'a> = &'a Self;
2993 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2994 value
2995 }
2996 }
2997
2998 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetTxPowerScenarioRequest {
2999 type Owned = Self;
3000
3001 #[inline(always)]
3002 fn inline_align(_context: fidl::encoding::Context) -> usize {
3003 4
3004 }
3005
3006 #[inline(always)]
3007 fn inline_size(_context: fidl::encoding::Context) -> usize {
3008 8
3009 }
3010 }
3011
3012 unsafe impl<D: fidl::encoding::ResourceDialect>
3013 fidl::encoding::Encode<DeviceMonitorSetTxPowerScenarioRequest, D>
3014 for &DeviceMonitorSetTxPowerScenarioRequest
3015 {
3016 #[inline]
3017 unsafe fn encode(
3018 self,
3019 encoder: &mut fidl::encoding::Encoder<'_, D>,
3020 offset: usize,
3021 _depth: fidl::encoding::Depth,
3022 ) -> fidl::Result<()> {
3023 encoder.debug_check_bounds::<DeviceMonitorSetTxPowerScenarioRequest>(offset);
3024 fidl::encoding::Encode::<DeviceMonitorSetTxPowerScenarioRequest, D>::encode(
3026 (
3027 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
3028 <fidl_fuchsia_wlan_internal__common::TxPowerScenario as fidl::encoding::ValueTypeMarker>::borrow(&self.scenario),
3029 ),
3030 encoder, offset, _depth
3031 )
3032 }
3033 }
3034 unsafe impl<
3035 D: fidl::encoding::ResourceDialect,
3036 T0: fidl::encoding::Encode<u16, D>,
3037 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::TxPowerScenario, D>,
3038 > fidl::encoding::Encode<DeviceMonitorSetTxPowerScenarioRequest, D> for (T0, T1)
3039 {
3040 #[inline]
3041 unsafe fn encode(
3042 self,
3043 encoder: &mut fidl::encoding::Encoder<'_, D>,
3044 offset: usize,
3045 depth: fidl::encoding::Depth,
3046 ) -> fidl::Result<()> {
3047 encoder.debug_check_bounds::<DeviceMonitorSetTxPowerScenarioRequest>(offset);
3048 unsafe {
3051 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3052 (ptr as *mut u32).write_unaligned(0);
3053 }
3054 self.0.encode(encoder, offset + 0, depth)?;
3056 self.1.encode(encoder, offset + 4, depth)?;
3057 Ok(())
3058 }
3059 }
3060
3061 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3062 for DeviceMonitorSetTxPowerScenarioRequest
3063 {
3064 #[inline(always)]
3065 fn new_empty() -> Self {
3066 Self {
3067 phy_id: fidl::new_empty!(u16, D),
3068 scenario: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::TxPowerScenario, D),
3069 }
3070 }
3071
3072 #[inline]
3073 unsafe fn decode(
3074 &mut self,
3075 decoder: &mut fidl::encoding::Decoder<'_, D>,
3076 offset: usize,
3077 _depth: fidl::encoding::Depth,
3078 ) -> fidl::Result<()> {
3079 decoder.debug_check_bounds::<Self>(offset);
3080 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3082 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3083 let mask = 0xffff0000u32;
3084 let maskedval = padval & mask;
3085 if maskedval != 0 {
3086 return Err(fidl::Error::NonZeroPadding {
3087 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3088 });
3089 }
3090 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 0, _depth)?;
3091 fidl::decode!(
3092 fidl_fuchsia_wlan_internal__common::TxPowerScenario,
3093 D,
3094 &mut self.scenario,
3095 decoder,
3096 offset + 4,
3097 _depth
3098 )?;
3099 Ok(())
3100 }
3101 }
3102
3103 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetCountryResponse {
3104 type Borrowed<'a> = &'a Self;
3105 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3106 value
3107 }
3108 }
3109
3110 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetCountryResponse {
3111 type Owned = Self;
3112
3113 #[inline(always)]
3114 fn inline_align(_context: fidl::encoding::Context) -> usize {
3115 1
3116 }
3117
3118 #[inline(always)]
3119 fn inline_size(_context: fidl::encoding::Context) -> usize {
3120 2
3121 }
3122 #[inline(always)]
3123 fn encode_is_copy() -> bool {
3124 true
3125 }
3126
3127 #[inline(always)]
3128 fn decode_is_copy() -> bool {
3129 true
3130 }
3131 }
3132
3133 unsafe impl<D: fidl::encoding::ResourceDialect>
3134 fidl::encoding::Encode<DeviceMonitorGetCountryResponse, D>
3135 for &DeviceMonitorGetCountryResponse
3136 {
3137 #[inline]
3138 unsafe fn encode(
3139 self,
3140 encoder: &mut fidl::encoding::Encoder<'_, D>,
3141 offset: usize,
3142 _depth: fidl::encoding::Depth,
3143 ) -> fidl::Result<()> {
3144 encoder.debug_check_bounds::<DeviceMonitorGetCountryResponse>(offset);
3145 unsafe {
3146 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3148 (buf_ptr as *mut DeviceMonitorGetCountryResponse)
3149 .write_unaligned((self as *const DeviceMonitorGetCountryResponse).read());
3150 }
3153 Ok(())
3154 }
3155 }
3156 unsafe impl<
3157 D: fidl::encoding::ResourceDialect,
3158 T0: fidl::encoding::Encode<GetCountryResponse, D>,
3159 > fidl::encoding::Encode<DeviceMonitorGetCountryResponse, D> for (T0,)
3160 {
3161 #[inline]
3162 unsafe fn encode(
3163 self,
3164 encoder: &mut fidl::encoding::Encoder<'_, D>,
3165 offset: usize,
3166 depth: fidl::encoding::Depth,
3167 ) -> fidl::Result<()> {
3168 encoder.debug_check_bounds::<DeviceMonitorGetCountryResponse>(offset);
3169 self.0.encode(encoder, offset + 0, depth)?;
3173 Ok(())
3174 }
3175 }
3176
3177 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3178 for DeviceMonitorGetCountryResponse
3179 {
3180 #[inline(always)]
3181 fn new_empty() -> Self {
3182 Self { resp: fidl::new_empty!(GetCountryResponse, D) }
3183 }
3184
3185 #[inline]
3186 unsafe fn decode(
3187 &mut self,
3188 decoder: &mut fidl::encoding::Decoder<'_, D>,
3189 offset: usize,
3190 _depth: fidl::encoding::Depth,
3191 ) -> fidl::Result<()> {
3192 decoder.debug_check_bounds::<Self>(offset);
3193 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3194 unsafe {
3197 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3198 }
3199 Ok(())
3200 }
3201 }
3202
3203 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerSaveModeResponse {
3204 type Borrowed<'a> = &'a Self;
3205 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3206 value
3207 }
3208 }
3209
3210 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerSaveModeResponse {
3211 type Owned = Self;
3212
3213 #[inline(always)]
3214 fn inline_align(_context: fidl::encoding::Context) -> usize {
3215 4
3216 }
3217
3218 #[inline(always)]
3219 fn inline_size(_context: fidl::encoding::Context) -> usize {
3220 4
3221 }
3222 }
3223
3224 unsafe impl<D: fidl::encoding::ResourceDialect>
3225 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeResponse, D>
3226 for &DeviceMonitorGetPowerSaveModeResponse
3227 {
3228 #[inline]
3229 unsafe fn encode(
3230 self,
3231 encoder: &mut fidl::encoding::Encoder<'_, D>,
3232 offset: usize,
3233 _depth: fidl::encoding::Depth,
3234 ) -> fidl::Result<()> {
3235 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeResponse>(offset);
3236 fidl::encoding::Encode::<DeviceMonitorGetPowerSaveModeResponse, D>::encode(
3238 (<GetPowerSaveModeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
3239 encoder,
3240 offset,
3241 _depth,
3242 )
3243 }
3244 }
3245 unsafe impl<
3246 D: fidl::encoding::ResourceDialect,
3247 T0: fidl::encoding::Encode<GetPowerSaveModeResponse, D>,
3248 > fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeResponse, D> for (T0,)
3249 {
3250 #[inline]
3251 unsafe fn encode(
3252 self,
3253 encoder: &mut fidl::encoding::Encoder<'_, D>,
3254 offset: usize,
3255 depth: fidl::encoding::Depth,
3256 ) -> fidl::Result<()> {
3257 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeResponse>(offset);
3258 self.0.encode(encoder, offset + 0, depth)?;
3262 Ok(())
3263 }
3264 }
3265
3266 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3267 for DeviceMonitorGetPowerSaveModeResponse
3268 {
3269 #[inline(always)]
3270 fn new_empty() -> Self {
3271 Self { resp: fidl::new_empty!(GetPowerSaveModeResponse, D) }
3272 }
3273
3274 #[inline]
3275 unsafe fn decode(
3276 &mut self,
3277 decoder: &mut fidl::encoding::Decoder<'_, D>,
3278 offset: usize,
3279 _depth: fidl::encoding::Depth,
3280 ) -> fidl::Result<()> {
3281 decoder.debug_check_bounds::<Self>(offset);
3282 fidl::decode!(
3284 GetPowerSaveModeResponse,
3285 D,
3286 &mut self.resp,
3287 decoder,
3288 offset + 0,
3289 _depth
3290 )?;
3291 Ok(())
3292 }
3293 }
3294
3295 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerStateResponse {
3296 type Borrowed<'a> = &'a Self;
3297 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3298 value
3299 }
3300 }
3301
3302 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerStateResponse {
3303 type Owned = Self;
3304
3305 #[inline(always)]
3306 fn inline_align(_context: fidl::encoding::Context) -> usize {
3307 1
3308 }
3309
3310 #[inline(always)]
3311 fn inline_size(_context: fidl::encoding::Context) -> usize {
3312 1
3313 }
3314 }
3315
3316 unsafe impl<D: fidl::encoding::ResourceDialect>
3317 fidl::encoding::Encode<DeviceMonitorGetPowerStateResponse, D>
3318 for &DeviceMonitorGetPowerStateResponse
3319 {
3320 #[inline]
3321 unsafe fn encode(
3322 self,
3323 encoder: &mut fidl::encoding::Encoder<'_, D>,
3324 offset: usize,
3325 _depth: fidl::encoding::Depth,
3326 ) -> fidl::Result<()> {
3327 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateResponse>(offset);
3328 fidl::encoding::Encode::<DeviceMonitorGetPowerStateResponse, D>::encode(
3330 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.power_on),),
3331 encoder,
3332 offset,
3333 _depth,
3334 )
3335 }
3336 }
3337 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
3338 fidl::encoding::Encode<DeviceMonitorGetPowerStateResponse, D> for (T0,)
3339 {
3340 #[inline]
3341 unsafe fn encode(
3342 self,
3343 encoder: &mut fidl::encoding::Encoder<'_, D>,
3344 offset: usize,
3345 depth: fidl::encoding::Depth,
3346 ) -> fidl::Result<()> {
3347 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateResponse>(offset);
3348 self.0.encode(encoder, offset + 0, depth)?;
3352 Ok(())
3353 }
3354 }
3355
3356 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3357 for DeviceMonitorGetPowerStateResponse
3358 {
3359 #[inline(always)]
3360 fn new_empty() -> Self {
3361 Self { power_on: fidl::new_empty!(bool, D) }
3362 }
3363
3364 #[inline]
3365 unsafe fn decode(
3366 &mut self,
3367 decoder: &mut fidl::encoding::Decoder<'_, D>,
3368 offset: usize,
3369 _depth: fidl::encoding::Depth,
3370 ) -> fidl::Result<()> {
3371 decoder.debug_check_bounds::<Self>(offset);
3372 fidl::decode!(bool, D, &mut self.power_on, decoder, offset + 0, _depth)?;
3374 Ok(())
3375 }
3376 }
3377
3378 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetSupportedMacRolesResponse {
3379 type Borrowed<'a> = &'a Self;
3380 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3381 value
3382 }
3383 }
3384
3385 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetSupportedMacRolesResponse {
3386 type Owned = Self;
3387
3388 #[inline(always)]
3389 fn inline_align(_context: fidl::encoding::Context) -> usize {
3390 8
3391 }
3392
3393 #[inline(always)]
3394 fn inline_size(_context: fidl::encoding::Context) -> usize {
3395 16
3396 }
3397 }
3398
3399 unsafe impl<D: fidl::encoding::ResourceDialect>
3400 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesResponse, D>
3401 for &DeviceMonitorGetSupportedMacRolesResponse
3402 {
3403 #[inline]
3404 unsafe fn encode(
3405 self,
3406 encoder: &mut fidl::encoding::Encoder<'_, D>,
3407 offset: usize,
3408 _depth: fidl::encoding::Depth,
3409 ) -> fidl::Result<()> {
3410 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesResponse>(offset);
3411 fidl::encoding::Encode::<DeviceMonitorGetSupportedMacRolesResponse, D>::encode(
3413 (
3414 <fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.supported_mac_roles),
3415 ),
3416 encoder, offset, _depth
3417 )
3418 }
3419 }
3420 unsafe impl<
3421 D: fidl::encoding::ResourceDialect,
3422 T0: fidl::encoding::Encode<
3423 fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>,
3424 D,
3425 >,
3426 > fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesResponse, D> for (T0,)
3427 {
3428 #[inline]
3429 unsafe fn encode(
3430 self,
3431 encoder: &mut fidl::encoding::Encoder<'_, D>,
3432 offset: usize,
3433 depth: fidl::encoding::Depth,
3434 ) -> fidl::Result<()> {
3435 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesResponse>(offset);
3436 self.0.encode(encoder, offset + 0, depth)?;
3440 Ok(())
3441 }
3442 }
3443
3444 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3445 for DeviceMonitorGetSupportedMacRolesResponse
3446 {
3447 #[inline(always)]
3448 fn new_empty() -> Self {
3449 Self {
3450 supported_mac_roles: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>, D),
3451 }
3452 }
3453
3454 #[inline]
3455 unsafe fn decode(
3456 &mut self,
3457 decoder: &mut fidl::encoding::Decoder<'_, D>,
3458 offset: usize,
3459 _depth: fidl::encoding::Depth,
3460 ) -> fidl::Result<()> {
3461 decoder.debug_check_bounds::<Self>(offset);
3462 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>, D, &mut self.supported_mac_roles, decoder, offset + 0, _depth)?;
3464 Ok(())
3465 }
3466 }
3467
3468 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetTxPowerScenarioResponse {
3469 type Borrowed<'a> = &'a Self;
3470 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3471 value
3472 }
3473 }
3474
3475 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetTxPowerScenarioResponse {
3476 type Owned = Self;
3477
3478 #[inline(always)]
3479 fn inline_align(_context: fidl::encoding::Context) -> usize {
3480 4
3481 }
3482
3483 #[inline(always)]
3484 fn inline_size(_context: fidl::encoding::Context) -> usize {
3485 4
3486 }
3487 }
3488
3489 unsafe impl<D: fidl::encoding::ResourceDialect>
3490 fidl::encoding::Encode<DeviceMonitorGetTxPowerScenarioResponse, D>
3491 for &DeviceMonitorGetTxPowerScenarioResponse
3492 {
3493 #[inline]
3494 unsafe fn encode(
3495 self,
3496 encoder: &mut fidl::encoding::Encoder<'_, D>,
3497 offset: usize,
3498 _depth: fidl::encoding::Depth,
3499 ) -> fidl::Result<()> {
3500 encoder.debug_check_bounds::<DeviceMonitorGetTxPowerScenarioResponse>(offset);
3501 fidl::encoding::Encode::<DeviceMonitorGetTxPowerScenarioResponse, D>::encode(
3503 (
3504 <fidl_fuchsia_wlan_internal__common::TxPowerScenario as fidl::encoding::ValueTypeMarker>::borrow(&self.scenario),
3505 ),
3506 encoder, offset, _depth
3507 )
3508 }
3509 }
3510 unsafe impl<
3511 D: fidl::encoding::ResourceDialect,
3512 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_internal__common::TxPowerScenario, D>,
3513 > fidl::encoding::Encode<DeviceMonitorGetTxPowerScenarioResponse, D> for (T0,)
3514 {
3515 #[inline]
3516 unsafe fn encode(
3517 self,
3518 encoder: &mut fidl::encoding::Encoder<'_, D>,
3519 offset: usize,
3520 depth: fidl::encoding::Depth,
3521 ) -> fidl::Result<()> {
3522 encoder.debug_check_bounds::<DeviceMonitorGetTxPowerScenarioResponse>(offset);
3523 self.0.encode(encoder, offset + 0, depth)?;
3527 Ok(())
3528 }
3529 }
3530
3531 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3532 for DeviceMonitorGetTxPowerScenarioResponse
3533 {
3534 #[inline(always)]
3535 fn new_empty() -> Self {
3536 Self {
3537 scenario: fidl::new_empty!(fidl_fuchsia_wlan_internal__common::TxPowerScenario, D),
3538 }
3539 }
3540
3541 #[inline]
3542 unsafe fn decode(
3543 &mut self,
3544 decoder: &mut fidl::encoding::Decoder<'_, D>,
3545 offset: usize,
3546 _depth: fidl::encoding::Depth,
3547 ) -> fidl::Result<()> {
3548 decoder.debug_check_bounds::<Self>(offset);
3549 fidl::decode!(
3551 fidl_fuchsia_wlan_internal__common::TxPowerScenario,
3552 D,
3553 &mut self.scenario,
3554 decoder,
3555 offset + 0,
3556 _depth
3557 )?;
3558 Ok(())
3559 }
3560 }
3561
3562 impl fidl::encoding::ValueTypeMarker for DeviceMonitorQueryIfaceResponse {
3563 type Borrowed<'a> = &'a Self;
3564 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3565 value
3566 }
3567 }
3568
3569 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorQueryIfaceResponse {
3570 type Owned = Self;
3571
3572 #[inline(always)]
3573 fn inline_align(_context: fidl::encoding::Context) -> usize {
3574 4
3575 }
3576
3577 #[inline(always)]
3578 fn inline_size(_context: fidl::encoding::Context) -> usize {
3579 16
3580 }
3581 }
3582
3583 unsafe impl<D: fidl::encoding::ResourceDialect>
3584 fidl::encoding::Encode<DeviceMonitorQueryIfaceResponse, D>
3585 for &DeviceMonitorQueryIfaceResponse
3586 {
3587 #[inline]
3588 unsafe fn encode(
3589 self,
3590 encoder: &mut fidl::encoding::Encoder<'_, D>,
3591 offset: usize,
3592 _depth: fidl::encoding::Depth,
3593 ) -> fidl::Result<()> {
3594 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceResponse>(offset);
3595 fidl::encoding::Encode::<DeviceMonitorQueryIfaceResponse, D>::encode(
3597 (<QueryIfaceResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
3598 encoder,
3599 offset,
3600 _depth,
3601 )
3602 }
3603 }
3604 unsafe impl<
3605 D: fidl::encoding::ResourceDialect,
3606 T0: fidl::encoding::Encode<QueryIfaceResponse, D>,
3607 > fidl::encoding::Encode<DeviceMonitorQueryIfaceResponse, D> for (T0,)
3608 {
3609 #[inline]
3610 unsafe fn encode(
3611 self,
3612 encoder: &mut fidl::encoding::Encoder<'_, D>,
3613 offset: usize,
3614 depth: fidl::encoding::Depth,
3615 ) -> fidl::Result<()> {
3616 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceResponse>(offset);
3617 self.0.encode(encoder, offset + 0, depth)?;
3621 Ok(())
3622 }
3623 }
3624
3625 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3626 for DeviceMonitorQueryIfaceResponse
3627 {
3628 #[inline(always)]
3629 fn new_empty() -> Self {
3630 Self { resp: fidl::new_empty!(QueryIfaceResponse, D) }
3631 }
3632
3633 #[inline]
3634 unsafe fn decode(
3635 &mut self,
3636 decoder: &mut fidl::encoding::Decoder<'_, D>,
3637 offset: usize,
3638 _depth: fidl::encoding::Depth,
3639 ) -> fidl::Result<()> {
3640 decoder.debug_check_bounds::<Self>(offset);
3641 fidl::decode!(QueryIfaceResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
3643 Ok(())
3644 }
3645 }
3646
3647 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnIfaceAddedRequest {
3648 type Borrowed<'a> = &'a Self;
3649 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3650 value
3651 }
3652 }
3653
3654 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnIfaceAddedRequest {
3655 type Owned = Self;
3656
3657 #[inline(always)]
3658 fn inline_align(_context: fidl::encoding::Context) -> usize {
3659 2
3660 }
3661
3662 #[inline(always)]
3663 fn inline_size(_context: fidl::encoding::Context) -> usize {
3664 2
3665 }
3666 #[inline(always)]
3667 fn encode_is_copy() -> bool {
3668 true
3669 }
3670
3671 #[inline(always)]
3672 fn decode_is_copy() -> bool {
3673 true
3674 }
3675 }
3676
3677 unsafe impl<D: fidl::encoding::ResourceDialect>
3678 fidl::encoding::Encode<DeviceWatcherOnIfaceAddedRequest, D>
3679 for &DeviceWatcherOnIfaceAddedRequest
3680 {
3681 #[inline]
3682 unsafe fn encode(
3683 self,
3684 encoder: &mut fidl::encoding::Encoder<'_, D>,
3685 offset: usize,
3686 _depth: fidl::encoding::Depth,
3687 ) -> fidl::Result<()> {
3688 encoder.debug_check_bounds::<DeviceWatcherOnIfaceAddedRequest>(offset);
3689 unsafe {
3690 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3692 (buf_ptr as *mut DeviceWatcherOnIfaceAddedRequest)
3693 .write_unaligned((self as *const DeviceWatcherOnIfaceAddedRequest).read());
3694 }
3697 Ok(())
3698 }
3699 }
3700 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3701 fidl::encoding::Encode<DeviceWatcherOnIfaceAddedRequest, D> for (T0,)
3702 {
3703 #[inline]
3704 unsafe fn encode(
3705 self,
3706 encoder: &mut fidl::encoding::Encoder<'_, D>,
3707 offset: usize,
3708 depth: fidl::encoding::Depth,
3709 ) -> fidl::Result<()> {
3710 encoder.debug_check_bounds::<DeviceWatcherOnIfaceAddedRequest>(offset);
3711 self.0.encode(encoder, offset + 0, depth)?;
3715 Ok(())
3716 }
3717 }
3718
3719 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3720 for DeviceWatcherOnIfaceAddedRequest
3721 {
3722 #[inline(always)]
3723 fn new_empty() -> Self {
3724 Self { iface_id: fidl::new_empty!(u16, D) }
3725 }
3726
3727 #[inline]
3728 unsafe fn decode(
3729 &mut self,
3730 decoder: &mut fidl::encoding::Decoder<'_, D>,
3731 offset: usize,
3732 _depth: fidl::encoding::Depth,
3733 ) -> fidl::Result<()> {
3734 decoder.debug_check_bounds::<Self>(offset);
3735 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3736 unsafe {
3739 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3740 }
3741 Ok(())
3742 }
3743 }
3744
3745 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnIfaceRemovedRequest {
3746 type Borrowed<'a> = &'a Self;
3747 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3748 value
3749 }
3750 }
3751
3752 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnIfaceRemovedRequest {
3753 type Owned = Self;
3754
3755 #[inline(always)]
3756 fn inline_align(_context: fidl::encoding::Context) -> usize {
3757 2
3758 }
3759
3760 #[inline(always)]
3761 fn inline_size(_context: fidl::encoding::Context) -> usize {
3762 2
3763 }
3764 #[inline(always)]
3765 fn encode_is_copy() -> bool {
3766 true
3767 }
3768
3769 #[inline(always)]
3770 fn decode_is_copy() -> bool {
3771 true
3772 }
3773 }
3774
3775 unsafe impl<D: fidl::encoding::ResourceDialect>
3776 fidl::encoding::Encode<DeviceWatcherOnIfaceRemovedRequest, D>
3777 for &DeviceWatcherOnIfaceRemovedRequest
3778 {
3779 #[inline]
3780 unsafe fn encode(
3781 self,
3782 encoder: &mut fidl::encoding::Encoder<'_, D>,
3783 offset: usize,
3784 _depth: fidl::encoding::Depth,
3785 ) -> fidl::Result<()> {
3786 encoder.debug_check_bounds::<DeviceWatcherOnIfaceRemovedRequest>(offset);
3787 unsafe {
3788 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3790 (buf_ptr as *mut DeviceWatcherOnIfaceRemovedRequest)
3791 .write_unaligned((self as *const DeviceWatcherOnIfaceRemovedRequest).read());
3792 }
3795 Ok(())
3796 }
3797 }
3798 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3799 fidl::encoding::Encode<DeviceWatcherOnIfaceRemovedRequest, D> for (T0,)
3800 {
3801 #[inline]
3802 unsafe fn encode(
3803 self,
3804 encoder: &mut fidl::encoding::Encoder<'_, D>,
3805 offset: usize,
3806 depth: fidl::encoding::Depth,
3807 ) -> fidl::Result<()> {
3808 encoder.debug_check_bounds::<DeviceWatcherOnIfaceRemovedRequest>(offset);
3809 self.0.encode(encoder, offset + 0, depth)?;
3813 Ok(())
3814 }
3815 }
3816
3817 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3818 for DeviceWatcherOnIfaceRemovedRequest
3819 {
3820 #[inline(always)]
3821 fn new_empty() -> Self {
3822 Self { iface_id: fidl::new_empty!(u16, D) }
3823 }
3824
3825 #[inline]
3826 unsafe fn decode(
3827 &mut self,
3828 decoder: &mut fidl::encoding::Decoder<'_, D>,
3829 offset: usize,
3830 _depth: fidl::encoding::Depth,
3831 ) -> fidl::Result<()> {
3832 decoder.debug_check_bounds::<Self>(offset);
3833 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3834 unsafe {
3837 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3838 }
3839 Ok(())
3840 }
3841 }
3842
3843 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnPhyAddedRequest {
3844 type Borrowed<'a> = &'a Self;
3845 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3846 value
3847 }
3848 }
3849
3850 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnPhyAddedRequest {
3851 type Owned = Self;
3852
3853 #[inline(always)]
3854 fn inline_align(_context: fidl::encoding::Context) -> usize {
3855 2
3856 }
3857
3858 #[inline(always)]
3859 fn inline_size(_context: fidl::encoding::Context) -> usize {
3860 2
3861 }
3862 #[inline(always)]
3863 fn encode_is_copy() -> bool {
3864 true
3865 }
3866
3867 #[inline(always)]
3868 fn decode_is_copy() -> bool {
3869 true
3870 }
3871 }
3872
3873 unsafe impl<D: fidl::encoding::ResourceDialect>
3874 fidl::encoding::Encode<DeviceWatcherOnPhyAddedRequest, D>
3875 for &DeviceWatcherOnPhyAddedRequest
3876 {
3877 #[inline]
3878 unsafe fn encode(
3879 self,
3880 encoder: &mut fidl::encoding::Encoder<'_, D>,
3881 offset: usize,
3882 _depth: fidl::encoding::Depth,
3883 ) -> fidl::Result<()> {
3884 encoder.debug_check_bounds::<DeviceWatcherOnPhyAddedRequest>(offset);
3885 unsafe {
3886 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3888 (buf_ptr as *mut DeviceWatcherOnPhyAddedRequest)
3889 .write_unaligned((self as *const DeviceWatcherOnPhyAddedRequest).read());
3890 }
3893 Ok(())
3894 }
3895 }
3896 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3897 fidl::encoding::Encode<DeviceWatcherOnPhyAddedRequest, D> for (T0,)
3898 {
3899 #[inline]
3900 unsafe fn encode(
3901 self,
3902 encoder: &mut fidl::encoding::Encoder<'_, D>,
3903 offset: usize,
3904 depth: fidl::encoding::Depth,
3905 ) -> fidl::Result<()> {
3906 encoder.debug_check_bounds::<DeviceWatcherOnPhyAddedRequest>(offset);
3907 self.0.encode(encoder, offset + 0, depth)?;
3911 Ok(())
3912 }
3913 }
3914
3915 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3916 for DeviceWatcherOnPhyAddedRequest
3917 {
3918 #[inline(always)]
3919 fn new_empty() -> Self {
3920 Self { phy_id: fidl::new_empty!(u16, D) }
3921 }
3922
3923 #[inline]
3924 unsafe fn decode(
3925 &mut self,
3926 decoder: &mut fidl::encoding::Decoder<'_, D>,
3927 offset: usize,
3928 _depth: fidl::encoding::Depth,
3929 ) -> fidl::Result<()> {
3930 decoder.debug_check_bounds::<Self>(offset);
3931 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3932 unsafe {
3935 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3936 }
3937 Ok(())
3938 }
3939 }
3940
3941 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnPhyRemovedRequest {
3942 type Borrowed<'a> = &'a Self;
3943 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3944 value
3945 }
3946 }
3947
3948 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnPhyRemovedRequest {
3949 type Owned = Self;
3950
3951 #[inline(always)]
3952 fn inline_align(_context: fidl::encoding::Context) -> usize {
3953 2
3954 }
3955
3956 #[inline(always)]
3957 fn inline_size(_context: fidl::encoding::Context) -> usize {
3958 2
3959 }
3960 #[inline(always)]
3961 fn encode_is_copy() -> bool {
3962 true
3963 }
3964
3965 #[inline(always)]
3966 fn decode_is_copy() -> bool {
3967 true
3968 }
3969 }
3970
3971 unsafe impl<D: fidl::encoding::ResourceDialect>
3972 fidl::encoding::Encode<DeviceWatcherOnPhyRemovedRequest, D>
3973 for &DeviceWatcherOnPhyRemovedRequest
3974 {
3975 #[inline]
3976 unsafe fn encode(
3977 self,
3978 encoder: &mut fidl::encoding::Encoder<'_, D>,
3979 offset: usize,
3980 _depth: fidl::encoding::Depth,
3981 ) -> fidl::Result<()> {
3982 encoder.debug_check_bounds::<DeviceWatcherOnPhyRemovedRequest>(offset);
3983 unsafe {
3984 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3986 (buf_ptr as *mut DeviceWatcherOnPhyRemovedRequest)
3987 .write_unaligned((self as *const DeviceWatcherOnPhyRemovedRequest).read());
3988 }
3991 Ok(())
3992 }
3993 }
3994 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3995 fidl::encoding::Encode<DeviceWatcherOnPhyRemovedRequest, D> for (T0,)
3996 {
3997 #[inline]
3998 unsafe fn encode(
3999 self,
4000 encoder: &mut fidl::encoding::Encoder<'_, D>,
4001 offset: usize,
4002 depth: fidl::encoding::Depth,
4003 ) -> fidl::Result<()> {
4004 encoder.debug_check_bounds::<DeviceWatcherOnPhyRemovedRequest>(offset);
4005 self.0.encode(encoder, offset + 0, depth)?;
4009 Ok(())
4010 }
4011 }
4012
4013 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4014 for DeviceWatcherOnPhyRemovedRequest
4015 {
4016 #[inline(always)]
4017 fn new_empty() -> Self {
4018 Self { phy_id: fidl::new_empty!(u16, D) }
4019 }
4020
4021 #[inline]
4022 unsafe fn decode(
4023 &mut self,
4024 decoder: &mut fidl::encoding::Decoder<'_, D>,
4025 offset: usize,
4026 _depth: fidl::encoding::Depth,
4027 ) -> fidl::Result<()> {
4028 decoder.debug_check_bounds::<Self>(offset);
4029 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4030 unsafe {
4033 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
4034 }
4035 Ok(())
4036 }
4037 }
4038
4039 impl fidl::encoding::ValueTypeMarker for GetCountryResponse {
4040 type Borrowed<'a> = &'a Self;
4041 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4042 value
4043 }
4044 }
4045
4046 unsafe impl fidl::encoding::TypeMarker for GetCountryResponse {
4047 type Owned = Self;
4048
4049 #[inline(always)]
4050 fn inline_align(_context: fidl::encoding::Context) -> usize {
4051 1
4052 }
4053
4054 #[inline(always)]
4055 fn inline_size(_context: fidl::encoding::Context) -> usize {
4056 2
4057 }
4058 #[inline(always)]
4059 fn encode_is_copy() -> bool {
4060 true
4061 }
4062
4063 #[inline(always)]
4064 fn decode_is_copy() -> bool {
4065 true
4066 }
4067 }
4068
4069 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetCountryResponse, D>
4070 for &GetCountryResponse
4071 {
4072 #[inline]
4073 unsafe fn encode(
4074 self,
4075 encoder: &mut fidl::encoding::Encoder<'_, D>,
4076 offset: usize,
4077 _depth: fidl::encoding::Depth,
4078 ) -> fidl::Result<()> {
4079 encoder.debug_check_bounds::<GetCountryResponse>(offset);
4080 unsafe {
4081 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
4083 (buf_ptr as *mut GetCountryResponse)
4084 .write_unaligned((self as *const GetCountryResponse).read());
4085 }
4088 Ok(())
4089 }
4090 }
4091 unsafe impl<
4092 D: fidl::encoding::ResourceDialect,
4093 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
4094 > fidl::encoding::Encode<GetCountryResponse, D> for (T0,)
4095 {
4096 #[inline]
4097 unsafe fn encode(
4098 self,
4099 encoder: &mut fidl::encoding::Encoder<'_, D>,
4100 offset: usize,
4101 depth: fidl::encoding::Depth,
4102 ) -> fidl::Result<()> {
4103 encoder.debug_check_bounds::<GetCountryResponse>(offset);
4104 self.0.encode(encoder, offset + 0, depth)?;
4108 Ok(())
4109 }
4110 }
4111
4112 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetCountryResponse {
4113 #[inline(always)]
4114 fn new_empty() -> Self {
4115 Self { alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D) }
4116 }
4117
4118 #[inline]
4119 unsafe fn decode(
4120 &mut self,
4121 decoder: &mut fidl::encoding::Decoder<'_, D>,
4122 offset: usize,
4123 _depth: fidl::encoding::Depth,
4124 ) -> fidl::Result<()> {
4125 decoder.debug_check_bounds::<Self>(offset);
4126 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4127 unsafe {
4130 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
4131 }
4132 Ok(())
4133 }
4134 }
4135
4136 impl fidl::encoding::ValueTypeMarker for GetPowerSaveModeResponse {
4137 type Borrowed<'a> = &'a Self;
4138 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4139 value
4140 }
4141 }
4142
4143 unsafe impl fidl::encoding::TypeMarker for GetPowerSaveModeResponse {
4144 type Owned = Self;
4145
4146 #[inline(always)]
4147 fn inline_align(_context: fidl::encoding::Context) -> usize {
4148 4
4149 }
4150
4151 #[inline(always)]
4152 fn inline_size(_context: fidl::encoding::Context) -> usize {
4153 4
4154 }
4155 }
4156
4157 unsafe impl<D: fidl::encoding::ResourceDialect>
4158 fidl::encoding::Encode<GetPowerSaveModeResponse, D> for &GetPowerSaveModeResponse
4159 {
4160 #[inline]
4161 unsafe fn encode(
4162 self,
4163 encoder: &mut fidl::encoding::Encoder<'_, D>,
4164 offset: usize,
4165 _depth: fidl::encoding::Depth,
4166 ) -> fidl::Result<()> {
4167 encoder.debug_check_bounds::<GetPowerSaveModeResponse>(offset);
4168 fidl::encoding::Encode::<GetPowerSaveModeResponse, D>::encode(
4170 (
4171 <fidl_fuchsia_wlan_common__common::PowerSaveType as fidl::encoding::ValueTypeMarker>::borrow(&self.ps_mode),
4172 ),
4173 encoder, offset, _depth
4174 )
4175 }
4176 }
4177 unsafe impl<
4178 D: fidl::encoding::ResourceDialect,
4179 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::PowerSaveType, D>,
4180 > fidl::encoding::Encode<GetPowerSaveModeResponse, D> for (T0,)
4181 {
4182 #[inline]
4183 unsafe fn encode(
4184 self,
4185 encoder: &mut fidl::encoding::Encoder<'_, D>,
4186 offset: usize,
4187 depth: fidl::encoding::Depth,
4188 ) -> fidl::Result<()> {
4189 encoder.debug_check_bounds::<GetPowerSaveModeResponse>(offset);
4190 self.0.encode(encoder, offset + 0, depth)?;
4194 Ok(())
4195 }
4196 }
4197
4198 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4199 for GetPowerSaveModeResponse
4200 {
4201 #[inline(always)]
4202 fn new_empty() -> Self {
4203 Self { ps_mode: fidl::new_empty!(fidl_fuchsia_wlan_common__common::PowerSaveType, D) }
4204 }
4205
4206 #[inline]
4207 unsafe fn decode(
4208 &mut self,
4209 decoder: &mut fidl::encoding::Decoder<'_, D>,
4210 offset: usize,
4211 _depth: fidl::encoding::Depth,
4212 ) -> fidl::Result<()> {
4213 decoder.debug_check_bounds::<Self>(offset);
4214 fidl::decode!(
4216 fidl_fuchsia_wlan_common__common::PowerSaveType,
4217 D,
4218 &mut self.ps_mode,
4219 decoder,
4220 offset + 0,
4221 _depth
4222 )?;
4223 Ok(())
4224 }
4225 }
4226
4227 impl fidl::encoding::ValueTypeMarker for QueryIfaceResponse {
4228 type Borrowed<'a> = &'a Self;
4229 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4230 value
4231 }
4232 }
4233
4234 unsafe impl fidl::encoding::TypeMarker for QueryIfaceResponse {
4235 type Owned = Self;
4236
4237 #[inline(always)]
4238 fn inline_align(_context: fidl::encoding::Context) -> usize {
4239 4
4240 }
4241
4242 #[inline(always)]
4243 fn inline_size(_context: fidl::encoding::Context) -> usize {
4244 16
4245 }
4246 }
4247
4248 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<QueryIfaceResponse, D>
4249 for &QueryIfaceResponse
4250 {
4251 #[inline]
4252 unsafe fn encode(
4253 self,
4254 encoder: &mut fidl::encoding::Encoder<'_, D>,
4255 offset: usize,
4256 _depth: fidl::encoding::Depth,
4257 ) -> fidl::Result<()> {
4258 encoder.debug_check_bounds::<QueryIfaceResponse>(offset);
4259 fidl::encoding::Encode::<QueryIfaceResponse, D>::encode(
4261 (
4262 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
4263 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
4264 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
4265 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_assigned_id),
4266 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
4267 ),
4268 encoder, offset, _depth
4269 )
4270 }
4271 }
4272 unsafe impl<
4273 D: fidl::encoding::ResourceDialect,
4274 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
4275 T1: fidl::encoding::Encode<u16, D>,
4276 T2: fidl::encoding::Encode<u16, D>,
4277 T3: fidl::encoding::Encode<u16, D>,
4278 T4: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
4279 > fidl::encoding::Encode<QueryIfaceResponse, D> for (T0, T1, T2, T3, T4)
4280 {
4281 #[inline]
4282 unsafe fn encode(
4283 self,
4284 encoder: &mut fidl::encoding::Encoder<'_, D>,
4285 offset: usize,
4286 depth: fidl::encoding::Depth,
4287 ) -> fidl::Result<()> {
4288 encoder.debug_check_bounds::<QueryIfaceResponse>(offset);
4289 self.0.encode(encoder, offset + 0, depth)?;
4293 self.1.encode(encoder, offset + 4, depth)?;
4294 self.2.encode(encoder, offset + 6, depth)?;
4295 self.3.encode(encoder, offset + 8, depth)?;
4296 self.4.encode(encoder, offset + 10, depth)?;
4297 Ok(())
4298 }
4299 }
4300
4301 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for QueryIfaceResponse {
4302 #[inline(always)]
4303 fn new_empty() -> Self {
4304 Self {
4305 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
4306 id: fidl::new_empty!(u16, D),
4307 phy_id: fidl::new_empty!(u16, D),
4308 phy_assigned_id: fidl::new_empty!(u16, D),
4309 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
4310 }
4311 }
4312
4313 #[inline]
4314 unsafe fn decode(
4315 &mut self,
4316 decoder: &mut fidl::encoding::Decoder<'_, D>,
4317 offset: usize,
4318 _depth: fidl::encoding::Depth,
4319 ) -> fidl::Result<()> {
4320 decoder.debug_check_bounds::<Self>(offset);
4321 fidl::decode!(
4323 fidl_fuchsia_wlan_common__common::WlanMacRole,
4324 D,
4325 &mut self.role,
4326 decoder,
4327 offset + 0,
4328 _depth
4329 )?;
4330 fidl::decode!(u16, D, &mut self.id, decoder, offset + 4, _depth)?;
4331 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 6, _depth)?;
4332 fidl::decode!(u16, D, &mut self.phy_assigned_id, decoder, offset + 8, _depth)?;
4333 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 10, _depth)?;
4334 Ok(())
4335 }
4336 }
4337
4338 impl fidl::encoding::ValueTypeMarker for SetCountryRequest {
4339 type Borrowed<'a> = &'a Self;
4340 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4341 value
4342 }
4343 }
4344
4345 unsafe impl fidl::encoding::TypeMarker for SetCountryRequest {
4346 type Owned = Self;
4347
4348 #[inline(always)]
4349 fn inline_align(_context: fidl::encoding::Context) -> usize {
4350 2
4351 }
4352
4353 #[inline(always)]
4354 fn inline_size(_context: fidl::encoding::Context) -> usize {
4355 4
4356 }
4357 #[inline(always)]
4358 fn encode_is_copy() -> bool {
4359 true
4360 }
4361
4362 #[inline(always)]
4363 fn decode_is_copy() -> bool {
4364 true
4365 }
4366 }
4367
4368 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetCountryRequest, D>
4369 for &SetCountryRequest
4370 {
4371 #[inline]
4372 unsafe fn encode(
4373 self,
4374 encoder: &mut fidl::encoding::Encoder<'_, D>,
4375 offset: usize,
4376 _depth: fidl::encoding::Depth,
4377 ) -> fidl::Result<()> {
4378 encoder.debug_check_bounds::<SetCountryRequest>(offset);
4379 unsafe {
4380 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
4382 (buf_ptr as *mut SetCountryRequest)
4383 .write_unaligned((self as *const SetCountryRequest).read());
4384 }
4387 Ok(())
4388 }
4389 }
4390 unsafe impl<
4391 D: fidl::encoding::ResourceDialect,
4392 T0: fidl::encoding::Encode<u16, D>,
4393 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
4394 > fidl::encoding::Encode<SetCountryRequest, D> for (T0, T1)
4395 {
4396 #[inline]
4397 unsafe fn encode(
4398 self,
4399 encoder: &mut fidl::encoding::Encoder<'_, D>,
4400 offset: usize,
4401 depth: fidl::encoding::Depth,
4402 ) -> fidl::Result<()> {
4403 encoder.debug_check_bounds::<SetCountryRequest>(offset);
4404 self.0.encode(encoder, offset + 0, depth)?;
4408 self.1.encode(encoder, offset + 2, depth)?;
4409 Ok(())
4410 }
4411 }
4412
4413 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetCountryRequest {
4414 #[inline(always)]
4415 fn new_empty() -> Self {
4416 Self {
4417 phy_id: fidl::new_empty!(u16, D),
4418 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
4419 }
4420 }
4421
4422 #[inline]
4423 unsafe fn decode(
4424 &mut self,
4425 decoder: &mut fidl::encoding::Decoder<'_, D>,
4426 offset: usize,
4427 _depth: fidl::encoding::Depth,
4428 ) -> fidl::Result<()> {
4429 decoder.debug_check_bounds::<Self>(offset);
4430 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
4431 unsafe {
4434 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
4435 }
4436 Ok(())
4437 }
4438 }
4439
4440 impl fidl::encoding::ValueTypeMarker for SetPowerSaveModeRequest {
4441 type Borrowed<'a> = &'a Self;
4442 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4443 value
4444 }
4445 }
4446
4447 unsafe impl fidl::encoding::TypeMarker for SetPowerSaveModeRequest {
4448 type Owned = Self;
4449
4450 #[inline(always)]
4451 fn inline_align(_context: fidl::encoding::Context) -> usize {
4452 4
4453 }
4454
4455 #[inline(always)]
4456 fn inline_size(_context: fidl::encoding::Context) -> usize {
4457 8
4458 }
4459 }
4460
4461 unsafe impl<D: fidl::encoding::ResourceDialect>
4462 fidl::encoding::Encode<SetPowerSaveModeRequest, D> for &SetPowerSaveModeRequest
4463 {
4464 #[inline]
4465 unsafe fn encode(
4466 self,
4467 encoder: &mut fidl::encoding::Encoder<'_, D>,
4468 offset: usize,
4469 _depth: fidl::encoding::Depth,
4470 ) -> fidl::Result<()> {
4471 encoder.debug_check_bounds::<SetPowerSaveModeRequest>(offset);
4472 fidl::encoding::Encode::<SetPowerSaveModeRequest, D>::encode(
4474 (
4475 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
4476 <fidl_fuchsia_wlan_common__common::PowerSaveType as fidl::encoding::ValueTypeMarker>::borrow(&self.ps_mode),
4477 ),
4478 encoder, offset, _depth
4479 )
4480 }
4481 }
4482 unsafe impl<
4483 D: fidl::encoding::ResourceDialect,
4484 T0: fidl::encoding::Encode<u16, D>,
4485 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::PowerSaveType, D>,
4486 > fidl::encoding::Encode<SetPowerSaveModeRequest, D> for (T0, T1)
4487 {
4488 #[inline]
4489 unsafe fn encode(
4490 self,
4491 encoder: &mut fidl::encoding::Encoder<'_, D>,
4492 offset: usize,
4493 depth: fidl::encoding::Depth,
4494 ) -> fidl::Result<()> {
4495 encoder.debug_check_bounds::<SetPowerSaveModeRequest>(offset);
4496 unsafe {
4499 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
4500 (ptr as *mut u32).write_unaligned(0);
4501 }
4502 self.0.encode(encoder, offset + 0, depth)?;
4504 self.1.encode(encoder, offset + 4, depth)?;
4505 Ok(())
4506 }
4507 }
4508
4509 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4510 for SetPowerSaveModeRequest
4511 {
4512 #[inline(always)]
4513 fn new_empty() -> Self {
4514 Self {
4515 phy_id: fidl::new_empty!(u16, D),
4516 ps_mode: fidl::new_empty!(fidl_fuchsia_wlan_common__common::PowerSaveType, D),
4517 }
4518 }
4519
4520 #[inline]
4521 unsafe fn decode(
4522 &mut self,
4523 decoder: &mut fidl::encoding::Decoder<'_, D>,
4524 offset: usize,
4525 _depth: fidl::encoding::Depth,
4526 ) -> fidl::Result<()> {
4527 decoder.debug_check_bounds::<Self>(offset);
4528 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
4530 let padval = unsafe { (ptr as *const u32).read_unaligned() };
4531 let mask = 0xffff0000u32;
4532 let maskedval = padval & mask;
4533 if maskedval != 0 {
4534 return Err(fidl::Error::NonZeroPadding {
4535 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
4536 });
4537 }
4538 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 0, _depth)?;
4539 fidl::decode!(
4540 fidl_fuchsia_wlan_common__common::PowerSaveType,
4541 D,
4542 &mut self.ps_mode,
4543 decoder,
4544 offset + 4,
4545 _depth
4546 )?;
4547 Ok(())
4548 }
4549 }
4550
4551 impl DeviceMonitorCreateIfaceRequest {
4552 #[inline(always)]
4553 fn max_ordinal_present(&self) -> u64 {
4554 if let Some(_) = self.sta_address {
4555 return 3;
4556 }
4557 if let Some(_) = self.role {
4558 return 2;
4559 }
4560 if let Some(_) = self.phy_id {
4561 return 1;
4562 }
4563 0
4564 }
4565 }
4566
4567 impl fidl::encoding::ValueTypeMarker for DeviceMonitorCreateIfaceRequest {
4568 type Borrowed<'a> = &'a Self;
4569 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4570 value
4571 }
4572 }
4573
4574 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorCreateIfaceRequest {
4575 type Owned = Self;
4576
4577 #[inline(always)]
4578 fn inline_align(_context: fidl::encoding::Context) -> usize {
4579 8
4580 }
4581
4582 #[inline(always)]
4583 fn inline_size(_context: fidl::encoding::Context) -> usize {
4584 16
4585 }
4586 }
4587
4588 unsafe impl<D: fidl::encoding::ResourceDialect>
4589 fidl::encoding::Encode<DeviceMonitorCreateIfaceRequest, D>
4590 for &DeviceMonitorCreateIfaceRequest
4591 {
4592 unsafe fn encode(
4593 self,
4594 encoder: &mut fidl::encoding::Encoder<'_, D>,
4595 offset: usize,
4596 mut depth: fidl::encoding::Depth,
4597 ) -> fidl::Result<()> {
4598 encoder.debug_check_bounds::<DeviceMonitorCreateIfaceRequest>(offset);
4599 let max_ordinal: u64 = self.max_ordinal_present();
4601 encoder.write_num(max_ordinal, offset);
4602 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4603 if max_ordinal == 0 {
4605 return Ok(());
4606 }
4607 depth.increment()?;
4608 let envelope_size = 8;
4609 let bytes_len = max_ordinal as usize * envelope_size;
4610 #[allow(unused_variables)]
4611 let offset = encoder.out_of_line_offset(bytes_len);
4612 let mut _prev_end_offset: usize = 0;
4613 if 1 > max_ordinal {
4614 return Ok(());
4615 }
4616
4617 let cur_offset: usize = (1 - 1) * envelope_size;
4620
4621 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4623
4624 fidl::encoding::encode_in_envelope_optional::<u16, D>(
4629 self.phy_id.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
4630 encoder,
4631 offset + cur_offset,
4632 depth,
4633 )?;
4634
4635 _prev_end_offset = cur_offset + envelope_size;
4636 if 2 > max_ordinal {
4637 return Ok(());
4638 }
4639
4640 let cur_offset: usize = (2 - 1) * envelope_size;
4643
4644 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4646
4647 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_common__common::WlanMacRole, D>(
4652 self.role.as_ref().map(<fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow),
4653 encoder, offset + cur_offset, depth
4654 )?;
4655
4656 _prev_end_offset = cur_offset + envelope_size;
4657 if 3 > max_ordinal {
4658 return Ok(());
4659 }
4660
4661 let cur_offset: usize = (3 - 1) * envelope_size;
4664
4665 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4667
4668 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4673 self.sta_address
4674 .as_ref()
4675 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4676 encoder,
4677 offset + cur_offset,
4678 depth,
4679 )?;
4680
4681 _prev_end_offset = cur_offset + envelope_size;
4682
4683 Ok(())
4684 }
4685 }
4686
4687 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4688 for DeviceMonitorCreateIfaceRequest
4689 {
4690 #[inline(always)]
4691 fn new_empty() -> Self {
4692 Self::default()
4693 }
4694
4695 unsafe fn decode(
4696 &mut self,
4697 decoder: &mut fidl::encoding::Decoder<'_, D>,
4698 offset: usize,
4699 mut depth: fidl::encoding::Depth,
4700 ) -> fidl::Result<()> {
4701 decoder.debug_check_bounds::<Self>(offset);
4702 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4703 None => return Err(fidl::Error::NotNullable),
4704 Some(len) => len,
4705 };
4706 if len == 0 {
4708 return Ok(());
4709 };
4710 depth.increment()?;
4711 let envelope_size = 8;
4712 let bytes_len = len * envelope_size;
4713 let offset = decoder.out_of_line_offset(bytes_len)?;
4714 let mut _next_ordinal_to_read = 0;
4716 let mut next_offset = offset;
4717 let end_offset = offset + bytes_len;
4718 _next_ordinal_to_read += 1;
4719 if next_offset >= end_offset {
4720 return Ok(());
4721 }
4722
4723 while _next_ordinal_to_read < 1 {
4725 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4726 _next_ordinal_to_read += 1;
4727 next_offset += envelope_size;
4728 }
4729
4730 let next_out_of_line = decoder.next_out_of_line();
4731 let handles_before = decoder.remaining_handles();
4732 if let Some((inlined, num_bytes, num_handles)) =
4733 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4734 {
4735 let member_inline_size =
4736 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4737 if inlined != (member_inline_size <= 4) {
4738 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4739 }
4740 let inner_offset;
4741 let mut inner_depth = depth.clone();
4742 if inlined {
4743 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4744 inner_offset = next_offset;
4745 } else {
4746 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4747 inner_depth.increment()?;
4748 }
4749 let val_ref = self.phy_id.get_or_insert_with(|| fidl::new_empty!(u16, D));
4750 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
4751 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4752 {
4753 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4754 }
4755 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4756 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4757 }
4758 }
4759
4760 next_offset += envelope_size;
4761 _next_ordinal_to_read += 1;
4762 if next_offset >= end_offset {
4763 return Ok(());
4764 }
4765
4766 while _next_ordinal_to_read < 2 {
4768 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4769 _next_ordinal_to_read += 1;
4770 next_offset += envelope_size;
4771 }
4772
4773 let next_out_of_line = decoder.next_out_of_line();
4774 let handles_before = decoder.remaining_handles();
4775 if let Some((inlined, num_bytes, num_handles)) =
4776 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4777 {
4778 let member_inline_size = <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4779 if inlined != (member_inline_size <= 4) {
4780 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4781 }
4782 let inner_offset;
4783 let mut inner_depth = depth.clone();
4784 if inlined {
4785 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4786 inner_offset = next_offset;
4787 } else {
4788 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4789 inner_depth.increment()?;
4790 }
4791 let val_ref = self.role.get_or_insert_with(|| {
4792 fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D)
4793 });
4794 fidl::decode!(
4795 fidl_fuchsia_wlan_common__common::WlanMacRole,
4796 D,
4797 val_ref,
4798 decoder,
4799 inner_offset,
4800 inner_depth
4801 )?;
4802 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4803 {
4804 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4805 }
4806 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4807 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4808 }
4809 }
4810
4811 next_offset += envelope_size;
4812 _next_ordinal_to_read += 1;
4813 if next_offset >= end_offset {
4814 return Ok(());
4815 }
4816
4817 while _next_ordinal_to_read < 3 {
4819 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4820 _next_ordinal_to_read += 1;
4821 next_offset += envelope_size;
4822 }
4823
4824 let next_out_of_line = decoder.next_out_of_line();
4825 let handles_before = decoder.remaining_handles();
4826 if let Some((inlined, num_bytes, num_handles)) =
4827 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4828 {
4829 let member_inline_size =
4830 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4831 decoder.context,
4832 );
4833 if inlined != (member_inline_size <= 4) {
4834 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4835 }
4836 let inner_offset;
4837 let mut inner_depth = depth.clone();
4838 if inlined {
4839 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4840 inner_offset = next_offset;
4841 } else {
4842 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4843 inner_depth.increment()?;
4844 }
4845 let val_ref = self
4846 .sta_address
4847 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4848 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4849 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4850 {
4851 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4852 }
4853 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4854 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4855 }
4856 }
4857
4858 next_offset += envelope_size;
4859
4860 while next_offset < end_offset {
4862 _next_ordinal_to_read += 1;
4863 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4864 next_offset += envelope_size;
4865 }
4866
4867 Ok(())
4868 }
4869 }
4870
4871 impl DeviceMonitorCreateIfaceResponse {
4872 #[inline(always)]
4873 fn max_ordinal_present(&self) -> u64 {
4874 if let Some(_) = self.iface_id {
4875 return 1;
4876 }
4877 0
4878 }
4879 }
4880
4881 impl fidl::encoding::ValueTypeMarker for DeviceMonitorCreateIfaceResponse {
4882 type Borrowed<'a> = &'a Self;
4883 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4884 value
4885 }
4886 }
4887
4888 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorCreateIfaceResponse {
4889 type Owned = Self;
4890
4891 #[inline(always)]
4892 fn inline_align(_context: fidl::encoding::Context) -> usize {
4893 8
4894 }
4895
4896 #[inline(always)]
4897 fn inline_size(_context: fidl::encoding::Context) -> usize {
4898 16
4899 }
4900 }
4901
4902 unsafe impl<D: fidl::encoding::ResourceDialect>
4903 fidl::encoding::Encode<DeviceMonitorCreateIfaceResponse, D>
4904 for &DeviceMonitorCreateIfaceResponse
4905 {
4906 unsafe fn encode(
4907 self,
4908 encoder: &mut fidl::encoding::Encoder<'_, D>,
4909 offset: usize,
4910 mut depth: fidl::encoding::Depth,
4911 ) -> fidl::Result<()> {
4912 encoder.debug_check_bounds::<DeviceMonitorCreateIfaceResponse>(offset);
4913 let max_ordinal: u64 = self.max_ordinal_present();
4915 encoder.write_num(max_ordinal, offset);
4916 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4917 if max_ordinal == 0 {
4919 return Ok(());
4920 }
4921 depth.increment()?;
4922 let envelope_size = 8;
4923 let bytes_len = max_ordinal as usize * envelope_size;
4924 #[allow(unused_variables)]
4925 let offset = encoder.out_of_line_offset(bytes_len);
4926 let mut _prev_end_offset: usize = 0;
4927 if 1 > max_ordinal {
4928 return Ok(());
4929 }
4930
4931 let cur_offset: usize = (1 - 1) * envelope_size;
4934
4935 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4937
4938 fidl::encoding::encode_in_envelope_optional::<u16, D>(
4943 self.iface_id.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
4944 encoder,
4945 offset + cur_offset,
4946 depth,
4947 )?;
4948
4949 _prev_end_offset = cur_offset + envelope_size;
4950
4951 Ok(())
4952 }
4953 }
4954
4955 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4956 for DeviceMonitorCreateIfaceResponse
4957 {
4958 #[inline(always)]
4959 fn new_empty() -> Self {
4960 Self::default()
4961 }
4962
4963 unsafe fn decode(
4964 &mut self,
4965 decoder: &mut fidl::encoding::Decoder<'_, D>,
4966 offset: usize,
4967 mut depth: fidl::encoding::Depth,
4968 ) -> fidl::Result<()> {
4969 decoder.debug_check_bounds::<Self>(offset);
4970 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4971 None => return Err(fidl::Error::NotNullable),
4972 Some(len) => len,
4973 };
4974 if len == 0 {
4976 return Ok(());
4977 };
4978 depth.increment()?;
4979 let envelope_size = 8;
4980 let bytes_len = len * envelope_size;
4981 let offset = decoder.out_of_line_offset(bytes_len)?;
4982 let mut _next_ordinal_to_read = 0;
4984 let mut next_offset = offset;
4985 let end_offset = offset + bytes_len;
4986 _next_ordinal_to_read += 1;
4987 if next_offset >= end_offset {
4988 return Ok(());
4989 }
4990
4991 while _next_ordinal_to_read < 1 {
4993 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4994 _next_ordinal_to_read += 1;
4995 next_offset += envelope_size;
4996 }
4997
4998 let next_out_of_line = decoder.next_out_of_line();
4999 let handles_before = decoder.remaining_handles();
5000 if let Some((inlined, num_bytes, num_handles)) =
5001 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5002 {
5003 let member_inline_size =
5004 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5005 if inlined != (member_inline_size <= 4) {
5006 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5007 }
5008 let inner_offset;
5009 let mut inner_depth = depth.clone();
5010 if inlined {
5011 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5012 inner_offset = next_offset;
5013 } else {
5014 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5015 inner_depth.increment()?;
5016 }
5017 let val_ref = self.iface_id.get_or_insert_with(|| fidl::new_empty!(u16, D));
5018 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
5019 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5020 {
5021 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5022 }
5023 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5024 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5025 }
5026 }
5027
5028 next_offset += envelope_size;
5029
5030 while next_offset < end_offset {
5032 _next_ordinal_to_read += 1;
5033 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5034 next_offset += envelope_size;
5035 }
5036
5037 Ok(())
5038 }
5039 }
5040
5041 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
5042 type Borrowed<'a> = &'a Self;
5043 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5044 value
5045 }
5046 }
5047
5048 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
5049 type Owned = Self;
5050
5051 #[inline(always)]
5052 fn inline_align(_context: fidl::encoding::Context) -> usize {
5053 8
5054 }
5055
5056 #[inline(always)]
5057 fn inline_size(_context: fidl::encoding::Context) -> usize {
5058 16
5059 }
5060 }
5061
5062 unsafe impl<D: fidl::encoding::ResourceDialect>
5063 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
5064 for &GetIfaceHistogramStatsResponse
5065 {
5066 #[inline]
5067 unsafe fn encode(
5068 self,
5069 encoder: &mut fidl::encoding::Encoder<'_, D>,
5070 offset: usize,
5071 _depth: fidl::encoding::Depth,
5072 ) -> fidl::Result<()> {
5073 encoder.debug_check_bounds::<GetIfaceHistogramStatsResponse>(offset);
5074 encoder.write_num::<u64>(self.ordinal(), offset);
5075 match self {
5076 GetIfaceHistogramStatsResponse::Stats(ref val) => {
5077 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
5078 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
5079 encoder, offset + 8, _depth
5080 )
5081 }
5082 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
5083 fidl::encoding::encode_in_envelope::<i32, D>(
5084 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
5085 encoder, offset + 8, _depth
5086 )
5087 }
5088 }
5089 }
5090 }
5091
5092 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5093 for GetIfaceHistogramStatsResponse
5094 {
5095 #[inline(always)]
5096 fn new_empty() -> Self {
5097 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
5098 }
5099
5100 #[inline]
5101 unsafe fn decode(
5102 &mut self,
5103 decoder: &mut fidl::encoding::Decoder<'_, D>,
5104 offset: usize,
5105 mut depth: fidl::encoding::Depth,
5106 ) -> fidl::Result<()> {
5107 decoder.debug_check_bounds::<Self>(offset);
5108 #[allow(unused_variables)]
5109 let next_out_of_line = decoder.next_out_of_line();
5110 let handles_before = decoder.remaining_handles();
5111 let (ordinal, inlined, num_bytes, num_handles) =
5112 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
5113
5114 let member_inline_size = match ordinal {
5115 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5116 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
5117 _ => return Err(fidl::Error::UnknownUnionTag),
5118 };
5119
5120 if inlined != (member_inline_size <= 4) {
5121 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5122 }
5123 let _inner_offset;
5124 if inlined {
5125 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
5126 _inner_offset = offset + 8;
5127 } else {
5128 depth.increment()?;
5129 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5130 }
5131 match ordinal {
5132 1 => {
5133 #[allow(irrefutable_let_patterns)]
5134 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
5135 } else {
5137 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
5139 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
5140 D
5141 ));
5142 }
5143 #[allow(irrefutable_let_patterns)]
5144 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
5145 fidl::decode!(
5146 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
5147 D,
5148 val,
5149 decoder,
5150 _inner_offset,
5151 depth
5152 )?;
5153 } else {
5154 unreachable!()
5155 }
5156 }
5157 2 => {
5158 #[allow(irrefutable_let_patterns)]
5159 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
5160 } else {
5162 *self =
5164 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
5165 }
5166 #[allow(irrefutable_let_patterns)]
5167 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
5168 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
5169 } else {
5170 unreachable!()
5171 }
5172 }
5173 ordinal => panic!("unexpected ordinal {:?}", ordinal),
5174 }
5175 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
5176 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5177 }
5178 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5179 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5180 }
5181 Ok(())
5182 }
5183 }
5184}