// WARNING: This file is machine generated by fidlgen.

#![allow(
	deprecated, // FIDL Impl struct pattern is referenced internally
	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},
        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, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct ByteAndBytes {
    pub single_byte: u8,
    pub many_bytes: Vec<u8>,
    pub only_one_k_bytes: Vec<u8>,
    pub opt_only_one_k_bytes: Option<Vec<u8>>,
}

fidl_struct! {
  name: ByteAndBytes,
  members: [
    single_byte {
      ty: u8,
      offset_v1: 0,
    },
    many_bytes {
      ty: Vec<u8>,
      offset_v1: 8,
    },
    only_one_k_bytes {
      ty: Vec<u8>,
      offset_v1: 24,
    },
    opt_only_one_k_bytes {
      ty: Option<Vec<u8>>,
      offset_v1: 40,
    },
  ],
  padding: [
  {
      ty: u64,
      offset: 0,
      mask: 0xffffffffffffff00u64,
  },],
  size_v1: 56,
  align_v1: 8,
}
