blob: 413d9e33eb09cda72b5391320676127160d1ca65 [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
#![allow(
unused_parens, // one-element-tuple-case is not a tuple
unused_mut, // not all args require mutation, but many do
nonstandard_style, // auto-caps does its best, but is not always successful
)]
#![recursion_limit = "512"]
#[cfg(target_os = "fuchsia")]
#[allow(unused_imports)]
use fuchsia_zircon as zx;
#[allow(unused_imports)]
use {
bitflags::bitflags,
fidl::{
client::{decode_transaction_body_fut, QueryResponseFut},
encoding::{Decodable as _, Encodable as _},
endpoints::{ControlHandle as _, Responder as _},
fidl_bits, fidl_empty_struct, fidl_enum, fidl_struct, fidl_struct_copy, fidl_table,
fidl_union, wrap_handle_metadata,
},
fuchsia_zircon_status as zx_status,
futures::future::{self, MaybeDone, TryFutureExt},
};
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub enum UnionSize12Alignment4 {
Variant([u8; 6]),
}
impl UnionSize12Alignment4 {
#[deprecated = "Strict unions should not use `validate`"]
#[inline]
pub fn validate(self) -> std::result::Result<Self, (u64, Vec<u8>)> {
Ok(self)
}
#[deprecated = "Strict unions should not use `is_unknown`"]
#[inline]
pub fn is_unknown(&self) -> bool {
false
}
}
impl fidl::encoding::Persistable for UnionSize12Alignment4 {}
fidl_union! {
name: UnionSize12Alignment4,
members: [
Variant {
ty: [u8; 6],
ordinal: 1,
},
],
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub enum UnionSize24Alignment8 {
Variant(StructSize16Alignment8),
}
impl UnionSize24Alignment8 {
#[deprecated = "Strict unions should not use `validate`"]
#[inline]
pub fn validate(self) -> std::result::Result<Self, (u64, Vec<u8>)> {
Ok(self)
}
#[deprecated = "Strict unions should not use `is_unknown`"]
#[inline]
pub fn is_unknown(&self) -> bool {
false
}
}
impl fidl::encoding::Persistable for UnionSize24Alignment8 {}
fidl_union! {
name: UnionSize24Alignment8,
members: [
Variant {
ty: StructSize16Alignment8,
ordinal: 1,
},
],
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub enum UnionSize36Alignment4 {
Variant([u8; 32]),
}
impl UnionSize36Alignment4 {
#[deprecated = "Strict unions should not use `validate`"]
#[inline]
pub fn validate(self) -> std::result::Result<Self, (u64, Vec<u8>)> {
Ok(self)
}
#[deprecated = "Strict unions should not use `is_unknown`"]
#[inline]
pub fn is_unknown(&self) -> bool {
false
}
}
impl fidl::encoding::Persistable for UnionSize36Alignment4 {}
fidl_union! {
name: UnionSize36Alignment4,
members: [
Variant {
ty: [u8; 32],
ordinal: 1,
},
],
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub enum UnionSize8Alignment4 {
Variant(u32),
}
impl UnionSize8Alignment4 {
#[deprecated = "Strict unions should not use `validate`"]
#[inline]
pub fn validate(self) -> std::result::Result<Self, (u64, Vec<u8>)> {
Ok(self)
}
#[deprecated = "Strict unions should not use `is_unknown`"]
#[inline]
pub fn is_unknown(&self) -> bool {
false
}
}
impl fidl::encoding::Persistable for UnionSize8Alignment4 {}
fidl_union! {
name: UnionSize8Alignment4,
members: [
Variant {
ty: u32,
ordinal: 1,
},
],
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct SandwichUnionSize12Alignment4 {
pub before: u32,
pub union: UnionSize12Alignment4,
pub after: i32,
}
impl fidl::encoding::Persistable for SandwichUnionSize12Alignment4 {}
fidl_struct! {
name: SandwichUnionSize12Alignment4,
members: [
before {
ty: u32,
offset_v1: 0,
offset_v2: 0,
},
union {
ty: UnionSize12Alignment4,
offset_v1: 8,
offset_v2: 8,
},
after {
ty: i32,
offset_v1: 32,
offset_v2: 24,
},
],
padding_v1: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 32,
mask: 0xffffffff00000000u64,
},],
padding_v2: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 24,
mask: 0xffffffff00000000u64,
},],
size_v1: 40,
size_v2: 32,
align_v1: 8,
align_v2: 8,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct SandwichUnionSize24Alignment8 {
pub before: u32,
pub union: UnionSize24Alignment8,
pub after: u32,
}
impl fidl::encoding::Persistable for SandwichUnionSize24Alignment8 {}
fidl_struct! {
name: SandwichUnionSize24Alignment8,
members: [
before {
ty: u32,
offset_v1: 0,
offset_v2: 0,
},
union {
ty: UnionSize24Alignment8,
offset_v1: 8,
offset_v2: 8,
},
after {
ty: u32,
offset_v1: 32,
offset_v2: 24,
},
],
padding_v1: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 32,
mask: 0xffffffff00000000u64,
},],
padding_v2: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 24,
mask: 0xffffffff00000000u64,
},],
size_v1: 40,
size_v2: 32,
align_v1: 8,
align_v2: 8,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct SandwichUnionSize36Alignment4 {
pub before: u32,
pub union: UnionSize36Alignment4,
pub after: u32,
}
impl fidl::encoding::Persistable for SandwichUnionSize36Alignment4 {}
fidl_struct! {
name: SandwichUnionSize36Alignment4,
members: [
before {
ty: u32,
offset_v1: 0,
offset_v2: 0,
},
union {
ty: UnionSize36Alignment4,
offset_v1: 8,
offset_v2: 8,
},
after {
ty: u32,
offset_v1: 32,
offset_v2: 24,
},
],
padding_v1: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 32,
mask: 0xffffffff00000000u64,
},],
padding_v2: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 24,
mask: 0xffffffff00000000u64,
},],
size_v1: 40,
size_v2: 32,
align_v1: 8,
align_v2: 8,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct SandwichUnionSize8Alignment4 {
pub before: u32,
pub union: UnionSize8Alignment4,
pub after: u32,
}
impl fidl::encoding::Persistable for SandwichUnionSize8Alignment4 {}
fidl_struct! {
name: SandwichUnionSize8Alignment4,
members: [
before {
ty: u32,
offset_v1: 0,
offset_v2: 0,
},
union {
ty: UnionSize8Alignment4,
offset_v1: 8,
offset_v2: 8,
},
after {
ty: u32,
offset_v1: 32,
offset_v2: 24,
},
],
padding_v1: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 32,
mask: 0xffffffff00000000u64,
},],
padding_v2: [
{
ty: u64,
offset: 0,
mask: 0xffffffff00000000u64,
},
{
ty: u64,
offset: 24,
mask: 0xffffffff00000000u64,
},],
size_v1: 40,
size_v2: 32,
align_v1: 8,
align_v2: 8,
}
#[derive(
Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, zerocopy::AsBytes, zerocopy::FromBytes,
)]
#[repr(C)]
pub struct StructSize16Alignment8 {
pub f1: u64,
pub f2: u64,
}
impl fidl::encoding::Persistable for StructSize16Alignment8 {}
fidl_struct_copy! {
name: StructSize16Alignment8,
members: [
f1 {
ty: u64,
offset_v1: 0,
offset_v2: 0,
},
f2 {
ty: u64,
offset_v1: 8,
offset_v2: 8,
},
],
padding_v1: [],
padding_v2: [],
size_v1: 16,
size_v2: 16,
align_v1: 8,
align_v2: 8,
}