| // 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 _}, |
| fidl_empty_struct, fidl_flexible_bits, fidl_flexible_enum, fidl_strict_bits, |
| fidl_strict_enum, fidl_struct, fidl_struct_copy, fidl_table, fidl_xunion, |
| wrap_handle_metadata, |
| }, |
| fuchsia_zircon_status as zx_status, |
| futures::future::{self, MaybeDone, TryFutureExt}, |
| }; |
| |
| #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| #[repr(C)] |
| pub struct Int8Int32 { |
| pub a: i8, |
| pub b: i32, |
| } |
| |
| fidl_struct_copy! { |
| name: Int8Int32, |
| members: [ |
| a { |
| ty: i8, |
| offset_v1: 0, |
| }, |
| b { |
| ty: i32, |
| offset_v1: 4, |
| }, |
| ], |
| padding: [ |
| { |
| ty: u64, |
| offset: 0, |
| mask: 0x00000000ffffff00u64, |
| },], |
| size_v1: 8, |
| align_v1: 4, |
| } |
| |
| #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| #[repr(C)] |
| pub struct Int16Int8 { |
| pub a: i16, |
| pub b: i8, |
| } |
| |
| fidl_struct_copy! { |
| name: Int16Int8, |
| members: [ |
| a { |
| ty: i16, |
| offset_v1: 0, |
| }, |
| b { |
| ty: i8, |
| offset_v1: 2, |
| }, |
| ], |
| padding: [ |
| { |
| ty: u32, |
| offset: 0, |
| mask: 0xff000000u32, |
| },], |
| size_v1: 4, |
| align_v1: 2, |
| } |
| |
| #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| #[repr(C)] |
| pub struct ArrayInt16Int8 { |
| pub arr: [Int16Int8; 3], |
| } |
| |
| fidl_struct_copy! { |
| name: ArrayInt16Int8, |
| members: [ |
| arr { |
| ty: [Int16Int8; 3], |
| offset_v1: 0, |
| }, |
| ], |
| padding: [ |
| { |
| ty: u64, |
| offset: 0, |
| mask: 0xff000000ff000000u64, |
| }, |
| { |
| ty: u32, |
| offset: 8, |
| mask: 0xff000000u32, |
| },], |
| size_v1: 12, |
| align_v1: 2, |
| } |
| |
| #[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| #[repr(C)] |
| pub struct StructPaddingTestStruct { |
| pub trailing: Int16Int8, |
| pub inner: Int8Int32, |
| pub array: ArrayInt16Int8, |
| } |
| |
| fidl_struct_copy! { |
| name: StructPaddingTestStruct, |
| members: [ |
| trailing { |
| ty: Int16Int8, |
| offset_v1: 0, |
| }, |
| inner { |
| ty: Int8Int32, |
| offset_v1: 4, |
| }, |
| array { |
| ty: ArrayInt16Int8, |
| offset_v1: 12, |
| }, |
| ], |
| padding: [ |
| { |
| ty: u64, |
| offset: 0, |
| mask: 0xffffff00ff000000u64, |
| }, |
| { |
| ty: u64, |
| offset: 8, |
| mask: 0xff00000000000000u64, |
| }, |
| { |
| ty: u64, |
| offset: 16, |
| mask: 0xff000000ff000000u64, |
| },], |
| size_v1: 24, |
| align_v1: 4, |
| } |
| |
| #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| pub struct NonInlineStructTestStruct { |
| pub element: Option<Box<Int16Int8>>, |
| pub h: fidl::Handle, |
| } |
| |
| fidl_struct! { |
| name: NonInlineStructTestStruct, |
| members: [ |
| element { |
| ty: Option<Box<Int16Int8>>, |
| offset_v1: 0, |
| }, |
| h { |
| ty: fidl::Handle, |
| offset_v1: 8, |
| handle_metadata: { |
| handle_subtype: fidl::ObjectType::NONE, |
| handle_rights: fidl::Rights::from_bits_const(2147483648).unwrap(), |
| }, |
| }, |
| ], |
| padding: [ |
| { |
| ty: u64, |
| offset: 8, |
| mask: 0xffffffff00000000u64, |
| },], |
| size_v1: 16, |
| align_v1: 8, |
| } |
| |
| #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)] |
| pub struct TopLevelStruct { |
| pub a: StructPaddingTestStruct, |
| pub b: NonInlineStructTestStruct, |
| } |
| |
| fidl_struct! { |
| name: TopLevelStruct, |
| members: [ |
| a { |
| ty: StructPaddingTestStruct, |
| offset_v1: 0, |
| }, |
| b { |
| ty: NonInlineStructTestStruct, |
| offset_v1: 24, |
| }, |
| ], |
| padding: [], |
| size_v1: 40, |
| align_v1: 8, |
| } |