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 #[doc(hidden)]
14 __SourceBreaking { unknown_ordinal: u32 },
15}
16
17#[macro_export]
19macro_rules! DeviceMonitorErrorUnknown {
20 () => {
21 _
22 };
23}
24
25impl DeviceMonitorError {
26 #[inline]
27 pub fn from_primitive(prim: u32) -> Option<Self> {
28 match prim {
29 _ => None,
30 }
31 }
32
33 #[inline]
34 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
35 match prim {
36 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
37 }
38 }
39
40 #[inline]
41 pub fn unknown() -> Self {
42 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
43 }
44
45 #[inline]
46 pub const fn into_primitive(self) -> u32 {
47 match self {
48 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
49 }
50 }
51
52 #[inline]
53 pub fn is_unknown(&self) -> bool {
54 match self {
55 Self::__SourceBreaking { unknown_ordinal: _ } => true,
56 }
57 }
58}
59
60#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
61#[repr(C)]
62pub struct ClearCountryRequest {
63 pub phy_id: u16,
64}
65
66impl fidl::Persistable for ClearCountryRequest {}
67
68#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
69#[repr(C)]
70pub struct DestroyIfaceRequest {
71 pub iface_id: u16,
72}
73
74impl fidl::Persistable for DestroyIfaceRequest {}
75
76#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
77#[repr(C)]
78pub struct DeviceMonitorClearCountryRequest {
79 pub req: ClearCountryRequest,
80}
81
82impl fidl::Persistable for DeviceMonitorClearCountryRequest {}
83
84#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
85#[repr(C)]
86pub struct DeviceMonitorClearCountryResponse {
87 pub status: i32,
88}
89
90impl fidl::Persistable for DeviceMonitorClearCountryResponse {}
91
92#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
93#[repr(C)]
94pub struct DeviceMonitorDestroyIfaceRequest {
95 pub req: DestroyIfaceRequest,
96}
97
98impl fidl::Persistable for DeviceMonitorDestroyIfaceRequest {}
99
100#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
101#[repr(C)]
102pub struct DeviceMonitorDestroyIfaceResponse {
103 pub status: i32,
104}
105
106impl fidl::Persistable for DeviceMonitorDestroyIfaceResponse {}
107
108#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
109#[repr(C)]
110pub struct DeviceMonitorGetCountryRequest {
111 pub phy_id: u16,
112}
113
114impl fidl::Persistable for DeviceMonitorGetCountryRequest {}
115
116#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
117#[repr(C)]
118pub struct DeviceMonitorGetDevPathRequest {
119 pub phy_id: u16,
120}
121
122impl fidl::Persistable for DeviceMonitorGetDevPathRequest {}
123
124#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
125pub struct DeviceMonitorGetDevPathResponse {
126 pub dev_path: Option<String>,
127}
128
129impl fidl::Persistable for DeviceMonitorGetDevPathResponse {}
130
131#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
132#[repr(C)]
133pub struct DeviceMonitorGetPowerSaveModeRequest {
134 pub phy_id: u16,
135}
136
137impl fidl::Persistable for DeviceMonitorGetPowerSaveModeRequest {}
138
139#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
140#[repr(C)]
141pub struct DeviceMonitorGetPowerStateRequest {
142 pub phy_id: u16,
143}
144
145impl fidl::Persistable for DeviceMonitorGetPowerStateRequest {}
146
147#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
148#[repr(C)]
149pub struct DeviceMonitorGetSupportedMacRolesRequest {
150 pub phy_id: u16,
151}
152
153impl fidl::Persistable for DeviceMonitorGetSupportedMacRolesRequest {}
154
155#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
156pub struct DeviceMonitorListIfacesResponse {
157 pub iface_list: Vec<u16>,
158}
159
160impl fidl::Persistable for DeviceMonitorListIfacesResponse {}
161
162#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
163pub struct DeviceMonitorListPhysResponse {
164 pub phy_list: Vec<u16>,
165}
166
167impl fidl::Persistable for DeviceMonitorListPhysResponse {}
168
169#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
170#[repr(C)]
171pub struct DeviceMonitorPowerDownRequest {
172 pub phy_id: u16,
173}
174
175impl fidl::Persistable for DeviceMonitorPowerDownRequest {}
176
177#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
178#[repr(C)]
179pub struct DeviceMonitorPowerUpRequest {
180 pub phy_id: u16,
181}
182
183impl fidl::Persistable for DeviceMonitorPowerUpRequest {}
184
185#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
186#[repr(C)]
187pub struct DeviceMonitorQueryIfaceRequest {
188 pub iface_id: u16,
189}
190
191impl fidl::Persistable for DeviceMonitorQueryIfaceRequest {}
192
193#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
194#[repr(C)]
195pub struct DeviceMonitorResetRequest {
196 pub phy_id: u16,
197}
198
199impl fidl::Persistable for DeviceMonitorResetRequest {}
200
201#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
202#[repr(C)]
203pub struct DeviceMonitorSetCountryRequest {
204 pub req: SetCountryRequest,
205}
206
207impl fidl::Persistable for DeviceMonitorSetCountryRequest {}
208
209#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
210#[repr(C)]
211pub struct DeviceMonitorSetCountryResponse {
212 pub status: i32,
213}
214
215impl fidl::Persistable for DeviceMonitorSetCountryResponse {}
216
217#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
218pub struct DeviceMonitorSetPowerSaveModeRequest {
219 pub req: SetPowerSaveModeRequest,
220}
221
222impl fidl::Persistable for DeviceMonitorSetPowerSaveModeRequest {}
223
224#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
225#[repr(C)]
226pub struct DeviceMonitorSetPowerSaveModeResponse {
227 pub status: i32,
228}
229
230impl fidl::Persistable for DeviceMonitorSetPowerSaveModeResponse {}
231
232#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
233#[repr(C)]
234pub struct DeviceMonitorGetCountryResponse {
235 pub resp: GetCountryResponse,
236}
237
238impl fidl::Persistable for DeviceMonitorGetCountryResponse {}
239
240#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
241pub struct DeviceMonitorGetPowerSaveModeResponse {
242 pub resp: GetPowerSaveModeResponse,
243}
244
245impl fidl::Persistable for DeviceMonitorGetPowerSaveModeResponse {}
246
247#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
248pub struct DeviceMonitorGetPowerStateResponse {
249 pub power_on: bool,
250}
251
252impl fidl::Persistable for DeviceMonitorGetPowerStateResponse {}
253
254#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
255pub struct DeviceMonitorGetSupportedMacRolesResponse {
256 pub supported_mac_roles: Vec<fidl_fuchsia_wlan_common__common::WlanMacRole>,
257}
258
259impl fidl::Persistable for DeviceMonitorGetSupportedMacRolesResponse {}
260
261#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
262pub struct DeviceMonitorQueryIfaceResponse {
263 pub resp: QueryIfaceResponse,
264}
265
266impl fidl::Persistable for DeviceMonitorQueryIfaceResponse {}
267
268#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
269#[repr(C)]
270pub struct DeviceWatcherOnIfaceAddedRequest {
271 pub iface_id: u16,
272}
273
274impl fidl::Persistable for DeviceWatcherOnIfaceAddedRequest {}
275
276#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
277#[repr(C)]
278pub struct DeviceWatcherOnIfaceRemovedRequest {
279 pub iface_id: u16,
280}
281
282impl fidl::Persistable for DeviceWatcherOnIfaceRemovedRequest {}
283
284#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
285#[repr(C)]
286pub struct DeviceWatcherOnPhyAddedRequest {
287 pub phy_id: u16,
288}
289
290impl fidl::Persistable for DeviceWatcherOnPhyAddedRequest {}
291
292#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
293#[repr(C)]
294pub struct DeviceWatcherOnPhyRemovedRequest {
295 pub phy_id: u16,
296}
297
298impl fidl::Persistable for DeviceWatcherOnPhyRemovedRequest {}
299
300#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
301#[repr(C)]
302pub struct GetCountryResponse {
303 pub alpha2: [u8; 2],
304}
305
306impl fidl::Persistable for GetCountryResponse {}
307
308#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
309pub struct GetPowerSaveModeResponse {
310 pub ps_mode: fidl_fuchsia_wlan_common__common::PowerSaveType,
312}
313
314impl fidl::Persistable for GetPowerSaveModeResponse {}
315
316#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
317pub struct QueryIfaceResponse {
318 pub role: fidl_fuchsia_wlan_common__common::WlanMacRole,
320 pub id: u16,
322 pub phy_id: u16,
324 pub phy_assigned_id: u16,
326 pub sta_addr: [u8; 6],
328}
329
330impl fidl::Persistable for QueryIfaceResponse {}
331
332#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
333#[repr(C)]
334pub struct SetCountryRequest {
335 pub phy_id: u16,
336 pub alpha2: [u8; 2],
337}
338
339impl fidl::Persistable for SetCountryRequest {}
340
341#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
342pub struct SetPowerSaveModeRequest {
343 pub phy_id: u16,
345 pub ps_mode: fidl_fuchsia_wlan_common__common::PowerSaveType,
347}
348
349impl fidl::Persistable for SetPowerSaveModeRequest {}
350
351#[derive(Clone, Debug, Default, PartialEq)]
352pub struct DeviceMonitorCreateIfaceRequest {
353 pub phy_id: Option<u16>,
354 pub role: Option<fidl_fuchsia_wlan_common__common::WlanMacRole>,
355 pub sta_address: Option<[u8; 6]>,
356 #[doc(hidden)]
357 pub __source_breaking: fidl::marker::SourceBreaking,
358}
359
360impl fidl::Persistable for DeviceMonitorCreateIfaceRequest {}
361
362#[derive(Clone, Debug, Default, PartialEq)]
363pub struct DeviceMonitorCreateIfaceResponse {
364 pub iface_id: Option<u16>,
365 #[doc(hidden)]
366 pub __source_breaking: fidl::marker::SourceBreaking,
367}
368
369impl fidl::Persistable for DeviceMonitorCreateIfaceResponse {}
370
371#[derive(Clone, Debug, PartialEq)]
372pub enum GetIfaceHistogramStatsResponse {
373 Stats(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats),
374 ErrorStatus(i32),
375}
376
377impl GetIfaceHistogramStatsResponse {
378 #[inline]
379 pub fn ordinal(&self) -> u64 {
380 match *self {
381 Self::Stats(_) => 1,
382 Self::ErrorStatus(_) => 2,
383 }
384 }
385}
386
387impl fidl::Persistable for GetIfaceHistogramStatsResponse {}
388
389pub mod device_monitor_ordinals {
390 pub const LIST_PHYS: u64 = 0x3a08518874196aab;
391 pub const LIST_IFACES: u64 = 0x129e758fb8e0b113;
392 pub const GET_DEV_PATH: u64 = 0x4aa489b57113bccf;
393 pub const GET_SUPPORTED_MAC_ROLES: u64 = 0x172b3d2eabd5a14e;
394 pub const WATCH_DEVICES: u64 = 0x4615941e67e31b8e;
395 pub const GET_COUNTRY: u64 = 0x6f1040bd81bde90e;
396 pub const SET_COUNTRY: u64 = 0xdaa7b77a5a6e71b;
397 pub const CLEAR_COUNTRY: u64 = 0x66714d61103120e9;
398 pub const SET_POWER_SAVE_MODE: u64 = 0x62202b4d360533bc;
399 pub const GET_POWER_SAVE_MODE: u64 = 0x14304d406ada8693;
400 pub const POWER_DOWN: u64 = 0x374ad717fe8902e0;
401 pub const POWER_UP: u64 = 0xa2379b639869c17;
402 pub const RESET: u64 = 0x6def240c9f8c6867;
403 pub const GET_POWER_STATE: u64 = 0x58cf95c5bbbe3f;
404 pub const CREATE_IFACE: u64 = 0x1e1d30c24c0ec144;
405 pub const QUERY_IFACE: u64 = 0x1a48c4a2b86259ef;
406 pub const DESTROY_IFACE: u64 = 0x4c77982c1616a3b0;
407 pub const GET_CLIENT_SME: u64 = 0x1b056c379ca98273;
408 pub const GET_AP_SME: u64 = 0x754de680c4318c52;
409 pub const GET_SME_TELEMETRY: u64 = 0x1baf42b003f7452a;
410}
411
412pub mod device_watcher_ordinals {
413 pub const ON_PHY_ADDED: u64 = 0x771c58e0bd059f86;
414 pub const ON_PHY_REMOVED: u64 = 0x4ad72b96ccb7cff6;
415 pub const ON_IFACE_ADDED: u64 = 0x6ee685e4aa1f31d8;
416 pub const ON_IFACE_REMOVED: u64 = 0x3b771b1fce38c291;
417}
418
419mod internal {
420 use super::*;
421 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorError {
422 type Owned = Self;
423
424 #[inline(always)]
425 fn inline_align(_context: fidl::encoding::Context) -> usize {
426 std::mem::align_of::<u32>()
427 }
428
429 #[inline(always)]
430 fn inline_size(_context: fidl::encoding::Context) -> usize {
431 std::mem::size_of::<u32>()
432 }
433
434 #[inline(always)]
435 fn encode_is_copy() -> bool {
436 false
437 }
438
439 #[inline(always)]
440 fn decode_is_copy() -> bool {
441 false
442 }
443 }
444
445 impl fidl::encoding::ValueTypeMarker for DeviceMonitorError {
446 type Borrowed<'a> = Self;
447 #[inline(always)]
448 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
449 *value
450 }
451 }
452
453 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
454 for DeviceMonitorError
455 {
456 #[inline]
457 unsafe fn encode(
458 self,
459 encoder: &mut fidl::encoding::Encoder<'_, D>,
460 offset: usize,
461 _depth: fidl::encoding::Depth,
462 ) -> fidl::Result<()> {
463 encoder.debug_check_bounds::<Self>(offset);
464 encoder.write_num(self.into_primitive(), offset);
465 Ok(())
466 }
467 }
468
469 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DeviceMonitorError {
470 #[inline(always)]
471 fn new_empty() -> Self {
472 Self::unknown()
473 }
474
475 #[inline]
476 unsafe fn decode(
477 &mut self,
478 decoder: &mut fidl::encoding::Decoder<'_, D>,
479 offset: usize,
480 _depth: fidl::encoding::Depth,
481 ) -> fidl::Result<()> {
482 decoder.debug_check_bounds::<Self>(offset);
483 let prim = decoder.read_num::<u32>(offset);
484
485 *self = Self::from_primitive_allow_unknown(prim);
486 Ok(())
487 }
488 }
489
490 impl fidl::encoding::ValueTypeMarker for ClearCountryRequest {
491 type Borrowed<'a> = &'a Self;
492 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
493 value
494 }
495 }
496
497 unsafe impl fidl::encoding::TypeMarker for ClearCountryRequest {
498 type Owned = Self;
499
500 #[inline(always)]
501 fn inline_align(_context: fidl::encoding::Context) -> usize {
502 2
503 }
504
505 #[inline(always)]
506 fn inline_size(_context: fidl::encoding::Context) -> usize {
507 2
508 }
509 #[inline(always)]
510 fn encode_is_copy() -> bool {
511 true
512 }
513
514 #[inline(always)]
515 fn decode_is_copy() -> bool {
516 true
517 }
518 }
519
520 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ClearCountryRequest, D>
521 for &ClearCountryRequest
522 {
523 #[inline]
524 unsafe fn encode(
525 self,
526 encoder: &mut fidl::encoding::Encoder<'_, D>,
527 offset: usize,
528 _depth: fidl::encoding::Depth,
529 ) -> fidl::Result<()> {
530 encoder.debug_check_bounds::<ClearCountryRequest>(offset);
531 unsafe {
532 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
534 (buf_ptr as *mut ClearCountryRequest)
535 .write_unaligned((self as *const ClearCountryRequest).read());
536 }
539 Ok(())
540 }
541 }
542 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
543 fidl::encoding::Encode<ClearCountryRequest, D> for (T0,)
544 {
545 #[inline]
546 unsafe fn encode(
547 self,
548 encoder: &mut fidl::encoding::Encoder<'_, D>,
549 offset: usize,
550 depth: fidl::encoding::Depth,
551 ) -> fidl::Result<()> {
552 encoder.debug_check_bounds::<ClearCountryRequest>(offset);
553 self.0.encode(encoder, offset + 0, depth)?;
557 Ok(())
558 }
559 }
560
561 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ClearCountryRequest {
562 #[inline(always)]
563 fn new_empty() -> Self {
564 Self { phy_id: fidl::new_empty!(u16, D) }
565 }
566
567 #[inline]
568 unsafe fn decode(
569 &mut self,
570 decoder: &mut fidl::encoding::Decoder<'_, D>,
571 offset: usize,
572 _depth: fidl::encoding::Depth,
573 ) -> fidl::Result<()> {
574 decoder.debug_check_bounds::<Self>(offset);
575 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
576 unsafe {
579 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
580 }
581 Ok(())
582 }
583 }
584
585 impl fidl::encoding::ValueTypeMarker for DestroyIfaceRequest {
586 type Borrowed<'a> = &'a Self;
587 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
588 value
589 }
590 }
591
592 unsafe impl fidl::encoding::TypeMarker for DestroyIfaceRequest {
593 type Owned = Self;
594
595 #[inline(always)]
596 fn inline_align(_context: fidl::encoding::Context) -> usize {
597 2
598 }
599
600 #[inline(always)]
601 fn inline_size(_context: fidl::encoding::Context) -> usize {
602 2
603 }
604 #[inline(always)]
605 fn encode_is_copy() -> bool {
606 true
607 }
608
609 #[inline(always)]
610 fn decode_is_copy() -> bool {
611 true
612 }
613 }
614
615 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<DestroyIfaceRequest, D>
616 for &DestroyIfaceRequest
617 {
618 #[inline]
619 unsafe fn encode(
620 self,
621 encoder: &mut fidl::encoding::Encoder<'_, D>,
622 offset: usize,
623 _depth: fidl::encoding::Depth,
624 ) -> fidl::Result<()> {
625 encoder.debug_check_bounds::<DestroyIfaceRequest>(offset);
626 unsafe {
627 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
629 (buf_ptr as *mut DestroyIfaceRequest)
630 .write_unaligned((self as *const DestroyIfaceRequest).read());
631 }
634 Ok(())
635 }
636 }
637 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
638 fidl::encoding::Encode<DestroyIfaceRequest, D> for (T0,)
639 {
640 #[inline]
641 unsafe fn encode(
642 self,
643 encoder: &mut fidl::encoding::Encoder<'_, D>,
644 offset: usize,
645 depth: fidl::encoding::Depth,
646 ) -> fidl::Result<()> {
647 encoder.debug_check_bounds::<DestroyIfaceRequest>(offset);
648 self.0.encode(encoder, offset + 0, depth)?;
652 Ok(())
653 }
654 }
655
656 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for DestroyIfaceRequest {
657 #[inline(always)]
658 fn new_empty() -> Self {
659 Self { iface_id: fidl::new_empty!(u16, D) }
660 }
661
662 #[inline]
663 unsafe fn decode(
664 &mut self,
665 decoder: &mut fidl::encoding::Decoder<'_, D>,
666 offset: usize,
667 _depth: fidl::encoding::Depth,
668 ) -> fidl::Result<()> {
669 decoder.debug_check_bounds::<Self>(offset);
670 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
671 unsafe {
674 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
675 }
676 Ok(())
677 }
678 }
679
680 impl fidl::encoding::ValueTypeMarker for DeviceMonitorClearCountryRequest {
681 type Borrowed<'a> = &'a Self;
682 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
683 value
684 }
685 }
686
687 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorClearCountryRequest {
688 type Owned = Self;
689
690 #[inline(always)]
691 fn inline_align(_context: fidl::encoding::Context) -> usize {
692 2
693 }
694
695 #[inline(always)]
696 fn inline_size(_context: fidl::encoding::Context) -> usize {
697 2
698 }
699 #[inline(always)]
700 fn encode_is_copy() -> bool {
701 true
702 }
703
704 #[inline(always)]
705 fn decode_is_copy() -> bool {
706 true
707 }
708 }
709
710 unsafe impl<D: fidl::encoding::ResourceDialect>
711 fidl::encoding::Encode<DeviceMonitorClearCountryRequest, D>
712 for &DeviceMonitorClearCountryRequest
713 {
714 #[inline]
715 unsafe fn encode(
716 self,
717 encoder: &mut fidl::encoding::Encoder<'_, D>,
718 offset: usize,
719 _depth: fidl::encoding::Depth,
720 ) -> fidl::Result<()> {
721 encoder.debug_check_bounds::<DeviceMonitorClearCountryRequest>(offset);
722 unsafe {
723 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
725 (buf_ptr as *mut DeviceMonitorClearCountryRequest)
726 .write_unaligned((self as *const DeviceMonitorClearCountryRequest).read());
727 }
730 Ok(())
731 }
732 }
733 unsafe impl<
734 D: fidl::encoding::ResourceDialect,
735 T0: fidl::encoding::Encode<ClearCountryRequest, D>,
736 > fidl::encoding::Encode<DeviceMonitorClearCountryRequest, D> for (T0,)
737 {
738 #[inline]
739 unsafe fn encode(
740 self,
741 encoder: &mut fidl::encoding::Encoder<'_, D>,
742 offset: usize,
743 depth: fidl::encoding::Depth,
744 ) -> fidl::Result<()> {
745 encoder.debug_check_bounds::<DeviceMonitorClearCountryRequest>(offset);
746 self.0.encode(encoder, offset + 0, depth)?;
750 Ok(())
751 }
752 }
753
754 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
755 for DeviceMonitorClearCountryRequest
756 {
757 #[inline(always)]
758 fn new_empty() -> Self {
759 Self { req: fidl::new_empty!(ClearCountryRequest, D) }
760 }
761
762 #[inline]
763 unsafe fn decode(
764 &mut self,
765 decoder: &mut fidl::encoding::Decoder<'_, D>,
766 offset: usize,
767 _depth: fidl::encoding::Depth,
768 ) -> fidl::Result<()> {
769 decoder.debug_check_bounds::<Self>(offset);
770 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
771 unsafe {
774 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
775 }
776 Ok(())
777 }
778 }
779
780 impl fidl::encoding::ValueTypeMarker for DeviceMonitorClearCountryResponse {
781 type Borrowed<'a> = &'a Self;
782 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
783 value
784 }
785 }
786
787 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorClearCountryResponse {
788 type Owned = Self;
789
790 #[inline(always)]
791 fn inline_align(_context: fidl::encoding::Context) -> usize {
792 4
793 }
794
795 #[inline(always)]
796 fn inline_size(_context: fidl::encoding::Context) -> usize {
797 4
798 }
799 #[inline(always)]
800 fn encode_is_copy() -> bool {
801 true
802 }
803
804 #[inline(always)]
805 fn decode_is_copy() -> bool {
806 true
807 }
808 }
809
810 unsafe impl<D: fidl::encoding::ResourceDialect>
811 fidl::encoding::Encode<DeviceMonitorClearCountryResponse, D>
812 for &DeviceMonitorClearCountryResponse
813 {
814 #[inline]
815 unsafe fn encode(
816 self,
817 encoder: &mut fidl::encoding::Encoder<'_, D>,
818 offset: usize,
819 _depth: fidl::encoding::Depth,
820 ) -> fidl::Result<()> {
821 encoder.debug_check_bounds::<DeviceMonitorClearCountryResponse>(offset);
822 unsafe {
823 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
825 (buf_ptr as *mut DeviceMonitorClearCountryResponse)
826 .write_unaligned((self as *const DeviceMonitorClearCountryResponse).read());
827 }
830 Ok(())
831 }
832 }
833 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
834 fidl::encoding::Encode<DeviceMonitorClearCountryResponse, D> for (T0,)
835 {
836 #[inline]
837 unsafe fn encode(
838 self,
839 encoder: &mut fidl::encoding::Encoder<'_, D>,
840 offset: usize,
841 depth: fidl::encoding::Depth,
842 ) -> fidl::Result<()> {
843 encoder.debug_check_bounds::<DeviceMonitorClearCountryResponse>(offset);
844 self.0.encode(encoder, offset + 0, depth)?;
848 Ok(())
849 }
850 }
851
852 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
853 for DeviceMonitorClearCountryResponse
854 {
855 #[inline(always)]
856 fn new_empty() -> Self {
857 Self { status: fidl::new_empty!(i32, D) }
858 }
859
860 #[inline]
861 unsafe fn decode(
862 &mut self,
863 decoder: &mut fidl::encoding::Decoder<'_, D>,
864 offset: usize,
865 _depth: fidl::encoding::Depth,
866 ) -> fidl::Result<()> {
867 decoder.debug_check_bounds::<Self>(offset);
868 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
869 unsafe {
872 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
873 }
874 Ok(())
875 }
876 }
877
878 impl fidl::encoding::ValueTypeMarker for DeviceMonitorDestroyIfaceRequest {
879 type Borrowed<'a> = &'a Self;
880 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
881 value
882 }
883 }
884
885 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorDestroyIfaceRequest {
886 type Owned = Self;
887
888 #[inline(always)]
889 fn inline_align(_context: fidl::encoding::Context) -> usize {
890 2
891 }
892
893 #[inline(always)]
894 fn inline_size(_context: fidl::encoding::Context) -> usize {
895 2
896 }
897 #[inline(always)]
898 fn encode_is_copy() -> bool {
899 true
900 }
901
902 #[inline(always)]
903 fn decode_is_copy() -> bool {
904 true
905 }
906 }
907
908 unsafe impl<D: fidl::encoding::ResourceDialect>
909 fidl::encoding::Encode<DeviceMonitorDestroyIfaceRequest, D>
910 for &DeviceMonitorDestroyIfaceRequest
911 {
912 #[inline]
913 unsafe fn encode(
914 self,
915 encoder: &mut fidl::encoding::Encoder<'_, D>,
916 offset: usize,
917 _depth: fidl::encoding::Depth,
918 ) -> fidl::Result<()> {
919 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceRequest>(offset);
920 unsafe {
921 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
923 (buf_ptr as *mut DeviceMonitorDestroyIfaceRequest)
924 .write_unaligned((self as *const DeviceMonitorDestroyIfaceRequest).read());
925 }
928 Ok(())
929 }
930 }
931 unsafe impl<
932 D: fidl::encoding::ResourceDialect,
933 T0: fidl::encoding::Encode<DestroyIfaceRequest, D>,
934 > fidl::encoding::Encode<DeviceMonitorDestroyIfaceRequest, D> for (T0,)
935 {
936 #[inline]
937 unsafe fn encode(
938 self,
939 encoder: &mut fidl::encoding::Encoder<'_, D>,
940 offset: usize,
941 depth: fidl::encoding::Depth,
942 ) -> fidl::Result<()> {
943 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceRequest>(offset);
944 self.0.encode(encoder, offset + 0, depth)?;
948 Ok(())
949 }
950 }
951
952 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
953 for DeviceMonitorDestroyIfaceRequest
954 {
955 #[inline(always)]
956 fn new_empty() -> Self {
957 Self { req: fidl::new_empty!(DestroyIfaceRequest, D) }
958 }
959
960 #[inline]
961 unsafe fn decode(
962 &mut self,
963 decoder: &mut fidl::encoding::Decoder<'_, D>,
964 offset: usize,
965 _depth: fidl::encoding::Depth,
966 ) -> fidl::Result<()> {
967 decoder.debug_check_bounds::<Self>(offset);
968 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
969 unsafe {
972 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
973 }
974 Ok(())
975 }
976 }
977
978 impl fidl::encoding::ValueTypeMarker for DeviceMonitorDestroyIfaceResponse {
979 type Borrowed<'a> = &'a Self;
980 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
981 value
982 }
983 }
984
985 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorDestroyIfaceResponse {
986 type Owned = Self;
987
988 #[inline(always)]
989 fn inline_align(_context: fidl::encoding::Context) -> usize {
990 4
991 }
992
993 #[inline(always)]
994 fn inline_size(_context: fidl::encoding::Context) -> usize {
995 4
996 }
997 #[inline(always)]
998 fn encode_is_copy() -> bool {
999 true
1000 }
1001
1002 #[inline(always)]
1003 fn decode_is_copy() -> bool {
1004 true
1005 }
1006 }
1007
1008 unsafe impl<D: fidl::encoding::ResourceDialect>
1009 fidl::encoding::Encode<DeviceMonitorDestroyIfaceResponse, D>
1010 for &DeviceMonitorDestroyIfaceResponse
1011 {
1012 #[inline]
1013 unsafe fn encode(
1014 self,
1015 encoder: &mut fidl::encoding::Encoder<'_, D>,
1016 offset: usize,
1017 _depth: fidl::encoding::Depth,
1018 ) -> fidl::Result<()> {
1019 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceResponse>(offset);
1020 unsafe {
1021 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1023 (buf_ptr as *mut DeviceMonitorDestroyIfaceResponse)
1024 .write_unaligned((self as *const DeviceMonitorDestroyIfaceResponse).read());
1025 }
1028 Ok(())
1029 }
1030 }
1031 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
1032 fidl::encoding::Encode<DeviceMonitorDestroyIfaceResponse, D> for (T0,)
1033 {
1034 #[inline]
1035 unsafe fn encode(
1036 self,
1037 encoder: &mut fidl::encoding::Encoder<'_, D>,
1038 offset: usize,
1039 depth: fidl::encoding::Depth,
1040 ) -> fidl::Result<()> {
1041 encoder.debug_check_bounds::<DeviceMonitorDestroyIfaceResponse>(offset);
1042 self.0.encode(encoder, offset + 0, depth)?;
1046 Ok(())
1047 }
1048 }
1049
1050 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1051 for DeviceMonitorDestroyIfaceResponse
1052 {
1053 #[inline(always)]
1054 fn new_empty() -> Self {
1055 Self { status: fidl::new_empty!(i32, D) }
1056 }
1057
1058 #[inline]
1059 unsafe fn decode(
1060 &mut self,
1061 decoder: &mut fidl::encoding::Decoder<'_, D>,
1062 offset: usize,
1063 _depth: fidl::encoding::Depth,
1064 ) -> fidl::Result<()> {
1065 decoder.debug_check_bounds::<Self>(offset);
1066 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1067 unsafe {
1070 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
1071 }
1072 Ok(())
1073 }
1074 }
1075
1076 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetCountryRequest {
1077 type Borrowed<'a> = &'a Self;
1078 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1079 value
1080 }
1081 }
1082
1083 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetCountryRequest {
1084 type Owned = Self;
1085
1086 #[inline(always)]
1087 fn inline_align(_context: fidl::encoding::Context) -> usize {
1088 2
1089 }
1090
1091 #[inline(always)]
1092 fn inline_size(_context: fidl::encoding::Context) -> usize {
1093 2
1094 }
1095 #[inline(always)]
1096 fn encode_is_copy() -> bool {
1097 true
1098 }
1099
1100 #[inline(always)]
1101 fn decode_is_copy() -> bool {
1102 true
1103 }
1104 }
1105
1106 unsafe impl<D: fidl::encoding::ResourceDialect>
1107 fidl::encoding::Encode<DeviceMonitorGetCountryRequest, D>
1108 for &DeviceMonitorGetCountryRequest
1109 {
1110 #[inline]
1111 unsafe fn encode(
1112 self,
1113 encoder: &mut fidl::encoding::Encoder<'_, D>,
1114 offset: usize,
1115 _depth: fidl::encoding::Depth,
1116 ) -> fidl::Result<()> {
1117 encoder.debug_check_bounds::<DeviceMonitorGetCountryRequest>(offset);
1118 unsafe {
1119 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1121 (buf_ptr as *mut DeviceMonitorGetCountryRequest)
1122 .write_unaligned((self as *const DeviceMonitorGetCountryRequest).read());
1123 }
1126 Ok(())
1127 }
1128 }
1129 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1130 fidl::encoding::Encode<DeviceMonitorGetCountryRequest, D> for (T0,)
1131 {
1132 #[inline]
1133 unsafe fn encode(
1134 self,
1135 encoder: &mut fidl::encoding::Encoder<'_, D>,
1136 offset: usize,
1137 depth: fidl::encoding::Depth,
1138 ) -> fidl::Result<()> {
1139 encoder.debug_check_bounds::<DeviceMonitorGetCountryRequest>(offset);
1140 self.0.encode(encoder, offset + 0, depth)?;
1144 Ok(())
1145 }
1146 }
1147
1148 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1149 for DeviceMonitorGetCountryRequest
1150 {
1151 #[inline(always)]
1152 fn new_empty() -> Self {
1153 Self { phy_id: fidl::new_empty!(u16, D) }
1154 }
1155
1156 #[inline]
1157 unsafe fn decode(
1158 &mut self,
1159 decoder: &mut fidl::encoding::Decoder<'_, D>,
1160 offset: usize,
1161 _depth: fidl::encoding::Depth,
1162 ) -> fidl::Result<()> {
1163 decoder.debug_check_bounds::<Self>(offset);
1164 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1165 unsafe {
1168 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1169 }
1170 Ok(())
1171 }
1172 }
1173
1174 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetDevPathRequest {
1175 type Borrowed<'a> = &'a Self;
1176 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1177 value
1178 }
1179 }
1180
1181 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetDevPathRequest {
1182 type Owned = Self;
1183
1184 #[inline(always)]
1185 fn inline_align(_context: fidl::encoding::Context) -> usize {
1186 2
1187 }
1188
1189 #[inline(always)]
1190 fn inline_size(_context: fidl::encoding::Context) -> usize {
1191 2
1192 }
1193 #[inline(always)]
1194 fn encode_is_copy() -> bool {
1195 true
1196 }
1197
1198 #[inline(always)]
1199 fn decode_is_copy() -> bool {
1200 true
1201 }
1202 }
1203
1204 unsafe impl<D: fidl::encoding::ResourceDialect>
1205 fidl::encoding::Encode<DeviceMonitorGetDevPathRequest, D>
1206 for &DeviceMonitorGetDevPathRequest
1207 {
1208 #[inline]
1209 unsafe fn encode(
1210 self,
1211 encoder: &mut fidl::encoding::Encoder<'_, D>,
1212 offset: usize,
1213 _depth: fidl::encoding::Depth,
1214 ) -> fidl::Result<()> {
1215 encoder.debug_check_bounds::<DeviceMonitorGetDevPathRequest>(offset);
1216 unsafe {
1217 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1219 (buf_ptr as *mut DeviceMonitorGetDevPathRequest)
1220 .write_unaligned((self as *const DeviceMonitorGetDevPathRequest).read());
1221 }
1224 Ok(())
1225 }
1226 }
1227 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1228 fidl::encoding::Encode<DeviceMonitorGetDevPathRequest, D> for (T0,)
1229 {
1230 #[inline]
1231 unsafe fn encode(
1232 self,
1233 encoder: &mut fidl::encoding::Encoder<'_, D>,
1234 offset: usize,
1235 depth: fidl::encoding::Depth,
1236 ) -> fidl::Result<()> {
1237 encoder.debug_check_bounds::<DeviceMonitorGetDevPathRequest>(offset);
1238 self.0.encode(encoder, offset + 0, depth)?;
1242 Ok(())
1243 }
1244 }
1245
1246 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1247 for DeviceMonitorGetDevPathRequest
1248 {
1249 #[inline(always)]
1250 fn new_empty() -> Self {
1251 Self { phy_id: fidl::new_empty!(u16, D) }
1252 }
1253
1254 #[inline]
1255 unsafe fn decode(
1256 &mut self,
1257 decoder: &mut fidl::encoding::Decoder<'_, D>,
1258 offset: usize,
1259 _depth: fidl::encoding::Depth,
1260 ) -> fidl::Result<()> {
1261 decoder.debug_check_bounds::<Self>(offset);
1262 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1263 unsafe {
1266 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1267 }
1268 Ok(())
1269 }
1270 }
1271
1272 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetDevPathResponse {
1273 type Borrowed<'a> = &'a Self;
1274 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1275 value
1276 }
1277 }
1278
1279 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetDevPathResponse {
1280 type Owned = Self;
1281
1282 #[inline(always)]
1283 fn inline_align(_context: fidl::encoding::Context) -> usize {
1284 8
1285 }
1286
1287 #[inline(always)]
1288 fn inline_size(_context: fidl::encoding::Context) -> usize {
1289 16
1290 }
1291 }
1292
1293 unsafe impl<D: fidl::encoding::ResourceDialect>
1294 fidl::encoding::Encode<DeviceMonitorGetDevPathResponse, D>
1295 for &DeviceMonitorGetDevPathResponse
1296 {
1297 #[inline]
1298 unsafe fn encode(
1299 self,
1300 encoder: &mut fidl::encoding::Encoder<'_, D>,
1301 offset: usize,
1302 _depth: fidl::encoding::Depth,
1303 ) -> fidl::Result<()> {
1304 encoder.debug_check_bounds::<DeviceMonitorGetDevPathResponse>(offset);
1305 fidl::encoding::Encode::<DeviceMonitorGetDevPathResponse, D>::encode(
1307 (
1308 <fidl::encoding::Optional<fidl::encoding::UnboundedString> as fidl::encoding::ValueTypeMarker>::borrow(&self.dev_path),
1309 ),
1310 encoder, offset, _depth
1311 )
1312 }
1313 }
1314 unsafe impl<
1315 D: fidl::encoding::ResourceDialect,
1316 T0: fidl::encoding::Encode<fidl::encoding::Optional<fidl::encoding::UnboundedString>, D>,
1317 > fidl::encoding::Encode<DeviceMonitorGetDevPathResponse, D> for (T0,)
1318 {
1319 #[inline]
1320 unsafe fn encode(
1321 self,
1322 encoder: &mut fidl::encoding::Encoder<'_, D>,
1323 offset: usize,
1324 depth: fidl::encoding::Depth,
1325 ) -> fidl::Result<()> {
1326 encoder.debug_check_bounds::<DeviceMonitorGetDevPathResponse>(offset);
1327 self.0.encode(encoder, offset + 0, depth)?;
1331 Ok(())
1332 }
1333 }
1334
1335 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1336 for DeviceMonitorGetDevPathResponse
1337 {
1338 #[inline(always)]
1339 fn new_empty() -> Self {
1340 Self {
1341 dev_path: fidl::new_empty!(
1342 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
1343 D
1344 ),
1345 }
1346 }
1347
1348 #[inline]
1349 unsafe fn decode(
1350 &mut self,
1351 decoder: &mut fidl::encoding::Decoder<'_, D>,
1352 offset: usize,
1353 _depth: fidl::encoding::Depth,
1354 ) -> fidl::Result<()> {
1355 decoder.debug_check_bounds::<Self>(offset);
1356 fidl::decode!(
1358 fidl::encoding::Optional<fidl::encoding::UnboundedString>,
1359 D,
1360 &mut self.dev_path,
1361 decoder,
1362 offset + 0,
1363 _depth
1364 )?;
1365 Ok(())
1366 }
1367 }
1368
1369 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerSaveModeRequest {
1370 type Borrowed<'a> = &'a Self;
1371 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1372 value
1373 }
1374 }
1375
1376 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerSaveModeRequest {
1377 type Owned = Self;
1378
1379 #[inline(always)]
1380 fn inline_align(_context: fidl::encoding::Context) -> usize {
1381 2
1382 }
1383
1384 #[inline(always)]
1385 fn inline_size(_context: fidl::encoding::Context) -> usize {
1386 2
1387 }
1388 #[inline(always)]
1389 fn encode_is_copy() -> bool {
1390 true
1391 }
1392
1393 #[inline(always)]
1394 fn decode_is_copy() -> bool {
1395 true
1396 }
1397 }
1398
1399 unsafe impl<D: fidl::encoding::ResourceDialect>
1400 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeRequest, D>
1401 for &DeviceMonitorGetPowerSaveModeRequest
1402 {
1403 #[inline]
1404 unsafe fn encode(
1405 self,
1406 encoder: &mut fidl::encoding::Encoder<'_, D>,
1407 offset: usize,
1408 _depth: fidl::encoding::Depth,
1409 ) -> fidl::Result<()> {
1410 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeRequest>(offset);
1411 unsafe {
1412 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1414 (buf_ptr as *mut DeviceMonitorGetPowerSaveModeRequest)
1415 .write_unaligned((self as *const DeviceMonitorGetPowerSaveModeRequest).read());
1416 }
1419 Ok(())
1420 }
1421 }
1422 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1423 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeRequest, D> for (T0,)
1424 {
1425 #[inline]
1426 unsafe fn encode(
1427 self,
1428 encoder: &mut fidl::encoding::Encoder<'_, D>,
1429 offset: usize,
1430 depth: fidl::encoding::Depth,
1431 ) -> fidl::Result<()> {
1432 encoder.debug_check_bounds::<DeviceMonitorGetPowerSaveModeRequest>(offset);
1433 self.0.encode(encoder, offset + 0, depth)?;
1437 Ok(())
1438 }
1439 }
1440
1441 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1442 for DeviceMonitorGetPowerSaveModeRequest
1443 {
1444 #[inline(always)]
1445 fn new_empty() -> Self {
1446 Self { phy_id: fidl::new_empty!(u16, D) }
1447 }
1448
1449 #[inline]
1450 unsafe fn decode(
1451 &mut self,
1452 decoder: &mut fidl::encoding::Decoder<'_, D>,
1453 offset: usize,
1454 _depth: fidl::encoding::Depth,
1455 ) -> fidl::Result<()> {
1456 decoder.debug_check_bounds::<Self>(offset);
1457 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1458 unsafe {
1461 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1462 }
1463 Ok(())
1464 }
1465 }
1466
1467 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerStateRequest {
1468 type Borrowed<'a> = &'a Self;
1469 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1470 value
1471 }
1472 }
1473
1474 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerStateRequest {
1475 type Owned = Self;
1476
1477 #[inline(always)]
1478 fn inline_align(_context: fidl::encoding::Context) -> usize {
1479 2
1480 }
1481
1482 #[inline(always)]
1483 fn inline_size(_context: fidl::encoding::Context) -> usize {
1484 2
1485 }
1486 #[inline(always)]
1487 fn encode_is_copy() -> bool {
1488 true
1489 }
1490
1491 #[inline(always)]
1492 fn decode_is_copy() -> bool {
1493 true
1494 }
1495 }
1496
1497 unsafe impl<D: fidl::encoding::ResourceDialect>
1498 fidl::encoding::Encode<DeviceMonitorGetPowerStateRequest, D>
1499 for &DeviceMonitorGetPowerStateRequest
1500 {
1501 #[inline]
1502 unsafe fn encode(
1503 self,
1504 encoder: &mut fidl::encoding::Encoder<'_, D>,
1505 offset: usize,
1506 _depth: fidl::encoding::Depth,
1507 ) -> fidl::Result<()> {
1508 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateRequest>(offset);
1509 unsafe {
1510 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1512 (buf_ptr as *mut DeviceMonitorGetPowerStateRequest)
1513 .write_unaligned((self as *const DeviceMonitorGetPowerStateRequest).read());
1514 }
1517 Ok(())
1518 }
1519 }
1520 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1521 fidl::encoding::Encode<DeviceMonitorGetPowerStateRequest, D> for (T0,)
1522 {
1523 #[inline]
1524 unsafe fn encode(
1525 self,
1526 encoder: &mut fidl::encoding::Encoder<'_, D>,
1527 offset: usize,
1528 depth: fidl::encoding::Depth,
1529 ) -> fidl::Result<()> {
1530 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateRequest>(offset);
1531 self.0.encode(encoder, offset + 0, depth)?;
1535 Ok(())
1536 }
1537 }
1538
1539 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1540 for DeviceMonitorGetPowerStateRequest
1541 {
1542 #[inline(always)]
1543 fn new_empty() -> Self {
1544 Self { phy_id: fidl::new_empty!(u16, D) }
1545 }
1546
1547 #[inline]
1548 unsafe fn decode(
1549 &mut self,
1550 decoder: &mut fidl::encoding::Decoder<'_, D>,
1551 offset: usize,
1552 _depth: fidl::encoding::Depth,
1553 ) -> fidl::Result<()> {
1554 decoder.debug_check_bounds::<Self>(offset);
1555 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1556 unsafe {
1559 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1560 }
1561 Ok(())
1562 }
1563 }
1564
1565 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetSupportedMacRolesRequest {
1566 type Borrowed<'a> = &'a Self;
1567 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1568 value
1569 }
1570 }
1571
1572 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetSupportedMacRolesRequest {
1573 type Owned = Self;
1574
1575 #[inline(always)]
1576 fn inline_align(_context: fidl::encoding::Context) -> usize {
1577 2
1578 }
1579
1580 #[inline(always)]
1581 fn inline_size(_context: fidl::encoding::Context) -> usize {
1582 2
1583 }
1584 #[inline(always)]
1585 fn encode_is_copy() -> bool {
1586 true
1587 }
1588
1589 #[inline(always)]
1590 fn decode_is_copy() -> bool {
1591 true
1592 }
1593 }
1594
1595 unsafe impl<D: fidl::encoding::ResourceDialect>
1596 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesRequest, D>
1597 for &DeviceMonitorGetSupportedMacRolesRequest
1598 {
1599 #[inline]
1600 unsafe fn encode(
1601 self,
1602 encoder: &mut fidl::encoding::Encoder<'_, D>,
1603 offset: usize,
1604 _depth: fidl::encoding::Depth,
1605 ) -> fidl::Result<()> {
1606 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesRequest>(offset);
1607 unsafe {
1608 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1610 (buf_ptr as *mut DeviceMonitorGetSupportedMacRolesRequest).write_unaligned(
1611 (self as *const DeviceMonitorGetSupportedMacRolesRequest).read(),
1612 );
1613 }
1616 Ok(())
1617 }
1618 }
1619 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1620 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesRequest, D> for (T0,)
1621 {
1622 #[inline]
1623 unsafe fn encode(
1624 self,
1625 encoder: &mut fidl::encoding::Encoder<'_, D>,
1626 offset: usize,
1627 depth: fidl::encoding::Depth,
1628 ) -> fidl::Result<()> {
1629 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesRequest>(offset);
1630 self.0.encode(encoder, offset + 0, depth)?;
1634 Ok(())
1635 }
1636 }
1637
1638 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1639 for DeviceMonitorGetSupportedMacRolesRequest
1640 {
1641 #[inline(always)]
1642 fn new_empty() -> Self {
1643 Self { phy_id: fidl::new_empty!(u16, D) }
1644 }
1645
1646 #[inline]
1647 unsafe fn decode(
1648 &mut self,
1649 decoder: &mut fidl::encoding::Decoder<'_, D>,
1650 offset: usize,
1651 _depth: fidl::encoding::Depth,
1652 ) -> fidl::Result<()> {
1653 decoder.debug_check_bounds::<Self>(offset);
1654 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1655 unsafe {
1658 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1659 }
1660 Ok(())
1661 }
1662 }
1663
1664 impl fidl::encoding::ValueTypeMarker for DeviceMonitorListIfacesResponse {
1665 type Borrowed<'a> = &'a Self;
1666 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1667 value
1668 }
1669 }
1670
1671 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorListIfacesResponse {
1672 type Owned = Self;
1673
1674 #[inline(always)]
1675 fn inline_align(_context: fidl::encoding::Context) -> usize {
1676 8
1677 }
1678
1679 #[inline(always)]
1680 fn inline_size(_context: fidl::encoding::Context) -> usize {
1681 16
1682 }
1683 }
1684
1685 unsafe impl<D: fidl::encoding::ResourceDialect>
1686 fidl::encoding::Encode<DeviceMonitorListIfacesResponse, D>
1687 for &DeviceMonitorListIfacesResponse
1688 {
1689 #[inline]
1690 unsafe fn encode(
1691 self,
1692 encoder: &mut fidl::encoding::Encoder<'_, D>,
1693 offset: usize,
1694 _depth: fidl::encoding::Depth,
1695 ) -> fidl::Result<()> {
1696 encoder.debug_check_bounds::<DeviceMonitorListIfacesResponse>(offset);
1697 fidl::encoding::Encode::<DeviceMonitorListIfacesResponse, D>::encode(
1699 (
1700 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.iface_list),
1701 ),
1702 encoder, offset, _depth
1703 )
1704 }
1705 }
1706 unsafe impl<
1707 D: fidl::encoding::ResourceDialect,
1708 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u16>, D>,
1709 > fidl::encoding::Encode<DeviceMonitorListIfacesResponse, D> for (T0,)
1710 {
1711 #[inline]
1712 unsafe fn encode(
1713 self,
1714 encoder: &mut fidl::encoding::Encoder<'_, D>,
1715 offset: usize,
1716 depth: fidl::encoding::Depth,
1717 ) -> fidl::Result<()> {
1718 encoder.debug_check_bounds::<DeviceMonitorListIfacesResponse>(offset);
1719 self.0.encode(encoder, offset + 0, depth)?;
1723 Ok(())
1724 }
1725 }
1726
1727 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1728 for DeviceMonitorListIfacesResponse
1729 {
1730 #[inline(always)]
1731 fn new_empty() -> Self {
1732 Self { iface_list: fidl::new_empty!(fidl::encoding::UnboundedVector<u16>, D) }
1733 }
1734
1735 #[inline]
1736 unsafe fn decode(
1737 &mut self,
1738 decoder: &mut fidl::encoding::Decoder<'_, D>,
1739 offset: usize,
1740 _depth: fidl::encoding::Depth,
1741 ) -> fidl::Result<()> {
1742 decoder.debug_check_bounds::<Self>(offset);
1743 fidl::decode!(
1745 fidl::encoding::UnboundedVector<u16>,
1746 D,
1747 &mut self.iface_list,
1748 decoder,
1749 offset + 0,
1750 _depth
1751 )?;
1752 Ok(())
1753 }
1754 }
1755
1756 impl fidl::encoding::ValueTypeMarker for DeviceMonitorListPhysResponse {
1757 type Borrowed<'a> = &'a Self;
1758 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1759 value
1760 }
1761 }
1762
1763 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorListPhysResponse {
1764 type Owned = Self;
1765
1766 #[inline(always)]
1767 fn inline_align(_context: fidl::encoding::Context) -> usize {
1768 8
1769 }
1770
1771 #[inline(always)]
1772 fn inline_size(_context: fidl::encoding::Context) -> usize {
1773 16
1774 }
1775 }
1776
1777 unsafe impl<D: fidl::encoding::ResourceDialect>
1778 fidl::encoding::Encode<DeviceMonitorListPhysResponse, D>
1779 for &DeviceMonitorListPhysResponse
1780 {
1781 #[inline]
1782 unsafe fn encode(
1783 self,
1784 encoder: &mut fidl::encoding::Encoder<'_, D>,
1785 offset: usize,
1786 _depth: fidl::encoding::Depth,
1787 ) -> fidl::Result<()> {
1788 encoder.debug_check_bounds::<DeviceMonitorListPhysResponse>(offset);
1789 fidl::encoding::Encode::<DeviceMonitorListPhysResponse, D>::encode(
1791 (
1792 <fidl::encoding::UnboundedVector<u16> as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_list),
1793 ),
1794 encoder, offset, _depth
1795 )
1796 }
1797 }
1798 unsafe impl<
1799 D: fidl::encoding::ResourceDialect,
1800 T0: fidl::encoding::Encode<fidl::encoding::UnboundedVector<u16>, D>,
1801 > fidl::encoding::Encode<DeviceMonitorListPhysResponse, D> for (T0,)
1802 {
1803 #[inline]
1804 unsafe fn encode(
1805 self,
1806 encoder: &mut fidl::encoding::Encoder<'_, D>,
1807 offset: usize,
1808 depth: fidl::encoding::Depth,
1809 ) -> fidl::Result<()> {
1810 encoder.debug_check_bounds::<DeviceMonitorListPhysResponse>(offset);
1811 self.0.encode(encoder, offset + 0, depth)?;
1815 Ok(())
1816 }
1817 }
1818
1819 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1820 for DeviceMonitorListPhysResponse
1821 {
1822 #[inline(always)]
1823 fn new_empty() -> Self {
1824 Self { phy_list: fidl::new_empty!(fidl::encoding::UnboundedVector<u16>, D) }
1825 }
1826
1827 #[inline]
1828 unsafe fn decode(
1829 &mut self,
1830 decoder: &mut fidl::encoding::Decoder<'_, D>,
1831 offset: usize,
1832 _depth: fidl::encoding::Depth,
1833 ) -> fidl::Result<()> {
1834 decoder.debug_check_bounds::<Self>(offset);
1835 fidl::decode!(
1837 fidl::encoding::UnboundedVector<u16>,
1838 D,
1839 &mut self.phy_list,
1840 decoder,
1841 offset + 0,
1842 _depth
1843 )?;
1844 Ok(())
1845 }
1846 }
1847
1848 impl fidl::encoding::ValueTypeMarker for DeviceMonitorPowerDownRequest {
1849 type Borrowed<'a> = &'a Self;
1850 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1851 value
1852 }
1853 }
1854
1855 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorPowerDownRequest {
1856 type Owned = Self;
1857
1858 #[inline(always)]
1859 fn inline_align(_context: fidl::encoding::Context) -> usize {
1860 2
1861 }
1862
1863 #[inline(always)]
1864 fn inline_size(_context: fidl::encoding::Context) -> usize {
1865 2
1866 }
1867 #[inline(always)]
1868 fn encode_is_copy() -> bool {
1869 true
1870 }
1871
1872 #[inline(always)]
1873 fn decode_is_copy() -> bool {
1874 true
1875 }
1876 }
1877
1878 unsafe impl<D: fidl::encoding::ResourceDialect>
1879 fidl::encoding::Encode<DeviceMonitorPowerDownRequest, D>
1880 for &DeviceMonitorPowerDownRequest
1881 {
1882 #[inline]
1883 unsafe fn encode(
1884 self,
1885 encoder: &mut fidl::encoding::Encoder<'_, D>,
1886 offset: usize,
1887 _depth: fidl::encoding::Depth,
1888 ) -> fidl::Result<()> {
1889 encoder.debug_check_bounds::<DeviceMonitorPowerDownRequest>(offset);
1890 unsafe {
1891 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1893 (buf_ptr as *mut DeviceMonitorPowerDownRequest)
1894 .write_unaligned((self as *const DeviceMonitorPowerDownRequest).read());
1895 }
1898 Ok(())
1899 }
1900 }
1901 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1902 fidl::encoding::Encode<DeviceMonitorPowerDownRequest, D> for (T0,)
1903 {
1904 #[inline]
1905 unsafe fn encode(
1906 self,
1907 encoder: &mut fidl::encoding::Encoder<'_, D>,
1908 offset: usize,
1909 depth: fidl::encoding::Depth,
1910 ) -> fidl::Result<()> {
1911 encoder.debug_check_bounds::<DeviceMonitorPowerDownRequest>(offset);
1912 self.0.encode(encoder, offset + 0, depth)?;
1916 Ok(())
1917 }
1918 }
1919
1920 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1921 for DeviceMonitorPowerDownRequest
1922 {
1923 #[inline(always)]
1924 fn new_empty() -> Self {
1925 Self { phy_id: fidl::new_empty!(u16, D) }
1926 }
1927
1928 #[inline]
1929 unsafe fn decode(
1930 &mut self,
1931 decoder: &mut fidl::encoding::Decoder<'_, D>,
1932 offset: usize,
1933 _depth: fidl::encoding::Depth,
1934 ) -> fidl::Result<()> {
1935 decoder.debug_check_bounds::<Self>(offset);
1936 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
1937 unsafe {
1940 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
1941 }
1942 Ok(())
1943 }
1944 }
1945
1946 impl fidl::encoding::ValueTypeMarker for DeviceMonitorPowerUpRequest {
1947 type Borrowed<'a> = &'a Self;
1948 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1949 value
1950 }
1951 }
1952
1953 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorPowerUpRequest {
1954 type Owned = Self;
1955
1956 #[inline(always)]
1957 fn inline_align(_context: fidl::encoding::Context) -> usize {
1958 2
1959 }
1960
1961 #[inline(always)]
1962 fn inline_size(_context: fidl::encoding::Context) -> usize {
1963 2
1964 }
1965 #[inline(always)]
1966 fn encode_is_copy() -> bool {
1967 true
1968 }
1969
1970 #[inline(always)]
1971 fn decode_is_copy() -> bool {
1972 true
1973 }
1974 }
1975
1976 unsafe impl<D: fidl::encoding::ResourceDialect>
1977 fidl::encoding::Encode<DeviceMonitorPowerUpRequest, D> for &DeviceMonitorPowerUpRequest
1978 {
1979 #[inline]
1980 unsafe fn encode(
1981 self,
1982 encoder: &mut fidl::encoding::Encoder<'_, D>,
1983 offset: usize,
1984 _depth: fidl::encoding::Depth,
1985 ) -> fidl::Result<()> {
1986 encoder.debug_check_bounds::<DeviceMonitorPowerUpRequest>(offset);
1987 unsafe {
1988 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
1990 (buf_ptr as *mut DeviceMonitorPowerUpRequest)
1991 .write_unaligned((self as *const DeviceMonitorPowerUpRequest).read());
1992 }
1995 Ok(())
1996 }
1997 }
1998 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
1999 fidl::encoding::Encode<DeviceMonitorPowerUpRequest, D> for (T0,)
2000 {
2001 #[inline]
2002 unsafe fn encode(
2003 self,
2004 encoder: &mut fidl::encoding::Encoder<'_, D>,
2005 offset: usize,
2006 depth: fidl::encoding::Depth,
2007 ) -> fidl::Result<()> {
2008 encoder.debug_check_bounds::<DeviceMonitorPowerUpRequest>(offset);
2009 self.0.encode(encoder, offset + 0, depth)?;
2013 Ok(())
2014 }
2015 }
2016
2017 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2018 for DeviceMonitorPowerUpRequest
2019 {
2020 #[inline(always)]
2021 fn new_empty() -> Self {
2022 Self { phy_id: fidl::new_empty!(u16, D) }
2023 }
2024
2025 #[inline]
2026 unsafe fn decode(
2027 &mut self,
2028 decoder: &mut fidl::encoding::Decoder<'_, D>,
2029 offset: usize,
2030 _depth: fidl::encoding::Depth,
2031 ) -> fidl::Result<()> {
2032 decoder.debug_check_bounds::<Self>(offset);
2033 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2034 unsafe {
2037 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2038 }
2039 Ok(())
2040 }
2041 }
2042
2043 impl fidl::encoding::ValueTypeMarker for DeviceMonitorQueryIfaceRequest {
2044 type Borrowed<'a> = &'a Self;
2045 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2046 value
2047 }
2048 }
2049
2050 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorQueryIfaceRequest {
2051 type Owned = Self;
2052
2053 #[inline(always)]
2054 fn inline_align(_context: fidl::encoding::Context) -> usize {
2055 2
2056 }
2057
2058 #[inline(always)]
2059 fn inline_size(_context: fidl::encoding::Context) -> usize {
2060 2
2061 }
2062 #[inline(always)]
2063 fn encode_is_copy() -> bool {
2064 true
2065 }
2066
2067 #[inline(always)]
2068 fn decode_is_copy() -> bool {
2069 true
2070 }
2071 }
2072
2073 unsafe impl<D: fidl::encoding::ResourceDialect>
2074 fidl::encoding::Encode<DeviceMonitorQueryIfaceRequest, D>
2075 for &DeviceMonitorQueryIfaceRequest
2076 {
2077 #[inline]
2078 unsafe fn encode(
2079 self,
2080 encoder: &mut fidl::encoding::Encoder<'_, D>,
2081 offset: usize,
2082 _depth: fidl::encoding::Depth,
2083 ) -> fidl::Result<()> {
2084 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceRequest>(offset);
2085 unsafe {
2086 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2088 (buf_ptr as *mut DeviceMonitorQueryIfaceRequest)
2089 .write_unaligned((self as *const DeviceMonitorQueryIfaceRequest).read());
2090 }
2093 Ok(())
2094 }
2095 }
2096 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2097 fidl::encoding::Encode<DeviceMonitorQueryIfaceRequest, D> for (T0,)
2098 {
2099 #[inline]
2100 unsafe fn encode(
2101 self,
2102 encoder: &mut fidl::encoding::Encoder<'_, D>,
2103 offset: usize,
2104 depth: fidl::encoding::Depth,
2105 ) -> fidl::Result<()> {
2106 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceRequest>(offset);
2107 self.0.encode(encoder, offset + 0, depth)?;
2111 Ok(())
2112 }
2113 }
2114
2115 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2116 for DeviceMonitorQueryIfaceRequest
2117 {
2118 #[inline(always)]
2119 fn new_empty() -> Self {
2120 Self { iface_id: fidl::new_empty!(u16, D) }
2121 }
2122
2123 #[inline]
2124 unsafe fn decode(
2125 &mut self,
2126 decoder: &mut fidl::encoding::Decoder<'_, D>,
2127 offset: usize,
2128 _depth: fidl::encoding::Depth,
2129 ) -> fidl::Result<()> {
2130 decoder.debug_check_bounds::<Self>(offset);
2131 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2132 unsafe {
2135 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2136 }
2137 Ok(())
2138 }
2139 }
2140
2141 impl fidl::encoding::ValueTypeMarker for DeviceMonitorResetRequest {
2142 type Borrowed<'a> = &'a Self;
2143 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2144 value
2145 }
2146 }
2147
2148 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorResetRequest {
2149 type Owned = Self;
2150
2151 #[inline(always)]
2152 fn inline_align(_context: fidl::encoding::Context) -> usize {
2153 2
2154 }
2155
2156 #[inline(always)]
2157 fn inline_size(_context: fidl::encoding::Context) -> usize {
2158 2
2159 }
2160 #[inline(always)]
2161 fn encode_is_copy() -> bool {
2162 true
2163 }
2164
2165 #[inline(always)]
2166 fn decode_is_copy() -> bool {
2167 true
2168 }
2169 }
2170
2171 unsafe impl<D: fidl::encoding::ResourceDialect>
2172 fidl::encoding::Encode<DeviceMonitorResetRequest, D> for &DeviceMonitorResetRequest
2173 {
2174 #[inline]
2175 unsafe fn encode(
2176 self,
2177 encoder: &mut fidl::encoding::Encoder<'_, D>,
2178 offset: usize,
2179 _depth: fidl::encoding::Depth,
2180 ) -> fidl::Result<()> {
2181 encoder.debug_check_bounds::<DeviceMonitorResetRequest>(offset);
2182 unsafe {
2183 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2185 (buf_ptr as *mut DeviceMonitorResetRequest)
2186 .write_unaligned((self as *const DeviceMonitorResetRequest).read());
2187 }
2190 Ok(())
2191 }
2192 }
2193 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2194 fidl::encoding::Encode<DeviceMonitorResetRequest, D> for (T0,)
2195 {
2196 #[inline]
2197 unsafe fn encode(
2198 self,
2199 encoder: &mut fidl::encoding::Encoder<'_, D>,
2200 offset: usize,
2201 depth: fidl::encoding::Depth,
2202 ) -> fidl::Result<()> {
2203 encoder.debug_check_bounds::<DeviceMonitorResetRequest>(offset);
2204 self.0.encode(encoder, offset + 0, depth)?;
2208 Ok(())
2209 }
2210 }
2211
2212 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2213 for DeviceMonitorResetRequest
2214 {
2215 #[inline(always)]
2216 fn new_empty() -> Self {
2217 Self { phy_id: fidl::new_empty!(u16, D) }
2218 }
2219
2220 #[inline]
2221 unsafe fn decode(
2222 &mut self,
2223 decoder: &mut fidl::encoding::Decoder<'_, D>,
2224 offset: usize,
2225 _depth: fidl::encoding::Depth,
2226 ) -> fidl::Result<()> {
2227 decoder.debug_check_bounds::<Self>(offset);
2228 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2229 unsafe {
2232 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2233 }
2234 Ok(())
2235 }
2236 }
2237
2238 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetCountryRequest {
2239 type Borrowed<'a> = &'a Self;
2240 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2241 value
2242 }
2243 }
2244
2245 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetCountryRequest {
2246 type Owned = Self;
2247
2248 #[inline(always)]
2249 fn inline_align(_context: fidl::encoding::Context) -> usize {
2250 2
2251 }
2252
2253 #[inline(always)]
2254 fn inline_size(_context: fidl::encoding::Context) -> usize {
2255 4
2256 }
2257 #[inline(always)]
2258 fn encode_is_copy() -> bool {
2259 true
2260 }
2261
2262 #[inline(always)]
2263 fn decode_is_copy() -> bool {
2264 true
2265 }
2266 }
2267
2268 unsafe impl<D: fidl::encoding::ResourceDialect>
2269 fidl::encoding::Encode<DeviceMonitorSetCountryRequest, D>
2270 for &DeviceMonitorSetCountryRequest
2271 {
2272 #[inline]
2273 unsafe fn encode(
2274 self,
2275 encoder: &mut fidl::encoding::Encoder<'_, D>,
2276 offset: usize,
2277 _depth: fidl::encoding::Depth,
2278 ) -> fidl::Result<()> {
2279 encoder.debug_check_bounds::<DeviceMonitorSetCountryRequest>(offset);
2280 unsafe {
2281 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2283 (buf_ptr as *mut DeviceMonitorSetCountryRequest)
2284 .write_unaligned((self as *const DeviceMonitorSetCountryRequest).read());
2285 }
2288 Ok(())
2289 }
2290 }
2291 unsafe impl<
2292 D: fidl::encoding::ResourceDialect,
2293 T0: fidl::encoding::Encode<SetCountryRequest, D>,
2294 > fidl::encoding::Encode<DeviceMonitorSetCountryRequest, D> for (T0,)
2295 {
2296 #[inline]
2297 unsafe fn encode(
2298 self,
2299 encoder: &mut fidl::encoding::Encoder<'_, D>,
2300 offset: usize,
2301 depth: fidl::encoding::Depth,
2302 ) -> fidl::Result<()> {
2303 encoder.debug_check_bounds::<DeviceMonitorSetCountryRequest>(offset);
2304 self.0.encode(encoder, offset + 0, depth)?;
2308 Ok(())
2309 }
2310 }
2311
2312 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2313 for DeviceMonitorSetCountryRequest
2314 {
2315 #[inline(always)]
2316 fn new_empty() -> Self {
2317 Self { req: fidl::new_empty!(SetCountryRequest, D) }
2318 }
2319
2320 #[inline]
2321 unsafe fn decode(
2322 &mut self,
2323 decoder: &mut fidl::encoding::Decoder<'_, D>,
2324 offset: usize,
2325 _depth: fidl::encoding::Depth,
2326 ) -> fidl::Result<()> {
2327 decoder.debug_check_bounds::<Self>(offset);
2328 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2329 unsafe {
2332 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2333 }
2334 Ok(())
2335 }
2336 }
2337
2338 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetCountryResponse {
2339 type Borrowed<'a> = &'a Self;
2340 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2341 value
2342 }
2343 }
2344
2345 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetCountryResponse {
2346 type Owned = Self;
2347
2348 #[inline(always)]
2349 fn inline_align(_context: fidl::encoding::Context) -> usize {
2350 4
2351 }
2352
2353 #[inline(always)]
2354 fn inline_size(_context: fidl::encoding::Context) -> usize {
2355 4
2356 }
2357 #[inline(always)]
2358 fn encode_is_copy() -> bool {
2359 true
2360 }
2361
2362 #[inline(always)]
2363 fn decode_is_copy() -> bool {
2364 true
2365 }
2366 }
2367
2368 unsafe impl<D: fidl::encoding::ResourceDialect>
2369 fidl::encoding::Encode<DeviceMonitorSetCountryResponse, D>
2370 for &DeviceMonitorSetCountryResponse
2371 {
2372 #[inline]
2373 unsafe fn encode(
2374 self,
2375 encoder: &mut fidl::encoding::Encoder<'_, D>,
2376 offset: usize,
2377 _depth: fidl::encoding::Depth,
2378 ) -> fidl::Result<()> {
2379 encoder.debug_check_bounds::<DeviceMonitorSetCountryResponse>(offset);
2380 unsafe {
2381 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2383 (buf_ptr as *mut DeviceMonitorSetCountryResponse)
2384 .write_unaligned((self as *const DeviceMonitorSetCountryResponse).read());
2385 }
2388 Ok(())
2389 }
2390 }
2391 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2392 fidl::encoding::Encode<DeviceMonitorSetCountryResponse, D> for (T0,)
2393 {
2394 #[inline]
2395 unsafe fn encode(
2396 self,
2397 encoder: &mut fidl::encoding::Encoder<'_, D>,
2398 offset: usize,
2399 depth: fidl::encoding::Depth,
2400 ) -> fidl::Result<()> {
2401 encoder.debug_check_bounds::<DeviceMonitorSetCountryResponse>(offset);
2402 self.0.encode(encoder, offset + 0, depth)?;
2406 Ok(())
2407 }
2408 }
2409
2410 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2411 for DeviceMonitorSetCountryResponse
2412 {
2413 #[inline(always)]
2414 fn new_empty() -> Self {
2415 Self { status: fidl::new_empty!(i32, D) }
2416 }
2417
2418 #[inline]
2419 unsafe fn decode(
2420 &mut self,
2421 decoder: &mut fidl::encoding::Decoder<'_, D>,
2422 offset: usize,
2423 _depth: fidl::encoding::Depth,
2424 ) -> fidl::Result<()> {
2425 decoder.debug_check_bounds::<Self>(offset);
2426 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2427 unsafe {
2430 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2431 }
2432 Ok(())
2433 }
2434 }
2435
2436 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetPowerSaveModeRequest {
2437 type Borrowed<'a> = &'a Self;
2438 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2439 value
2440 }
2441 }
2442
2443 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetPowerSaveModeRequest {
2444 type Owned = Self;
2445
2446 #[inline(always)]
2447 fn inline_align(_context: fidl::encoding::Context) -> usize {
2448 4
2449 }
2450
2451 #[inline(always)]
2452 fn inline_size(_context: fidl::encoding::Context) -> usize {
2453 8
2454 }
2455 }
2456
2457 unsafe impl<D: fidl::encoding::ResourceDialect>
2458 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeRequest, D>
2459 for &DeviceMonitorSetPowerSaveModeRequest
2460 {
2461 #[inline]
2462 unsafe fn encode(
2463 self,
2464 encoder: &mut fidl::encoding::Encoder<'_, D>,
2465 offset: usize,
2466 _depth: fidl::encoding::Depth,
2467 ) -> fidl::Result<()> {
2468 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeRequest>(offset);
2469 fidl::encoding::Encode::<DeviceMonitorSetPowerSaveModeRequest, D>::encode(
2471 (<SetPowerSaveModeRequest as fidl::encoding::ValueTypeMarker>::borrow(&self.req),),
2472 encoder,
2473 offset,
2474 _depth,
2475 )
2476 }
2477 }
2478 unsafe impl<
2479 D: fidl::encoding::ResourceDialect,
2480 T0: fidl::encoding::Encode<SetPowerSaveModeRequest, D>,
2481 > fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeRequest, D> for (T0,)
2482 {
2483 #[inline]
2484 unsafe fn encode(
2485 self,
2486 encoder: &mut fidl::encoding::Encoder<'_, D>,
2487 offset: usize,
2488 depth: fidl::encoding::Depth,
2489 ) -> fidl::Result<()> {
2490 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeRequest>(offset);
2491 self.0.encode(encoder, offset + 0, depth)?;
2495 Ok(())
2496 }
2497 }
2498
2499 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2500 for DeviceMonitorSetPowerSaveModeRequest
2501 {
2502 #[inline(always)]
2503 fn new_empty() -> Self {
2504 Self { req: fidl::new_empty!(SetPowerSaveModeRequest, D) }
2505 }
2506
2507 #[inline]
2508 unsafe fn decode(
2509 &mut self,
2510 decoder: &mut fidl::encoding::Decoder<'_, D>,
2511 offset: usize,
2512 _depth: fidl::encoding::Depth,
2513 ) -> fidl::Result<()> {
2514 decoder.debug_check_bounds::<Self>(offset);
2515 fidl::decode!(SetPowerSaveModeRequest, D, &mut self.req, decoder, offset + 0, _depth)?;
2517 Ok(())
2518 }
2519 }
2520
2521 impl fidl::encoding::ValueTypeMarker for DeviceMonitorSetPowerSaveModeResponse {
2522 type Borrowed<'a> = &'a Self;
2523 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2524 value
2525 }
2526 }
2527
2528 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorSetPowerSaveModeResponse {
2529 type Owned = Self;
2530
2531 #[inline(always)]
2532 fn inline_align(_context: fidl::encoding::Context) -> usize {
2533 4
2534 }
2535
2536 #[inline(always)]
2537 fn inline_size(_context: fidl::encoding::Context) -> usize {
2538 4
2539 }
2540 #[inline(always)]
2541 fn encode_is_copy() -> bool {
2542 true
2543 }
2544
2545 #[inline(always)]
2546 fn decode_is_copy() -> bool {
2547 true
2548 }
2549 }
2550
2551 unsafe impl<D: fidl::encoding::ResourceDialect>
2552 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeResponse, D>
2553 for &DeviceMonitorSetPowerSaveModeResponse
2554 {
2555 #[inline]
2556 unsafe fn encode(
2557 self,
2558 encoder: &mut fidl::encoding::Encoder<'_, D>,
2559 offset: usize,
2560 _depth: fidl::encoding::Depth,
2561 ) -> fidl::Result<()> {
2562 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeResponse>(offset);
2563 unsafe {
2564 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2566 (buf_ptr as *mut DeviceMonitorSetPowerSaveModeResponse)
2567 .write_unaligned((self as *const DeviceMonitorSetPowerSaveModeResponse).read());
2568 }
2571 Ok(())
2572 }
2573 }
2574 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<i32, D>>
2575 fidl::encoding::Encode<DeviceMonitorSetPowerSaveModeResponse, D> for (T0,)
2576 {
2577 #[inline]
2578 unsafe fn encode(
2579 self,
2580 encoder: &mut fidl::encoding::Encoder<'_, D>,
2581 offset: usize,
2582 depth: fidl::encoding::Depth,
2583 ) -> fidl::Result<()> {
2584 encoder.debug_check_bounds::<DeviceMonitorSetPowerSaveModeResponse>(offset);
2585 self.0.encode(encoder, offset + 0, depth)?;
2589 Ok(())
2590 }
2591 }
2592
2593 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2594 for DeviceMonitorSetPowerSaveModeResponse
2595 {
2596 #[inline(always)]
2597 fn new_empty() -> Self {
2598 Self { status: fidl::new_empty!(i32, D) }
2599 }
2600
2601 #[inline]
2602 unsafe fn decode(
2603 &mut self,
2604 decoder: &mut fidl::encoding::Decoder<'_, D>,
2605 offset: usize,
2606 _depth: fidl::encoding::Depth,
2607 ) -> fidl::Result<()> {
2608 decoder.debug_check_bounds::<Self>(offset);
2609 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2610 unsafe {
2613 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
2614 }
2615 Ok(())
2616 }
2617 }
2618
2619 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetCountryResponse {
2620 type Borrowed<'a> = &'a Self;
2621 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2622 value
2623 }
2624 }
2625
2626 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetCountryResponse {
2627 type Owned = Self;
2628
2629 #[inline(always)]
2630 fn inline_align(_context: fidl::encoding::Context) -> usize {
2631 1
2632 }
2633
2634 #[inline(always)]
2635 fn inline_size(_context: fidl::encoding::Context) -> usize {
2636 2
2637 }
2638 #[inline(always)]
2639 fn encode_is_copy() -> bool {
2640 true
2641 }
2642
2643 #[inline(always)]
2644 fn decode_is_copy() -> bool {
2645 true
2646 }
2647 }
2648
2649 unsafe impl<D: fidl::encoding::ResourceDialect>
2650 fidl::encoding::Encode<DeviceMonitorGetCountryResponse, D>
2651 for &DeviceMonitorGetCountryResponse
2652 {
2653 #[inline]
2654 unsafe fn encode(
2655 self,
2656 encoder: &mut fidl::encoding::Encoder<'_, D>,
2657 offset: usize,
2658 _depth: fidl::encoding::Depth,
2659 ) -> fidl::Result<()> {
2660 encoder.debug_check_bounds::<DeviceMonitorGetCountryResponse>(offset);
2661 unsafe {
2662 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2664 (buf_ptr as *mut DeviceMonitorGetCountryResponse)
2665 .write_unaligned((self as *const DeviceMonitorGetCountryResponse).read());
2666 }
2669 Ok(())
2670 }
2671 }
2672 unsafe impl<
2673 D: fidl::encoding::ResourceDialect,
2674 T0: fidl::encoding::Encode<GetCountryResponse, D>,
2675 > fidl::encoding::Encode<DeviceMonitorGetCountryResponse, D> for (T0,)
2676 {
2677 #[inline]
2678 unsafe fn encode(
2679 self,
2680 encoder: &mut fidl::encoding::Encoder<'_, D>,
2681 offset: usize,
2682 depth: fidl::encoding::Depth,
2683 ) -> fidl::Result<()> {
2684 encoder.debug_check_bounds::<DeviceMonitorGetCountryResponse>(offset);
2685 self.0.encode(encoder, offset + 0, depth)?;
2689 Ok(())
2690 }
2691 }
2692
2693 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2694 for DeviceMonitorGetCountryResponse
2695 {
2696 #[inline(always)]
2697 fn new_empty() -> Self {
2698 Self { resp: fidl::new_empty!(GetCountryResponse, D) }
2699 }
2700
2701 #[inline]
2702 unsafe fn decode(
2703 &mut self,
2704 decoder: &mut fidl::encoding::Decoder<'_, D>,
2705 offset: usize,
2706 _depth: fidl::encoding::Depth,
2707 ) -> fidl::Result<()> {
2708 decoder.debug_check_bounds::<Self>(offset);
2709 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2710 unsafe {
2713 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2714 }
2715 Ok(())
2716 }
2717 }
2718
2719 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerSaveModeResponse {
2720 type Borrowed<'a> = &'a Self;
2721 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2722 value
2723 }
2724 }
2725
2726 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerSaveModeResponse {
2727 type Owned = Self;
2728
2729 #[inline(always)]
2730 fn inline_align(_context: fidl::encoding::Context) -> usize {
2731 4
2732 }
2733
2734 #[inline(always)]
2735 fn inline_size(_context: fidl::encoding::Context) -> usize {
2736 4
2737 }
2738 }
2739
2740 unsafe impl<D: fidl::encoding::ResourceDialect>
2741 fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeResponse, D>
2742 for &DeviceMonitorGetPowerSaveModeResponse
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::<DeviceMonitorGetPowerSaveModeResponse>(offset);
2752 fidl::encoding::Encode::<DeviceMonitorGetPowerSaveModeResponse, D>::encode(
2754 (<GetPowerSaveModeResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
2755 encoder,
2756 offset,
2757 _depth,
2758 )
2759 }
2760 }
2761 unsafe impl<
2762 D: fidl::encoding::ResourceDialect,
2763 T0: fidl::encoding::Encode<GetPowerSaveModeResponse, D>,
2764 > fidl::encoding::Encode<DeviceMonitorGetPowerSaveModeResponse, 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::<DeviceMonitorGetPowerSaveModeResponse>(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 DeviceMonitorGetPowerSaveModeResponse
2784 {
2785 #[inline(always)]
2786 fn new_empty() -> Self {
2787 Self { resp: fidl::new_empty!(GetPowerSaveModeResponse, 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 fidl::decode!(
2800 GetPowerSaveModeResponse,
2801 D,
2802 &mut self.resp,
2803 decoder,
2804 offset + 0,
2805 _depth
2806 )?;
2807 Ok(())
2808 }
2809 }
2810
2811 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetPowerStateResponse {
2812 type Borrowed<'a> = &'a Self;
2813 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2814 value
2815 }
2816 }
2817
2818 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetPowerStateResponse {
2819 type Owned = Self;
2820
2821 #[inline(always)]
2822 fn inline_align(_context: fidl::encoding::Context) -> usize {
2823 1
2824 }
2825
2826 #[inline(always)]
2827 fn inline_size(_context: fidl::encoding::Context) -> usize {
2828 1
2829 }
2830 }
2831
2832 unsafe impl<D: fidl::encoding::ResourceDialect>
2833 fidl::encoding::Encode<DeviceMonitorGetPowerStateResponse, D>
2834 for &DeviceMonitorGetPowerStateResponse
2835 {
2836 #[inline]
2837 unsafe fn encode(
2838 self,
2839 encoder: &mut fidl::encoding::Encoder<'_, D>,
2840 offset: usize,
2841 _depth: fidl::encoding::Depth,
2842 ) -> fidl::Result<()> {
2843 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateResponse>(offset);
2844 fidl::encoding::Encode::<DeviceMonitorGetPowerStateResponse, D>::encode(
2846 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.power_on),),
2847 encoder,
2848 offset,
2849 _depth,
2850 )
2851 }
2852 }
2853 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
2854 fidl::encoding::Encode<DeviceMonitorGetPowerStateResponse, D> for (T0,)
2855 {
2856 #[inline]
2857 unsafe fn encode(
2858 self,
2859 encoder: &mut fidl::encoding::Encoder<'_, D>,
2860 offset: usize,
2861 depth: fidl::encoding::Depth,
2862 ) -> fidl::Result<()> {
2863 encoder.debug_check_bounds::<DeviceMonitorGetPowerStateResponse>(offset);
2864 self.0.encode(encoder, offset + 0, depth)?;
2868 Ok(())
2869 }
2870 }
2871
2872 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2873 for DeviceMonitorGetPowerStateResponse
2874 {
2875 #[inline(always)]
2876 fn new_empty() -> Self {
2877 Self { power_on: fidl::new_empty!(bool, D) }
2878 }
2879
2880 #[inline]
2881 unsafe fn decode(
2882 &mut self,
2883 decoder: &mut fidl::encoding::Decoder<'_, D>,
2884 offset: usize,
2885 _depth: fidl::encoding::Depth,
2886 ) -> fidl::Result<()> {
2887 decoder.debug_check_bounds::<Self>(offset);
2888 fidl::decode!(bool, D, &mut self.power_on, decoder, offset + 0, _depth)?;
2890 Ok(())
2891 }
2892 }
2893
2894 impl fidl::encoding::ValueTypeMarker for DeviceMonitorGetSupportedMacRolesResponse {
2895 type Borrowed<'a> = &'a Self;
2896 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2897 value
2898 }
2899 }
2900
2901 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorGetSupportedMacRolesResponse {
2902 type Owned = Self;
2903
2904 #[inline(always)]
2905 fn inline_align(_context: fidl::encoding::Context) -> usize {
2906 8
2907 }
2908
2909 #[inline(always)]
2910 fn inline_size(_context: fidl::encoding::Context) -> usize {
2911 16
2912 }
2913 }
2914
2915 unsafe impl<D: fidl::encoding::ResourceDialect>
2916 fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesResponse, D>
2917 for &DeviceMonitorGetSupportedMacRolesResponse
2918 {
2919 #[inline]
2920 unsafe fn encode(
2921 self,
2922 encoder: &mut fidl::encoding::Encoder<'_, D>,
2923 offset: usize,
2924 _depth: fidl::encoding::Depth,
2925 ) -> fidl::Result<()> {
2926 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesResponse>(offset);
2927 fidl::encoding::Encode::<DeviceMonitorGetSupportedMacRolesResponse, D>::encode(
2929 (
2930 <fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16> as fidl::encoding::ValueTypeMarker>::borrow(&self.supported_mac_roles),
2931 ),
2932 encoder, offset, _depth
2933 )
2934 }
2935 }
2936 unsafe impl<
2937 D: fidl::encoding::ResourceDialect,
2938 T0: fidl::encoding::Encode<
2939 fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>,
2940 D,
2941 >,
2942 > fidl::encoding::Encode<DeviceMonitorGetSupportedMacRolesResponse, D> for (T0,)
2943 {
2944 #[inline]
2945 unsafe fn encode(
2946 self,
2947 encoder: &mut fidl::encoding::Encoder<'_, D>,
2948 offset: usize,
2949 depth: fidl::encoding::Depth,
2950 ) -> fidl::Result<()> {
2951 encoder.debug_check_bounds::<DeviceMonitorGetSupportedMacRolesResponse>(offset);
2952 self.0.encode(encoder, offset + 0, depth)?;
2956 Ok(())
2957 }
2958 }
2959
2960 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2961 for DeviceMonitorGetSupportedMacRolesResponse
2962 {
2963 #[inline(always)]
2964 fn new_empty() -> Self {
2965 Self {
2966 supported_mac_roles: fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>, D),
2967 }
2968 }
2969
2970 #[inline]
2971 unsafe fn decode(
2972 &mut self,
2973 decoder: &mut fidl::encoding::Decoder<'_, D>,
2974 offset: usize,
2975 _depth: fidl::encoding::Depth,
2976 ) -> fidl::Result<()> {
2977 decoder.debug_check_bounds::<Self>(offset);
2978 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_wlan_common__common::WlanMacRole, 16>, D, &mut self.supported_mac_roles, decoder, offset + 0, _depth)?;
2980 Ok(())
2981 }
2982 }
2983
2984 impl fidl::encoding::ValueTypeMarker for DeviceMonitorQueryIfaceResponse {
2985 type Borrowed<'a> = &'a Self;
2986 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2987 value
2988 }
2989 }
2990
2991 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorQueryIfaceResponse {
2992 type Owned = Self;
2993
2994 #[inline(always)]
2995 fn inline_align(_context: fidl::encoding::Context) -> usize {
2996 4
2997 }
2998
2999 #[inline(always)]
3000 fn inline_size(_context: fidl::encoding::Context) -> usize {
3001 16
3002 }
3003 }
3004
3005 unsafe impl<D: fidl::encoding::ResourceDialect>
3006 fidl::encoding::Encode<DeviceMonitorQueryIfaceResponse, D>
3007 for &DeviceMonitorQueryIfaceResponse
3008 {
3009 #[inline]
3010 unsafe fn encode(
3011 self,
3012 encoder: &mut fidl::encoding::Encoder<'_, D>,
3013 offset: usize,
3014 _depth: fidl::encoding::Depth,
3015 ) -> fidl::Result<()> {
3016 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceResponse>(offset);
3017 fidl::encoding::Encode::<DeviceMonitorQueryIfaceResponse, D>::encode(
3019 (<QueryIfaceResponse as fidl::encoding::ValueTypeMarker>::borrow(&self.resp),),
3020 encoder,
3021 offset,
3022 _depth,
3023 )
3024 }
3025 }
3026 unsafe impl<
3027 D: fidl::encoding::ResourceDialect,
3028 T0: fidl::encoding::Encode<QueryIfaceResponse, D>,
3029 > fidl::encoding::Encode<DeviceMonitorQueryIfaceResponse, D> for (T0,)
3030 {
3031 #[inline]
3032 unsafe fn encode(
3033 self,
3034 encoder: &mut fidl::encoding::Encoder<'_, D>,
3035 offset: usize,
3036 depth: fidl::encoding::Depth,
3037 ) -> fidl::Result<()> {
3038 encoder.debug_check_bounds::<DeviceMonitorQueryIfaceResponse>(offset);
3039 self.0.encode(encoder, offset + 0, depth)?;
3043 Ok(())
3044 }
3045 }
3046
3047 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3048 for DeviceMonitorQueryIfaceResponse
3049 {
3050 #[inline(always)]
3051 fn new_empty() -> Self {
3052 Self { resp: fidl::new_empty!(QueryIfaceResponse, D) }
3053 }
3054
3055 #[inline]
3056 unsafe fn decode(
3057 &mut self,
3058 decoder: &mut fidl::encoding::Decoder<'_, D>,
3059 offset: usize,
3060 _depth: fidl::encoding::Depth,
3061 ) -> fidl::Result<()> {
3062 decoder.debug_check_bounds::<Self>(offset);
3063 fidl::decode!(QueryIfaceResponse, D, &mut self.resp, decoder, offset + 0, _depth)?;
3065 Ok(())
3066 }
3067 }
3068
3069 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnIfaceAddedRequest {
3070 type Borrowed<'a> = &'a Self;
3071 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3072 value
3073 }
3074 }
3075
3076 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnIfaceAddedRequest {
3077 type Owned = Self;
3078
3079 #[inline(always)]
3080 fn inline_align(_context: fidl::encoding::Context) -> usize {
3081 2
3082 }
3083
3084 #[inline(always)]
3085 fn inline_size(_context: fidl::encoding::Context) -> usize {
3086 2
3087 }
3088 #[inline(always)]
3089 fn encode_is_copy() -> bool {
3090 true
3091 }
3092
3093 #[inline(always)]
3094 fn decode_is_copy() -> bool {
3095 true
3096 }
3097 }
3098
3099 unsafe impl<D: fidl::encoding::ResourceDialect>
3100 fidl::encoding::Encode<DeviceWatcherOnIfaceAddedRequest, D>
3101 for &DeviceWatcherOnIfaceAddedRequest
3102 {
3103 #[inline]
3104 unsafe fn encode(
3105 self,
3106 encoder: &mut fidl::encoding::Encoder<'_, D>,
3107 offset: usize,
3108 _depth: fidl::encoding::Depth,
3109 ) -> fidl::Result<()> {
3110 encoder.debug_check_bounds::<DeviceWatcherOnIfaceAddedRequest>(offset);
3111 unsafe {
3112 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3114 (buf_ptr as *mut DeviceWatcherOnIfaceAddedRequest)
3115 .write_unaligned((self as *const DeviceWatcherOnIfaceAddedRequest).read());
3116 }
3119 Ok(())
3120 }
3121 }
3122 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3123 fidl::encoding::Encode<DeviceWatcherOnIfaceAddedRequest, D> for (T0,)
3124 {
3125 #[inline]
3126 unsafe fn encode(
3127 self,
3128 encoder: &mut fidl::encoding::Encoder<'_, D>,
3129 offset: usize,
3130 depth: fidl::encoding::Depth,
3131 ) -> fidl::Result<()> {
3132 encoder.debug_check_bounds::<DeviceWatcherOnIfaceAddedRequest>(offset);
3133 self.0.encode(encoder, offset + 0, depth)?;
3137 Ok(())
3138 }
3139 }
3140
3141 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3142 for DeviceWatcherOnIfaceAddedRequest
3143 {
3144 #[inline(always)]
3145 fn new_empty() -> Self {
3146 Self { iface_id: fidl::new_empty!(u16, D) }
3147 }
3148
3149 #[inline]
3150 unsafe fn decode(
3151 &mut self,
3152 decoder: &mut fidl::encoding::Decoder<'_, D>,
3153 offset: usize,
3154 _depth: fidl::encoding::Depth,
3155 ) -> fidl::Result<()> {
3156 decoder.debug_check_bounds::<Self>(offset);
3157 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3158 unsafe {
3161 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3162 }
3163 Ok(())
3164 }
3165 }
3166
3167 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnIfaceRemovedRequest {
3168 type Borrowed<'a> = &'a Self;
3169 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3170 value
3171 }
3172 }
3173
3174 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnIfaceRemovedRequest {
3175 type Owned = Self;
3176
3177 #[inline(always)]
3178 fn inline_align(_context: fidl::encoding::Context) -> usize {
3179 2
3180 }
3181
3182 #[inline(always)]
3183 fn inline_size(_context: fidl::encoding::Context) -> usize {
3184 2
3185 }
3186 #[inline(always)]
3187 fn encode_is_copy() -> bool {
3188 true
3189 }
3190
3191 #[inline(always)]
3192 fn decode_is_copy() -> bool {
3193 true
3194 }
3195 }
3196
3197 unsafe impl<D: fidl::encoding::ResourceDialect>
3198 fidl::encoding::Encode<DeviceWatcherOnIfaceRemovedRequest, D>
3199 for &DeviceWatcherOnIfaceRemovedRequest
3200 {
3201 #[inline]
3202 unsafe fn encode(
3203 self,
3204 encoder: &mut fidl::encoding::Encoder<'_, D>,
3205 offset: usize,
3206 _depth: fidl::encoding::Depth,
3207 ) -> fidl::Result<()> {
3208 encoder.debug_check_bounds::<DeviceWatcherOnIfaceRemovedRequest>(offset);
3209 unsafe {
3210 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3212 (buf_ptr as *mut DeviceWatcherOnIfaceRemovedRequest)
3213 .write_unaligned((self as *const DeviceWatcherOnIfaceRemovedRequest).read());
3214 }
3217 Ok(())
3218 }
3219 }
3220 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3221 fidl::encoding::Encode<DeviceWatcherOnIfaceRemovedRequest, D> for (T0,)
3222 {
3223 #[inline]
3224 unsafe fn encode(
3225 self,
3226 encoder: &mut fidl::encoding::Encoder<'_, D>,
3227 offset: usize,
3228 depth: fidl::encoding::Depth,
3229 ) -> fidl::Result<()> {
3230 encoder.debug_check_bounds::<DeviceWatcherOnIfaceRemovedRequest>(offset);
3231 self.0.encode(encoder, offset + 0, depth)?;
3235 Ok(())
3236 }
3237 }
3238
3239 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3240 for DeviceWatcherOnIfaceRemovedRequest
3241 {
3242 #[inline(always)]
3243 fn new_empty() -> Self {
3244 Self { iface_id: fidl::new_empty!(u16, D) }
3245 }
3246
3247 #[inline]
3248 unsafe fn decode(
3249 &mut self,
3250 decoder: &mut fidl::encoding::Decoder<'_, D>,
3251 offset: usize,
3252 _depth: fidl::encoding::Depth,
3253 ) -> fidl::Result<()> {
3254 decoder.debug_check_bounds::<Self>(offset);
3255 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3256 unsafe {
3259 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3260 }
3261 Ok(())
3262 }
3263 }
3264
3265 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnPhyAddedRequest {
3266 type Borrowed<'a> = &'a Self;
3267 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3268 value
3269 }
3270 }
3271
3272 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnPhyAddedRequest {
3273 type Owned = Self;
3274
3275 #[inline(always)]
3276 fn inline_align(_context: fidl::encoding::Context) -> usize {
3277 2
3278 }
3279
3280 #[inline(always)]
3281 fn inline_size(_context: fidl::encoding::Context) -> usize {
3282 2
3283 }
3284 #[inline(always)]
3285 fn encode_is_copy() -> bool {
3286 true
3287 }
3288
3289 #[inline(always)]
3290 fn decode_is_copy() -> bool {
3291 true
3292 }
3293 }
3294
3295 unsafe impl<D: fidl::encoding::ResourceDialect>
3296 fidl::encoding::Encode<DeviceWatcherOnPhyAddedRequest, D>
3297 for &DeviceWatcherOnPhyAddedRequest
3298 {
3299 #[inline]
3300 unsafe fn encode(
3301 self,
3302 encoder: &mut fidl::encoding::Encoder<'_, D>,
3303 offset: usize,
3304 _depth: fidl::encoding::Depth,
3305 ) -> fidl::Result<()> {
3306 encoder.debug_check_bounds::<DeviceWatcherOnPhyAddedRequest>(offset);
3307 unsafe {
3308 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3310 (buf_ptr as *mut DeviceWatcherOnPhyAddedRequest)
3311 .write_unaligned((self as *const DeviceWatcherOnPhyAddedRequest).read());
3312 }
3315 Ok(())
3316 }
3317 }
3318 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3319 fidl::encoding::Encode<DeviceWatcherOnPhyAddedRequest, D> for (T0,)
3320 {
3321 #[inline]
3322 unsafe fn encode(
3323 self,
3324 encoder: &mut fidl::encoding::Encoder<'_, D>,
3325 offset: usize,
3326 depth: fidl::encoding::Depth,
3327 ) -> fidl::Result<()> {
3328 encoder.debug_check_bounds::<DeviceWatcherOnPhyAddedRequest>(offset);
3329 self.0.encode(encoder, offset + 0, depth)?;
3333 Ok(())
3334 }
3335 }
3336
3337 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3338 for DeviceWatcherOnPhyAddedRequest
3339 {
3340 #[inline(always)]
3341 fn new_empty() -> Self {
3342 Self { phy_id: fidl::new_empty!(u16, D) }
3343 }
3344
3345 #[inline]
3346 unsafe fn decode(
3347 &mut self,
3348 decoder: &mut fidl::encoding::Decoder<'_, D>,
3349 offset: usize,
3350 _depth: fidl::encoding::Depth,
3351 ) -> fidl::Result<()> {
3352 decoder.debug_check_bounds::<Self>(offset);
3353 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3354 unsafe {
3357 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3358 }
3359 Ok(())
3360 }
3361 }
3362
3363 impl fidl::encoding::ValueTypeMarker for DeviceWatcherOnPhyRemovedRequest {
3364 type Borrowed<'a> = &'a Self;
3365 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3366 value
3367 }
3368 }
3369
3370 unsafe impl fidl::encoding::TypeMarker for DeviceWatcherOnPhyRemovedRequest {
3371 type Owned = Self;
3372
3373 #[inline(always)]
3374 fn inline_align(_context: fidl::encoding::Context) -> usize {
3375 2
3376 }
3377
3378 #[inline(always)]
3379 fn inline_size(_context: fidl::encoding::Context) -> usize {
3380 2
3381 }
3382 #[inline(always)]
3383 fn encode_is_copy() -> bool {
3384 true
3385 }
3386
3387 #[inline(always)]
3388 fn decode_is_copy() -> bool {
3389 true
3390 }
3391 }
3392
3393 unsafe impl<D: fidl::encoding::ResourceDialect>
3394 fidl::encoding::Encode<DeviceWatcherOnPhyRemovedRequest, D>
3395 for &DeviceWatcherOnPhyRemovedRequest
3396 {
3397 #[inline]
3398 unsafe fn encode(
3399 self,
3400 encoder: &mut fidl::encoding::Encoder<'_, D>,
3401 offset: usize,
3402 _depth: fidl::encoding::Depth,
3403 ) -> fidl::Result<()> {
3404 encoder.debug_check_bounds::<DeviceWatcherOnPhyRemovedRequest>(offset);
3405 unsafe {
3406 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3408 (buf_ptr as *mut DeviceWatcherOnPhyRemovedRequest)
3409 .write_unaligned((self as *const DeviceWatcherOnPhyRemovedRequest).read());
3410 }
3413 Ok(())
3414 }
3415 }
3416 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
3417 fidl::encoding::Encode<DeviceWatcherOnPhyRemovedRequest, D> for (T0,)
3418 {
3419 #[inline]
3420 unsafe fn encode(
3421 self,
3422 encoder: &mut fidl::encoding::Encoder<'_, D>,
3423 offset: usize,
3424 depth: fidl::encoding::Depth,
3425 ) -> fidl::Result<()> {
3426 encoder.debug_check_bounds::<DeviceWatcherOnPhyRemovedRequest>(offset);
3427 self.0.encode(encoder, offset + 0, depth)?;
3431 Ok(())
3432 }
3433 }
3434
3435 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3436 for DeviceWatcherOnPhyRemovedRequest
3437 {
3438 #[inline(always)]
3439 fn new_empty() -> Self {
3440 Self { phy_id: fidl::new_empty!(u16, D) }
3441 }
3442
3443 #[inline]
3444 unsafe fn decode(
3445 &mut self,
3446 decoder: &mut fidl::encoding::Decoder<'_, D>,
3447 offset: usize,
3448 _depth: fidl::encoding::Depth,
3449 ) -> fidl::Result<()> {
3450 decoder.debug_check_bounds::<Self>(offset);
3451 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3452 unsafe {
3455 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3456 }
3457 Ok(())
3458 }
3459 }
3460
3461 impl fidl::encoding::ValueTypeMarker for GetCountryResponse {
3462 type Borrowed<'a> = &'a Self;
3463 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3464 value
3465 }
3466 }
3467
3468 unsafe impl fidl::encoding::TypeMarker for GetCountryResponse {
3469 type Owned = Self;
3470
3471 #[inline(always)]
3472 fn inline_align(_context: fidl::encoding::Context) -> usize {
3473 1
3474 }
3475
3476 #[inline(always)]
3477 fn inline_size(_context: fidl::encoding::Context) -> usize {
3478 2
3479 }
3480 #[inline(always)]
3481 fn encode_is_copy() -> bool {
3482 true
3483 }
3484
3485 #[inline(always)]
3486 fn decode_is_copy() -> bool {
3487 true
3488 }
3489 }
3490
3491 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<GetCountryResponse, D>
3492 for &GetCountryResponse
3493 {
3494 #[inline]
3495 unsafe fn encode(
3496 self,
3497 encoder: &mut fidl::encoding::Encoder<'_, D>,
3498 offset: usize,
3499 _depth: fidl::encoding::Depth,
3500 ) -> fidl::Result<()> {
3501 encoder.debug_check_bounds::<GetCountryResponse>(offset);
3502 unsafe {
3503 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3505 (buf_ptr as *mut GetCountryResponse)
3506 .write_unaligned((self as *const GetCountryResponse).read());
3507 }
3510 Ok(())
3511 }
3512 }
3513 unsafe impl<
3514 D: fidl::encoding::ResourceDialect,
3515 T0: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3516 > fidl::encoding::Encode<GetCountryResponse, D> for (T0,)
3517 {
3518 #[inline]
3519 unsafe fn encode(
3520 self,
3521 encoder: &mut fidl::encoding::Encoder<'_, D>,
3522 offset: usize,
3523 depth: fidl::encoding::Depth,
3524 ) -> fidl::Result<()> {
3525 encoder.debug_check_bounds::<GetCountryResponse>(offset);
3526 self.0.encode(encoder, offset + 0, depth)?;
3530 Ok(())
3531 }
3532 }
3533
3534 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for GetCountryResponse {
3535 #[inline(always)]
3536 fn new_empty() -> Self {
3537 Self { alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D) }
3538 }
3539
3540 #[inline]
3541 unsafe fn decode(
3542 &mut self,
3543 decoder: &mut fidl::encoding::Decoder<'_, D>,
3544 offset: usize,
3545 _depth: fidl::encoding::Depth,
3546 ) -> fidl::Result<()> {
3547 decoder.debug_check_bounds::<Self>(offset);
3548 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3549 unsafe {
3552 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
3553 }
3554 Ok(())
3555 }
3556 }
3557
3558 impl fidl::encoding::ValueTypeMarker for GetPowerSaveModeResponse {
3559 type Borrowed<'a> = &'a Self;
3560 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3561 value
3562 }
3563 }
3564
3565 unsafe impl fidl::encoding::TypeMarker for GetPowerSaveModeResponse {
3566 type Owned = Self;
3567
3568 #[inline(always)]
3569 fn inline_align(_context: fidl::encoding::Context) -> usize {
3570 4
3571 }
3572
3573 #[inline(always)]
3574 fn inline_size(_context: fidl::encoding::Context) -> usize {
3575 4
3576 }
3577 }
3578
3579 unsafe impl<D: fidl::encoding::ResourceDialect>
3580 fidl::encoding::Encode<GetPowerSaveModeResponse, D> for &GetPowerSaveModeResponse
3581 {
3582 #[inline]
3583 unsafe fn encode(
3584 self,
3585 encoder: &mut fidl::encoding::Encoder<'_, D>,
3586 offset: usize,
3587 _depth: fidl::encoding::Depth,
3588 ) -> fidl::Result<()> {
3589 encoder.debug_check_bounds::<GetPowerSaveModeResponse>(offset);
3590 fidl::encoding::Encode::<GetPowerSaveModeResponse, D>::encode(
3592 (
3593 <fidl_fuchsia_wlan_common__common::PowerSaveType as fidl::encoding::ValueTypeMarker>::borrow(&self.ps_mode),
3594 ),
3595 encoder, offset, _depth
3596 )
3597 }
3598 }
3599 unsafe impl<
3600 D: fidl::encoding::ResourceDialect,
3601 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::PowerSaveType, D>,
3602 > fidl::encoding::Encode<GetPowerSaveModeResponse, D> for (T0,)
3603 {
3604 #[inline]
3605 unsafe fn encode(
3606 self,
3607 encoder: &mut fidl::encoding::Encoder<'_, D>,
3608 offset: usize,
3609 depth: fidl::encoding::Depth,
3610 ) -> fidl::Result<()> {
3611 encoder.debug_check_bounds::<GetPowerSaveModeResponse>(offset);
3612 self.0.encode(encoder, offset + 0, depth)?;
3616 Ok(())
3617 }
3618 }
3619
3620 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3621 for GetPowerSaveModeResponse
3622 {
3623 #[inline(always)]
3624 fn new_empty() -> Self {
3625 Self { ps_mode: fidl::new_empty!(fidl_fuchsia_wlan_common__common::PowerSaveType, D) }
3626 }
3627
3628 #[inline]
3629 unsafe fn decode(
3630 &mut self,
3631 decoder: &mut fidl::encoding::Decoder<'_, D>,
3632 offset: usize,
3633 _depth: fidl::encoding::Depth,
3634 ) -> fidl::Result<()> {
3635 decoder.debug_check_bounds::<Self>(offset);
3636 fidl::decode!(
3638 fidl_fuchsia_wlan_common__common::PowerSaveType,
3639 D,
3640 &mut self.ps_mode,
3641 decoder,
3642 offset + 0,
3643 _depth
3644 )?;
3645 Ok(())
3646 }
3647 }
3648
3649 impl fidl::encoding::ValueTypeMarker for QueryIfaceResponse {
3650 type Borrowed<'a> = &'a Self;
3651 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3652 value
3653 }
3654 }
3655
3656 unsafe impl fidl::encoding::TypeMarker for QueryIfaceResponse {
3657 type Owned = Self;
3658
3659 #[inline(always)]
3660 fn inline_align(_context: fidl::encoding::Context) -> usize {
3661 4
3662 }
3663
3664 #[inline(always)]
3665 fn inline_size(_context: fidl::encoding::Context) -> usize {
3666 16
3667 }
3668 }
3669
3670 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<QueryIfaceResponse, D>
3671 for &QueryIfaceResponse
3672 {
3673 #[inline]
3674 unsafe fn encode(
3675 self,
3676 encoder: &mut fidl::encoding::Encoder<'_, D>,
3677 offset: usize,
3678 _depth: fidl::encoding::Depth,
3679 ) -> fidl::Result<()> {
3680 encoder.debug_check_bounds::<QueryIfaceResponse>(offset);
3681 fidl::encoding::Encode::<QueryIfaceResponse, D>::encode(
3683 (
3684 <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow(&self.role),
3685 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.id),
3686 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
3687 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_assigned_id),
3688 <fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow(&self.sta_addr),
3689 ),
3690 encoder, offset, _depth
3691 )
3692 }
3693 }
3694 unsafe impl<
3695 D: fidl::encoding::ResourceDialect,
3696 T0: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::WlanMacRole, D>,
3697 T1: fidl::encoding::Encode<u16, D>,
3698 T2: fidl::encoding::Encode<u16, D>,
3699 T3: fidl::encoding::Encode<u16, D>,
3700 T4: fidl::encoding::Encode<fidl::encoding::Array<u8, 6>, D>,
3701 > fidl::encoding::Encode<QueryIfaceResponse, D> for (T0, T1, T2, T3, T4)
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::<QueryIfaceResponse>(offset);
3711 self.0.encode(encoder, offset + 0, depth)?;
3715 self.1.encode(encoder, offset + 4, depth)?;
3716 self.2.encode(encoder, offset + 6, depth)?;
3717 self.3.encode(encoder, offset + 8, depth)?;
3718 self.4.encode(encoder, offset + 10, depth)?;
3719 Ok(())
3720 }
3721 }
3722
3723 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for QueryIfaceResponse {
3724 #[inline(always)]
3725 fn new_empty() -> Self {
3726 Self {
3727 role: fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D),
3728 id: fidl::new_empty!(u16, D),
3729 phy_id: fidl::new_empty!(u16, D),
3730 phy_assigned_id: fidl::new_empty!(u16, D),
3731 sta_addr: fidl::new_empty!(fidl::encoding::Array<u8, 6>, D),
3732 }
3733 }
3734
3735 #[inline]
3736 unsafe fn decode(
3737 &mut self,
3738 decoder: &mut fidl::encoding::Decoder<'_, D>,
3739 offset: usize,
3740 _depth: fidl::encoding::Depth,
3741 ) -> fidl::Result<()> {
3742 decoder.debug_check_bounds::<Self>(offset);
3743 fidl::decode!(
3745 fidl_fuchsia_wlan_common__common::WlanMacRole,
3746 D,
3747 &mut self.role,
3748 decoder,
3749 offset + 0,
3750 _depth
3751 )?;
3752 fidl::decode!(u16, D, &mut self.id, decoder, offset + 4, _depth)?;
3753 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 6, _depth)?;
3754 fidl::decode!(u16, D, &mut self.phy_assigned_id, decoder, offset + 8, _depth)?;
3755 fidl::decode!(fidl::encoding::Array<u8, 6>, D, &mut self.sta_addr, decoder, offset + 10, _depth)?;
3756 Ok(())
3757 }
3758 }
3759
3760 impl fidl::encoding::ValueTypeMarker for SetCountryRequest {
3761 type Borrowed<'a> = &'a Self;
3762 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3763 value
3764 }
3765 }
3766
3767 unsafe impl fidl::encoding::TypeMarker for SetCountryRequest {
3768 type Owned = Self;
3769
3770 #[inline(always)]
3771 fn inline_align(_context: fidl::encoding::Context) -> usize {
3772 2
3773 }
3774
3775 #[inline(always)]
3776 fn inline_size(_context: fidl::encoding::Context) -> usize {
3777 4
3778 }
3779 #[inline(always)]
3780 fn encode_is_copy() -> bool {
3781 true
3782 }
3783
3784 #[inline(always)]
3785 fn decode_is_copy() -> bool {
3786 true
3787 }
3788 }
3789
3790 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<SetCountryRequest, D>
3791 for &SetCountryRequest
3792 {
3793 #[inline]
3794 unsafe fn encode(
3795 self,
3796 encoder: &mut fidl::encoding::Encoder<'_, D>,
3797 offset: usize,
3798 _depth: fidl::encoding::Depth,
3799 ) -> fidl::Result<()> {
3800 encoder.debug_check_bounds::<SetCountryRequest>(offset);
3801 unsafe {
3802 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
3804 (buf_ptr as *mut SetCountryRequest)
3805 .write_unaligned((self as *const SetCountryRequest).read());
3806 }
3809 Ok(())
3810 }
3811 }
3812 unsafe impl<
3813 D: fidl::encoding::ResourceDialect,
3814 T0: fidl::encoding::Encode<u16, D>,
3815 T1: fidl::encoding::Encode<fidl::encoding::Array<u8, 2>, D>,
3816 > fidl::encoding::Encode<SetCountryRequest, D> for (T0, T1)
3817 {
3818 #[inline]
3819 unsafe fn encode(
3820 self,
3821 encoder: &mut fidl::encoding::Encoder<'_, D>,
3822 offset: usize,
3823 depth: fidl::encoding::Depth,
3824 ) -> fidl::Result<()> {
3825 encoder.debug_check_bounds::<SetCountryRequest>(offset);
3826 self.0.encode(encoder, offset + 0, depth)?;
3830 self.1.encode(encoder, offset + 2, depth)?;
3831 Ok(())
3832 }
3833 }
3834
3835 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for SetCountryRequest {
3836 #[inline(always)]
3837 fn new_empty() -> Self {
3838 Self {
3839 phy_id: fidl::new_empty!(u16, D),
3840 alpha2: fidl::new_empty!(fidl::encoding::Array<u8, 2>, D),
3841 }
3842 }
3843
3844 #[inline]
3845 unsafe fn decode(
3846 &mut self,
3847 decoder: &mut fidl::encoding::Decoder<'_, D>,
3848 offset: usize,
3849 _depth: fidl::encoding::Depth,
3850 ) -> fidl::Result<()> {
3851 decoder.debug_check_bounds::<Self>(offset);
3852 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
3853 unsafe {
3856 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 4);
3857 }
3858 Ok(())
3859 }
3860 }
3861
3862 impl fidl::encoding::ValueTypeMarker for SetPowerSaveModeRequest {
3863 type Borrowed<'a> = &'a Self;
3864 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3865 value
3866 }
3867 }
3868
3869 unsafe impl fidl::encoding::TypeMarker for SetPowerSaveModeRequest {
3870 type Owned = Self;
3871
3872 #[inline(always)]
3873 fn inline_align(_context: fidl::encoding::Context) -> usize {
3874 4
3875 }
3876
3877 #[inline(always)]
3878 fn inline_size(_context: fidl::encoding::Context) -> usize {
3879 8
3880 }
3881 }
3882
3883 unsafe impl<D: fidl::encoding::ResourceDialect>
3884 fidl::encoding::Encode<SetPowerSaveModeRequest, D> for &SetPowerSaveModeRequest
3885 {
3886 #[inline]
3887 unsafe fn encode(
3888 self,
3889 encoder: &mut fidl::encoding::Encoder<'_, D>,
3890 offset: usize,
3891 _depth: fidl::encoding::Depth,
3892 ) -> fidl::Result<()> {
3893 encoder.debug_check_bounds::<SetPowerSaveModeRequest>(offset);
3894 fidl::encoding::Encode::<SetPowerSaveModeRequest, D>::encode(
3896 (
3897 <u16 as fidl::encoding::ValueTypeMarker>::borrow(&self.phy_id),
3898 <fidl_fuchsia_wlan_common__common::PowerSaveType as fidl::encoding::ValueTypeMarker>::borrow(&self.ps_mode),
3899 ),
3900 encoder, offset, _depth
3901 )
3902 }
3903 }
3904 unsafe impl<
3905 D: fidl::encoding::ResourceDialect,
3906 T0: fidl::encoding::Encode<u16, D>,
3907 T1: fidl::encoding::Encode<fidl_fuchsia_wlan_common__common::PowerSaveType, D>,
3908 > fidl::encoding::Encode<SetPowerSaveModeRequest, D> for (T0, T1)
3909 {
3910 #[inline]
3911 unsafe fn encode(
3912 self,
3913 encoder: &mut fidl::encoding::Encoder<'_, D>,
3914 offset: usize,
3915 depth: fidl::encoding::Depth,
3916 ) -> fidl::Result<()> {
3917 encoder.debug_check_bounds::<SetPowerSaveModeRequest>(offset);
3918 unsafe {
3921 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(0);
3922 (ptr as *mut u32).write_unaligned(0);
3923 }
3924 self.0.encode(encoder, offset + 0, depth)?;
3926 self.1.encode(encoder, offset + 4, depth)?;
3927 Ok(())
3928 }
3929 }
3930
3931 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3932 for SetPowerSaveModeRequest
3933 {
3934 #[inline(always)]
3935 fn new_empty() -> Self {
3936 Self {
3937 phy_id: fidl::new_empty!(u16, D),
3938 ps_mode: fidl::new_empty!(fidl_fuchsia_wlan_common__common::PowerSaveType, D),
3939 }
3940 }
3941
3942 #[inline]
3943 unsafe fn decode(
3944 &mut self,
3945 decoder: &mut fidl::encoding::Decoder<'_, D>,
3946 offset: usize,
3947 _depth: fidl::encoding::Depth,
3948 ) -> fidl::Result<()> {
3949 decoder.debug_check_bounds::<Self>(offset);
3950 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(0) };
3952 let padval = unsafe { (ptr as *const u32).read_unaligned() };
3953 let mask = 0xffff0000u32;
3954 let maskedval = padval & mask;
3955 if maskedval != 0 {
3956 return Err(fidl::Error::NonZeroPadding {
3957 padding_start: offset + 0 + ((mask as u64).trailing_zeros() / 8) as usize,
3958 });
3959 }
3960 fidl::decode!(u16, D, &mut self.phy_id, decoder, offset + 0, _depth)?;
3961 fidl::decode!(
3962 fidl_fuchsia_wlan_common__common::PowerSaveType,
3963 D,
3964 &mut self.ps_mode,
3965 decoder,
3966 offset + 4,
3967 _depth
3968 )?;
3969 Ok(())
3970 }
3971 }
3972
3973 impl DeviceMonitorCreateIfaceRequest {
3974 #[inline(always)]
3975 fn max_ordinal_present(&self) -> u64 {
3976 if let Some(_) = self.sta_address {
3977 return 3;
3978 }
3979 if let Some(_) = self.role {
3980 return 2;
3981 }
3982 if let Some(_) = self.phy_id {
3983 return 1;
3984 }
3985 0
3986 }
3987 }
3988
3989 impl fidl::encoding::ValueTypeMarker for DeviceMonitorCreateIfaceRequest {
3990 type Borrowed<'a> = &'a Self;
3991 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3992 value
3993 }
3994 }
3995
3996 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorCreateIfaceRequest {
3997 type Owned = Self;
3998
3999 #[inline(always)]
4000 fn inline_align(_context: fidl::encoding::Context) -> usize {
4001 8
4002 }
4003
4004 #[inline(always)]
4005 fn inline_size(_context: fidl::encoding::Context) -> usize {
4006 16
4007 }
4008 }
4009
4010 unsafe impl<D: fidl::encoding::ResourceDialect>
4011 fidl::encoding::Encode<DeviceMonitorCreateIfaceRequest, D>
4012 for &DeviceMonitorCreateIfaceRequest
4013 {
4014 unsafe fn encode(
4015 self,
4016 encoder: &mut fidl::encoding::Encoder<'_, D>,
4017 offset: usize,
4018 mut depth: fidl::encoding::Depth,
4019 ) -> fidl::Result<()> {
4020 encoder.debug_check_bounds::<DeviceMonitorCreateIfaceRequest>(offset);
4021 let max_ordinal: u64 = self.max_ordinal_present();
4023 encoder.write_num(max_ordinal, offset);
4024 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4025 if max_ordinal == 0 {
4027 return Ok(());
4028 }
4029 depth.increment()?;
4030 let envelope_size = 8;
4031 let bytes_len = max_ordinal as usize * envelope_size;
4032 #[allow(unused_variables)]
4033 let offset = encoder.out_of_line_offset(bytes_len);
4034 let mut _prev_end_offset: usize = 0;
4035 if 1 > max_ordinal {
4036 return Ok(());
4037 }
4038
4039 let cur_offset: usize = (1 - 1) * envelope_size;
4042
4043 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4045
4046 fidl::encoding::encode_in_envelope_optional::<u16, D>(
4051 self.phy_id.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
4052 encoder,
4053 offset + cur_offset,
4054 depth,
4055 )?;
4056
4057 _prev_end_offset = cur_offset + envelope_size;
4058 if 2 > max_ordinal {
4059 return Ok(());
4060 }
4061
4062 let cur_offset: usize = (2 - 1) * envelope_size;
4065
4066 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4068
4069 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_wlan_common__common::WlanMacRole, D>(
4074 self.role.as_ref().map(<fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::ValueTypeMarker>::borrow),
4075 encoder, offset + cur_offset, depth
4076 )?;
4077
4078 _prev_end_offset = cur_offset + envelope_size;
4079 if 3 > max_ordinal {
4080 return Ok(());
4081 }
4082
4083 let cur_offset: usize = (3 - 1) * envelope_size;
4086
4087 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4089
4090 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Array<u8, 6>, D>(
4095 self.sta_address
4096 .as_ref()
4097 .map(<fidl::encoding::Array<u8, 6> as fidl::encoding::ValueTypeMarker>::borrow),
4098 encoder,
4099 offset + cur_offset,
4100 depth,
4101 )?;
4102
4103 _prev_end_offset = cur_offset + envelope_size;
4104
4105 Ok(())
4106 }
4107 }
4108
4109 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4110 for DeviceMonitorCreateIfaceRequest
4111 {
4112 #[inline(always)]
4113 fn new_empty() -> Self {
4114 Self::default()
4115 }
4116
4117 unsafe fn decode(
4118 &mut self,
4119 decoder: &mut fidl::encoding::Decoder<'_, D>,
4120 offset: usize,
4121 mut depth: fidl::encoding::Depth,
4122 ) -> fidl::Result<()> {
4123 decoder.debug_check_bounds::<Self>(offset);
4124 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4125 None => return Err(fidl::Error::NotNullable),
4126 Some(len) => len,
4127 };
4128 if len == 0 {
4130 return Ok(());
4131 };
4132 depth.increment()?;
4133 let envelope_size = 8;
4134 let bytes_len = len * envelope_size;
4135 let offset = decoder.out_of_line_offset(bytes_len)?;
4136 let mut _next_ordinal_to_read = 0;
4138 let mut next_offset = offset;
4139 let end_offset = offset + bytes_len;
4140 _next_ordinal_to_read += 1;
4141 if next_offset >= end_offset {
4142 return Ok(());
4143 }
4144
4145 while _next_ordinal_to_read < 1 {
4147 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4148 _next_ordinal_to_read += 1;
4149 next_offset += envelope_size;
4150 }
4151
4152 let next_out_of_line = decoder.next_out_of_line();
4153 let handles_before = decoder.remaining_handles();
4154 if let Some((inlined, num_bytes, num_handles)) =
4155 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4156 {
4157 let member_inline_size =
4158 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4159 if inlined != (member_inline_size <= 4) {
4160 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4161 }
4162 let inner_offset;
4163 let mut inner_depth = depth.clone();
4164 if inlined {
4165 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4166 inner_offset = next_offset;
4167 } else {
4168 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4169 inner_depth.increment()?;
4170 }
4171 let val_ref = self.phy_id.get_or_insert_with(|| fidl::new_empty!(u16, D));
4172 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
4173 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4174 {
4175 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4176 }
4177 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4178 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4179 }
4180 }
4181
4182 next_offset += envelope_size;
4183 _next_ordinal_to_read += 1;
4184 if next_offset >= end_offset {
4185 return Ok(());
4186 }
4187
4188 while _next_ordinal_to_read < 2 {
4190 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4191 _next_ordinal_to_read += 1;
4192 next_offset += envelope_size;
4193 }
4194
4195 let next_out_of_line = decoder.next_out_of_line();
4196 let handles_before = decoder.remaining_handles();
4197 if let Some((inlined, num_bytes, num_handles)) =
4198 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4199 {
4200 let member_inline_size = <fidl_fuchsia_wlan_common__common::WlanMacRole as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4201 if inlined != (member_inline_size <= 4) {
4202 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4203 }
4204 let inner_offset;
4205 let mut inner_depth = depth.clone();
4206 if inlined {
4207 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4208 inner_offset = next_offset;
4209 } else {
4210 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4211 inner_depth.increment()?;
4212 }
4213 let val_ref = self.role.get_or_insert_with(|| {
4214 fidl::new_empty!(fidl_fuchsia_wlan_common__common::WlanMacRole, D)
4215 });
4216 fidl::decode!(
4217 fidl_fuchsia_wlan_common__common::WlanMacRole,
4218 D,
4219 val_ref,
4220 decoder,
4221 inner_offset,
4222 inner_depth
4223 )?;
4224 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4225 {
4226 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4227 }
4228 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4229 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4230 }
4231 }
4232
4233 next_offset += envelope_size;
4234 _next_ordinal_to_read += 1;
4235 if next_offset >= end_offset {
4236 return Ok(());
4237 }
4238
4239 while _next_ordinal_to_read < 3 {
4241 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4242 _next_ordinal_to_read += 1;
4243 next_offset += envelope_size;
4244 }
4245
4246 let next_out_of_line = decoder.next_out_of_line();
4247 let handles_before = decoder.remaining_handles();
4248 if let Some((inlined, num_bytes, num_handles)) =
4249 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4250 {
4251 let member_inline_size =
4252 <fidl::encoding::Array<u8, 6> as fidl::encoding::TypeMarker>::inline_size(
4253 decoder.context,
4254 );
4255 if inlined != (member_inline_size <= 4) {
4256 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4257 }
4258 let inner_offset;
4259 let mut inner_depth = depth.clone();
4260 if inlined {
4261 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4262 inner_offset = next_offset;
4263 } else {
4264 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4265 inner_depth.increment()?;
4266 }
4267 let val_ref = self
4268 .sta_address
4269 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Array<u8, 6>, D));
4270 fidl::decode!(fidl::encoding::Array<u8, 6>, D, val_ref, decoder, inner_offset, inner_depth)?;
4271 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4272 {
4273 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4274 }
4275 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4276 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4277 }
4278 }
4279
4280 next_offset += envelope_size;
4281
4282 while next_offset < end_offset {
4284 _next_ordinal_to_read += 1;
4285 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4286 next_offset += envelope_size;
4287 }
4288
4289 Ok(())
4290 }
4291 }
4292
4293 impl DeviceMonitorCreateIfaceResponse {
4294 #[inline(always)]
4295 fn max_ordinal_present(&self) -> u64 {
4296 if let Some(_) = self.iface_id {
4297 return 1;
4298 }
4299 0
4300 }
4301 }
4302
4303 impl fidl::encoding::ValueTypeMarker for DeviceMonitorCreateIfaceResponse {
4304 type Borrowed<'a> = &'a Self;
4305 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4306 value
4307 }
4308 }
4309
4310 unsafe impl fidl::encoding::TypeMarker for DeviceMonitorCreateIfaceResponse {
4311 type Owned = Self;
4312
4313 #[inline(always)]
4314 fn inline_align(_context: fidl::encoding::Context) -> usize {
4315 8
4316 }
4317
4318 #[inline(always)]
4319 fn inline_size(_context: fidl::encoding::Context) -> usize {
4320 16
4321 }
4322 }
4323
4324 unsafe impl<D: fidl::encoding::ResourceDialect>
4325 fidl::encoding::Encode<DeviceMonitorCreateIfaceResponse, D>
4326 for &DeviceMonitorCreateIfaceResponse
4327 {
4328 unsafe fn encode(
4329 self,
4330 encoder: &mut fidl::encoding::Encoder<'_, D>,
4331 offset: usize,
4332 mut depth: fidl::encoding::Depth,
4333 ) -> fidl::Result<()> {
4334 encoder.debug_check_bounds::<DeviceMonitorCreateIfaceResponse>(offset);
4335 let max_ordinal: u64 = self.max_ordinal_present();
4337 encoder.write_num(max_ordinal, offset);
4338 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4339 if max_ordinal == 0 {
4341 return Ok(());
4342 }
4343 depth.increment()?;
4344 let envelope_size = 8;
4345 let bytes_len = max_ordinal as usize * envelope_size;
4346 #[allow(unused_variables)]
4347 let offset = encoder.out_of_line_offset(bytes_len);
4348 let mut _prev_end_offset: usize = 0;
4349 if 1 > max_ordinal {
4350 return Ok(());
4351 }
4352
4353 let cur_offset: usize = (1 - 1) * envelope_size;
4356
4357 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4359
4360 fidl::encoding::encode_in_envelope_optional::<u16, D>(
4365 self.iface_id.as_ref().map(<u16 as fidl::encoding::ValueTypeMarker>::borrow),
4366 encoder,
4367 offset + cur_offset,
4368 depth,
4369 )?;
4370
4371 _prev_end_offset = cur_offset + envelope_size;
4372
4373 Ok(())
4374 }
4375 }
4376
4377 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4378 for DeviceMonitorCreateIfaceResponse
4379 {
4380 #[inline(always)]
4381 fn new_empty() -> Self {
4382 Self::default()
4383 }
4384
4385 unsafe fn decode(
4386 &mut self,
4387 decoder: &mut fidl::encoding::Decoder<'_, D>,
4388 offset: usize,
4389 mut depth: fidl::encoding::Depth,
4390 ) -> fidl::Result<()> {
4391 decoder.debug_check_bounds::<Self>(offset);
4392 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4393 None => return Err(fidl::Error::NotNullable),
4394 Some(len) => len,
4395 };
4396 if len == 0 {
4398 return Ok(());
4399 };
4400 depth.increment()?;
4401 let envelope_size = 8;
4402 let bytes_len = len * envelope_size;
4403 let offset = decoder.out_of_line_offset(bytes_len)?;
4404 let mut _next_ordinal_to_read = 0;
4406 let mut next_offset = offset;
4407 let end_offset = offset + bytes_len;
4408 _next_ordinal_to_read += 1;
4409 if next_offset >= end_offset {
4410 return Ok(());
4411 }
4412
4413 while _next_ordinal_to_read < 1 {
4415 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4416 _next_ordinal_to_read += 1;
4417 next_offset += envelope_size;
4418 }
4419
4420 let next_out_of_line = decoder.next_out_of_line();
4421 let handles_before = decoder.remaining_handles();
4422 if let Some((inlined, num_bytes, num_handles)) =
4423 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4424 {
4425 let member_inline_size =
4426 <u16 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4427 if inlined != (member_inline_size <= 4) {
4428 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4429 }
4430 let inner_offset;
4431 let mut inner_depth = depth.clone();
4432 if inlined {
4433 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4434 inner_offset = next_offset;
4435 } else {
4436 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4437 inner_depth.increment()?;
4438 }
4439 let val_ref = self.iface_id.get_or_insert_with(|| fidl::new_empty!(u16, D));
4440 fidl::decode!(u16, D, val_ref, decoder, inner_offset, inner_depth)?;
4441 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4442 {
4443 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4444 }
4445 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4446 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4447 }
4448 }
4449
4450 next_offset += envelope_size;
4451
4452 while next_offset < end_offset {
4454 _next_ordinal_to_read += 1;
4455 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4456 next_offset += envelope_size;
4457 }
4458
4459 Ok(())
4460 }
4461 }
4462
4463 impl fidl::encoding::ValueTypeMarker for GetIfaceHistogramStatsResponse {
4464 type Borrowed<'a> = &'a Self;
4465 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4466 value
4467 }
4468 }
4469
4470 unsafe impl fidl::encoding::TypeMarker for GetIfaceHistogramStatsResponse {
4471 type Owned = Self;
4472
4473 #[inline(always)]
4474 fn inline_align(_context: fidl::encoding::Context) -> usize {
4475 8
4476 }
4477
4478 #[inline(always)]
4479 fn inline_size(_context: fidl::encoding::Context) -> usize {
4480 16
4481 }
4482 }
4483
4484 unsafe impl<D: fidl::encoding::ResourceDialect>
4485 fidl::encoding::Encode<GetIfaceHistogramStatsResponse, D>
4486 for &GetIfaceHistogramStatsResponse
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::<GetIfaceHistogramStatsResponse>(offset);
4496 encoder.write_num::<u64>(self.ordinal(), offset);
4497 match self {
4498 GetIfaceHistogramStatsResponse::Stats(ref val) => {
4499 fidl::encoding::encode_in_envelope::<fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D>(
4500 <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::ValueTypeMarker>::borrow(val),
4501 encoder, offset + 8, _depth
4502 )
4503 }
4504 GetIfaceHistogramStatsResponse::ErrorStatus(ref val) => {
4505 fidl::encoding::encode_in_envelope::<i32, D>(
4506 <i32 as fidl::encoding::ValueTypeMarker>::borrow(val),
4507 encoder, offset + 8, _depth
4508 )
4509 }
4510 }
4511 }
4512 }
4513
4514 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4515 for GetIfaceHistogramStatsResponse
4516 {
4517 #[inline(always)]
4518 fn new_empty() -> Self {
4519 Self::Stats(fidl::new_empty!(fidl_fuchsia_wlan_stats__common::IfaceHistogramStats, D))
4520 }
4521
4522 #[inline]
4523 unsafe fn decode(
4524 &mut self,
4525 decoder: &mut fidl::encoding::Decoder<'_, D>,
4526 offset: usize,
4527 mut depth: fidl::encoding::Depth,
4528 ) -> fidl::Result<()> {
4529 decoder.debug_check_bounds::<Self>(offset);
4530 #[allow(unused_variables)]
4531 let next_out_of_line = decoder.next_out_of_line();
4532 let handles_before = decoder.remaining_handles();
4533 let (ordinal, inlined, num_bytes, num_handles) =
4534 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
4535
4536 let member_inline_size = match ordinal {
4537 1 => <fidl_fuchsia_wlan_stats__common::IfaceHistogramStats as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4538 2 => <i32 as fidl::encoding::TypeMarker>::inline_size(decoder.context),
4539 _ => return Err(fidl::Error::UnknownUnionTag),
4540 };
4541
4542 if inlined != (member_inline_size <= 4) {
4543 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4544 }
4545 let _inner_offset;
4546 if inlined {
4547 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
4548 _inner_offset = offset + 8;
4549 } else {
4550 depth.increment()?;
4551 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4552 }
4553 match ordinal {
4554 1 => {
4555 #[allow(irrefutable_let_patterns)]
4556 if let GetIfaceHistogramStatsResponse::Stats(_) = self {
4557 } else {
4559 *self = GetIfaceHistogramStatsResponse::Stats(fidl::new_empty!(
4561 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
4562 D
4563 ));
4564 }
4565 #[allow(irrefutable_let_patterns)]
4566 if let GetIfaceHistogramStatsResponse::Stats(ref mut val) = self {
4567 fidl::decode!(
4568 fidl_fuchsia_wlan_stats__common::IfaceHistogramStats,
4569 D,
4570 val,
4571 decoder,
4572 _inner_offset,
4573 depth
4574 )?;
4575 } else {
4576 unreachable!()
4577 }
4578 }
4579 2 => {
4580 #[allow(irrefutable_let_patterns)]
4581 if let GetIfaceHistogramStatsResponse::ErrorStatus(_) = self {
4582 } else {
4584 *self =
4586 GetIfaceHistogramStatsResponse::ErrorStatus(fidl::new_empty!(i32, D));
4587 }
4588 #[allow(irrefutable_let_patterns)]
4589 if let GetIfaceHistogramStatsResponse::ErrorStatus(ref mut val) = self {
4590 fidl::decode!(i32, D, val, decoder, _inner_offset, depth)?;
4591 } else {
4592 unreachable!()
4593 }
4594 }
4595 ordinal => panic!("unexpected ordinal {:?}", ordinal),
4596 }
4597 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
4598 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4599 }
4600 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4601 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4602 }
4603 Ok(())
4604 }
4605 }
4606}