blob: 81ca1ce5363155caa569c81f0b552d1c03d5fd47 [file] [log] [blame]
// DO NOT EDIT: This file is machine-generated by fidlgen
#![warn(clippy::all)]
#![allow(unused_parens, unused_variables, unused_mut, unused_imports, unreachable_code)]
pub mod natural {
pub use fidl_next_common_test_handles::natural::*;
#[derive(PartialEq, Debug)]
#[repr(C)]
pub struct FdfHandles {
pub fdf_channel_handle: ::fdf_fidl::DriverChannel,
pub client_end_driver:
::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel>,
pub server_end_driver:
::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel>,
}
unsafe impl<___E> ::fidl_next::Encode<crate::wire::FdfHandles, ___E> for FdfHandles
where
___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
___E: ::fidl_next::fuchsia::HandleEncoder,
{
const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<Self, crate::wire::FdfHandles> = unsafe {
::fidl_next::CopyOptimization::enable_if(
true
&& <
::fdf_fidl::DriverChannel as ::fidl_next::Encode<::fdf_fidl::WireDriverChannel, ___E>
>::COPY_OPTIMIZATION.is_enabled()
&& <
::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::Encode<::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, ___E>
>::COPY_OPTIMIZATION.is_enabled()
&& <
::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::Encode<::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>, ___E>
>::COPY_OPTIMIZATION.is_enabled()
)
};
#[inline]
fn encode(
self,
encoder_: &mut ___E,
out_: &mut ::core::mem::MaybeUninit<crate::wire::FdfHandles>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
::fidl_next::munge! {
let crate::wire::FdfHandles {
fdf_channel_handle,
client_end_driver,
server_end_driver,
} = out_;
}
::fidl_next::Encode::encode(self.fdf_channel_handle, encoder_, fdf_channel_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(fdf_channel_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.client_end_driver, encoder_, client_end_driver, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(client_end_driver.as_mut_ptr()) };
::fidl_next::Encode::encode(self.server_end_driver, encoder_, server_end_driver, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(server_end_driver.as_mut_ptr()) };
Ok(())
}
}
unsafe impl<___E>
::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::FdfHandles>, ___E>
for FdfHandles
where
___E: ::fidl_next::Encoder + ?Sized,
FdfHandles: ::fidl_next::Encode<crate::wire::FdfHandles, ___E>,
{
#[inline]
fn encode_option(
this: ::core::option::Option<Self>,
encoder: &mut ___E,
out: &mut ::core::mem::MaybeUninit<
::fidl_next::WireBox<'static, crate::wire::FdfHandles>,
>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
if let Some(inner) = this {
::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
::fidl_next::WireBox::encode_present(out);
} else {
::fidl_next::WireBox::encode_absent(out);
}
Ok(())
}
}
impl ::fidl_next::FromWire<crate::wire::FdfHandles> for FdfHandles {
const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::FdfHandles, Self> = unsafe {
::fidl_next::CopyOptimization::enable_if(
true
&& <
::fdf_fidl::DriverChannel as ::fidl_next::FromWire<::fdf_fidl::WireDriverChannel>
>::COPY_OPTIMIZATION.is_enabled()
&& <
::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::FromWire<::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>>
>::COPY_OPTIMIZATION.is_enabled()
&& <
::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::DriverChannel> as ::fidl_next::FromWire<::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>>
>::COPY_OPTIMIZATION.is_enabled()
)
};
#[inline]
fn from_wire(wire: crate::wire::FdfHandles) -> Self {
Self {
fdf_channel_handle: ::fidl_next::FromWire::from_wire(wire.fdf_channel_handle),
client_end_driver: ::fidl_next::FromWire::from_wire(wire.client_end_driver),
server_end_driver: ::fidl_next::FromWire::from_wire(wire.server_end_driver),
}
}
}
pub type AliasedPlainHandle = ::fidl_next::fuchsia::zx::Handle;
pub type AliasedSubtypeHandle = ::fidl_next::fuchsia::zx::Vmo;
pub type AliasedRightsHandle = ::fidl_next::fuchsia::zx::Vmo;
#[derive(PartialEq, Debug)]
#[repr(C)]
pub struct Handles {
pub plain_handle: ::fidl_next::fuchsia::zx::Handle,
pub bti_handle: ::fidl_next::fuchsia::zx::Bti,
pub channel_handle: ::fidl_next::fuchsia::zx::Channel,
pub clock_handle: ::fidl_next::fuchsia::zx::Clock,
pub debuglog_handle: ::fidl_next::fuchsia::zx::DebugLog,
pub event_handle: ::fidl_next::fuchsia::zx::Event,
pub eventpair_handle: ::fidl_next::fuchsia::zx::EventPair,
pub exception_handle: ::fidl_next::fuchsia::zx::Exception,
pub fifo_handle: ::fidl_next::fuchsia::zx::Fifo,
pub guest_handle: ::fidl_next::fuchsia::zx::Guest,
pub interrupt_handle: ::fidl_next::fuchsia::zx::Interrupt,
pub iob_handle: ::fidl_next::fuchsia::zx::Iob,
pub iommu_handle: ::fidl_next::fuchsia::zx::Iommu,
pub job_handle: ::fidl_next::fuchsia::zx::Job,
pub msi_handle: ::fidl_next::fuchsia::zx::Handle,
pub pager_handle: ::fidl_next::fuchsia::zx::Pager,
pub pmt_handle: ::fidl_next::fuchsia::zx::Pmt,
pub port_handle: ::fidl_next::fuchsia::zx::Port,
pub process_handle: ::fidl_next::fuchsia::zx::Process,
pub profile_handle: ::fidl_next::fuchsia::zx::Profile,
pub resource_handle: ::fidl_next::fuchsia::zx::Resource,
pub socket_handle: ::fidl_next::fuchsia::zx::Socket,
pub stream_handle: ::fidl_next::fuchsia::zx::Stream,
pub suspendtoken_handle: ::fidl_next::fuchsia::zx::Handle,
pub thread_handle: ::fidl_next::fuchsia::zx::Thread,
pub timer_handle: ::fidl_next::fuchsia::zx::Timer,
pub vcpu_handle: ::fidl_next::fuchsia::zx::Vcpu,
pub vmar_handle: ::fidl_next::fuchsia::zx::Vmar,
pub vmo_handle: ::fidl_next::fuchsia::zx::Vmo,
pub rights_handle: ::fidl_next::fuchsia::zx::Vmo,
pub aliased_plain_handle_field: ::fidl_next::fuchsia::zx::Handle,
pub aliased_subtype_handle_field: ::fidl_next::fuchsia::zx::Vmo,
pub aliased_rights_handle_field: ::fidl_next::fuchsia::zx::Vmo,
pub some_protocol:
::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::zx::Channel>,
pub request_some_protocol:
::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::zx::Channel>,
}
unsafe impl<___E> ::fidl_next::Encode<crate::wire::Handles, ___E> for Handles
where
___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
___E: ::fidl_next::fuchsia::HandleEncoder,
{
const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<Self, crate::wire::Handles> = unsafe {
::fidl_next::CopyOptimization::enable_if(
true && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode<
::fidl_next::fuchsia::WireHandle,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Bti as ::fidl_next::Encode<
::fidl_next::fuchsia::WireBti,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Channel as ::fidl_next::Encode<
::fidl_next::fuchsia::WireChannel,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Clock as ::fidl_next::Encode<
::fidl_next::fuchsia::WireClock,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::DebugLog as ::fidl_next::Encode<
::fidl_next::fuchsia::WireDebugLog,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Event as ::fidl_next::Encode<
::fidl_next::fuchsia::WireEvent,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::EventPair as ::fidl_next::Encode<
::fidl_next::fuchsia::WireEventPair,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Exception as ::fidl_next::Encode<
::fidl_next::fuchsia::WireException,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Fifo as ::fidl_next::Encode<
::fidl_next::fuchsia::WireFifo,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Guest as ::fidl_next::Encode<
::fidl_next::fuchsia::WireGuest,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Interrupt as ::fidl_next::Encode<
::fidl_next::fuchsia::WireInterrupt,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Iob as ::fidl_next::Encode<
::fidl_next::fuchsia::WireIob,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Iommu as ::fidl_next::Encode<
::fidl_next::fuchsia::WireIommu,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Job as ::fidl_next::Encode<
::fidl_next::fuchsia::WireJob,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode<
::fidl_next::fuchsia::WireHandle,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Pager as ::fidl_next::Encode<
::fidl_next::fuchsia::WirePager,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Pmt as ::fidl_next::Encode<
::fidl_next::fuchsia::WirePmt,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Port as ::fidl_next::Encode<
::fidl_next::fuchsia::WirePort,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Process as ::fidl_next::Encode<
::fidl_next::fuchsia::WireProcess,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Profile as ::fidl_next::Encode<
::fidl_next::fuchsia::WireProfile,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Resource as ::fidl_next::Encode<
::fidl_next::fuchsia::WireResource,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Socket as ::fidl_next::Encode<
::fidl_next::fuchsia::WireSocket,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Stream as ::fidl_next::Encode<
::fidl_next::fuchsia::WireStream,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode<
::fidl_next::fuchsia::WireHandle,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Thread as ::fidl_next::Encode<
::fidl_next::fuchsia::WireThread,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Timer as ::fidl_next::Encode<
::fidl_next::fuchsia::WireTimer,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vcpu as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVcpu,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmar as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVmar,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVmo,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVmo,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::Encode<
::fidl_next::fuchsia::WireHandle,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVmo,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::Encode<
::fidl_next::fuchsia::WireVmo,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::ClientEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::zx::Channel,
> as ::fidl_next::Encode<
::fidl_next::ClientEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::WireChannel,
>,
___E,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::ServerEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::zx::Channel,
> as ::fidl_next::Encode<
::fidl_next::ServerEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::WireChannel,
>,
___E,
>>::COPY_OPTIMIZATION
.is_enabled(),
)
};
#[inline]
fn encode(
self,
encoder_: &mut ___E,
out_: &mut ::core::mem::MaybeUninit<crate::wire::Handles>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
::fidl_next::munge! {
let crate::wire::Handles {
plain_handle,
bti_handle,
channel_handle,
clock_handle,
debuglog_handle,
event_handle,
eventpair_handle,
exception_handle,
fifo_handle,
guest_handle,
interrupt_handle,
iob_handle,
iommu_handle,
job_handle,
msi_handle,
pager_handle,
pmt_handle,
port_handle,
process_handle,
profile_handle,
resource_handle,
socket_handle,
stream_handle,
suspendtoken_handle,
thread_handle,
timer_handle,
vcpu_handle,
vmar_handle,
vmo_handle,
rights_handle,
aliased_plain_handle_field,
aliased_subtype_handle_field,
aliased_rights_handle_field,
some_protocol,
request_some_protocol,
} = out_;
}
::fidl_next::Encode::encode(self.plain_handle, encoder_, plain_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(plain_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.bti_handle, encoder_, bti_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(bti_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.channel_handle, encoder_, channel_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(channel_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.clock_handle, encoder_, clock_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(clock_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.debuglog_handle, encoder_, debuglog_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(debuglog_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.event_handle, encoder_, event_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(event_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.eventpair_handle, encoder_, eventpair_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(eventpair_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.exception_handle, encoder_, exception_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(exception_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.fifo_handle, encoder_, fifo_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(fifo_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.guest_handle, encoder_, guest_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(guest_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.interrupt_handle, encoder_, interrupt_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(interrupt_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.iob_handle, encoder_, iob_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(iob_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.iommu_handle, encoder_, iommu_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(iommu_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.job_handle, encoder_, job_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(job_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.msi_handle, encoder_, msi_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(msi_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.pager_handle, encoder_, pager_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(pager_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.pmt_handle, encoder_, pmt_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(pmt_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.port_handle, encoder_, port_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(port_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.process_handle, encoder_, process_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(process_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.profile_handle, encoder_, profile_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(profile_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.resource_handle, encoder_, resource_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(resource_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.socket_handle, encoder_, socket_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(socket_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.stream_handle, encoder_, stream_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(stream_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(
self.suspendtoken_handle,
encoder_,
suspendtoken_handle,
(),
)?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(suspendtoken_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.thread_handle, encoder_, thread_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(thread_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.timer_handle, encoder_, timer_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(timer_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.vcpu_handle, encoder_, vcpu_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vcpu_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.vmar_handle, encoder_, vmar_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vmar_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.vmo_handle, encoder_, vmo_handle, ())?;
let mut _field = unsafe { ::fidl_next::Slot::new_unchecked(vmo_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(self.rights_handle, encoder_, rights_handle, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(rights_handle.as_mut_ptr()) };
::fidl_next::Encode::encode(
self.aliased_plain_handle_field,
encoder_,
aliased_plain_handle_field,
(),
)?;
let mut _field = unsafe {
::fidl_next::Slot::new_unchecked(aliased_plain_handle_field.as_mut_ptr())
};
::fidl_next::Encode::encode(
self.aliased_subtype_handle_field,
encoder_,
aliased_subtype_handle_field,
(),
)?;
let mut _field = unsafe {
::fidl_next::Slot::new_unchecked(aliased_subtype_handle_field.as_mut_ptr())
};
::fidl_next::Encode::encode(
self.aliased_rights_handle_field,
encoder_,
aliased_rights_handle_field,
(),
)?;
let mut _field = unsafe {
::fidl_next::Slot::new_unchecked(aliased_rights_handle_field.as_mut_ptr())
};
::fidl_next::Encode::encode(self.some_protocol, encoder_, some_protocol, ())?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(some_protocol.as_mut_ptr()) };
::fidl_next::Encode::encode(
self.request_some_protocol,
encoder_,
request_some_protocol,
(),
)?;
let mut _field =
unsafe { ::fidl_next::Slot::new_unchecked(request_some_protocol.as_mut_ptr()) };
Ok(())
}
}
unsafe impl<___E>
::fidl_next::EncodeOption<::fidl_next::WireBox<'static, crate::wire::Handles>, ___E>
for Handles
where
___E: ::fidl_next::Encoder + ?Sized,
Handles: ::fidl_next::Encode<crate::wire::Handles, ___E>,
{
#[inline]
fn encode_option(
this: ::core::option::Option<Self>,
encoder: &mut ___E,
out: &mut ::core::mem::MaybeUninit<::fidl_next::WireBox<'static, crate::wire::Handles>>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
if let Some(inner) = this {
::fidl_next::EncoderExt::encode_next(encoder, inner, ())?;
::fidl_next::WireBox::encode_present(out);
} else {
::fidl_next::WireBox::encode_absent(out);
}
Ok(())
}
}
impl ::fidl_next::FromWire<crate::wire::Handles> for Handles {
const COPY_OPTIMIZATION: ::fidl_next::CopyOptimization<crate::wire::Handles, Self> = unsafe {
::fidl_next::CopyOptimization::enable_if(
true && <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireHandle,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Bti as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireBti,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Channel as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireChannel,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Clock as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireClock,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::DebugLog as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireDebugLog,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Event as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireEvent,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::EventPair as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireEventPair,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Exception as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireException,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Fifo as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireFifo,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Guest as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireGuest,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Interrupt as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireInterrupt,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Iob as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireIob,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Iommu as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireIommu,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Job as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireJob,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireHandle,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Pager as ::fidl_next::FromWire<
::fidl_next::fuchsia::WirePager,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Pmt as ::fidl_next::FromWire<
::fidl_next::fuchsia::WirePmt,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Port as ::fidl_next::FromWire<
::fidl_next::fuchsia::WirePort,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Process as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireProcess,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Profile as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireProfile,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Resource as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireResource,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Socket as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireSocket,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Stream as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireStream,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireHandle,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Thread as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireThread,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Timer as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireTimer,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vcpu as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVcpu,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmar as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVmar,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVmo,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVmo,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Handle as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireHandle,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVmo,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::fuchsia::zx::Vmo as ::fidl_next::FromWire<
::fidl_next::fuchsia::WireVmo,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::ClientEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::zx::Channel,
> as ::fidl_next::FromWire<
::fidl_next::ClientEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::WireChannel,
>,
>>::COPY_OPTIMIZATION
.is_enabled()
&& <::fidl_next::ServerEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::zx::Channel,
> as ::fidl_next::FromWire<
::fidl_next::ServerEnd<
crate::SomeProtocol,
::fidl_next::fuchsia::WireChannel,
>,
>>::COPY_OPTIMIZATION
.is_enabled(),
)
};
#[inline]
fn from_wire(wire: crate::wire::Handles) -> Self {
Self {
plain_handle: ::fidl_next::FromWire::from_wire(wire.plain_handle),
bti_handle: ::fidl_next::FromWire::from_wire(wire.bti_handle),
channel_handle: ::fidl_next::FromWire::from_wire(wire.channel_handle),
clock_handle: ::fidl_next::FromWire::from_wire(wire.clock_handle),
debuglog_handle: ::fidl_next::FromWire::from_wire(wire.debuglog_handle),
event_handle: ::fidl_next::FromWire::from_wire(wire.event_handle),
eventpair_handle: ::fidl_next::FromWire::from_wire(wire.eventpair_handle),
exception_handle: ::fidl_next::FromWire::from_wire(wire.exception_handle),
fifo_handle: ::fidl_next::FromWire::from_wire(wire.fifo_handle),
guest_handle: ::fidl_next::FromWire::from_wire(wire.guest_handle),
interrupt_handle: ::fidl_next::FromWire::from_wire(wire.interrupt_handle),
iob_handle: ::fidl_next::FromWire::from_wire(wire.iob_handle),
iommu_handle: ::fidl_next::FromWire::from_wire(wire.iommu_handle),
job_handle: ::fidl_next::FromWire::from_wire(wire.job_handle),
msi_handle: ::fidl_next::FromWire::from_wire(wire.msi_handle),
pager_handle: ::fidl_next::FromWire::from_wire(wire.pager_handle),
pmt_handle: ::fidl_next::FromWire::from_wire(wire.pmt_handle),
port_handle: ::fidl_next::FromWire::from_wire(wire.port_handle),
process_handle: ::fidl_next::FromWire::from_wire(wire.process_handle),
profile_handle: ::fidl_next::FromWire::from_wire(wire.profile_handle),
resource_handle: ::fidl_next::FromWire::from_wire(wire.resource_handle),
socket_handle: ::fidl_next::FromWire::from_wire(wire.socket_handle),
stream_handle: ::fidl_next::FromWire::from_wire(wire.stream_handle),
suspendtoken_handle: ::fidl_next::FromWire::from_wire(wire.suspendtoken_handle),
thread_handle: ::fidl_next::FromWire::from_wire(wire.thread_handle),
timer_handle: ::fidl_next::FromWire::from_wire(wire.timer_handle),
vcpu_handle: ::fidl_next::FromWire::from_wire(wire.vcpu_handle),
vmar_handle: ::fidl_next::FromWire::from_wire(wire.vmar_handle),
vmo_handle: ::fidl_next::FromWire::from_wire(wire.vmo_handle),
rights_handle: ::fidl_next::FromWire::from_wire(wire.rights_handle),
aliased_plain_handle_field: ::fidl_next::FromWire::from_wire(
wire.aliased_plain_handle_field,
),
aliased_subtype_handle_field: ::fidl_next::FromWire::from_wire(
wire.aliased_subtype_handle_field,
),
aliased_rights_handle_field: ::fidl_next::FromWire::from_wire(
wire.aliased_rights_handle_field,
),
some_protocol: ::fidl_next::FromWire::from_wire(wire.some_protocol),
request_some_protocol: ::fidl_next::FromWire::from_wire(wire.request_some_protocol),
}
}
}
}
pub mod wire {
pub use fidl_next_common_test_handles::wire::*;
/// The wire type corresponding to [`FdfHandles`].
#[derive(Debug)]
#[repr(C)]
pub struct FdfHandles {
pub fdf_channel_handle: ::fdf_fidl::WireDriverChannel,
pub client_end_driver:
::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>,
pub server_end_driver:
::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>,
}
static_assertions::const_assert_eq!(std::mem::size_of::<FdfHandles>(), 12);
static_assertions::const_assert_eq!(std::mem::align_of::<FdfHandles>(), 4);
static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, fdf_channel_handle), 0);
static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, client_end_driver), 4);
static_assertions::const_assert_eq!(std::mem::offset_of!(FdfHandles, server_end_driver), 8);
unsafe impl ::fidl_next::Wire for FdfHandles {
type Decoded<'de> = FdfHandles;
#[inline]
fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
::fidl_next::munge! {
let Self {
fdf_channel_handle,
client_end_driver,
server_end_driver,
} = &mut *out_;
}
::fidl_next::Wire::zero_padding(fdf_channel_handle);
::fidl_next::Wire::zero_padding(client_end_driver);
::fidl_next::Wire::zero_padding(server_end_driver);
}
}
unsafe impl<___D> ::fidl_next::Decode<___D> for FdfHandles
where
___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
___D: ::fidl_next::fuchsia::HandleDecoder,
{
fn decode(
slot_: ::fidl_next::Slot<'_, Self>,
decoder_: &mut ___D,
_: (),
) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
::fidl_next::munge! {
let Self {
mut fdf_channel_handle,
mut client_end_driver,
mut server_end_driver,
} = slot_;
}
let _field = fdf_channel_handle.as_mut();
::fidl_next::Decode::decode(fdf_channel_handle.as_mut(), decoder_, ())?;
let _field = client_end_driver.as_mut();
::fidl_next::Decode::decode(client_end_driver.as_mut(), decoder_, ())?;
let _field = server_end_driver.as_mut();
::fidl_next::Decode::decode(server_end_driver.as_mut(), decoder_, ())?;
Ok(())
}
}
impl ::fidl_next::IntoNatural for FdfHandles {
type Natural = crate::natural::FdfHandles;
}
impl ::fidl_next::Unconstrained for FdfHandles {}
/// The wire type corresponding to [`AliasedPlainHandle`](crate::natural::AliasedPlainHandle).
pub type AliasedPlainHandle = ::fidl_next::fuchsia::WireHandle;
/// The wire type corresponding to [`AliasedSubtypeHandle`](crate::natural::AliasedSubtypeHandle).
pub type AliasedSubtypeHandle = ::fidl_next::fuchsia::WireVmo;
/// The wire type corresponding to [`AliasedRightsHandle`](crate::natural::AliasedRightsHandle).
pub type AliasedRightsHandle = ::fidl_next::fuchsia::WireVmo;
/// The wire type corresponding to [`Handles`].
#[derive(Debug)]
#[repr(C)]
pub struct Handles {
pub plain_handle: ::fidl_next::fuchsia::WireHandle,
pub bti_handle: ::fidl_next::fuchsia::WireBti,
pub channel_handle: ::fidl_next::fuchsia::WireChannel,
pub clock_handle: ::fidl_next::fuchsia::WireClock,
pub debuglog_handle: ::fidl_next::fuchsia::WireDebugLog,
pub event_handle: ::fidl_next::fuchsia::WireEvent,
pub eventpair_handle: ::fidl_next::fuchsia::WireEventPair,
pub exception_handle: ::fidl_next::fuchsia::WireException,
pub fifo_handle: ::fidl_next::fuchsia::WireFifo,
pub guest_handle: ::fidl_next::fuchsia::WireGuest,
pub interrupt_handle: ::fidl_next::fuchsia::WireInterrupt,
pub iob_handle: ::fidl_next::fuchsia::WireIob,
pub iommu_handle: ::fidl_next::fuchsia::WireIommu,
pub job_handle: ::fidl_next::fuchsia::WireJob,
pub msi_handle: ::fidl_next::fuchsia::WireHandle,
pub pager_handle: ::fidl_next::fuchsia::WirePager,
pub pmt_handle: ::fidl_next::fuchsia::WirePmt,
pub port_handle: ::fidl_next::fuchsia::WirePort,
pub process_handle: ::fidl_next::fuchsia::WireProcess,
pub profile_handle: ::fidl_next::fuchsia::WireProfile,
pub resource_handle: ::fidl_next::fuchsia::WireResource,
pub socket_handle: ::fidl_next::fuchsia::WireSocket,
pub stream_handle: ::fidl_next::fuchsia::WireStream,
pub suspendtoken_handle: ::fidl_next::fuchsia::WireHandle,
pub thread_handle: ::fidl_next::fuchsia::WireThread,
pub timer_handle: ::fidl_next::fuchsia::WireTimer,
pub vcpu_handle: ::fidl_next::fuchsia::WireVcpu,
pub vmar_handle: ::fidl_next::fuchsia::WireVmar,
pub vmo_handle: ::fidl_next::fuchsia::WireVmo,
pub rights_handle: ::fidl_next::fuchsia::WireVmo,
pub aliased_plain_handle_field: ::fidl_next::fuchsia::WireHandle,
pub aliased_subtype_handle_field: ::fidl_next::fuchsia::WireVmo,
pub aliased_rights_handle_field: ::fidl_next::fuchsia::WireVmo,
pub some_protocol:
::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>,
pub request_some_protocol:
::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>,
}
static_assertions::const_assert_eq!(std::mem::size_of::<Handles>(), 140);
static_assertions::const_assert_eq!(std::mem::align_of::<Handles>(), 4);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, plain_handle), 0);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, bti_handle), 4);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, channel_handle), 8);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, clock_handle), 12);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, debuglog_handle), 16);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, event_handle), 20);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, eventpair_handle), 24);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, exception_handle), 28);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, fifo_handle), 32);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, guest_handle), 36);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, interrupt_handle), 40);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, iob_handle), 44);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, iommu_handle), 48);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, job_handle), 52);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, msi_handle), 56);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, pager_handle), 60);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, pmt_handle), 64);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, port_handle), 68);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, process_handle), 72);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, profile_handle), 76);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, resource_handle), 80);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, socket_handle), 84);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, stream_handle), 88);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, suspendtoken_handle), 92);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, thread_handle), 96);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, timer_handle), 100);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vcpu_handle), 104);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vmar_handle), 108);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, vmo_handle), 112);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, rights_handle), 116);
static_assertions::const_assert_eq!(
std::mem::offset_of!(Handles, aliased_plain_handle_field),
120
);
static_assertions::const_assert_eq!(
std::mem::offset_of!(Handles, aliased_subtype_handle_field),
124
);
static_assertions::const_assert_eq!(
std::mem::offset_of!(Handles, aliased_rights_handle_field),
128
);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, some_protocol), 132);
static_assertions::const_assert_eq!(std::mem::offset_of!(Handles, request_some_protocol), 136);
unsafe impl ::fidl_next::Wire for Handles {
type Decoded<'de> = Handles;
#[inline]
fn zero_padding(out_: &mut ::core::mem::MaybeUninit<Self>) {
::fidl_next::munge! {
let Self {
plain_handle,
bti_handle,
channel_handle,
clock_handle,
debuglog_handle,
event_handle,
eventpair_handle,
exception_handle,
fifo_handle,
guest_handle,
interrupt_handle,
iob_handle,
iommu_handle,
job_handle,
msi_handle,
pager_handle,
pmt_handle,
port_handle,
process_handle,
profile_handle,
resource_handle,
socket_handle,
stream_handle,
suspendtoken_handle,
thread_handle,
timer_handle,
vcpu_handle,
vmar_handle,
vmo_handle,
rights_handle,
aliased_plain_handle_field,
aliased_subtype_handle_field,
aliased_rights_handle_field,
some_protocol,
request_some_protocol,
} = &mut *out_;
}
::fidl_next::Wire::zero_padding(plain_handle);
::fidl_next::Wire::zero_padding(bti_handle);
::fidl_next::Wire::zero_padding(channel_handle);
::fidl_next::Wire::zero_padding(clock_handle);
::fidl_next::Wire::zero_padding(debuglog_handle);
::fidl_next::Wire::zero_padding(event_handle);
::fidl_next::Wire::zero_padding(eventpair_handle);
::fidl_next::Wire::zero_padding(exception_handle);
::fidl_next::Wire::zero_padding(fifo_handle);
::fidl_next::Wire::zero_padding(guest_handle);
::fidl_next::Wire::zero_padding(interrupt_handle);
::fidl_next::Wire::zero_padding(iob_handle);
::fidl_next::Wire::zero_padding(iommu_handle);
::fidl_next::Wire::zero_padding(job_handle);
::fidl_next::Wire::zero_padding(msi_handle);
::fidl_next::Wire::zero_padding(pager_handle);
::fidl_next::Wire::zero_padding(pmt_handle);
::fidl_next::Wire::zero_padding(port_handle);
::fidl_next::Wire::zero_padding(process_handle);
::fidl_next::Wire::zero_padding(profile_handle);
::fidl_next::Wire::zero_padding(resource_handle);
::fidl_next::Wire::zero_padding(socket_handle);
::fidl_next::Wire::zero_padding(stream_handle);
::fidl_next::Wire::zero_padding(suspendtoken_handle);
::fidl_next::Wire::zero_padding(thread_handle);
::fidl_next::Wire::zero_padding(timer_handle);
::fidl_next::Wire::zero_padding(vcpu_handle);
::fidl_next::Wire::zero_padding(vmar_handle);
::fidl_next::Wire::zero_padding(vmo_handle);
::fidl_next::Wire::zero_padding(rights_handle);
::fidl_next::Wire::zero_padding(aliased_plain_handle_field);
::fidl_next::Wire::zero_padding(aliased_subtype_handle_field);
::fidl_next::Wire::zero_padding(aliased_rights_handle_field);
::fidl_next::Wire::zero_padding(some_protocol);
::fidl_next::Wire::zero_padding(request_some_protocol);
}
}
unsafe impl<___D> ::fidl_next::Decode<___D> for Handles
where
___D: ::fidl_next::decoder::InternalHandleDecoder + ?Sized,
___D: ::fidl_next::fuchsia::HandleDecoder,
{
fn decode(
slot_: ::fidl_next::Slot<'_, Self>,
decoder_: &mut ___D,
_: (),
) -> ::core::result::Result<(), ::fidl_next::DecodeError> {
::fidl_next::munge! {
let Self {
mut plain_handle,
mut bti_handle,
mut channel_handle,
mut clock_handle,
mut debuglog_handle,
mut event_handle,
mut eventpair_handle,
mut exception_handle,
mut fifo_handle,
mut guest_handle,
mut interrupt_handle,
mut iob_handle,
mut iommu_handle,
mut job_handle,
mut msi_handle,
mut pager_handle,
mut pmt_handle,
mut port_handle,
mut process_handle,
mut profile_handle,
mut resource_handle,
mut socket_handle,
mut stream_handle,
mut suspendtoken_handle,
mut thread_handle,
mut timer_handle,
mut vcpu_handle,
mut vmar_handle,
mut vmo_handle,
mut rights_handle,
mut aliased_plain_handle_field,
mut aliased_subtype_handle_field,
mut aliased_rights_handle_field,
mut some_protocol,
mut request_some_protocol,
} = slot_;
}
let _field = plain_handle.as_mut();
::fidl_next::Decode::decode(plain_handle.as_mut(), decoder_, ())?;
let _field = bti_handle.as_mut();
::fidl_next::Decode::decode(bti_handle.as_mut(), decoder_, ())?;
let _field = channel_handle.as_mut();
::fidl_next::Decode::decode(channel_handle.as_mut(), decoder_, ())?;
let _field = clock_handle.as_mut();
::fidl_next::Decode::decode(clock_handle.as_mut(), decoder_, ())?;
let _field = debuglog_handle.as_mut();
::fidl_next::Decode::decode(debuglog_handle.as_mut(), decoder_, ())?;
let _field = event_handle.as_mut();
::fidl_next::Decode::decode(event_handle.as_mut(), decoder_, ())?;
let _field = eventpair_handle.as_mut();
::fidl_next::Decode::decode(eventpair_handle.as_mut(), decoder_, ())?;
let _field = exception_handle.as_mut();
::fidl_next::Decode::decode(exception_handle.as_mut(), decoder_, ())?;
let _field = fifo_handle.as_mut();
::fidl_next::Decode::decode(fifo_handle.as_mut(), decoder_, ())?;
let _field = guest_handle.as_mut();
::fidl_next::Decode::decode(guest_handle.as_mut(), decoder_, ())?;
let _field = interrupt_handle.as_mut();
::fidl_next::Decode::decode(interrupt_handle.as_mut(), decoder_, ())?;
let _field = iob_handle.as_mut();
::fidl_next::Decode::decode(iob_handle.as_mut(), decoder_, ())?;
let _field = iommu_handle.as_mut();
::fidl_next::Decode::decode(iommu_handle.as_mut(), decoder_, ())?;
let _field = job_handle.as_mut();
::fidl_next::Decode::decode(job_handle.as_mut(), decoder_, ())?;
let _field = msi_handle.as_mut();
::fidl_next::Decode::decode(msi_handle.as_mut(), decoder_, ())?;
let _field = pager_handle.as_mut();
::fidl_next::Decode::decode(pager_handle.as_mut(), decoder_, ())?;
let _field = pmt_handle.as_mut();
::fidl_next::Decode::decode(pmt_handle.as_mut(), decoder_, ())?;
let _field = port_handle.as_mut();
::fidl_next::Decode::decode(port_handle.as_mut(), decoder_, ())?;
let _field = process_handle.as_mut();
::fidl_next::Decode::decode(process_handle.as_mut(), decoder_, ())?;
let _field = profile_handle.as_mut();
::fidl_next::Decode::decode(profile_handle.as_mut(), decoder_, ())?;
let _field = resource_handle.as_mut();
::fidl_next::Decode::decode(resource_handle.as_mut(), decoder_, ())?;
let _field = socket_handle.as_mut();
::fidl_next::Decode::decode(socket_handle.as_mut(), decoder_, ())?;
let _field = stream_handle.as_mut();
::fidl_next::Decode::decode(stream_handle.as_mut(), decoder_, ())?;
let _field = suspendtoken_handle.as_mut();
::fidl_next::Decode::decode(suspendtoken_handle.as_mut(), decoder_, ())?;
let _field = thread_handle.as_mut();
::fidl_next::Decode::decode(thread_handle.as_mut(), decoder_, ())?;
let _field = timer_handle.as_mut();
::fidl_next::Decode::decode(timer_handle.as_mut(), decoder_, ())?;
let _field = vcpu_handle.as_mut();
::fidl_next::Decode::decode(vcpu_handle.as_mut(), decoder_, ())?;
let _field = vmar_handle.as_mut();
::fidl_next::Decode::decode(vmar_handle.as_mut(), decoder_, ())?;
let _field = vmo_handle.as_mut();
::fidl_next::Decode::decode(vmo_handle.as_mut(), decoder_, ())?;
let _field = rights_handle.as_mut();
::fidl_next::Decode::decode(rights_handle.as_mut(), decoder_, ())?;
let _field = aliased_plain_handle_field.as_mut();
::fidl_next::Decode::decode(aliased_plain_handle_field.as_mut(), decoder_, ())?;
let _field = aliased_subtype_handle_field.as_mut();
::fidl_next::Decode::decode(aliased_subtype_handle_field.as_mut(), decoder_, ())?;
let _field = aliased_rights_handle_field.as_mut();
::fidl_next::Decode::decode(aliased_rights_handle_field.as_mut(), decoder_, ())?;
let _field = some_protocol.as_mut();
::fidl_next::Decode::decode(some_protocol.as_mut(), decoder_, ())?;
let _field = request_some_protocol.as_mut();
::fidl_next::Decode::decode(request_some_protocol.as_mut(), decoder_, ())?;
Ok(())
}
}
impl ::fidl_next::IntoNatural for Handles {
type Natural = crate::natural::Handles;
}
impl ::fidl_next::Unconstrained for Handles {}
}
pub mod wire_optional {
pub use fidl_next_common_test_handles::wire_optional::*;
}
pub mod generic {
pub use fidl_next_common_test_handles::generic::*;
pub struct FdfHandles<T0, T1, T2> {
pub fdf_channel_handle: T0,
pub client_end_driver: T1,
pub server_end_driver: T2,
}
unsafe impl<___E, T0, T1, T2> ::fidl_next::Encode<crate::wire::FdfHandles, ___E>
for FdfHandles<T0, T1, T2>
where
___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
___E: ::fidl_next::fuchsia::HandleEncoder,
T0: ::fidl_next::Encode<::fdf_fidl::WireDriverChannel, ___E>,
T1: ::fidl_next::Encode<
::fidl_next::ClientEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>,
___E,
>,
T2: ::fidl_next::Encode<
::fidl_next::ServerEnd<crate::DriverProtocol, ::fdf_fidl::WireDriverChannel>,
___E,
>,
{
#[inline]
fn encode(
self,
encoder_: &mut ___E,
out_: &mut ::core::mem::MaybeUninit<crate::wire::FdfHandles>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
::fidl_next::munge! {
let crate::wire::FdfHandles {
fdf_channel_handle,
client_end_driver,
server_end_driver,
} = out_;
}
::fidl_next::Encode::encode(self.fdf_channel_handle, encoder_, fdf_channel_handle, ())?;
::fidl_next::Encode::encode(self.client_end_driver, encoder_, client_end_driver, ())?;
::fidl_next::Encode::encode(self.server_end_driver, encoder_, server_end_driver, ())?;
Ok(())
}
}
pub struct Handles<
T0,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20,
T21,
T22,
T23,
T24,
T25,
T26,
T27,
T28,
T29,
T30,
T31,
T32,
T33,
T34,
> {
pub plain_handle: T0,
pub bti_handle: T1,
pub channel_handle: T2,
pub clock_handle: T3,
pub debuglog_handle: T4,
pub event_handle: T5,
pub eventpair_handle: T6,
pub exception_handle: T7,
pub fifo_handle: T8,
pub guest_handle: T9,
pub interrupt_handle: T10,
pub iob_handle: T11,
pub iommu_handle: T12,
pub job_handle: T13,
pub msi_handle: T14,
pub pager_handle: T15,
pub pmt_handle: T16,
pub port_handle: T17,
pub process_handle: T18,
pub profile_handle: T19,
pub resource_handle: T20,
pub socket_handle: T21,
pub stream_handle: T22,
pub suspendtoken_handle: T23,
pub thread_handle: T24,
pub timer_handle: T25,
pub vcpu_handle: T26,
pub vmar_handle: T27,
pub vmo_handle: T28,
pub rights_handle: T29,
pub aliased_plain_handle_field: T30,
pub aliased_subtype_handle_field: T31,
pub aliased_rights_handle_field: T32,
pub some_protocol: T33,
pub request_some_protocol: T34,
}
unsafe impl<
___E,
T0,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20,
T21,
T22,
T23,
T24,
T25,
T26,
T27,
T28,
T29,
T30,
T31,
T32,
T33,
T34,
> ::fidl_next::Encode<crate::wire::Handles, ___E>
for Handles<
T0,
T1,
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
T12,
T13,
T14,
T15,
T16,
T17,
T18,
T19,
T20,
T21,
T22,
T23,
T24,
T25,
T26,
T27,
T28,
T29,
T30,
T31,
T32,
T33,
T34,
>
where
___E: ::fidl_next::encoder::InternalHandleEncoder + ?Sized,
___E: ::fidl_next::fuchsia::HandleEncoder,
T0: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>,
T1: ::fidl_next::Encode<::fidl_next::fuchsia::WireBti, ___E>,
T2: ::fidl_next::Encode<::fidl_next::fuchsia::WireChannel, ___E>,
T3: ::fidl_next::Encode<::fidl_next::fuchsia::WireClock, ___E>,
T4: ::fidl_next::Encode<::fidl_next::fuchsia::WireDebugLog, ___E>,
T5: ::fidl_next::Encode<::fidl_next::fuchsia::WireEvent, ___E>,
T6: ::fidl_next::Encode<::fidl_next::fuchsia::WireEventPair, ___E>,
T7: ::fidl_next::Encode<::fidl_next::fuchsia::WireException, ___E>,
T8: ::fidl_next::Encode<::fidl_next::fuchsia::WireFifo, ___E>,
T9: ::fidl_next::Encode<::fidl_next::fuchsia::WireGuest, ___E>,
T10: ::fidl_next::Encode<::fidl_next::fuchsia::WireInterrupt, ___E>,
T11: ::fidl_next::Encode<::fidl_next::fuchsia::WireIob, ___E>,
T12: ::fidl_next::Encode<::fidl_next::fuchsia::WireIommu, ___E>,
T13: ::fidl_next::Encode<::fidl_next::fuchsia::WireJob, ___E>,
T14: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>,
T15: ::fidl_next::Encode<::fidl_next::fuchsia::WirePager, ___E>,
T16: ::fidl_next::Encode<::fidl_next::fuchsia::WirePmt, ___E>,
T17: ::fidl_next::Encode<::fidl_next::fuchsia::WirePort, ___E>,
T18: ::fidl_next::Encode<::fidl_next::fuchsia::WireProcess, ___E>,
T19: ::fidl_next::Encode<::fidl_next::fuchsia::WireProfile, ___E>,
T20: ::fidl_next::Encode<::fidl_next::fuchsia::WireResource, ___E>,
T21: ::fidl_next::Encode<::fidl_next::fuchsia::WireSocket, ___E>,
T22: ::fidl_next::Encode<::fidl_next::fuchsia::WireStream, ___E>,
T23: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>,
T24: ::fidl_next::Encode<::fidl_next::fuchsia::WireThread, ___E>,
T25: ::fidl_next::Encode<::fidl_next::fuchsia::WireTimer, ___E>,
T26: ::fidl_next::Encode<::fidl_next::fuchsia::WireVcpu, ___E>,
T27: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmar, ___E>,
T28: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>,
T29: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>,
T30: ::fidl_next::Encode<::fidl_next::fuchsia::WireHandle, ___E>,
T31: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>,
T32: ::fidl_next::Encode<::fidl_next::fuchsia::WireVmo, ___E>,
T33: ::fidl_next::Encode<
::fidl_next::ClientEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>,
___E,
>,
T34: ::fidl_next::Encode<
::fidl_next::ServerEnd<crate::SomeProtocol, ::fidl_next::fuchsia::WireChannel>,
___E,
>,
{
#[inline]
fn encode(
self,
encoder_: &mut ___E,
out_: &mut ::core::mem::MaybeUninit<crate::wire::Handles>,
_: (),
) -> ::core::result::Result<(), ::fidl_next::EncodeError> {
::fidl_next::munge! {
let crate::wire::Handles {
plain_handle,
bti_handle,
channel_handle,
clock_handle,
debuglog_handle,
event_handle,
eventpair_handle,
exception_handle,
fifo_handle,
guest_handle,
interrupt_handle,
iob_handle,
iommu_handle,
job_handle,
msi_handle,
pager_handle,
pmt_handle,
port_handle,
process_handle,
profile_handle,
resource_handle,
socket_handle,
stream_handle,
suspendtoken_handle,
thread_handle,
timer_handle,
vcpu_handle,
vmar_handle,
vmo_handle,
rights_handle,
aliased_plain_handle_field,
aliased_subtype_handle_field,
aliased_rights_handle_field,
some_protocol,
request_some_protocol,
} = out_;
}
::fidl_next::Encode::encode(self.plain_handle, encoder_, plain_handle, ())?;
::fidl_next::Encode::encode(self.bti_handle, encoder_, bti_handle, ())?;
::fidl_next::Encode::encode(self.channel_handle, encoder_, channel_handle, ())?;
::fidl_next::Encode::encode(self.clock_handle, encoder_, clock_handle, ())?;
::fidl_next::Encode::encode(self.debuglog_handle, encoder_, debuglog_handle, ())?;
::fidl_next::Encode::encode(self.event_handle, encoder_, event_handle, ())?;
::fidl_next::Encode::encode(self.eventpair_handle, encoder_, eventpair_handle, ())?;
::fidl_next::Encode::encode(self.exception_handle, encoder_, exception_handle, ())?;
::fidl_next::Encode::encode(self.fifo_handle, encoder_, fifo_handle, ())?;
::fidl_next::Encode::encode(self.guest_handle, encoder_, guest_handle, ())?;
::fidl_next::Encode::encode(self.interrupt_handle, encoder_, interrupt_handle, ())?;
::fidl_next::Encode::encode(self.iob_handle, encoder_, iob_handle, ())?;
::fidl_next::Encode::encode(self.iommu_handle, encoder_, iommu_handle, ())?;
::fidl_next::Encode::encode(self.job_handle, encoder_, job_handle, ())?;
::fidl_next::Encode::encode(self.msi_handle, encoder_, msi_handle, ())?;
::fidl_next::Encode::encode(self.pager_handle, encoder_, pager_handle, ())?;
::fidl_next::Encode::encode(self.pmt_handle, encoder_, pmt_handle, ())?;
::fidl_next::Encode::encode(self.port_handle, encoder_, port_handle, ())?;
::fidl_next::Encode::encode(self.process_handle, encoder_, process_handle, ())?;
::fidl_next::Encode::encode(self.profile_handle, encoder_, profile_handle, ())?;
::fidl_next::Encode::encode(self.resource_handle, encoder_, resource_handle, ())?;
::fidl_next::Encode::encode(self.socket_handle, encoder_, socket_handle, ())?;
::fidl_next::Encode::encode(self.stream_handle, encoder_, stream_handle, ())?;
::fidl_next::Encode::encode(
self.suspendtoken_handle,
encoder_,
suspendtoken_handle,
(),
)?;
::fidl_next::Encode::encode(self.thread_handle, encoder_, thread_handle, ())?;
::fidl_next::Encode::encode(self.timer_handle, encoder_, timer_handle, ())?;
::fidl_next::Encode::encode(self.vcpu_handle, encoder_, vcpu_handle, ())?;
::fidl_next::Encode::encode(self.vmar_handle, encoder_, vmar_handle, ())?;
::fidl_next::Encode::encode(self.vmo_handle, encoder_, vmo_handle, ())?;
::fidl_next::Encode::encode(self.rights_handle, encoder_, rights_handle, ())?;
::fidl_next::Encode::encode(
self.aliased_plain_handle_field,
encoder_,
aliased_plain_handle_field,
(),
)?;
::fidl_next::Encode::encode(
self.aliased_subtype_handle_field,
encoder_,
aliased_subtype_handle_field,
(),
)?;
::fidl_next::Encode::encode(
self.aliased_rights_handle_field,
encoder_,
aliased_rights_handle_field,
(),
)?;
::fidl_next::Encode::encode(self.some_protocol, encoder_, some_protocol, ())?;
::fidl_next::Encode::encode(
self.request_some_protocol,
encoder_,
request_some_protocol,
(),
)?;
Ok(())
}
}
}
pub use self::natural::*;
pub use fidl_next_common_test_handles::*;