pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TF_AttrType {
TF_ATTR_STRING = 0,
TF_ATTR_INT = 1,
TF_ATTR_FLOAT = 2,
TF_ATTR_BOOL = 3,
TF_ATTR_TYPE = 4,
TF_ATTR_SHAPE = 5,
TF_ATTR_TENSOR = 6,
TF_ATTR_PLACEHOLDER = 7,
TF_ATTR_FUNC = 8,
}
impl TF_DataType {
pub const TF_COMPLEX: TF_DataType = TF_DataType::TF_COMPLEX64;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TF_DataType {
TF_FLOAT = 1,
TF_DOUBLE = 2,
TF_INT32 = 3,
TF_UINT8 = 4,
TF_INT16 = 5,
TF_INT8 = 6,
TF_STRING = 7,
TF_COMPLEX64 = 8,
TF_INT64 = 9,
TF_BOOL = 10,
TF_QINT8 = 11,
TF_QUINT8 = 12,
TF_QINT32 = 13,
TF_BFLOAT16 = 14,
TF_QINT16 = 15,
TF_QUINT16 = 16,
TF_UINT16 = 17,
TF_COMPLEX128 = 18,
TF_HALF = 19,
TF_RESOURCE = 20,
TF_VARIANT = 21,
TF_UINT32 = 22,
TF_UINT64 = 23,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Status {
_unused: [u8; 0],
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TF_Code {
TF_OK = 0,
TF_CANCELLED = 1,
TF_UNKNOWN = 2,
TF_INVALID_ARGUMENT = 3,
TF_DEADLINE_EXCEEDED = 4,
TF_NOT_FOUND = 5,
TF_ALREADY_EXISTS = 6,
TF_PERMISSION_DENIED = 7,
TF_UNAUTHENTICATED = 16,
TF_RESOURCE_EXHAUSTED = 8,
TF_FAILED_PRECONDITION = 9,
TF_ABORTED = 10,
TF_OUT_OF_RANGE = 11,
TF_UNIMPLEMENTED = 12,
TF_INTERNAL = 13,
TF_UNAVAILABLE = 14,
TF_DATA_LOSS = 15,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_AllocatorAttributes {
pub struct_size: usize,
pub on_host: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_TF_AllocatorAttributes() {
assert_eq!(
::std::mem::size_of::<TF_AllocatorAttributes>(),
16usize,
concat!("Size of: ", stringify!(TF_AllocatorAttributes))
);
assert_eq!(
::std::mem::align_of::<TF_AllocatorAttributes>(),
8usize,
concat!("Alignment of ", stringify!(TF_AllocatorAttributes))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<TF_AllocatorAttributes>())).struct_size as *const _ as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(TF_AllocatorAttributes),
"::",
stringify!(struct_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_AllocatorAttributes>())).on_host as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_AllocatorAttributes),
"::",
stringify!(on_host)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Tensor {
_unused: [u8; 0],
}
impl TF_TString_Type {
pub const TF_TSTR_TYPE_MASK: TF_TString_Type = TF_TString_Type::TF_TSTR_VIEW;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum TF_TString_Type {
TF_TSTR_SMALL = 0,
TF_TSTR_LARGE = 1,
TF_TSTR_OFFSET = 2,
TF_TSTR_VIEW = 3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_TString_Large {
pub size: usize,
pub cap: usize,
pub ptr: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_TF_TString_Large() {
assert_eq!(
::std::mem::size_of::<TF_TString_Large>(),
24usize,
concat!("Size of: ", stringify!(TF_TString_Large))
);
assert_eq!(
::std::mem::align_of::<TF_TString_Large>(),
8usize,
concat!("Alignment of ", stringify!(TF_TString_Large))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Large>())).size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Large),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Large>())).cap as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Large),
"::",
stringify!(cap)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Large>())).ptr as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Large),
"::",
stringify!(ptr)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_TString_Offset {
pub size: u32,
pub offset: u32,
pub count: u32,
}
#[test]
fn bindgen_test_layout_TF_TString_Offset() {
assert_eq!(
::std::mem::size_of::<TF_TString_Offset>(),
12usize,
concat!("Size of: ", stringify!(TF_TString_Offset))
);
assert_eq!(
::std::mem::align_of::<TF_TString_Offset>(),
4usize,
concat!("Alignment of ", stringify!(TF_TString_Offset))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Offset>())).size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Offset),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Offset>())).offset as *const _ as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Offset),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Offset>())).count as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Offset),
"::",
stringify!(count)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_TString_View {
pub size: usize,
pub ptr: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_TF_TString_View() {
assert_eq!(
::std::mem::size_of::<TF_TString_View>(),
16usize,
concat!("Size of: ", stringify!(TF_TString_View))
);
assert_eq!(
::std::mem::align_of::<TF_TString_View>(),
8usize,
concat!("Alignment of ", stringify!(TF_TString_View))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_View>())).size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_View),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_View>())).ptr as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_View),
"::",
stringify!(ptr)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_TString_Raw {
pub raw: [u8; 24usize],
}
#[test]
fn bindgen_test_layout_TF_TString_Raw() {
assert_eq!(
::std::mem::size_of::<TF_TString_Raw>(),
24usize,
concat!("Size of: ", stringify!(TF_TString_Raw))
);
assert_eq!(
::std::mem::align_of::<TF_TString_Raw>(),
1usize,
concat!("Alignment of ", stringify!(TF_TString_Raw))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Raw>())).raw as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Raw),
"::",
stringify!(raw)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union TF_TString_Union {
pub large: TF_TString_Large,
pub offset: TF_TString_Offset,
pub view: TF_TString_View,
pub raw: TF_TString_Raw,
}
#[test]
fn bindgen_test_layout_TF_TString_Union() {
assert_eq!(
::std::mem::size_of::<TF_TString_Union>(),
24usize,
concat!("Size of: ", stringify!(TF_TString_Union))
);
assert_eq!(
::std::mem::align_of::<TF_TString_Union>(),
8usize,
concat!("Alignment of ", stringify!(TF_TString_Union))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Union>())).large as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Union),
"::",
stringify!(large)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Union>())).offset as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Union),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Union>())).view as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Union),
"::",
stringify!(view)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Union>())).raw as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Union),
"::",
stringify!(raw)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_TString_Small {
pub size: u8,
pub str_: [::std::os::raw::c_char; 23usize],
}
#[test]
fn bindgen_test_layout_TF_TString_Small() {
assert_eq!(
::std::mem::size_of::<TF_TString_Small>(),
24usize,
concat!("Size of: ", stringify!(TF_TString_Small))
);
assert_eq!(
::std::mem::align_of::<TF_TString_Small>(),
1usize,
concat!("Alignment of ", stringify!(TF_TString_Small))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Small>())).size as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Small),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString_Small>())).str_ as *const _ as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(TF_TString_Small),
"::",
stringify!(str_)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct TF_TString {
pub u: TF_TString__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union TF_TString__bindgen_ty_1 {
pub smll: TF_TString_Small,
pub large: TF_TString_Large,
pub offset: TF_TString_Offset,
pub view: TF_TString_View,
pub raw: TF_TString_Raw,
}
#[test]
fn bindgen_test_layout_TF_TString__bindgen_ty_1() {
assert_eq!(
::std::mem::size_of::<TF_TString__bindgen_ty_1>(),
24usize,
concat!("Size of: ", stringify!(TF_TString__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<TF_TString__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(TF_TString__bindgen_ty_1))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString__bindgen_ty_1>())).smll as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString__bindgen_ty_1),
"::",
stringify!(smll)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString__bindgen_ty_1>())).large as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString__bindgen_ty_1),
"::",
stringify!(large)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString__bindgen_ty_1>())).offset as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString__bindgen_ty_1),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString__bindgen_ty_1>())).view as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString__bindgen_ty_1),
"::",
stringify!(view)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString__bindgen_ty_1>())).raw as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString__bindgen_ty_1),
"::",
stringify!(raw)
)
);
}
#[test]
fn bindgen_test_layout_TF_TString() {
assert_eq!(
::std::mem::size_of::<TF_TString>(),
24usize,
concat!("Size of: ", stringify!(TF_TString))
);
assert_eq!(
::std::mem::align_of::<TF_TString>(),
8usize,
concat!("Alignment of ", stringify!(TF_TString))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_TString>())).u as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_TString),
"::",
stringify!(u)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Buffer {
pub data: *const ::std::os::raw::c_void,
pub length: usize,
pub data_deallocator: ::std::option::Option<
unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, length: usize),
>,
}
#[test]
fn bindgen_test_layout_TF_Buffer() {
assert_eq!(
::std::mem::size_of::<TF_Buffer>(),
24usize,
concat!("Size of: ", stringify!(TF_Buffer))
);
assert_eq!(
::std::mem::align_of::<TF_Buffer>(),
8usize,
concat!("Alignment of ", stringify!(TF_Buffer))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Buffer>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_Buffer),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Buffer>())).length as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_Buffer),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Buffer>())).data_deallocator as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(TF_Buffer),
"::",
stringify!(data_deallocator)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_StringView {
pub data: *const ::std::os::raw::c_char,
pub len: usize,
}
#[test]
fn bindgen_test_layout_TF_StringView() {
assert_eq!(
::std::mem::size_of::<TF_StringView>(),
16usize,
concat!("Size of: ", stringify!(TF_StringView))
);
assert_eq!(
::std::mem::align_of::<TF_StringView>(),
8usize,
concat!("Alignment of ", stringify!(TF_StringView))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_StringView>())).data as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_StringView),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_StringView>())).len as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_StringView),
"::",
stringify!(len)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_SessionOptions {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Graph {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_OperationDescription {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Operation {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Input {
pub oper: *mut TF_Operation,
pub index: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_TF_Input() {
assert_eq!(
::std::mem::size_of::<TF_Input>(),
16usize,
concat!("Size of: ", stringify!(TF_Input))
);
assert_eq!(
::std::mem::align_of::<TF_Input>(),
8usize,
concat!("Alignment of ", stringify!(TF_Input))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Input>())).oper as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_Input),
"::",
stringify!(oper)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Input>())).index as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_Input),
"::",
stringify!(index)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Output {
pub oper: *mut TF_Operation,
pub index: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_TF_Output() {
assert_eq!(
::std::mem::size_of::<TF_Output>(),
16usize,
concat!("Size of: ", stringify!(TF_Output))
);
assert_eq!(
::std::mem::align_of::<TF_Output>(),
8usize,
concat!("Alignment of ", stringify!(TF_Output))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Output>())).oper as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_Output),
"::",
stringify!(oper)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_Output>())).index as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_Output),
"::",
stringify!(index)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Function {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_FunctionOptions {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_AttrMetadata {
pub is_list: ::std::os::raw::c_uchar,
pub list_size: i64,
pub type_: TF_AttrType,
pub total_size: i64,
}
#[test]
fn bindgen_test_layout_TF_AttrMetadata() {
assert_eq!(
::std::mem::size_of::<TF_AttrMetadata>(),
32usize,
concat!("Size of: ", stringify!(TF_AttrMetadata))
);
assert_eq!(
::std::mem::align_of::<TF_AttrMetadata>(),
8usize,
concat!("Alignment of ", stringify!(TF_AttrMetadata))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_AttrMetadata>())).is_list as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_AttrMetadata),
"::",
stringify!(is_list)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_AttrMetadata>())).list_size as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_AttrMetadata),
"::",
stringify!(list_size)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_AttrMetadata>())).type_ as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(TF_AttrMetadata),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_AttrMetadata>())).total_size as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(TF_AttrMetadata),
"::",
stringify!(total_size)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_ImportGraphDefOptions {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_ImportGraphDefResults {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_WhileParams {
pub ninputs: ::std::os::raw::c_int,
pub cond_graph: *mut TF_Graph,
pub cond_inputs: *const TF_Output,
pub cond_output: TF_Output,
pub body_graph: *mut TF_Graph,
pub body_inputs: *const TF_Output,
pub body_outputs: *mut TF_Output,
pub name: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_TF_WhileParams() {
assert_eq!(
::std::mem::size_of::<TF_WhileParams>(),
72usize,
concat!("Size of: ", stringify!(TF_WhileParams))
);
assert_eq!(
::std::mem::align_of::<TF_WhileParams>(),
8usize,
concat!("Alignment of ", stringify!(TF_WhileParams))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).ninputs as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(ninputs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).cond_graph as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(cond_graph)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).cond_inputs as *const _ as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(cond_inputs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).cond_output as *const _ as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(cond_output)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).body_graph as *const _ as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(body_graph)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).body_inputs as *const _ as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(body_inputs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).body_outputs as *const _ as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(body_outputs)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<TF_WhileParams>())).name as *const _ as usize },
64usize,
concat!(
"Offset of field: ",
stringify!(TF_WhileParams),
"::",
stringify!(name)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Session {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_DeprecatedSession {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_DeviceList {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Library {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_ApiDefMap {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct TF_Server {
_unused: [u8; 0],
}