#[repr(C)]
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct __BindgenBitfieldUnit<Storage> {
storage: Storage,
}
impl<Storage> __BindgenBitfieldUnit<Storage> {
#[inline]
pub const fn new(storage: Storage) -> Self {
Self { storage }
}
}
impl<Storage> __BindgenBitfieldUnit<Storage>
where
Storage: AsRef<[u8]> + AsMut<[u8]>,
{
#[inline]
fn extract_bit(byte: u8, index: usize) -> bool {
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
byte & mask == mask
}
#[inline]
pub fn get_bit(&self, index: usize) -> bool {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = self.storage.as_ref()[byte_index];
Self::extract_bit(byte, index)
}
#[inline]
pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
debug_assert!(index / 8 < core::mem::size_of::<Storage>());
let byte_index = index / 8;
let byte = unsafe {
*(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
};
Self::extract_bit(byte, index)
}
#[inline]
fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
let bit_index = if cfg!(target_endian = "big") {
7 - (index % 8)
} else {
index % 8
};
let mask = 1 << bit_index;
if val { byte | mask } else { byte & !mask }
}
#[inline]
pub fn set_bit(&mut self, index: usize, val: bool) {
debug_assert!(index / 8 < self.storage.as_ref().len());
let byte_index = index / 8;
let byte = &mut self.storage.as_mut()[byte_index];
*byte = Self::change_bit(*byte, index, val);
}
#[inline]
pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
debug_assert!(index / 8 < core::mem::size_of::<Storage>());
let byte_index = index / 8;
let byte = unsafe {
(core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
};
unsafe { *byte = Self::change_bit(*byte, index, val) };
}
#[inline]
pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
let mut val = 0;
for i in 0..(bit_width as usize) {
if self.get_bit(i + bit_offset) {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
let mut val = 0;
for i in 0..(bit_width as usize) {
if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
val |= 1 << index;
}
}
val
}
#[inline]
pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
self.set_bit(index + bit_offset, val_bit_is_set);
}
}
#[inline]
pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
debug_assert!(bit_width <= 64);
debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
for i in 0..(bit_width as usize) {
let mask = 1 << i;
let val_bit_is_set = val & mask == mask;
let index = if cfg!(target_endian = "big") {
bit_width as usize - 1 - i
} else {
i
};
unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
}
}
}
#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
#[inline]
pub const fn new() -> Self {
__IncompleteArrayField(::core::marker::PhantomData, [])
}
#[inline]
pub fn as_ptr(&self) -> *const T {
self as *const _ as *const T
}
#[inline]
pub fn as_mut_ptr(&mut self) -> *mut T {
self as *mut _ as *mut T
}
#[inline]
pub unsafe fn as_slice(&self, len: usize) -> &[T] {
unsafe { ::core::slice::from_raw_parts(self.as_ptr(), len) }
}
#[inline]
pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
unsafe { ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len) }
}
}
impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
fmt.write_str("__IncompleteArrayField")
}
}
pub const IREE_PLATFORM_GENERIC: u32 = 1;
pub const IREE_FILE_IO_ENABLE: u32 = 0;
pub const IREE_STATUS_MODE: u32 = 2;
pub const IREE_ARCH: &[u8; 7] = b"arm_32\0";
pub const IREE_ARCH_ARM_32: u32 = 1;
pub const IREE_ENDIANNESS_LITTLE: u32 = 1;
pub const IREE_MEMORY_ACCESS_ALIGNMENT_REQUIRED: u32 = 1;
pub const IREE_MEMORY_ACCESS_ALIGNMENT_REQUIRED_8: u32 = 1;
pub const IREE_MEMORY_ACCESS_ALIGNMENT_REQUIRED_16: u32 = 1;
pub const IREE_MEMORY_ACCESS_ALIGNMENT_REQUIRED_32: u32 = 1;
pub const IREE_MEMORY_ACCESS_ALIGNMENT_REQUIRED_64: u32 = 1;
pub const IREE_COMPILER_CLANG: u32 = 1;
pub const IREE_COMPILER_GCC_COMPAT: u32 = 1;
pub const IREE_HAVE_ATTRIBUTE_WEAK: u32 = 1;
pub const IREE_STATUS_MAX_STACK_TRACE_FRAMES: u32 = 16;
pub const IREE_SYNCHRONIZATION_DISABLE_UNSAFE: u32 = 0;
pub const IREE_THREADING_ENABLE: u32 = 1;
pub const IREE_MAX_PATH: u32 = 2047;
pub const IREE_STATISTICS_ENABLE: u32 = 1;
pub const IREE_TRACING_MODE: u32 = 0;
pub const IREE_HAL_VERBOSE_TRACING_ENABLE: u32 = 1;
pub const IREE_HAL_HEAP_BUFFER_ALIGNMENT: u32 = 64;
pub const IREE_HAL_COMMAND_BUFFER_VALIDATION_ENABLE: u32 = 1;
pub const IREE_HAL_MODULE_STRING_UTIL_ENABLE: u32 = 1;
pub const IREE_VM_BACKTRACE_ENABLE: u32 = 1;
pub const IREE_VM_EXECUTION_TRACING_FORCE_ENABLE: u32 = 0;
pub const IREE_VM_EXECUTION_TRACING_ENABLE: u32 = 1;
pub const IREE_VM_EXECUTION_TRACING_SRC_LOC_ENABLE: u32 = 0;
pub const IREE_VM_BYTECODE_DISPATCH_COMPUTED_GOTO_ENABLE: u32 = 0;
pub const IREE_VM_BYTECODE_VERIFICATION_ENABLE: u32 = 1;
pub const IREE_VM_EXT_F32_ENABLE: u32 = 1;
pub const IREE_VM_EXT_F64_ENABLE: u32 = 1;
pub const IREE_VM_UBSAN_CHECKABLE_ENABLE: u32 = 0;
pub const IREE_PTR_SIZE: u32 = 4;
pub const IREE_STATUS_FEATURE_SOURCE_LOCATION: u32 = 1;
pub const IREE_STATUS_FEATURE_ANNOTATIONS: u32 = 2;
pub const IREE_STATUS_FEATURE_STACK_TRACE: u32 = 4;
pub const IREE_STATUS_FEATURES: u32 = 3;
pub const IREE_DURATION_ZERO: u32 = 0;
pub const IREE_HAVE_WAIT_TYPE_PIPE: u32 = 1;
pub const IREE_HAVE_WAIT_TYPE_LOCAL_FUTEX: u32 = 1;
pub const IREE_LOOP_INLINE_STORAGE_SIZE: u32 = 512;
pub const IREE_TRACING_FEATURE_INSTRUMENTATION: u32 = 1;
pub const IREE_TRACING_FEATURE_INSTRUMENTATION_CALLSTACKS: u32 = 2;
pub const IREE_TRACING_FEATURE_INSTRUMENTATION_DEVICE: u32 = 4;
pub const IREE_TRACING_FEATURE_ALLOCATION_TRACKING: u32 = 8;
pub const IREE_TRACING_FEATURE_ALLOCATION_CALLSTACKS: u32 = 16;
pub const IREE_TRACING_FEATURE_FAST_LOCKS: u32 = 32;
pub const IREE_TRACING_FEATURE_SLOW_LOCKS: u32 = 64;
pub const IREE_TRACING_FEATURE_LOG_MESSAGES: u32 = 128;
pub const IREE_TRACING_FEATURE_FIBERS: u32 = 256;
pub const IREE_TRACING_MAX_CALLSTACK_DEPTH: u32 = 16;
pub const IREE_TRACING_FEATURES_REQUESTED: u32 = 0;
pub const IREE_TRACING_FEATURES: u32 = 0;
pub const IREE_HAL_SEMAPHORE_MAX_VALUE: u32 = 2147483646;
pub const IREE_HAL_SEMAPHORE_FAILURE_VALUE: u32 = 2147483647;
pub const IREE_HAL_SEMAPHORE_FAILURE_VALUE_STATUS_BIT: i64 = -9223372036854775808;
pub const IREE_HAL_TOPOLOGY_MAX_DEVICE_COUNT: u32 = 32;
pub const IREE_HAL_DEVICE_ID_DEFAULT: u32 = 0;
pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_MODE_SHIFT: u32 = 0;
pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_MODE_MASK: u32 = 3;
pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_MODE_SHIFT: u32 = 2;
pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_MODE_MASK: u32 = 3;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_SHIFT: u32 = 4;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_MASK: u32 = 3;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_SHIFT: u32 = 6;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_MASK: u32 = 3;
pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT: u32 = 8;
pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK: u32 = 65535;
pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT: u32 = 24;
pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK: u32 = 15;
pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT: u32 = 28;
pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK: u32 = 15;
pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT: u32 = 32;
pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK: u32 = 15;
pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT: u32 = 36;
pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK: u32 = 15;
pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT: u32 = 40;
pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK: u32 = 15;
pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT: u32 = 44;
pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_MASK: u32 = 7;
pub const IREE_HAL_TOPOLOGY_EDGE_SEMAPHORE_IMPORT_TYPES_SHIFT: u32 = 0;
pub const IREE_HAL_TOPOLOGY_EDGE_SEMAPHORE_IMPORT_TYPES_MASK: u32 = 255;
pub const IREE_HAL_TOPOLOGY_EDGE_SEMAPHORE_EXPORT_TYPES_SHIFT: u32 = 8;
pub const IREE_HAL_TOPOLOGY_EDGE_SEMAPHORE_EXPORT_TYPES_MASK: u32 = 255;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_IMPORT_TYPES_SHIFT: u32 = 16;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_IMPORT_TYPES_MASK: u32 = 255;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_EXPORT_TYPES_SHIFT: u32 = 24;
pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_EXPORT_TYPES_MASK: u32 = 255;
pub const IREE_VM_REF_TYPE_TAG_BITS: u32 = 3;
pub const IREE_VM_REF_TYPE_TAG_BIT_MASK: u32 = 7;
pub const IREE_VM_REF_TYPE_PTR_BIT_MASK: i32 = -8;
pub const IREE_VM_REF_TYPE_DESCRIPTOR_ALIGNMENT: u32 = 8;
pub const IREE_VM_TYPE_CAPACITY_DEFAULT: u32 = 32;
pub const IREE_VM_CCONV_TYPE_VOID: u8 = 118u8;
pub const IREE_VM_CCONV_TYPE_I32: u8 = 105u8;
pub const IREE_VM_CCONV_TYPE_I64: u8 = 73u8;
pub const IREE_VM_CCONV_TYPE_F32: u8 = 102u8;
pub const IREE_VM_CCONV_TYPE_F64: u8 = 70u8;
pub const IREE_VM_CCONV_TYPE_REF: u8 = 114u8;
pub const IREE_VM_CCONV_TYPE_SPAN_START: u8 = 67u8;
pub const IREE_VM_CCONV_TYPE_SPAN_END: u8 = 68u8;
pub const IREE_VM_STACK_DEFAULT_SIZE: u32 = 8192;
pub const IREE_VM_STACK_MIN_SIZE: u32 = 1024;
pub const IREE_VM_STACK_MAX_SIZE: u32 = 1048576;
pub const IREE_VM_VALUE_STORAGE_SIZE: u32 = 8;
pub const IREE_HAL_EXECUTABLE_LIBRARY_VERSION_0_6: u32 = 6;
pub const IREE_HAL_EXECUTABLE_LIBRARY_VERSION_LATEST: u32 = 6;
pub const IREE_HAL_EXECUTABLE_LIBRARY_EXPORT_NAME: &[u8; 34] =
b"iree_hal_executable_library_query\0";
pub const IREE_HAL_PROCESSOR_DATA_CAPACITY_V0: u32 = 8;
pub const IREE_HAL_EXECUTABLE_WORKGROUP_LOCAL_MEMORY_PAGE_SIZE: u32 = 4096;
pub const IREE_HAL_EXECUTABLE_MAX_CONSTANT_COUNT: u32 = 64;
pub const IREE_HAL_EXECUTABLE_MAX_BINDING_COUNT: u32 = 64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_t {
_unused: [u8; 0],
}
pub type wint_t = core::ffi::c_int;
pub type _off_t = core::ffi::c_long;
pub type _fpos_t = core::ffi::c_long;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _mbstate_t {
pub __count: core::ffi::c_int,
pub __value: _mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _mbstate_t__bindgen_ty_1 {
pub __wch: wint_t,
pub __wchb: [core::ffi::c_uchar; 4usize],
}
pub type __ULong = core::ffi::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __lock {
_unused: [u8; 0],
}
pub type _LOCK_T = *mut __lock;
pub type _flock_t = _LOCK_T;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _Bigint {
pub _next: *mut _Bigint,
pub _k: core::ffi::c_int,
pub _maxwds: core::ffi::c_int,
pub _sign: core::ffi::c_int,
pub _wds: core::ffi::c_int,
pub _x: [__ULong; 1usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __tm {
pub __tm_sec: core::ffi::c_int,
pub __tm_min: core::ffi::c_int,
pub __tm_hour: core::ffi::c_int,
pub __tm_mday: core::ffi::c_int,
pub __tm_mon: core::ffi::c_int,
pub __tm_year: core::ffi::c_int,
pub __tm_wday: core::ffi::c_int,
pub __tm_yday: core::ffi::c_int,
pub __tm_isdst: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _on_exit_args {
pub _fnargs: [*mut core::ffi::c_void; 32usize],
pub _dso_handle: [*mut core::ffi::c_void; 32usize],
pub _fntypes: __ULong,
pub _is_cxa: __ULong,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _atexit {
pub _next: *mut _atexit,
pub _ind: core::ffi::c_int,
pub _fns: [::core::option::Option<unsafe extern "C" fn()>; 32usize],
pub _on_exit_args: _on_exit_args,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sbuf {
pub _base: *mut core::ffi::c_uchar,
pub _size: core::ffi::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __sFILE {
pub _p: *mut core::ffi::c_uchar,
pub _r: core::ffi::c_int,
pub _w: core::ffi::c_int,
pub _flags: core::ffi::c_short,
pub _file: core::ffi::c_short,
pub _bf: __sbuf,
pub _lbfsize: core::ffi::c_int,
pub _cookie: *mut core::ffi::c_void,
pub _read: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut _reent,
arg2: *mut core::ffi::c_void,
arg3: *mut core::ffi::c_char,
arg4: core::ffi::c_int,
) -> core::ffi::c_int,
>,
pub _write: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut _reent,
arg2: *mut core::ffi::c_void,
arg3: *const core::ffi::c_char,
arg4: core::ffi::c_int,
) -> core::ffi::c_int,
>,
pub _seek: ::core::option::Option<
unsafe extern "C" fn(
arg1: *mut _reent,
arg2: *mut core::ffi::c_void,
arg3: _fpos_t,
arg4: core::ffi::c_int,
) -> _fpos_t,
>,
pub _close: ::core::option::Option<
unsafe extern "C" fn(arg1: *mut _reent, arg2: *mut core::ffi::c_void) -> core::ffi::c_int,
>,
pub _ub: __sbuf,
pub _up: *mut core::ffi::c_uchar,
pub _ur: core::ffi::c_int,
pub _ubuf: [core::ffi::c_uchar; 3usize],
pub _nbuf: [core::ffi::c_uchar; 1usize],
pub _lb: __sbuf,
pub _blksize: core::ffi::c_int,
pub _offset: _off_t,
pub _data: *mut _reent,
pub _lock: _flock_t,
pub _mbstate: _mbstate_t,
pub _flags2: core::ffi::c_int,
}
pub type __FILE = __sFILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _glue {
pub _next: *mut _glue,
pub _niobs: core::ffi::c_int,
pub _iobs: *mut __FILE,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _rand48 {
pub _seed: [core::ffi::c_ushort; 3usize],
pub _mult: [core::ffi::c_ushort; 3usize],
pub _add: core::ffi::c_ushort,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _reent {
pub _errno: core::ffi::c_int,
pub _stdin: *mut __FILE,
pub _stdout: *mut __FILE,
pub _stderr: *mut __FILE,
pub _inc: core::ffi::c_int,
pub _emergency: [core::ffi::c_char; 25usize],
pub _unspecified_locale_info: core::ffi::c_int,
pub _locale: *mut __locale_t,
pub __sdidinit: core::ffi::c_int,
pub __cleanup: ::core::option::Option<unsafe extern "C" fn(arg1: *mut _reent)>,
pub _result: *mut _Bigint,
pub _result_k: core::ffi::c_int,
pub _p5s: *mut _Bigint,
pub _freelist: *mut *mut _Bigint,
pub _cvtlen: core::ffi::c_int,
pub _cvtbuf: *mut core::ffi::c_char,
pub _new: _reent__bindgen_ty_1,
pub _atexit: *mut _atexit,
pub _atexit0: _atexit,
pub _sig_func: *mut ::core::option::Option<unsafe extern "C" fn(arg1: core::ffi::c_int)>,
pub __sglue: _glue,
pub __sf: [__FILE; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _reent__bindgen_ty_1 {
pub _reent: _reent__bindgen_ty_1__bindgen_ty_1,
pub _unused: _reent__bindgen_ty_1__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _reent__bindgen_ty_1__bindgen_ty_1 {
pub _unused_rand: core::ffi::c_uint,
pub _strtok_last: *mut core::ffi::c_char,
pub _asctime_buf: [core::ffi::c_char; 26usize],
pub _localtime_buf: __tm,
pub _gamma_signgam: core::ffi::c_int,
pub _rand_next: core::ffi::c_ulonglong,
pub _r48: _rand48,
pub _mblen_state: _mbstate_t,
pub _mbtowc_state: _mbstate_t,
pub _wctomb_state: _mbstate_t,
pub _l64a_buf: [core::ffi::c_char; 8usize],
pub _signal_buf: [core::ffi::c_char; 24usize],
pub _getdate_err: core::ffi::c_int,
pub _mbrlen_state: _mbstate_t,
pub _mbrtowc_state: _mbstate_t,
pub _mbsrtowcs_state: _mbstate_t,
pub _wcrtomb_state: _mbstate_t,
pub _wcsrtombs_state: _mbstate_t,
pub _h_errno: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _reent__bindgen_ty_1__bindgen_ty_2 {
pub _nextf: [*mut core::ffi::c_uchar; 30usize],
pub _nmalloc: [core::ffi::c_uint; 30usize],
}
pub const IREE_ARCH_ENUM_ARM_32: iree_arch_enum_e = 0;
pub const IREE_ARCH_ENUM_ARM_64: iree_arch_enum_e = 1;
pub const IREE_ARCH_ENUM_RISCV_32: iree_arch_enum_e = 2;
pub const IREE_ARCH_ENUM_RISCV_64: iree_arch_enum_e = 3;
pub const IREE_ARCH_ENUM_WASM_32: iree_arch_enum_e = 4;
pub const IREE_ARCH_ENUM_WASM_64: iree_arch_enum_e = 5;
pub const IREE_ARCH_ENUM_X86_32: iree_arch_enum_e = 6;
pub const IREE_ARCH_ENUM_X86_64: iree_arch_enum_e = 7;
pub type iree_arch_enum_e = core::ffi::c_uint;
pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE: _bindgen_ty_1 = 0;
pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3: _bindgen_ty_1 = 1;
pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2: _bindgen_ty_1 = 2;
pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1: _bindgen_ty_1 = 3;
pub type _bindgen_ty_1 = core::ffi::c_uint;
pub type iree_host_size_t = usize;
pub type iree_device_size_t = u32;
unsafe extern "C" {
#[link_name = "iree_host_align__extern"]
pub fn iree_host_align(
value: iree_host_size_t,
alignment: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
#[link_name = "iree_host_size_is_power_of_two__extern"]
pub fn iree_host_size_is_power_of_two(value: iree_host_size_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_is_valid_alignment__extern"]
pub fn iree_host_size_is_valid_alignment(alignment: iree_host_size_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_has_alignment__extern"]
pub fn iree_host_size_has_alignment(
value: iree_host_size_t,
alignment: iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_next_power_of_two__extern"]
pub fn iree_host_size_next_power_of_two(value: iree_host_size_t) -> iree_host_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_align__extern"]
pub fn iree_device_align(
value: iree_device_size_t,
alignment: iree_device_size_t,
) -> iree_device_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_size_is_power_of_two__extern"]
pub fn iree_device_size_is_power_of_two(value: iree_device_size_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_is_valid_alignment__extern"]
pub fn iree_device_size_is_valid_alignment(alignment: iree_device_size_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_has_alignment__extern"]
pub fn iree_device_size_has_alignment(
value: iree_device_size_t,
alignment: iree_device_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_next_power_of_two__extern"]
pub fn iree_device_size_next_power_of_two(value: iree_device_size_t) -> iree_device_size_t;
}
unsafe extern "C" {
#[link_name = "iree_is_power_of_two_uint64__extern"]
pub fn iree_is_power_of_two_uint64(value: u64) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_align_uint64__extern"]
pub fn iree_align_uint64(value: u64, alignment: u64) -> u64;
}
unsafe extern "C" {
#[link_name = "iree_host_size_ceil_div__extern"]
pub fn iree_host_size_ceil_div(
lhs: iree_host_size_t,
rhs: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
#[link_name = "iree_host_size_floor_div__extern"]
pub fn iree_host_size_floor_div(
lhs: iree_host_size_t,
rhs: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_size_ceil_div__extern"]
pub fn iree_device_size_ceil_div(
lhs: iree_device_size_t,
rhs: iree_device_size_t,
) -> iree_device_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_size_floor_div__extern"]
pub fn iree_device_size_floor_div(
lhs: iree_device_size_t,
rhs: iree_device_size_t,
) -> iree_device_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_size_gcd__extern"]
pub fn iree_device_size_gcd(a: iree_device_size_t, b: iree_device_size_t)
-> iree_device_size_t;
}
unsafe extern "C" {
#[link_name = "iree_device_size_lcm__extern"]
pub fn iree_device_size_lcm(a: iree_device_size_t, b: iree_device_size_t)
-> iree_device_size_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_byte_range_t {
pub offset: iree_host_size_t,
pub length: iree_host_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_page_range_t {
pub offset: iree_host_size_t,
pub length: iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_page_align_start__extern"]
pub fn iree_page_align_start(addr: usize, page_alignment: iree_host_size_t) -> usize;
}
unsafe extern "C" {
#[link_name = "iree_page_align_end__extern"]
pub fn iree_page_align_end(addr: usize, page_alignment: iree_host_size_t) -> usize;
}
unsafe extern "C" {
#[link_name = "iree_page_range_union__extern"]
pub fn iree_page_range_union(a: iree_page_range_t, b: iree_page_range_t) -> iree_page_range_t;
}
unsafe extern "C" {
#[link_name = "iree_align_byte_range_to_pages__extern"]
pub fn iree_align_byte_range_to_pages(
byte_range: iree_byte_range_t,
page_alignment: iree_host_size_t,
) -> iree_page_range_t;
}
unsafe extern "C" {
#[link_name = "iree_page_align_range__extern"]
pub fn iree_page_align_range(
base_address: *mut core::ffi::c_void,
range: iree_byte_range_t,
page_alignment: iree_host_size_t,
out_start_address: *mut *mut core::ffi::c_void,
out_aligned_length: *mut iree_host_size_t,
);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_u8__extern"]
pub fn iree_unaligned_load_le_u8(ptr: *const u8) -> u8;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_u8__extern"]
pub fn iree_unaligned_store_le_u8(ptr: *mut u8, value: u8);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_u16__extern"]
pub fn iree_unaligned_load_le_u16(ptr: *const u16) -> u16;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_u16__extern"]
pub fn iree_unaligned_store_le_u16(ptr: *mut u16, value: u16);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_u32__extern"]
pub fn iree_unaligned_load_le_u32(ptr: *const u32) -> u32;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_f32__extern"]
pub fn iree_unaligned_load_le_f32(ptr: *const f32) -> f32;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_u32__extern"]
pub fn iree_unaligned_store_le_u32(ptr: *mut u32, value: u32);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_f32__extern"]
pub fn iree_unaligned_store_le_f32(ptr: *mut f32, value: f32);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_u64__extern"]
pub fn iree_unaligned_load_le_u64(ptr: *const u64) -> u64;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_load_le_f64__extern"]
pub fn iree_unaligned_load_le_f64(ptr: *const f64) -> f64;
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_u64__extern"]
pub fn iree_unaligned_store_le_u64(ptr: *mut u64, value: u64);
}
unsafe extern "C" {
#[link_name = "iree_unaligned_store_le_f64__extern"]
pub fn iree_unaligned_store_le_f64(ptr: *mut f64, value: f64);
}
pub type __gnuc_va_list = u32;
pub type va_list = __gnuc_va_list;
pub type FILE = __FILE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_status_handle_t {
_unused: [u8; 0],
}
pub type iree_status_t = *mut iree_status_handle_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_string_view_t {
pub data: *const core::ffi::c_char,
pub size: iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_string_view_empty__extern"]
pub fn iree_string_view_empty() -> iree_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_make_string_view__extern"]
pub fn iree_make_string_view(
str_: *const core::ffi::c_char,
str_length: iree_host_size_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_make_cstring_view__extern"]
pub fn iree_make_cstring_view(str_: *const core::ffi::c_char) -> iree_string_view_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_mutable_string_view_t {
pub data: *mut core::ffi::c_char,
pub size: iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_mutable_string_view_empty__extern"]
pub fn iree_mutable_string_view_empty() -> iree_mutable_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_make_mutable_string_view__extern"]
pub fn iree_make_mutable_string_view(
str_: *mut core::ffi::c_char,
str_length: iree_host_size_t,
) -> iree_mutable_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_make_const_string_view__extern"]
pub fn iree_make_const_string_view(
mutable_view: iree_mutable_string_view_t,
) -> iree_string_view_t;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_string_pair_t {
pub __bindgen_anon_1: iree_string_pair_t__bindgen_ty_1,
pub __bindgen_anon_2: iree_string_pair_t__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_string_pair_t__bindgen_ty_1 {
pub first: iree_string_view_t,
pub key: iree_string_view_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_string_pair_t__bindgen_ty_2 {
pub second: iree_string_view_t,
pub value: iree_string_view_t,
}
unsafe extern "C" {
#[link_name = "iree_string_pair_empty__extern"]
pub fn iree_string_pair_empty() -> iree_string_pair_t;
}
unsafe extern "C" {
#[link_name = "iree_make_string_pair__extern"]
pub fn iree_make_string_pair(
first: iree_string_view_t,
second: iree_string_view_t,
) -> iree_string_pair_t;
}
unsafe extern "C" {
#[link_name = "iree_make_cstring_pair__extern"]
pub fn iree_make_cstring_pair(
first: *const core::ffi::c_char,
second: *const core::ffi::c_char,
) -> iree_string_pair_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_string_pair_list_t {
pub count: iree_host_size_t,
pub pairs: *const iree_string_pair_t,
}
unsafe extern "C" {
#[link_name = "iree_string_pair_list_empty__extern"]
pub fn iree_string_pair_list_empty() -> iree_string_pair_list_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_string_view_list_t {
pub count: iree_host_size_t,
pub values: *const iree_string_view_t,
}
unsafe extern "C" {
#[link_name = "iree_string_view_list_empty__extern"]
pub fn iree_string_view_list_empty() -> iree_string_view_list_t;
}
unsafe extern "C" {
pub fn iree_string_view_equal(lhs: iree_string_view_t, rhs: iree_string_view_t) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_equal_case(lhs: iree_string_view_t, rhs: iree_string_view_t) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_compare(
lhs: iree_string_view_t,
rhs: iree_string_view_t,
) -> core::ffi::c_int;
}
unsafe extern "C" {
pub fn iree_string_view_find_char(
value: iree_string_view_t,
c: core::ffi::c_char,
pos: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_view_find_first_of(
value: iree_string_view_t,
s: iree_string_view_t,
pos: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_view_find_last_of(
value: iree_string_view_t,
s: iree_string_view_t,
pos: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_view_starts_with(
value: iree_string_view_t,
prefix: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_ends_with(
value: iree_string_view_t,
suffix: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_remove_prefix(
value: iree_string_view_t,
n: iree_host_size_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_remove_suffix(
value: iree_string_view_t,
n: iree_host_size_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_strip_prefix(
value: iree_string_view_t,
prefix: iree_string_view_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_strip_suffix(
value: iree_string_view_t,
suffix: iree_string_view_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_consume_prefix(
value: *mut iree_string_view_t,
prefix: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_string_view_consume_prefix_char__extern"]
pub fn iree_string_view_consume_prefix_char(
value: *mut iree_string_view_t,
c: core::ffi::c_char,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_string_view_starts_with_char__extern"]
pub fn iree_string_view_starts_with_char(
value: iree_string_view_t,
c: core::ffi::c_char,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_consume_suffix(
value: *mut iree_string_view_t,
suffix: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_trim(value: iree_string_view_t) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_substr(
value: iree_string_view_t,
pos: iree_host_size_t,
n: iree_host_size_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_view_split(
value: iree_string_view_t,
split_char: core::ffi::c_char,
out_lhs: *mut iree_string_view_t,
out_rhs: *mut iree_string_view_t,
) -> isize;
}
unsafe extern "C" {
pub fn iree_string_view_replace_char(
value: iree_string_view_t,
old_char: core::ffi::c_char,
new_char: core::ffi::c_char,
);
}
unsafe extern "C" {
pub fn iree_string_view_match_pattern(
value: iree_string_view_t,
pattern: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_to_cstring(
value: iree_string_view_t,
buffer: *mut core::ffi::c_char,
buffer_length: iree_host_size_t,
);
}
unsafe extern "C" {
pub fn iree_string_view_append_to_buffer(
source_value: iree_string_view_t,
target_value: *mut iree_string_view_t,
buffer: *mut core::ffi::c_char,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_int32_base(
value: iree_string_view_t,
base: core::ffi::c_int,
out_value: *mut i32,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_int32(value: iree_string_view_t, out_value: *mut i32) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_uint32_base(
value: iree_string_view_t,
base: core::ffi::c_int,
out_value: *mut u32,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_uint32(value: iree_string_view_t, out_value: *mut u32) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_int64_base(
value: iree_string_view_t,
base: core::ffi::c_int,
out_value: *mut i64,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_int64(value: iree_string_view_t, out_value: *mut i64) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_uint64_base(
value: iree_string_view_t,
base: core::ffi::c_int,
out_value: *mut u64,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atoi_uint64(value: iree_string_view_t, out_value: *mut u64) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atof(value: iree_string_view_t, out_value: *mut f32) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_atod(value: iree_string_view_t, out_value: *mut f64) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_parse_hex_bytes(
value: iree_string_view_t,
buffer_length: iree_host_size_t,
out_buffer: *mut u8,
) -> bool;
}
unsafe extern "C" {
pub fn iree_string_view_parse_device_size(
value: iree_string_view_t,
out_size: *mut iree_device_size_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_status_payload_t {
_unused: [u8; 0],
}
pub const IREE_STATUS_OK: iree_status_code_e = 0;
pub const IREE_STATUS_CANCELLED: iree_status_code_e = 1;
pub const IREE_STATUS_UNKNOWN: iree_status_code_e = 2;
pub const IREE_STATUS_INVALID_ARGUMENT: iree_status_code_e = 3;
pub const IREE_STATUS_DEADLINE_EXCEEDED: iree_status_code_e = 4;
pub const IREE_STATUS_NOT_FOUND: iree_status_code_e = 5;
pub const IREE_STATUS_ALREADY_EXISTS: iree_status_code_e = 6;
pub const IREE_STATUS_PERMISSION_DENIED: iree_status_code_e = 7;
pub const IREE_STATUS_RESOURCE_EXHAUSTED: iree_status_code_e = 8;
pub const IREE_STATUS_FAILED_PRECONDITION: iree_status_code_e = 9;
pub const IREE_STATUS_ABORTED: iree_status_code_e = 10;
pub const IREE_STATUS_OUT_OF_RANGE: iree_status_code_e = 11;
pub const IREE_STATUS_UNIMPLEMENTED: iree_status_code_e = 12;
pub const IREE_STATUS_INTERNAL: iree_status_code_e = 13;
pub const IREE_STATUS_UNAVAILABLE: iree_status_code_e = 14;
pub const IREE_STATUS_DATA_LOSS: iree_status_code_e = 15;
pub const IREE_STATUS_UNAUTHENTICATED: iree_status_code_e = 16;
pub const IREE_STATUS_DEFERRED: iree_status_code_e = 17;
pub const IREE_STATUS_INCOMPATIBLE: iree_status_code_e = 18;
pub const IREE_STATUS_CODE_MASK: iree_status_code_e = 31;
pub type iree_status_code_e = core::ffi::c_uint;
pub use self::iree_status_code_e as iree_status_code_t;
unsafe extern "C" {
pub fn iree_status_code_from_errno(error_number: core::ffi::c_int) -> iree_status_code_t;
}
unsafe extern "C" {
pub fn iree_status_code_string(code: iree_status_code_t) -> *const core::ffi::c_char;
}
unsafe extern "C" {
pub fn iree_status_allocate(
code: iree_status_code_t,
file: *const core::ffi::c_char,
line: u32,
message: iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_allocate_f(
code: iree_status_code_t,
file: *const core::ffi::c_char,
line: u32,
format: *const core::ffi::c_char,
...
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_allocate_vf(
code: iree_status_code_t,
file: *const core::ffi::c_char,
line: u32,
format: *const core::ffi::c_char,
varargs: va_list,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_allocate_copy(
code: iree_status_code_t,
file: iree_string_view_t,
line: u32,
message: iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_clone(status: iree_status_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_freeze(status: iree_status_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_free(status: iree_status_t);
}
unsafe extern "C" {
pub fn iree_status_ignore(status: iree_status_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_join(base_status: iree_status_t, new_status: iree_status_t)
-> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_abort(status: iree_status_t) -> !;
}
unsafe extern "C" {
pub fn iree_status_consume_code(status: iree_status_t) -> iree_status_code_t;
}
unsafe extern "C" {
pub fn iree_status_annotate(
base_status: iree_status_t,
message: iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_annotate_f(
base_status: iree_status_t,
format: *const core::ffi::c_char,
...
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_format(
status: iree_status_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> bool;
}
pub type iree_status_output_fn_t = ::core::option::Option<
unsafe extern "C" fn(string: iree_string_view_t, user_data: *mut core::ffi::c_void) -> bool,
>;
unsafe extern "C" {
pub fn iree_status_format_to(
status: iree_status_t,
output_fn: iree_status_output_fn_t,
user_data: *mut core::ffi::c_void,
) -> bool;
}
unsafe extern "C" {
pub fn iree_status_to_string(
status: iree_status_t,
allocator: *const iree_allocator_t,
out_buffer: *mut *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_status_fprint(file: *mut FILE, status: iree_status_t);
}
pub const IREE_STATUS_PAYLOAD_TYPE_OPAQUE: iree_status_payload_type_e = 0;
pub const IREE_STATUS_PAYLOAD_TYPE_MESSAGE: iree_status_payload_type_e = 1;
pub const IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE: iree_status_payload_type_e = 2;
pub const IREE_STATUS_PAYLOAD_TYPE_MIN_USER: iree_status_payload_type_e = 1879048192;
pub type iree_status_payload_type_e = core::ffi::c_uint;
pub use self::iree_status_payload_type_e as iree_status_payload_type_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_status_source_location_t {
pub file: *const core::ffi::c_char,
pub line: u32,
}
unsafe extern "C" {
pub fn iree_status_source_location(status: iree_status_t) -> iree_status_source_location_t;
}
unsafe extern "C" {
pub fn iree_status_message(status: iree_status_t) -> iree_string_view_t;
}
pub type iree_status_payload_visitor_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
payload: *const iree_status_payload_t,
) -> iree_status_t,
>;
unsafe extern "C" {
pub fn iree_status_enumerate_payloads(
status: iree_status_t,
visitor: iree_status_payload_visitor_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_status_payload_type(
payload: *const iree_status_payload_t,
) -> iree_status_payload_type_t;
}
unsafe extern "C" {
pub fn iree_status_payload_format(
payload: *const iree_status_payload_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_byte_span_t {
pub data: *mut u8,
pub data_length: iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_make_byte_span__extern"]
pub fn iree_make_byte_span(
data: *mut core::ffi::c_void,
data_length: iree_host_size_t,
) -> iree_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_byte_span_empty__extern"]
pub fn iree_byte_span_empty() -> iree_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_byte_span_is_empty__extern"]
pub fn iree_byte_span_is_empty(span: iree_byte_span_t) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_const_byte_span_t {
pub data: *const u8,
pub data_length: iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_make_const_byte_span__extern"]
pub fn iree_make_const_byte_span(
data: *const core::ffi::c_void,
data_length: iree_host_size_t,
) -> iree_const_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_const_byte_span_empty__extern"]
pub fn iree_const_byte_span_empty() -> iree_const_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_const_byte_span_is_empty__extern"]
pub fn iree_const_byte_span_is_empty(span: iree_const_byte_span_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_const_cast_byte_span__extern"]
pub fn iree_const_cast_byte_span(span: iree_byte_span_t) -> iree_const_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_cast_const_byte_span__extern"]
pub fn iree_cast_const_byte_span(span: iree_const_byte_span_t) -> iree_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_memcpy_stream_dst__extern"]
pub fn iree_memcpy_stream_dst(
dst: *mut core::ffi::c_void,
src: *const core::ffi::c_void,
size: iree_host_size_t,
);
}
unsafe extern "C" {
#[link_name = "iree_host_size_checked_add__extern"]
pub fn iree_host_size_checked_add(
a: iree_host_size_t,
b: iree_host_size_t,
out_result: *mut iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_checked_mul__extern"]
pub fn iree_host_size_checked_mul(
a: iree_host_size_t,
b: iree_host_size_t,
out_result: *mut iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_checked_mul_add__extern"]
pub fn iree_host_size_checked_mul_add(
base: iree_host_size_t,
count: iree_host_size_t,
element_size: iree_host_size_t,
out_result: *mut iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_checked_add__extern"]
pub fn iree_device_size_checked_add(
a: iree_device_size_t,
b: iree_device_size_t,
out_result: *mut iree_device_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_checked_mul__extern"]
pub fn iree_device_size_checked_mul(
a: iree_device_size_t,
b: iree_device_size_t,
out_result: *mut iree_device_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_checked_mul_add__extern"]
pub fn iree_device_size_checked_mul_add(
base: iree_device_size_t,
count: iree_device_size_t,
element_size: iree_device_size_t,
out_result: *mut iree_device_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_host_size_checked_align__extern"]
pub fn iree_host_size_checked_align(
value: iree_host_size_t,
alignment: iree_host_size_t,
out_aligned: *mut iree_host_size_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_device_size_checked_align__extern"]
pub fn iree_device_size_checked_align(
value: iree_device_size_t,
alignment: iree_device_size_t,
out_aligned: *mut iree_device_size_t,
) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_struct_field_t {
pub count: [iree_host_size_t; 2usize],
pub element_size: iree_host_size_t,
pub alignment: iree_host_size_t,
pub out_offset: *mut iree_host_size_t,
}
unsafe extern "C" {
#[link_name = "iree_struct_layout_calculate__extern"]
pub fn iree_struct_layout_calculate(
base_size: iree_host_size_t,
fields: *const iree_struct_field_t,
field_count: iree_host_size_t,
out_total: *mut iree_host_size_t,
) -> iree_status_t;
}
pub const IREE_ALLOCATOR_COMMAND_MALLOC: iree_allocator_command_e = 0;
pub const IREE_ALLOCATOR_COMMAND_CALLOC: iree_allocator_command_e = 1;
pub const IREE_ALLOCATOR_COMMAND_REALLOC: iree_allocator_command_e = 2;
pub const IREE_ALLOCATOR_COMMAND_FREE: iree_allocator_command_e = 3;
pub type iree_allocator_command_e = core::ffi::c_uint;
pub use self::iree_allocator_command_e as iree_allocator_command_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_allocator_alloc_params_t {
pub byte_length: iree_host_size_t,
}
pub type iree_allocator_ctl_fn_t = ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
command: iree_allocator_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t,
>;
unsafe extern "C" {
pub fn iree_allocator_malloc(
allocator: iree_allocator_t,
byte_length: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_malloc_uninitialized(
allocator: iree_allocator_t,
byte_length: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_realloc(
allocator: iree_allocator_t,
byte_length: iree_host_size_t,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_clone(
allocator: iree_allocator_t,
source_bytes: iree_const_byte_span_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_free(allocator: iree_allocator_t, ptr: *mut core::ffi::c_void);
}
unsafe extern "C" {
pub fn iree_allocator_malloc_array(
allocator: iree_allocator_t,
count: iree_host_size_t,
element_size: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_malloc_array_uninitialized(
allocator: iree_allocator_t,
count: iree_host_size_t,
element_size: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_realloc_array(
allocator: iree_allocator_t,
count: iree_host_size_t,
element_size: iree_host_size_t,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_malloc_with_trailing(
allocator: iree_allocator_t,
struct_size: iree_host_size_t,
trailing_size: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_malloc_struct_array(
allocator: iree_allocator_t,
struct_size: iree_host_size_t,
count: iree_host_size_t,
element_size: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_grow_array(
allocator: iree_allocator_t,
minimum_capacity: iree_host_size_t,
element_size: iree_host_size_t,
inout_capacity: *mut iree_host_size_t,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_allocator_null__extern"]
pub fn iree_allocator_null() -> iree_allocator_t;
}
unsafe extern "C" {
#[link_name = "iree_allocator_is_null__extern"]
pub fn iree_allocator_is_null(allocator: iree_allocator_t) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_allocator_inline_storage_t {
pub capacity: iree_host_size_t,
pub length: iree_host_size_t,
pub head_size: iree_host_size_t,
pub buffer: *mut u8,
}
unsafe extern "C" {
pub fn iree_allocator_inline_arena_ctl(
self_: *mut core::ffi::c_void,
command: iree_allocator_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_allocator_inline_arena__extern"]
pub fn iree_allocator_inline_arena(
storage: *mut iree_allocator_inline_storage_t,
) -> iree_allocator_t;
}
unsafe extern "C" {
pub fn iree_allocator_malloc_aligned(
allocator: iree_allocator_t,
byte_length: iree_host_size_t,
min_alignment: iree_host_size_t,
offset: iree_host_size_t,
out_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_realloc_aligned(
allocator: iree_allocator_t,
byte_length: iree_host_size_t,
min_alignment: iree_host_size_t,
offset: iree_host_size_t,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_allocator_free_aligned(allocator: iree_allocator_t, ptr: *mut core::ffi::c_void);
}
unsafe extern "C" {
#[link_name = "iree_abort__extern"]
pub fn iree_abort() -> !;
}
#[repr(C)]
pub struct iree_string_builder_t {
pub allocator: iree_allocator_t,
pub buffer: *mut core::ffi::c_char,
pub size: iree_host_size_t,
pub capacity: iree_host_size_t,
}
unsafe extern "C" {
pub fn iree_string_builder_initialize(
allocator: iree_allocator_t,
out_builder: *mut iree_string_builder_t,
);
}
unsafe extern "C" {
pub fn iree_string_builder_initialize_with_storage(
buffer: *mut core::ffi::c_char,
buffer_capacity: iree_host_size_t,
out_builder: *mut iree_string_builder_t,
);
}
unsafe extern "C" {
pub fn iree_string_builder_deinitialize(builder: *mut iree_string_builder_t);
}
unsafe extern "C" {
pub fn iree_string_builder_buffer(
builder: *const iree_string_builder_t,
) -> *const core::ffi::c_char;
}
unsafe extern "C" {
pub fn iree_string_builder_size(builder: *const iree_string_builder_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_builder_capacity(builder: *const iree_string_builder_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_builder_view(builder: *const iree_string_builder_t) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_string_builder_take_storage(
builder: *mut iree_string_builder_t,
) -> *mut core::ffi::c_char;
}
unsafe extern "C" {
pub fn iree_string_builder_reserve(
builder: *mut iree_string_builder_t,
minimum_capacity: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_reserve_for_append(
builder: *mut iree_string_builder_t,
minimum_additional_capacity: iree_host_size_t,
out_buffer: *mut *mut core::ffi::c_char,
out_capacity: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_commit_append(
builder: *mut iree_string_builder_t,
append_size: iree_host_size_t,
);
}
unsafe extern "C" {
pub fn iree_string_builder_reset(builder: *mut iree_string_builder_t);
}
unsafe extern "C" {
pub fn iree_string_builder_append_inline(
builder: *mut iree_string_builder_t,
count: iree_host_size_t,
out_head: *mut *mut core::ffi::c_char,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_append_string(
builder: *mut iree_string_builder_t,
value: iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_append_cstring(
builder: *mut iree_string_builder_t,
value: *const core::ffi::c_char,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_append_format(
builder: *mut iree_string_builder_t,
format: *const core::ffi::c_char,
...
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_builder_append_status(
builder: *mut iree_string_builder_t,
status: iree_status_t,
) -> iree_status_t;
}
#[repr(C)]
pub struct iree_string_pair_builder_t {
pub allocator: iree_allocator_t,
pub pairs: *mut iree_string_pair_t,
pub pairs_size: iree_host_size_t,
pub pairs_capacity: iree_host_size_t,
pub temp_strings: *mut *mut core::ffi::c_char,
pub temp_strings_size: iree_host_size_t,
pub temp_strings_capacity: iree_host_size_t,
}
unsafe extern "C" {
pub fn iree_string_pair_builder_initialize(
allocator: iree_allocator_t,
out_builder: *mut iree_string_pair_builder_t,
);
}
unsafe extern "C" {
pub fn iree_string_pair_builder_deinitialize(builder: *mut iree_string_pair_builder_t);
}
unsafe extern "C" {
#[link_name = "iree_string_pair_builder_pairs__extern"]
pub fn iree_string_pair_builder_pairs(
builder: *mut iree_string_pair_builder_t,
) -> *mut iree_string_pair_t;
}
unsafe extern "C" {
#[link_name = "iree_string_pair_builder_size__extern"]
pub fn iree_string_pair_builder_size(
builder: *mut iree_string_pair_builder_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_string_pair_builder_add(
builder: *mut iree_string_pair_builder_t,
pair: iree_string_pair_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_pair_builder_add_int32(
builder: *mut iree_string_pair_builder_t,
key: iree_string_view_t,
value: i32,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_string_pair_builder_emplace_string(
builder: *mut iree_string_pair_builder_t,
inout_string: *mut iree_string_view_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_bitfield_string_mapping_t {
pub bits: u32,
pub string: iree_string_view_t,
}
unsafe extern "C" {
pub fn iree_bitfield_parse(
value: iree_string_view_t,
mapping_count: iree_host_size_t,
mappings: *const iree_bitfield_string_mapping_t,
out_value: *mut u32,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_bitfield_format(
value: u32,
mapping_count: iree_host_size_t,
mappings: *const iree_bitfield_string_mapping_t,
string_builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_bitfield_string_temp_t {
pub buffer: [core::ffi::c_char; 128usize],
}
unsafe extern "C" {
pub fn iree_bitfield_format_inline(
value: u32,
mapping_count: iree_host_size_t,
mappings: *const iree_bitfield_string_mapping_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_bitmap_t {
pub bit_count: iree_host_size_t,
pub words: *mut u64,
}
unsafe extern "C" {
pub fn iree_bitmap_any_set(bitmap: iree_bitmap_t) -> bool;
}
unsafe extern "C" {
pub fn iree_bitmap_none_set(bitmap: iree_bitmap_t) -> bool;
}
unsafe extern "C" {
pub fn iree_bitmap_count(bitmap: iree_bitmap_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_bitmap_test(bitmap: iree_bitmap_t, bit_index: iree_host_size_t) -> bool;
}
unsafe extern "C" {
pub fn iree_bitmap_set(bitmap: iree_bitmap_t, bit_index: iree_host_size_t);
}
unsafe extern "C" {
pub fn iree_bitmap_set_span(
bitmap: iree_bitmap_t,
bit_index: iree_host_size_t,
bit_length: iree_host_size_t,
);
}
unsafe extern "C" {
pub fn iree_bitmap_set_all(bitmap: iree_bitmap_t);
}
unsafe extern "C" {
pub fn iree_bitmap_reset(bitmap: iree_bitmap_t, bit_index: iree_host_size_t);
}
unsafe extern "C" {
pub fn iree_bitmap_reset_span(
bitmap: iree_bitmap_t,
bit_index: iree_host_size_t,
bit_length: iree_host_size_t,
);
}
unsafe extern "C" {
pub fn iree_bitmap_reset_all(bitmap: iree_bitmap_t);
}
unsafe extern "C" {
pub fn iree_bitmap_find_first_set(
bitmap: iree_bitmap_t,
bit_offset: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_bitmap_find_first_unset(
bitmap: iree_bitmap_t,
bit_offset: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_bitmap_find_first_unset_span(
bitmap: iree_bitmap_t,
bit_offset: iree_host_size_t,
bit_length: iree_host_size_t,
) -> iree_host_size_t;
}
pub type iree_time_t = i64;
pub type iree_duration_t = i64;
unsafe extern "C" {
pub fn iree_time_now() -> iree_time_t;
}
unsafe extern "C" {
#[link_name = "iree_make_duration_ms__extern"]
pub fn iree_make_duration_ms(timeout_ms: i64) -> iree_duration_t;
}
unsafe extern "C" {
pub fn iree_relative_timeout_to_deadline_ns(timeout_ns: iree_duration_t) -> iree_time_t;
}
unsafe extern "C" {
pub fn iree_absolute_deadline_to_timeout_ns(deadline_ns: iree_time_t) -> iree_duration_t;
}
unsafe extern "C" {
pub fn iree_absolute_deadline_to_timeout_ms(deadline_ns: iree_time_t) -> u32;
}
pub const IREE_TIMEOUT_ABSOLUTE: iree_timeout_type_e = 0;
pub const IREE_TIMEOUT_RELATIVE: iree_timeout_type_e = 1;
pub type iree_timeout_type_e = core::ffi::c_uint;
pub use self::iree_timeout_type_e as iree_timeout_type_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_timeout_t {
pub type_: iree_timeout_type_t,
pub nanos: iree_time_t,
}
unsafe extern "C" {
#[link_name = "iree_immediate_timeout__extern"]
pub fn iree_immediate_timeout() -> iree_timeout_t;
}
unsafe extern "C" {
#[link_name = "iree_timeout_is_immediate__extern"]
pub fn iree_timeout_is_immediate(timeout: iree_timeout_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_infinite_timeout__extern"]
pub fn iree_infinite_timeout() -> iree_timeout_t;
}
unsafe extern "C" {
#[link_name = "iree_timeout_is_infinite__extern"]
pub fn iree_timeout_is_infinite(timeout: iree_timeout_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_make_deadline__extern"]
pub fn iree_make_deadline(deadline_ns: iree_time_t) -> iree_timeout_t;
}
unsafe extern "C" {
#[link_name = "iree_make_timeout_ns__extern"]
pub fn iree_make_timeout_ns(timeout_ns: iree_duration_t) -> iree_timeout_t;
}
unsafe extern "C" {
#[link_name = "iree_make_timeout_ms__extern"]
pub fn iree_make_timeout_ms(timeout_ms: iree_duration_t) -> iree_timeout_t;
}
unsafe extern "C" {
#[link_name = "iree_convert_timeout_to_absolute__extern"]
pub fn iree_convert_timeout_to_absolute(timeout: *mut iree_timeout_t);
}
unsafe extern "C" {
#[link_name = "iree_timeout_as_deadline_ns__extern"]
pub fn iree_timeout_as_deadline_ns(timeout: iree_timeout_t) -> iree_time_t;
}
unsafe extern "C" {
#[link_name = "iree_timeout_as_duration_ns__extern"]
pub fn iree_timeout_as_duration_ns(timeout: iree_timeout_t) -> iree_duration_t;
}
unsafe extern "C" {
#[link_name = "iree_timeout_min__extern"]
pub fn iree_timeout_min(lhs: iree_timeout_t, rhs: iree_timeout_t) -> iree_timeout_t;
}
unsafe extern "C" {
pub fn iree_wait_until(deadline_ns: iree_time_t) -> bool;
}
pub const IREE_WAIT_PRIMITIVE_TYPE_NONE: iree_wait_primitive_type_bits_t = 0;
pub const IREE_WAIT_PRIMITIVE_TYPE_EVENT_FD: iree_wait_primitive_type_bits_t = 1;
pub const IREE_WAIT_PRIMITIVE_TYPE_SYNC_FILE: iree_wait_primitive_type_bits_t = 2;
pub const IREE_WAIT_PRIMITIVE_TYPE_PIPE: iree_wait_primitive_type_bits_t = 3;
pub const IREE_WAIT_PRIMITIVE_TYPE_WIN32_HANDLE: iree_wait_primitive_type_bits_t = 4;
pub const IREE_WAIT_PRIMITIVE_TYPE_LOCAL_FUTEX: iree_wait_primitive_type_bits_t = 5;
pub const IREE_WAIT_PRIMITIVE_TYPE_JAVASCRIPT_PROMISE: iree_wait_primitive_type_bits_t = 6;
pub const IREE_WAIT_PRIMITIVE_TYPE_ANY: iree_wait_primitive_type_bits_t = 255;
pub type iree_wait_primitive_type_bits_t = core::ffi::c_uint;
pub type iree_wait_primitive_type_t = u8;
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_wait_primitive_value_t {
pub reserved: core::ffi::c_int,
pub pipe: iree_wait_primitive_value_t__bindgen_ty_1,
pub local_futex: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_wait_primitive_value_t__bindgen_ty_1 {
pub __bindgen_anon_1: iree_wait_primitive_value_t__bindgen_ty_1__bindgen_ty_1,
pub fds: [core::ffi::c_int; 2usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_wait_primitive_value_t__bindgen_ty_1__bindgen_ty_1 {
pub read_fd: core::ffi::c_int,
pub write_fd: core::ffi::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_wait_primitive_t {
pub type_: iree_wait_primitive_type_t,
pub value: iree_wait_primitive_value_t,
}
unsafe extern "C" {
#[link_name = "iree_make_wait_primitive__extern"]
pub fn iree_make_wait_primitive(
type_: iree_wait_primitive_type_t,
value: iree_wait_primitive_value_t,
) -> iree_wait_primitive_t;
}
unsafe extern "C" {
#[link_name = "iree_wait_primitive_immediate__extern"]
pub fn iree_wait_primitive_immediate() -> iree_wait_primitive_t;
}
unsafe extern "C" {
#[link_name = "iree_wait_primitive_is_immediate__extern"]
pub fn iree_wait_primitive_is_immediate(wait_primitive: iree_wait_primitive_t) -> bool;
}
pub const IREE_WAIT_SOURCE_COMMAND_QUERY: iree_wait_source_command_e = 0;
pub const IREE_WAIT_SOURCE_COMMAND_WAIT_ONE: iree_wait_source_command_e = 1;
pub const IREE_WAIT_SOURCE_COMMAND_EXPORT: iree_wait_source_command_e = 2;
pub type iree_wait_source_command_e = core::ffi::c_uint;
pub use self::iree_wait_source_command_e as iree_wait_source_command_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_wait_source_wait_params_t {
pub timeout: iree_timeout_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_wait_source_export_params_t {
pub target_type: iree_wait_primitive_type_t,
pub timeout: iree_timeout_t,
}
pub type iree_wait_source_ctl_fn_t = ::core::option::Option<
unsafe extern "C" fn(
wait_source: iree_wait_source_t,
command: iree_wait_source_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_wait_source_t {
pub __bindgen_anon_1: iree_wait_source_t__bindgen_ty_1,
pub ctl: iree_wait_source_ctl_fn_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_wait_source_t__bindgen_ty_1 {
pub __bindgen_anon_1: iree_wait_source_t__bindgen_ty_1__bindgen_ty_1,
pub storage: [u64; 2usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_wait_source_t__bindgen_ty_1__bindgen_ty_1 {
pub self_: *mut core::ffi::c_void,
pub data: u64,
}
unsafe extern "C" {
#[link_name = "iree_wait_source_immediate__extern"]
pub fn iree_wait_source_immediate() -> iree_wait_source_t;
}
unsafe extern "C" {
#[link_name = "iree_wait_source_is_immediate__extern"]
pub fn iree_wait_source_is_immediate(wait_source: iree_wait_source_t) -> bool;
}
unsafe extern "C" {
pub fn iree_wait_source_delay_ctl(
wait_source: iree_wait_source_t,
command: iree_wait_source_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_wait_source_delay__extern"]
pub fn iree_wait_source_delay(deadline_ns: iree_time_t) -> iree_wait_source_t;
}
unsafe extern "C" {
#[link_name = "iree_wait_source_is_delay__extern"]
pub fn iree_wait_source_is_delay(wait_source: iree_wait_source_t) -> bool;
}
unsafe extern "C" {
pub fn iree_wait_source_import(
wait_primitive: iree_wait_primitive_t,
out_wait_source: *mut iree_wait_source_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_wait_source_export(
wait_source: iree_wait_source_t,
target_type: iree_wait_primitive_type_t,
timeout: iree_timeout_t,
out_wait_primitive: *mut iree_wait_primitive_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_wait_source_query(
wait_source: iree_wait_source_t,
out_wait_status_code: *mut iree_status_code_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_wait_source_wait_one(
wait_source: iree_wait_source_t,
timeout: iree_timeout_t,
) -> iree_status_t;
}
pub type iree_loop_command_t = u32;
pub const IREE_LOOP_PRIORITY_DEFAULT: iree_loop_priority_e = 0;
pub type iree_loop_priority_e = core::ffi::c_uint;
pub use self::iree_loop_priority_e as iree_loop_priority_t;
pub type iree_loop_callback_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
loop_: iree_loop_t,
status: iree_status_t,
) -> iree_status_t,
>;
pub type iree_loop_workgroup_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
loop_: iree_loop_t,
workgroup_x: u32,
workgroup_y: u32,
workgroup_z: u32,
) -> iree_status_t,
>;
pub type iree_loop_ctl_fn_t = ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
command: iree_loop_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_t {
pub self_: *mut core::ffi::c_void,
pub ctl: iree_loop_ctl_fn_t,
}
unsafe extern "C" {
#[link_name = "iree_loop_null__extern"]
pub fn iree_loop_null() -> iree_loop_t;
}
unsafe extern "C" {
pub fn iree_loop_call(
loop_: iree_loop_t,
priority: iree_loop_priority_t,
callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_dispatch(
loop_: iree_loop_t,
workgroup_count_xyz: *const u32,
workgroup_callback: iree_loop_workgroup_fn_t,
completion_callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_wait_until(
loop_: iree_loop_t,
timeout: iree_timeout_t,
callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_wait_one(
loop_: iree_loop_t,
wait_source: iree_wait_source_t,
timeout: iree_timeout_t,
callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_wait_any(
loop_: iree_loop_t,
count: iree_host_size_t,
wait_sources: *mut iree_wait_source_t,
timeout: iree_timeout_t,
callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_wait_all(
loop_: iree_loop_t,
count: iree_host_size_t,
wait_sources: *mut iree_wait_source_t,
timeout: iree_timeout_t,
callback: iree_loop_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_drain(loop_: iree_loop_t, timeout: iree_timeout_t) -> iree_status_t;
}
pub const IREE_LOOP_COMMAND_CALL: iree_loop_command_e = 0;
pub const IREE_LOOP_COMMAND_DISPATCH: iree_loop_command_e = 1;
pub const IREE_LOOP_COMMAND_WAIT_UNTIL: iree_loop_command_e = 2;
pub const IREE_LOOP_COMMAND_WAIT_ONE: iree_loop_command_e = 3;
pub const IREE_LOOP_COMMAND_WAIT_ANY: iree_loop_command_e = 4;
pub const IREE_LOOP_COMMAND_WAIT_ALL: iree_loop_command_e = 5;
pub const IREE_LOOP_COMMAND_DRAIN: iree_loop_command_e = 6;
pub const IREE_LOOP_COMMAND_MAX: iree_loop_command_e = 6;
pub type iree_loop_command_e = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_callback_t {
pub fn_: iree_loop_callback_fn_t,
pub user_data: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_call_params_t {
pub callback: iree_loop_callback_t,
pub priority: iree_loop_priority_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_dispatch_params_t {
pub callback: iree_loop_callback_t,
pub workgroup_fn: iree_loop_workgroup_fn_t,
pub workgroup_count_xyz: [u32; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_wait_until_params_t {
pub callback: iree_loop_callback_t,
pub deadline_ns: iree_time_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_loop_wait_one_params_t {
pub callback: iree_loop_callback_t,
pub deadline_ns: iree_time_t,
pub wait_source: iree_wait_source_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_wait_multi_params_t {
pub callback: iree_loop_callback_t,
pub deadline_ns: iree_time_t,
pub count: iree_host_size_t,
pub wait_sources: *mut iree_wait_source_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_drain_params_t {
pub deadline_ns: iree_time_t,
}
unsafe extern "C" {
pub fn iree_loop_inline_ctl(
self_: *mut core::ffi::c_void,
command: iree_loop_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_loop_inline_using_storage_ctl(
self_: *mut core::ffi::c_void,
command: iree_loop_command_t,
params: *const core::ffi::c_void,
inout_ptr: *mut *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_loop_inline__extern"]
pub fn iree_loop_inline(out_status: *mut iree_status_t) -> iree_loop_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_loop_inline_storage_t {
pub opaque: [u8; 512usize],
pub status: iree_status_t,
}
unsafe extern "C" {
#[link_name = "iree_loop_inline_initialize__extern"]
pub fn iree_loop_inline_initialize(storage: *mut iree_loop_inline_storage_t) -> iree_loop_t;
}
unsafe extern "C" {
#[link_name = "iree_loop_inline_deinitialize__extern"]
pub fn iree_loop_inline_deinitialize(storage: *mut iree_loop_inline_storage_t);
}
pub type iree_printf_callback_t = ::core::option::Option<
unsafe extern "C" fn(character: core::ffi::c_char, user_data: *mut core::ffi::c_void),
>;
unsafe extern "C" {
pub fn iree_snprintf(
buffer: *mut core::ffi::c_char,
count: usize,
format: *const core::ffi::c_char,
...
) -> core::ffi::c_int;
}
unsafe extern "C" {
pub fn iree_vsnprintf(
buffer: *mut core::ffi::c_char,
count: usize,
format: *const core::ffi::c_char,
varargs: va_list,
) -> core::ffi::c_int;
}
unsafe extern "C" {
pub fn iree_fctprintf(
callback: iree_printf_callback_t,
user_data: *mut core::ffi::c_void,
format: *const core::ffi::c_char,
...
) -> core::ffi::c_int;
}
unsafe extern "C" {
pub fn iree_vfctprintf(
callback: iree_printf_callback_t,
user_data: *mut core::ffi::c_void,
format: *const core::ffi::c_char,
varargs: va_list,
) -> core::ffi::c_int;
}
pub type iree_zone_id_t = u32;
pub const IREE_TRACING_PLOT_TYPE_NUMBER: iree_tracing_plot_type_t = 0;
pub const IREE_TRACING_PLOT_TYPE_MEMORY: iree_tracing_plot_type_t = 1;
pub const IREE_TRACING_PLOT_TYPE_PERCENTAGE: iree_tracing_plot_type_t = 2;
pub type iree_tracing_plot_type_t = core::ffi::c_uint;
pub const IREE_TRACING_MESSAGE_LEVEL_ERROR: _bindgen_ty_2 = 16711680;
pub const IREE_TRACING_MESSAGE_LEVEL_WARNING: _bindgen_ty_2 = 16776960;
pub const IREE_TRACING_MESSAGE_LEVEL_INFO: _bindgen_ty_2 = 16777215;
pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE: _bindgen_ty_2 = 12632256;
pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG: _bindgen_ty_2 = 65280;
pub type _bindgen_ty_2 = core::ffi::c_uint;
unsafe extern "C" {
#[link_name = "iree_tracing_obscure_ptr__extern"]
pub fn iree_tracing_obscure_ptr(ptr: *mut core::ffi::c_void) -> *mut core::ffi::c_void;
}
pub type iree_hal_queue_affinity_t = u64;
pub const iree_memory_order_relaxed: iree_memory_order_e = 0;
pub const iree_memory_order_consume: iree_memory_order_e = 1;
pub const iree_memory_order_acquire: iree_memory_order_e = 2;
pub const iree_memory_order_release: iree_memory_order_e = 3;
pub const iree_memory_order_acq_rel: iree_memory_order_e = 4;
pub const iree_memory_order_seq_cst: iree_memory_order_e = 5;
pub type iree_memory_order_e = core::ffi::c_uint;
pub use self::iree_memory_order_e as iree_memory_order_t;
pub type iree_atomic_int32_t = i32;
pub type iree_atomic_int64_t = i64;
pub type iree_atomic_uint32_t = u32;
pub type iree_atomic_uint64_t = u64;
pub type iree_atomic_intptr_t = isize;
pub type iree_atomic_ref_count_t = iree_atomic_int32_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_resource_t {
pub ref_count: iree_atomic_ref_count_t,
pub vtable: *const core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_resource_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(resource: *mut iree_hal_resource_t)>,
}
unsafe extern "C" {
#[link_name = "iree_hal_resource_initialize__extern"]
pub fn iree_hal_resource_initialize(
vtable: *const core::ffi::c_void,
out_resource: *mut iree_hal_resource_t,
);
}
unsafe extern "C" {
#[link_name = "iree_hal_resource_retain__extern"]
pub fn iree_hal_resource_retain(any_resource: *const core::ffi::c_void);
}
unsafe extern "C" {
#[link_name = "iree_hal_resource_release__extern"]
pub fn iree_hal_resource_release(any_resource: *const core::ffi::c_void);
}
unsafe extern "C" {
#[link_name = "iree_hal_resource_is__extern"]
pub fn iree_hal_resource_is(
resource: *const core::ffi::c_void,
vtable: *const core::ffi::c_void,
) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_allocator_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_t {
_unused: [u8; 0],
}
pub const IREE_HAL_MEMORY_TYPE_NONE: iree_hal_memory_type_bits_t = 0;
pub const IREE_HAL_MEMORY_TYPE_OPTIMAL: iree_hal_memory_type_bits_t = 1;
pub const IREE_HAL_MEMORY_TYPE_HOST_VISIBLE: iree_hal_memory_type_bits_t = 2;
pub const IREE_HAL_MEMORY_TYPE_HOST_COHERENT: iree_hal_memory_type_bits_t = 4;
pub const IREE_HAL_MEMORY_TYPE_HOST_CACHED: iree_hal_memory_type_bits_t = 8;
pub const IREE_HAL_MEMORY_TYPE_HOST_LOCAL: iree_hal_memory_type_bits_t = 70;
pub const IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST: iree_hal_memory_type_bits_t = 71;
pub const IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE: iree_hal_memory_type_bits_t = 16;
pub const IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL: iree_hal_memory_type_bits_t = 48;
pub const IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE: iree_hal_memory_type_bits_t = 49;
pub type iree_hal_memory_type_bits_t = core::ffi::c_uint;
pub type iree_hal_memory_type_t = u32;
unsafe extern "C" {
pub fn iree_hal_memory_type_parse(
value: iree_string_view_t,
out_value: *mut iree_hal_memory_type_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_memory_type_format(
value: iree_hal_memory_type_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
pub const IREE_HAL_MEMORY_ACCESS_NONE: iree_hal_memory_access_bits_t = 0;
pub const IREE_HAL_MEMORY_ACCESS_READ: iree_hal_memory_access_bits_t = 1;
pub const IREE_HAL_MEMORY_ACCESS_WRITE: iree_hal_memory_access_bits_t = 2;
pub const IREE_HAL_MEMORY_ACCESS_DISCARD: iree_hal_memory_access_bits_t = 4;
pub const IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE: iree_hal_memory_access_bits_t = 6;
pub const IREE_HAL_MEMORY_ACCESS_MAY_ALIAS: iree_hal_memory_access_bits_t = 8;
pub const IREE_HAL_MEMORY_ACCESS_UNALIGNED: iree_hal_memory_access_bits_t = 16;
pub const IREE_HAL_MEMORY_ACCESS_ANY: iree_hal_memory_access_bits_t = 32;
pub const IREE_HAL_MEMORY_ACCESS_ALL: iree_hal_memory_access_bits_t = 7;
pub type iree_hal_memory_access_bits_t = core::ffi::c_uint;
pub type iree_hal_memory_access_t = u16;
unsafe extern "C" {
pub fn iree_hal_memory_access_parse(
value: iree_string_view_t,
out_value: *mut iree_hal_memory_access_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_memory_access_format(
value: iree_hal_memory_access_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
pub const IREE_HAL_BUFFER_USAGE_NONE: iree_hal_buffer_usage_bits_t = 0;
pub const IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE: iree_hal_buffer_usage_bits_t = 1;
pub const IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET: iree_hal_buffer_usage_bits_t = 2;
pub const IREE_HAL_BUFFER_USAGE_TRANSFER: iree_hal_buffer_usage_bits_t = 3;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS: iree_hal_buffer_usage_bits_t = 256;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ: iree_hal_buffer_usage_bits_t = 512;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ: iree_hal_buffer_usage_bits_t = 1024;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE: iree_hal_buffer_usage_bits_t = 2048;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE: iree_hal_buffer_usage_bits_t = 3072;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ: iree_hal_buffer_usage_bits_t = 4096;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE: iree_hal_buffer_usage_bits_t = 8192;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE: iree_hal_buffer_usage_bits_t = 12288;
pub const IREE_HAL_BUFFER_USAGE_DISPATCH: iree_hal_buffer_usage_bits_t = 16128;
pub const IREE_HAL_BUFFER_USAGE_SHARING_EXPORT: iree_hal_buffer_usage_bits_t = 65536;
pub const IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE: iree_hal_buffer_usage_bits_t = 131072;
pub const IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT: iree_hal_buffer_usage_bits_t = 262144;
pub const IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE: iree_hal_buffer_usage_bits_t = 524288;
pub const IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED: iree_hal_buffer_usage_bits_t = 16777216;
pub const IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT: iree_hal_buffer_usage_bits_t = 33554432;
pub const IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL: iree_hal_buffer_usage_bits_t = 67108864;
pub const IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM: iree_hal_buffer_usage_bits_t = 134217728;
pub const IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE: iree_hal_buffer_usage_bits_t =
268435456;
pub const IREE_HAL_BUFFER_USAGE_MAPPING: iree_hal_buffer_usage_bits_t = 150994944;
pub const IREE_HAL_BUFFER_USAGE_DEFAULT: iree_hal_buffer_usage_bits_t = 3075;
pub type iree_hal_buffer_usage_bits_t = core::ffi::c_uint;
pub type iree_hal_buffer_usage_t = u32;
unsafe extern "C" {
pub fn iree_hal_buffer_usage_parse(
value: iree_string_view_t,
out_value: *mut iree_hal_buffer_usage_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_usage_format(
value: iree_hal_buffer_usage_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
pub const IREE_HAL_BUFFER_OVERLAP_DISJOINT: iree_hal_buffer_overlap_e = 0;
pub const IREE_HAL_BUFFER_OVERLAP_PARTIAL: iree_hal_buffer_overlap_e = 1;
pub const IREE_HAL_BUFFER_OVERLAP_COMPLETE: iree_hal_buffer_overlap_e = 2;
pub type iree_hal_buffer_overlap_e = core::ffi::c_uint;
pub use self::iree_hal_buffer_overlap_e as iree_hal_buffer_overlap_t;
pub type iree_hal_buffer_compatibility_t = u32;
pub const IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT: iree_hal_transfer_buffer_flag_bits_t = 0;
pub type iree_hal_transfer_buffer_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_transfer_buffer_flags_t = u32;
pub const IREE_HAL_MAPPING_MODE_SCOPED: iree_hal_mapping_mode_bits_t = 1;
pub const IREE_HAL_MAPPING_MODE_PERSISTENT: iree_hal_mapping_mode_bits_t = 2;
pub type iree_hal_mapping_mode_bits_t = core::ffi::c_uint;
pub type iree_hal_mapping_mode_t = u32;
pub type iree_hal_buffer_placement_flags_t = u32;
pub const IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE: iree_hal_buffer_placement_flag_bits_t = 0;
pub const IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS: iree_hal_buffer_placement_flag_bits_t = 1;
pub const IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME:
iree_hal_buffer_placement_flag_bits_t = 2;
pub type iree_hal_buffer_placement_flag_bits_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_placement_t {
pub device: *mut iree_hal_device_t,
pub queue_affinity: iree_hal_queue_affinity_t,
pub flags: iree_hal_buffer_placement_flags_t,
pub reserved: u32,
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_placement_undefined__extern"]
pub fn iree_hal_buffer_placement_undefined() -> iree_hal_buffer_placement_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_placement_is_undefined__extern"]
pub fn iree_hal_buffer_placement_is_undefined(placement: iree_hal_buffer_placement_t) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_params_t {
pub usage: iree_hal_buffer_usage_t,
pub access: iree_hal_memory_access_t,
pub type_: iree_hal_memory_type_t,
pub queue_affinity: iree_hal_queue_affinity_t,
pub min_alignment: iree_device_size_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_params_canonicalize__extern"]
pub fn iree_hal_buffer_params_canonicalize(params: *mut iree_hal_buffer_params_t);
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_params_with_usage__extern"]
pub fn iree_hal_buffer_params_with_usage(
params: iree_hal_buffer_params_t,
usage: iree_hal_buffer_usage_t,
) -> iree_hal_buffer_params_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_mapping_impl_t {
pub byte_offset: iree_device_size_t,
pub allowed_access: iree_hal_memory_access_t,
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
pub reserved: [u64; 1usize],
}
impl iree_hal_buffer_mapping_impl_t {
#[inline]
pub fn is_persistent(&self) -> u32 {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
pub fn set_is_persistent(&mut self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
pub unsafe fn is_persistent_raw(this: *const Self) -> u32 {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
0usize,
1u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_is_persistent_raw(this: *mut Self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
0usize,
1u8,
val as u64,
)
}
}
#[inline]
pub fn reserved_flags(&self) -> u32 {
unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) }
}
#[inline]
pub fn set_reserved_flags(&mut self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(1usize, 31u8, val as u64)
}
}
#[inline]
pub unsafe fn reserved_flags_raw(this: *const Self) -> u32 {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
1usize,
31u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_reserved_flags_raw(this: *mut Self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
1usize,
31u8,
val as u64,
)
}
}
#[inline]
pub fn new_bitfield_1(
is_persistent: u32,
reserved_flags: u32,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let is_persistent: u32 = unsafe { ::core::mem::transmute(is_persistent) };
is_persistent as u64
});
__bindgen_bitfield_unit.set(1usize, 31u8, {
let reserved_flags: u32 = unsafe { ::core::mem::transmute(reserved_flags) };
reserved_flags as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_mapping_t {
pub contents: iree_byte_span_t,
pub buffer: *mut iree_hal_buffer_t,
pub impl_: iree_hal_buffer_mapping_impl_t,
}
pub type iree_hal_buffer_release_fn_t = ::core::option::Option<
unsafe extern "C" fn(user_data: *mut core::ffi::c_void, buffer: *mut iree_hal_buffer_t),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_release_callback_t {
pub fn_: iree_hal_buffer_release_fn_t,
pub user_data: *mut core::ffi::c_void,
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_release_callback_null__extern"]
pub fn iree_hal_buffer_release_callback_null() -> iree_hal_buffer_release_callback_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_validate_memory_type(
actual_memory_type: iree_hal_memory_type_t,
expected_memory_type: iree_hal_memory_type_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_validate_access(
allowed_memory_access: iree_hal_memory_access_t,
required_memory_access: iree_hal_memory_access_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_validate_usage(
allowed_usage: iree_hal_buffer_usage_t,
required_usage: iree_hal_buffer_usage_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_validate_range(
buffer: *mut iree_hal_buffer_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_calculate_range(
base_offset: iree_device_size_t,
max_length: iree_device_size_t,
offset: iree_device_size_t,
length: iree_device_size_t,
out_adjusted_offset: *mut iree_device_size_t,
out_adjusted_length: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_test_overlap(
lhs_buffer: *mut iree_hal_buffer_t,
lhs_offset: iree_device_size_t,
lhs_length: iree_device_size_t,
rhs_buffer: *mut iree_hal_buffer_t,
rhs_offset: iree_device_size_t,
rhs_length: iree_device_size_t,
) -> iree_hal_buffer_overlap_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_subspan(
buffer: *mut iree_hal_buffer_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
host_allocator: iree_allocator_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_retain(buffer: *mut iree_hal_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_release(buffer: *mut iree_hal_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocated_buffer(
buffer: *const iree_hal_buffer_t,
) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocation_size(buffer: *const iree_hal_buffer_t) -> iree_device_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocation_placement(
buffer: *const iree_hal_buffer_t,
) -> iree_hal_buffer_placement_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocation_preserve(buffer: *mut iree_hal_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocation_discard(buffer: *mut iree_hal_buffer_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allocation_is_terminal(buffer: *const iree_hal_buffer_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_buffer_byte_offset(buffer: *const iree_hal_buffer_t) -> iree_device_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_byte_length(buffer: *const iree_hal_buffer_t) -> iree_device_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_memory_type(buffer: *const iree_hal_buffer_t) -> iree_hal_memory_type_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allowed_access(
buffer: *const iree_hal_buffer_t,
) -> iree_hal_memory_access_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_allowed_usage(
buffer: *const iree_hal_buffer_t,
) -> iree_hal_buffer_usage_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_zero(
buffer: *mut iree_hal_buffer_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_fill(
buffer: *mut iree_hal_buffer_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
pattern: *const core::ffi::c_void,
pattern_length: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_read(
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_buffer: *mut core::ffi::c_void,
data_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_write(
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
source_buffer: *const core::ffi::c_void,
data_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_copy(
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
data_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_map_range(
buffer: *mut iree_hal_buffer_t,
mapping_mode: iree_hal_mapping_mode_t,
memory_access: iree_hal_memory_access_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
out_buffer_mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_prepare_map_range(
buffer: *mut iree_hal_buffer_t,
mapping_mode: iree_hal_mapping_mode_t,
memory_access: iree_hal_memory_access_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
out_buffer_mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_commit_map_range(
buffer: *mut iree_hal_buffer_t,
mapping_mode: iree_hal_mapping_mode_t,
memory_access: iree_hal_memory_access_t,
buffer_mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_unmap_range(
buffer_mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_mapping_invalidate_range(
buffer_mapping: *mut iree_hal_buffer_mapping_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_mapping_flush_range(
buffer_mapping: *mut iree_hal_buffer_mapping_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_mapping_subspan(
buffer_mapping: *mut iree_hal_buffer_mapping_t,
memory_access: iree_hal_memory_access_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
out_span: *mut iree_byte_span_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_subspan_buffer_create(
allocated_buffer: *mut iree_hal_buffer_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
host_allocator: iree_allocator_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_heap_buffer_wrap(
placement: iree_hal_buffer_placement_t,
memory_type: iree_hal_memory_type_t,
allowed_access: iree_hal_memory_access_t,
allowed_usage: iree_hal_buffer_usage_t,
allocation_size: iree_device_size_t,
data: iree_byte_span_t,
release_callback: iree_hal_buffer_release_callback_t,
host_allocator: iree_allocator_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_vtable_t {
pub recycle: ::core::option::Option<unsafe extern "C" fn(buffer: *mut iree_hal_buffer_t)>,
pub destroy: ::core::option::Option<unsafe extern "C" fn(buffer: *mut iree_hal_buffer_t)>,
pub map_range: ::core::option::Option<
unsafe extern "C" fn(
buffer: *mut iree_hal_buffer_t,
mapping_mode: iree_hal_mapping_mode_t,
memory_access: iree_hal_memory_access_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t,
>,
pub unmap_range: ::core::option::Option<
unsafe extern "C" fn(
buffer: *mut iree_hal_buffer_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t,
>,
pub invalidate_range: ::core::option::Option<
unsafe extern "C" fn(
buffer: *mut iree_hal_buffer_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
) -> iree_status_t,
>,
pub flush_range: ::core::option::Option<
unsafe extern "C" fn(
buffer: *mut iree_hal_buffer_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
) -> iree_status_t,
>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_t {
pub resource: iree_hal_resource_t,
pub allocated_buffer: *mut iree_hal_buffer_t,
pub allocation_size: iree_device_size_t,
pub byte_offset: iree_device_size_t,
pub byte_length: iree_device_size_t,
pub placement: iree_hal_buffer_placement_t,
pub pooling_allocator: *mut iree_hal_allocator_t,
pub preserve_count: iree_atomic_uint32_t,
pub memory_type: iree_hal_memory_type_t,
pub allowed_usage: iree_hal_buffer_usage_t,
pub allowed_access: iree_hal_memory_access_t,
pub reserved: u16,
pub flags: u32,
}
unsafe extern "C" {
pub fn iree_hal_buffer_initialize(
placement: iree_hal_buffer_placement_t,
allocated_buffer: *mut iree_hal_buffer_t,
allocation_size: iree_device_size_t,
byte_offset: iree_device_size_t,
byte_length: iree_device_size_t,
memory_type: iree_hal_memory_type_t,
allowed_access: iree_hal_memory_access_t,
allowed_usage: iree_hal_buffer_usage_t,
vtable: *const iree_hal_buffer_vtable_t,
buffer: *mut iree_hal_buffer_t,
);
}
unsafe extern "C" {
pub fn iree_hal_buffer_recycle(buffer: *mut iree_hal_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_destroy(buffer: *mut iree_hal_buffer_t);
}
pub const IREE_HAL_ALLOCATOR_POOL_DEFAULT: iree_hal_allocator_pool_bits_t = 0;
pub type iree_hal_allocator_pool_bits_t = core::ffi::c_uint;
pub type iree_hal_allocator_pool_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_allocator_memory_heap_t {
pub type_: iree_hal_memory_type_t,
pub allowed_usage: iree_hal_buffer_usage_t,
pub max_allocation_size: iree_device_size_t,
pub min_alignment: iree_device_size_t,
}
pub const IREE_HAL_BUFFER_COMPATIBILITY_NONE: iree_hal_buffer_compatibility_bits_t = 0;
pub const IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE: iree_hal_buffer_compatibility_bits_t = 1;
pub const IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE: iree_hal_buffer_compatibility_bits_t = 2;
pub const IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE: iree_hal_buffer_compatibility_bits_t = 4;
pub const IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER: iree_hal_buffer_compatibility_bits_t = 1024;
pub const IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH: iree_hal_buffer_compatibility_bits_t = 2048;
pub const IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE: iree_hal_buffer_compatibility_bits_t =
1048576;
pub type iree_hal_buffer_compatibility_bits_t = core::ffi::c_uint;
unsafe extern "C" {
pub fn iree_hal_buffer_compatibility_parse(
value: iree_string_view_t,
out_value: *mut iree_hal_buffer_compatibility_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_compatibility_format(
value: iree_hal_buffer_compatibility_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
pub const IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE: iree_hal_external_buffer_type_e = 0;
pub const IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION: iree_hal_external_buffer_type_e = 1;
pub const IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION: iree_hal_external_buffer_type_e = 2;
pub const IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD: iree_hal_external_buffer_type_e = 3;
pub const IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32: iree_hal_external_buffer_type_e = 4;
pub type iree_hal_external_buffer_type_e = core::ffi::c_uint;
pub use self::iree_hal_external_buffer_type_e as iree_hal_external_buffer_type_t;
pub const IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE: iree_hal_external_buffer_flag_bits_t = 0;
pub type iree_hal_external_buffer_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_external_buffer_flags_t = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_hal_external_buffer_t {
pub type_: iree_hal_external_buffer_type_t,
pub flags: iree_hal_external_buffer_flags_t,
pub size: iree_device_size_t,
pub handle: iree_hal_external_buffer_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_hal_external_buffer_t__bindgen_ty_1 {
pub host_allocation: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1,
pub device_allocation: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2,
pub opaque_fd: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3,
pub opaque_win32: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 {
pub ptr: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 {
pub ptr: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 {
pub fd: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 {
pub handle: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_physical_memory_t {
_unused: [u8; 0],
}
pub const IREE_HAL_MEMORY_PROTECTION_NONE: iree_hal_memory_protection_bits_t = 0;
pub const IREE_HAL_MEMORY_PROTECTION_READ: iree_hal_memory_protection_bits_t = 1;
pub const IREE_HAL_MEMORY_PROTECTION_WRITE: iree_hal_memory_protection_bits_t = 2;
pub const IREE_HAL_MEMORY_PROTECTION_READ_WRITE: iree_hal_memory_protection_bits_t = 3;
pub type iree_hal_memory_protection_bits_t = core::ffi::c_uint;
pub type iree_hal_memory_protection_t = u64;
pub const IREE_HAL_MEMORY_ADVICE_NORMAL: iree_hal_memory_advice_bits_t = 0;
pub const IREE_HAL_MEMORY_ADVICE_WILL_NEED: iree_hal_memory_advice_bits_t = 1;
pub const IREE_HAL_MEMORY_ADVICE_DONT_NEED: iree_hal_memory_advice_bits_t = 2;
pub type iree_hal_memory_advice_bits_t = core::ffi::c_uint;
pub type iree_hal_memory_advice_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_allocator_statistics_t {
pub host_bytes_peak: iree_device_size_t,
pub host_bytes_allocated: iree_device_size_t,
pub host_bytes_freed: iree_device_size_t,
pub device_bytes_peak: iree_device_size_t,
pub device_bytes_allocated: iree_device_size_t,
pub device_bytes_freed: iree_device_size_t,
}
unsafe extern "C" {
pub fn iree_hal_allocator_statistics_format(
statistics: *const iree_hal_allocator_statistics_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_retain(allocator: *mut iree_hal_allocator_t);
}
unsafe extern "C" {
pub fn iree_hal_allocator_release(allocator: *mut iree_hal_allocator_t);
}
unsafe extern "C" {
pub fn iree_hal_allocator_host_allocator(
allocator: *const iree_hal_allocator_t,
) -> iree_allocator_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_trim(allocator: *mut iree_hal_allocator_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_query_statistics(
allocator: *mut iree_hal_allocator_t,
out_statistics: *mut iree_hal_allocator_statistics_t,
);
}
unsafe extern "C" {
pub fn iree_hal_allocator_statistics_fprint(
file: *mut FILE,
allocator: *mut iree_hal_allocator_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_query_memory_heaps(
allocator: *mut iree_hal_allocator_t,
capacity: iree_host_size_t,
heaps: *mut iree_hal_allocator_memory_heap_t,
out_count: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_query_buffer_compatibility(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
allocation_size: iree_device_size_t,
out_params: *mut iree_hal_buffer_params_t,
out_allocation_size: *mut iree_device_size_t,
) -> iree_hal_buffer_compatibility_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_allocate_buffer(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
allocation_size: iree_device_size_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_import_buffer(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
external_buffer: *mut iree_hal_external_buffer_t,
release_callback: iree_hal_buffer_release_callback_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_export_buffer(
allocator: *mut iree_hal_allocator_t,
buffer: *mut iree_hal_buffer_t,
requested_type: iree_hal_external_buffer_type_t,
requested_flags: iree_hal_external_buffer_flags_t,
out_external_buffer: *mut iree_hal_external_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_supports_virtual_memory(allocator: *mut iree_hal_allocator_t)
-> bool;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_query_granularity(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
out_minimum_page_size: *mut iree_device_size_t,
out_recommended_page_size: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_reserve(
allocator: *mut iree_hal_allocator_t,
queue_affinity: iree_hal_queue_affinity_t,
size: iree_device_size_t,
out_virtual_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_release(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_physical_memory_allocate(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
size: iree_device_size_t,
host_allocator: iree_allocator_t,
out_physical_memory: *mut *mut iree_hal_physical_memory_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_physical_memory_free(
allocator: *mut iree_hal_allocator_t,
physical_memory: *mut iree_hal_physical_memory_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_map(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
physical_memory: *mut iree_hal_physical_memory_t,
physical_offset: iree_device_size_t,
size: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_unmap(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_protect(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
queue_affinity: iree_hal_queue_affinity_t,
protection: iree_hal_memory_protection_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_virtual_memory_advise(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
queue_affinity: iree_hal_queue_affinity_t,
advice: iree_hal_memory_advice_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_create_heap(
identifier: iree_string_view_t,
data_allocator: iree_allocator_t,
host_allocator: iree_allocator_t,
out_allocator: *mut *mut iree_hal_allocator_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_allocator_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(allocator: *mut iree_hal_allocator_t)>,
pub host_allocator: ::core::option::Option<
unsafe extern "C" fn(allocator: *const iree_hal_allocator_t) -> iree_allocator_t,
>,
pub trim: ::core::option::Option<
unsafe extern "C" fn(allocator: *mut iree_hal_allocator_t) -> iree_status_t,
>,
pub query_statistics: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
out_statistics: *mut iree_hal_allocator_statistics_t,
),
>,
pub query_memory_heaps: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
capacity: iree_host_size_t,
heaps: *mut iree_hal_allocator_memory_heap_t,
out_count: *mut iree_host_size_t,
) -> iree_status_t,
>,
pub query_buffer_compatibility: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
params: *mut iree_hal_buffer_params_t,
allocation_size: *mut iree_device_size_t,
) -> iree_hal_buffer_compatibility_t,
>,
pub allocate_buffer: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
params: *const iree_hal_buffer_params_t,
allocation_size: iree_device_size_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t,
>,
pub deallocate_buffer: ::core::option::Option<
unsafe extern "C" fn(allocator: *mut iree_hal_allocator_t, buffer: *mut iree_hal_buffer_t),
>,
pub import_buffer: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
params: *const iree_hal_buffer_params_t,
external_buffer: *mut iree_hal_external_buffer_t,
release_callback: iree_hal_buffer_release_callback_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t,
>,
pub export_buffer: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
buffer: *mut iree_hal_buffer_t,
requested_type: iree_hal_external_buffer_type_t,
requested_flags: iree_hal_external_buffer_flags_t,
out_external_buffer: *mut iree_hal_external_buffer_t,
) -> iree_status_t,
>,
pub supports_virtual_memory:
::core::option::Option<unsafe extern "C" fn(allocator: *mut iree_hal_allocator_t) -> bool>,
pub virtual_memory_query_granularity: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
out_minimum_page_size: *mut iree_device_size_t,
out_recommended_page_size: *mut iree_device_size_t,
) -> iree_status_t,
>,
pub virtual_memory_reserve: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
queue_affinity: iree_hal_queue_affinity_t,
size: iree_device_size_t,
out_virtual_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t,
>,
pub virtual_memory_release: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
) -> iree_status_t,
>,
pub physical_memory_allocate: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
params: iree_hal_buffer_params_t,
size: iree_device_size_t,
host_allocator: iree_allocator_t,
out_physical_memory: *mut *mut iree_hal_physical_memory_t,
) -> iree_status_t,
>,
pub physical_memory_free: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
physical_memory: *mut iree_hal_physical_memory_t,
) -> iree_status_t,
>,
pub virtual_memory_map: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
physical_memory: *mut iree_hal_physical_memory_t,
physical_offset: iree_device_size_t,
size: iree_device_size_t,
) -> iree_status_t,
>,
pub virtual_memory_unmap: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
) -> iree_status_t,
>,
pub virtual_memory_protect: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
queue_affinity: iree_hal_queue_affinity_t,
protection: iree_hal_memory_protection_t,
) -> iree_status_t,
>,
pub virtual_memory_advise: ::core::option::Option<
unsafe extern "C" fn(
allocator: *mut iree_hal_allocator_t,
virtual_buffer: *mut iree_hal_buffer_t,
virtual_offset: iree_device_size_t,
size: iree_device_size_t,
queue_affinity: iree_hal_queue_affinity_t,
advice: iree_hal_memory_advice_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_allocator_destroy(allocator: *mut iree_hal_allocator_t);
}
unsafe extern "C" {
pub fn iree_hal_allocator_deallocate_buffer(
allocator: *mut iree_hal_allocator_t,
buffer: *mut iree_hal_buffer_t,
);
}
unsafe extern "C" {
#[link_name = "iree_hal_allocator_statistics_record_alloc__extern"]
pub fn iree_hal_allocator_statistics_record_alloc(
statistics: *mut iree_hal_allocator_statistics_t,
memory_type: iree_hal_memory_type_t,
allocation_size: iree_device_size_t,
);
}
unsafe extern "C" {
#[link_name = "iree_hal_allocator_statistics_record_free__extern"]
pub fn iree_hal_allocator_statistics_record_free(
statistics: *mut iree_hal_allocator_statistics_t,
memory_type: iree_hal_memory_type_t,
allocation_size: iree_device_size_t,
);
}
pub const IREE_HAL_CHANNEL_FLAG_NONE: iree_hal_channel_flag_bits_t = 0;
pub type iree_hal_channel_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_channel_flags_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_channel_params_t {
pub flags: iree_hal_channel_flags_t,
pub id: iree_const_byte_span_t,
pub group: iree_string_view_t,
pub rank: i32,
pub count: i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_channel_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_channel_create(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
params: iree_hal_channel_params_t,
out_channel: *mut *mut iree_hal_channel_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_retain(channel: *mut iree_hal_channel_t);
}
unsafe extern "C" {
pub fn iree_hal_channel_release(channel: *mut iree_hal_channel_t);
}
unsafe extern "C" {
pub fn iree_hal_channel_split(
base_channel: *mut iree_hal_channel_t,
color: i32,
key: i32,
flags: iree_hal_channel_flags_t,
out_split_channel: *mut *mut iree_hal_channel_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_query_rank_and_count(
channel: *const iree_hal_channel_t,
out_rank: *mut i32,
out_count: *mut i32,
);
}
unsafe extern "C" {
pub fn iree_hal_channel_rank(channel: *const iree_hal_channel_t) -> i32;
}
unsafe extern "C" {
pub fn iree_hal_channel_count(channel: *const iree_hal_channel_t) -> i32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_channel_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(channel: *mut iree_hal_channel_t)>,
pub split: ::core::option::Option<
unsafe extern "C" fn(
base_channel: *mut iree_hal_channel_t,
color: i32,
key: i32,
flags: iree_hal_channel_flags_t,
out_split_channel: *mut *mut iree_hal_channel_t,
) -> iree_status_t,
>,
pub query_rank_and_count: ::core::option::Option<
unsafe extern "C" fn(
channel: *const iree_hal_channel_t,
out_rank: *mut i32,
out_count: *mut i32,
),
>,
}
unsafe extern "C" {
pub fn iree_hal_channel_destroy(channel: *mut iree_hal_channel_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_channel_provider_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_channel_provider_retain(channel_provider: *mut iree_hal_channel_provider_t);
}
unsafe extern "C" {
pub fn iree_hal_channel_provider_release(channel_provider: *mut iree_hal_channel_provider_t);
}
unsafe extern "C" {
pub fn iree_hal_channel_provider_query_default_rank_and_count(
channel_provider: *mut iree_hal_channel_provider_t,
out_rank: *mut i32,
out_count: *mut i32,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_provider_exchange_default_id(
channel_provider: *mut iree_hal_channel_provider_t,
id: iree_byte_span_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_channel_provider_vtable_t {
pub destroy: ::core::option::Option<
unsafe extern "C" fn(channel_provider: *mut iree_hal_channel_provider_t),
>,
pub query_default_rank_and_count: ::core::option::Option<
unsafe extern "C" fn(
channel_provider: *mut iree_hal_channel_provider_t,
out_rank: *mut i32,
out_count: *mut i32,
) -> iree_status_t,
>,
pub exchange_default_id: ::core::option::Option<
unsafe extern "C" fn(
channel_provider: *mut iree_hal_channel_provider_t,
id: iree_byte_span_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_channel_provider_destroy(channel_provider: *mut iree_hal_channel_provider_t);
}
pub const IREE_HAL_EVENT_FLAG_NONE: iree_hal_event_flag_bits_t = 0;
pub type iree_hal_event_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_event_flags_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_event_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_event_create(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
flags: iree_hal_event_flags_t,
out_event: *mut *mut iree_hal_event_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_event_retain(event: *mut iree_hal_event_t);
}
unsafe extern "C" {
pub fn iree_hal_event_release(event: *mut iree_hal_event_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_event_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(event: *mut iree_hal_event_t)>,
}
unsafe extern "C" {
pub fn iree_hal_event_destroy(event: *mut iree_hal_event_t);
}
pub type iree_hal_executable_export_ordinal_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_occupancy_info_t {
pub reserved: core::ffi::c_int,
}
pub const IREE_HAL_EXECUTABLE_EXPORT_FLAG_NONE: iree_hal_executable_export_flag_bits_e = 0;
pub const IREE_HAL_EXECUTABLE_EXPORT_FLAG_SEQUENTIAL: iree_hal_executable_export_flag_bits_e = 1;
pub const IREE_HAL_EXECUTABLE_EXPORT_FLAG_WORKGROUP_SIZE_DYNAMIC:
iree_hal_executable_export_flag_bits_e = 2;
pub type iree_hal_executable_export_flag_bits_e = core::ffi::c_uint;
pub type iree_hal_executable_export_flags_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_export_info_t {
pub name: iree_string_view_t,
pub flags: iree_hal_executable_export_flags_t,
pub constant_count: u16,
pub binding_count: u16,
pub parameter_count: u16,
pub workgroup_size: [u32; 3usize],
pub occupancy_info: iree_hal_occupancy_info_t,
}
pub const IREE_HAL_EXECUTABLE_EXPORT_PARAMETER_TYPE_CONSTANT:
iree_hal_executable_export_parameter_type_e = 0;
pub const IREE_HAL_EXECUTABLE_EXPORT_PARAMETER_TYPE_BINDING:
iree_hal_executable_export_parameter_type_e = 1;
pub const IREE_HAL_EXECUTABLE_EXPORT_PARAMETER_TYPE_BUFFER_PTR:
iree_hal_executable_export_parameter_type_e = 2;
pub type iree_hal_executable_export_parameter_type_e = core::ffi::c_uint;
pub type iree_hal_executable_export_parameter_type_t = u8;
pub const IREE_HAL_EXECUTABLE_EXPORT_PARAMETER_FLAG_NONE:
iree_hal_executable_export_parameter_flag_bits_e = 0;
pub type iree_hal_executable_export_parameter_flag_bits_e = core::ffi::c_uint;
pub type iree_hal_executable_export_parameter_flags_t = u16;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_export_parameter_t {
pub type_: iree_hal_executable_export_parameter_type_t,
pub size: u8,
pub flags: iree_hal_executable_export_parameter_flags_t,
pub name: iree_string_view_t,
pub offset: u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_executable_retain(executable: *mut iree_hal_executable_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_release(executable: *mut iree_hal_executable_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_export_count(
executable: *mut iree_hal_executable_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_export_info(
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
out_info: *mut iree_hal_executable_export_info_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_export_parameters(
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
capacity: iree_host_size_t,
out_parameters: *mut iree_hal_executable_export_parameter_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_lookup_export_by_name(
executable: *mut iree_hal_executable_t,
name: iree_string_view_t,
out_export_ordinal: *mut iree_hal_executable_export_ordinal_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_vtable_t {
pub destroy:
::core::option::Option<unsafe extern "C" fn(executable: *mut iree_hal_executable_t)>,
pub export_count: ::core::option::Option<
unsafe extern "C" fn(executable: *mut iree_hal_executable_t) -> iree_host_size_t,
>,
pub export_info: ::core::option::Option<
unsafe extern "C" fn(
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
out_info: *mut iree_hal_executable_export_info_t,
) -> iree_status_t,
>,
pub export_parameters: ::core::option::Option<
unsafe extern "C" fn(
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
capacity: iree_host_size_t,
out_parameters: *mut iree_hal_executable_export_parameter_t,
) -> iree_status_t,
>,
pub lookup_export_by_name: ::core::option::Option<
unsafe extern "C" fn(
executable: *mut iree_hal_executable_t,
name: iree_string_view_t,
out_export_ordinal: *mut iree_hal_executable_export_ordinal_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_executable_destroy(executable: *mut iree_hal_executable_t);
}
pub const IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT: iree_hal_command_buffer_mode_bits_t = 0;
pub const IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT: iree_hal_command_buffer_mode_bits_t = 1;
pub const IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION: iree_hal_command_buffer_mode_bits_t =
16;
pub const IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED: iree_hal_command_buffer_mode_bits_t = 32;
pub const IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED: iree_hal_command_buffer_mode_bits_t = 64;
pub type iree_hal_command_buffer_mode_bits_t = core::ffi::c_uint;
pub type iree_hal_command_buffer_mode_t = u32;
pub const IREE_HAL_COMMAND_CATEGORY_TRANSFER: iree_hal_command_category_bits_t = 1;
pub const IREE_HAL_COMMAND_CATEGORY_DISPATCH: iree_hal_command_category_bits_t = 2;
pub const IREE_HAL_COMMAND_CATEGORY_ANY: iree_hal_command_category_bits_t = 3;
pub type iree_hal_command_category_bits_t = core::ffi::c_uint;
pub type iree_hal_command_category_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_ref_t {
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
pub buffer: *mut iree_hal_buffer_t,
pub offset: iree_device_size_t,
pub length: iree_device_size_t,
}
impl iree_hal_buffer_ref_t {
#[inline]
pub fn reserved(&self) -> u32 {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
}
#[inline]
pub fn set_reserved(&mut self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 8u8, val as u64)
}
}
#[inline]
pub unsafe fn reserved_raw(this: *const Self) -> u32 {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
0usize,
8u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_reserved_raw(this: *mut Self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
0usize,
8u8,
val as u64,
)
}
}
#[inline]
pub fn buffer_slot(&self) -> u32 {
unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) }
}
#[inline]
pub fn set_buffer_slot(&mut self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(8usize, 24u8, val as u64)
}
}
#[inline]
pub unsafe fn buffer_slot_raw(this: *const Self) -> u32 {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
8usize,
24u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_buffer_slot_raw(this: *mut Self, val: u32) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
8usize,
24u8,
val as u64,
)
}
}
#[inline]
pub fn new_bitfield_1(reserved: u32, buffer_slot: u32) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 8u8, {
let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
reserved as u64
});
__bindgen_bitfield_unit.set(8usize, 24u8, {
let buffer_slot: u32 = unsafe { ::core::mem::transmute(buffer_slot) };
buffer_slot as u64
});
__bindgen_bitfield_unit
}
}
unsafe extern "C" {
#[link_name = "iree_hal_make_buffer_ref__extern"]
pub fn iree_hal_make_buffer_ref(
buffer: *mut iree_hal_buffer_t,
offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_hal_buffer_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_make_indirect_buffer_ref__extern"]
pub fn iree_hal_make_indirect_buffer_ref(
buffer_slot: u32,
offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_hal_buffer_ref_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_ref_list_t {
pub count: iree_host_size_t,
pub values: *const iree_hal_buffer_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_ref_list_empty__extern"]
pub fn iree_hal_buffer_ref_list_empty() -> iree_hal_buffer_ref_list_t;
}
pub const IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE: iree_hal_execution_stage_bits_t = 1;
pub const IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS: iree_hal_execution_stage_bits_t = 2;
pub const IREE_HAL_EXECUTION_STAGE_DISPATCH: iree_hal_execution_stage_bits_t = 4;
pub const IREE_HAL_EXECUTION_STAGE_TRANSFER: iree_hal_execution_stage_bits_t = 8;
pub const IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE: iree_hal_execution_stage_bits_t = 16;
pub const IREE_HAL_EXECUTION_STAGE_HOST: iree_hal_execution_stage_bits_t = 32;
pub type iree_hal_execution_stage_bits_t = core::ffi::c_uint;
pub type iree_hal_execution_stage_t = u32;
pub const IREE_HAL_EXECUTION_BARRIER_FLAG_NONE: iree_hal_execution_barrier_flag_bits_t = 0;
pub type iree_hal_execution_barrier_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_execution_barrier_flags_t = u64;
pub const IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ: iree_hal_access_scope_bits_t = 1;
pub const IREE_HAL_ACCESS_SCOPE_CONSTANT_READ: iree_hal_access_scope_bits_t = 2;
pub const IREE_HAL_ACCESS_SCOPE_DISPATCH_READ: iree_hal_access_scope_bits_t = 4;
pub const IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE: iree_hal_access_scope_bits_t = 8;
pub const IREE_HAL_ACCESS_SCOPE_TRANSFER_READ: iree_hal_access_scope_bits_t = 16;
pub const IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE: iree_hal_access_scope_bits_t = 32;
pub const IREE_HAL_ACCESS_SCOPE_HOST_READ: iree_hal_access_scope_bits_t = 64;
pub const IREE_HAL_ACCESS_SCOPE_HOST_WRITE: iree_hal_access_scope_bits_t = 128;
pub const IREE_HAL_ACCESS_SCOPE_MEMORY_READ: iree_hal_access_scope_bits_t = 256;
pub const IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE: iree_hal_access_scope_bits_t = 512;
pub type iree_hal_access_scope_bits_t = core::ffi::c_uint;
pub type iree_hal_access_scope_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_memory_barrier_t {
pub source_scope: iree_hal_access_scope_t,
pub target_scope: iree_hal_access_scope_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_barrier_t {
pub source_scope: iree_hal_access_scope_t,
pub target_scope: iree_hal_access_scope_t,
pub buffer_ref: iree_hal_buffer_ref_t,
}
pub type iree_hal_memory_advise_flags_t = u64;
pub const IREE_HAL_MEMORY_ADVISE_FLAG_NONE: iree_hal_memory_advise_flag_bits_t = 0;
pub type iree_hal_memory_advise_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_fill_flags_t = u64;
pub const IREE_HAL_FILL_FLAG_NONE: iree_hal_fill_flag_bits_t = 0;
pub type iree_hal_fill_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_update_flags_t = u64;
pub const IREE_HAL_UPDATE_FLAG_NONE: iree_hal_update_flag_bits_t = 0;
pub type iree_hal_update_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_copy_flags_t = u64;
pub const IREE_HAL_COPY_FLAG_NONE: iree_hal_copy_flag_bits_t = 0;
pub type iree_hal_copy_flag_bits_t = core::ffi::c_uint;
pub const IREE_HAL_COLLECTIVE_KIND_ALL_GATHER: iree_hal_collective_kind_e = 0;
pub const IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE: iree_hal_collective_kind_e = 1;
pub const IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL: iree_hal_collective_kind_e = 2;
pub const IREE_HAL_COLLECTIVE_KIND_BROADCAST: iree_hal_collective_kind_e = 3;
pub const IREE_HAL_COLLECTIVE_KIND_REDUCE: iree_hal_collective_kind_e = 4;
pub const IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER: iree_hal_collective_kind_e = 5;
pub const IREE_HAL_COLLECTIVE_KIND_SEND: iree_hal_collective_kind_e = 6;
pub const IREE_HAL_COLLECTIVE_KIND_RECV: iree_hal_collective_kind_e = 7;
pub const IREE_HAL_COLLECTIVE_KIND_SEND_RECV: iree_hal_collective_kind_e = 8;
pub const IREE_HAL_COLLECTIVE_KIND_MAX_VALUE: iree_hal_collective_kind_e = 8;
pub type iree_hal_collective_kind_e = core::ffi::c_uint;
pub type iree_hal_collective_kind_t = u8;
pub const IREE_HAL_COLLECTIVE_REDUCTION_NONE: iree_hal_collective_reduction_e = 0;
pub const IREE_HAL_COLLECTIVE_REDUCTION_SUM: iree_hal_collective_reduction_e = 1;
pub const IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT: iree_hal_collective_reduction_e = 2;
pub const IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM: iree_hal_collective_reduction_e = 3;
pub const IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM: iree_hal_collective_reduction_e = 4;
pub const IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE: iree_hal_collective_reduction_e = 5;
pub const IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE: iree_hal_collective_reduction_e = 5;
pub type iree_hal_collective_reduction_e = core::ffi::c_uint;
pub type iree_hal_collective_reduction_t = u8;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8: iree_hal_collective_element_type_e = 0;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8: iree_hal_collective_element_type_e = 1;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16: iree_hal_collective_element_type_e = 2;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16: iree_hal_collective_element_type_e = 3;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32: iree_hal_collective_element_type_e = 4;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32: iree_hal_collective_element_type_e = 5;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64: iree_hal_collective_element_type_e = 6;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64: iree_hal_collective_element_type_e = 7;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16: iree_hal_collective_element_type_e = 8;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32: iree_hal_collective_element_type_e = 9;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64: iree_hal_collective_element_type_e = 10;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16: iree_hal_collective_element_type_e = 11;
pub const IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE: iree_hal_collective_element_type_e = 11;
pub type iree_hal_collective_element_type_e = core::ffi::c_uint;
pub type iree_hal_collective_element_type_t = u8;
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_hal_collective_op_t {
pub packed: u32,
pub __bindgen_anon_1: iree_hal_collective_op_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_collective_op_t__bindgen_ty_1 {
pub kind: iree_hal_collective_kind_t,
pub reduction: iree_hal_collective_reduction_t,
pub element_type: iree_hal_collective_element_type_t,
pub reserved: u8,
}
unsafe extern "C" {
pub fn iree_hal_collective_op_format(
op: *const iree_hal_collective_op_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_hal_collective_element_byte_count(
element_type: iree_hal_collective_element_type_t,
) -> iree_device_size_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_dispatch_config_t {
pub workgroup_size: [u32; 3usize],
pub workgroup_count: [u32; 3usize],
pub workgroup_count_ref: iree_hal_buffer_ref_t,
pub dynamic_workgroup_local_memory: u32,
}
unsafe extern "C" {
#[link_name = "iree_hal_make_static_dispatch_config__extern"]
pub fn iree_hal_make_static_dispatch_config(
workgroup_count_x: u32,
workgroup_count_y: u32,
workgroup_count_z: u32,
) -> iree_hal_dispatch_config_t;
}
pub type iree_hal_dispatch_flags_t = u64;
pub const IREE_HAL_DISPATCH_FLAG_NONE: iree_hal_dispatch_flag_bits_t = 0;
pub const IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS: iree_hal_dispatch_flag_bits_t = 1;
pub const IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS: iree_hal_dispatch_flag_bits_t = 2;
pub const IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS: iree_hal_dispatch_flag_bits_t = 4;
pub const IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS: iree_hal_dispatch_flag_bits_t = 8;
pub const IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS: iree_hal_dispatch_flag_bits_t = 16;
pub type iree_hal_dispatch_flag_bits_t = core::ffi::c_uint;
unsafe extern "C" {
#[link_name = "iree_hal_dispatch_uses_indirect_parameters__extern"]
pub fn iree_hal_dispatch_uses_indirect_parameters(flags: iree_hal_dispatch_flags_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_hal_dispatch_uses_custom_arguments__extern"]
pub fn iree_hal_dispatch_uses_custom_arguments(flags: iree_hal_dispatch_flags_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_hal_dispatch_uses_indirect_arguments__extern"]
pub fn iree_hal_dispatch_uses_indirect_arguments(flags: iree_hal_dispatch_flags_t) -> bool;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_hal_label_color_t {
pub __bindgen_anon_1: iree_hal_label_color_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_hal_label_color_t__bindgen_ty_1 {
pub __bindgen_anon_1: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1,
pub value: u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 {
pub r: u8,
pub g: u8,
pub b: u8,
pub a: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_label_location_t {
pub file: iree_string_view_t,
pub line: core::ffi::c_int,
}
unsafe extern "C" {
#[link_name = "iree_hal_label_color_unspecified__extern"]
pub fn iree_hal_label_color_unspecified() -> iree_hal_label_color_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_mode_format(
value: iree_hal_command_buffer_mode_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_hal_command_category_format(
value: iree_hal_command_category_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_binding_t {
pub buffer: *mut iree_hal_buffer_t,
pub offset: iree_device_size_t,
pub length: iree_device_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_binding_table_t {
pub count: iree_host_size_t,
pub bindings: *const iree_hal_buffer_binding_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_binding_table_empty__extern"]
pub fn iree_hal_buffer_binding_table_empty() -> iree_hal_buffer_binding_table_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_binding_table_is_empty__extern"]
pub fn iree_hal_buffer_binding_table_is_empty(
binding_table: iree_hal_buffer_binding_table_t,
) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_binding_table_resolve_ref__extern"]
pub fn iree_hal_buffer_binding_table_resolve_ref(
binding_table: iree_hal_buffer_binding_table_t,
buffer_ref: iree_hal_buffer_ref_t,
out_resolved_ref: *mut iree_hal_buffer_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_create(
device: *mut iree_hal_device_t,
mode: iree_hal_command_buffer_mode_t,
command_categories: iree_hal_command_category_t,
queue_affinity: iree_hal_queue_affinity_t,
binding_capacity: iree_host_size_t,
out_command_buffer: *mut *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_retain(command_buffer: *mut iree_hal_command_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_release(command_buffer: *mut iree_hal_command_buffer_t);
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_mode(
command_buffer: *const iree_hal_command_buffer_t,
) -> iree_hal_command_buffer_mode_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_allowed_categories(
command_buffer: *const iree_hal_command_buffer_t,
) -> iree_hal_command_category_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_begin(
command_buffer: *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_end(
command_buffer: *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_begin_debug_group(
command_buffer: *mut iree_hal_command_buffer_t,
label: iree_string_view_t,
label_color: iree_hal_label_color_t,
location: *const iree_hal_label_location_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_end_debug_group(
command_buffer: *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_execution_barrier(
command_buffer: *mut iree_hal_command_buffer_t,
source_stage_mask: iree_hal_execution_stage_t,
target_stage_mask: iree_hal_execution_stage_t,
flags: iree_hal_execution_barrier_flags_t,
memory_barrier_count: iree_host_size_t,
memory_barriers: *const iree_hal_memory_barrier_t,
buffer_barrier_count: iree_host_size_t,
buffer_barriers: *const iree_hal_buffer_barrier_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_signal_event(
command_buffer: *mut iree_hal_command_buffer_t,
event: *mut iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_reset_event(
command_buffer: *mut iree_hal_command_buffer_t,
event: *mut iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_wait_events(
command_buffer: *mut iree_hal_command_buffer_t,
event_count: iree_host_size_t,
events: *mut *const iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
target_stage_mask: iree_hal_execution_stage_t,
memory_barrier_count: iree_host_size_t,
memory_barriers: *const iree_hal_memory_barrier_t,
buffer_barrier_count: iree_host_size_t,
buffer_barriers: *const iree_hal_buffer_barrier_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_advise_buffer(
command_buffer: *mut iree_hal_command_buffer_t,
buffer_ref: iree_hal_buffer_ref_t,
flags: iree_hal_memory_advise_flags_t,
arg0: u64,
arg1: u64,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_fill_buffer(
command_buffer: *mut iree_hal_command_buffer_t,
target_ref: iree_hal_buffer_ref_t,
pattern: *const core::ffi::c_void,
pattern_length: iree_host_size_t,
flags: iree_hal_fill_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_update_buffer(
command_buffer: *mut iree_hal_command_buffer_t,
source_buffer: *const core::ffi::c_void,
source_offset: iree_host_size_t,
target_ref: iree_hal_buffer_ref_t,
flags: iree_hal_update_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_copy_buffer(
command_buffer: *mut iree_hal_command_buffer_t,
source_ref: iree_hal_buffer_ref_t,
target_ref: iree_hal_buffer_ref_t,
flags: iree_hal_copy_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_collective(
command_buffer: *mut iree_hal_command_buffer_t,
channel: *mut iree_hal_channel_t,
op: iree_hal_collective_op_t,
param: u32,
send_ref: iree_hal_buffer_ref_t,
recv_ref: iree_hal_buffer_ref_t,
element_count: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_dispatch(
command_buffer: *mut iree_hal_command_buffer_t,
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
config: iree_hal_dispatch_config_t,
constants: iree_const_byte_span_t,
bindings: iree_hal_buffer_ref_list_t,
flags: iree_hal_dispatch_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_validate_submission(
command_buffer: *mut iree_hal_command_buffer_t,
binding_table: iree_hal_buffer_binding_table_t,
) -> iree_status_t;
}
pub const IREE_HAL_TRANSFER_COMMAND_TYPE_FILL: iree_hal_transfer_command_type_t = 0;
pub const IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE: iree_hal_transfer_command_type_t = 1;
pub const IREE_HAL_TRANSFER_COMMAND_TYPE_COPY: iree_hal_transfer_command_type_t = 2;
pub type iree_hal_transfer_command_type_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_hal_transfer_command_t {
pub type_: iree_hal_transfer_command_type_t,
pub __bindgen_anon_1: iree_hal_transfer_command_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_hal_transfer_command_t__bindgen_ty_1 {
pub fill: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1,
pub update: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2,
pub copy: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 {
pub target_buffer: *mut iree_hal_buffer_t,
pub target_offset: iree_device_size_t,
pub length: iree_device_size_t,
pub pattern: *const core::ffi::c_void,
pub pattern_length: iree_host_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 {
pub source_buffer: *const core::ffi::c_void,
pub source_offset: iree_host_size_t,
pub target_buffer: *mut iree_hal_buffer_t,
pub target_offset: iree_device_size_t,
pub length: iree_device_size_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 {
pub source_buffer: *mut iree_hal_buffer_t,
pub source_offset: iree_device_size_t,
pub target_buffer: *mut iree_hal_buffer_t,
pub target_offset: iree_device_size_t,
pub length: iree_device_size_t,
}
unsafe extern "C" {
pub fn iree_hal_create_transfer_command_buffer(
device: *mut iree_hal_device_t,
mode: iree_hal_command_buffer_mode_t,
queue_affinity: iree_hal_queue_affinity_t,
transfer_count: iree_host_size_t,
transfer_commands: *const iree_hal_transfer_command_t,
out_command_buffer: *mut *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_command_buffer_vtable_t {
pub destroy: ::core::option::Option<
unsafe extern "C" fn(command_buffer: *mut iree_hal_command_buffer_t),
>,
pub begin: ::core::option::Option<
unsafe extern "C" fn(command_buffer: *mut iree_hal_command_buffer_t) -> iree_status_t,
>,
pub end: ::core::option::Option<
unsafe extern "C" fn(command_buffer: *mut iree_hal_command_buffer_t) -> iree_status_t,
>,
pub begin_debug_group: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
label: iree_string_view_t,
label_color: iree_hal_label_color_t,
location: *const iree_hal_label_location_t,
) -> iree_status_t,
>,
pub end_debug_group: ::core::option::Option<
unsafe extern "C" fn(command_buffer: *mut iree_hal_command_buffer_t) -> iree_status_t,
>,
pub execution_barrier: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
source_stage_mask: iree_hal_execution_stage_t,
target_stage_mask: iree_hal_execution_stage_t,
flags: iree_hal_execution_barrier_flags_t,
memory_barrier_count: iree_host_size_t,
memory_barriers: *const iree_hal_memory_barrier_t,
buffer_barrier_count: iree_host_size_t,
buffer_barriers: *const iree_hal_buffer_barrier_t,
) -> iree_status_t,
>,
pub signal_event: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
event: *mut iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
) -> iree_status_t,
>,
pub reset_event: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
event: *mut iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
) -> iree_status_t,
>,
pub wait_events: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
event_count: iree_host_size_t,
events: *mut *const iree_hal_event_t,
source_stage_mask: iree_hal_execution_stage_t,
target_stage_mask: iree_hal_execution_stage_t,
memory_barrier_count: iree_host_size_t,
memory_barriers: *const iree_hal_memory_barrier_t,
buffer_barrier_count: iree_host_size_t,
buffer_barriers: *const iree_hal_buffer_barrier_t,
) -> iree_status_t,
>,
pub advise_buffer: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
buffer_ref: iree_hal_buffer_ref_t,
flags: iree_hal_memory_advise_flags_t,
arg0: u64,
arg1: u64,
) -> iree_status_t,
>,
pub fill_buffer: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
target_ref: iree_hal_buffer_ref_t,
pattern: *const core::ffi::c_void,
pattern_length: iree_host_size_t,
flags: iree_hal_fill_flags_t,
) -> iree_status_t,
>,
pub update_buffer: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
source_buffer: *const core::ffi::c_void,
source_offset: iree_host_size_t,
target_ref: iree_hal_buffer_ref_t,
flags: iree_hal_update_flags_t,
) -> iree_status_t,
>,
pub copy_buffer: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
source_ref: iree_hal_buffer_ref_t,
target_ref: iree_hal_buffer_ref_t,
flags: iree_hal_copy_flags_t,
) -> iree_status_t,
>,
pub collective: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
channel: *mut iree_hal_channel_t,
op: iree_hal_collective_op_t,
param: u32,
send_ref: iree_hal_buffer_ref_t,
recv_ref: iree_hal_buffer_ref_t,
element_count: iree_device_size_t,
) -> iree_status_t,
>,
pub dispatch: ::core::option::Option<
unsafe extern "C" fn(
command_buffer: *mut iree_hal_command_buffer_t,
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
config: iree_hal_dispatch_config_t,
constants: iree_const_byte_span_t,
bindings: iree_hal_buffer_ref_list_t,
flags: iree_hal_dispatch_flags_t,
) -> iree_status_t,
>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_command_buffer_t {
pub resource: iree_hal_resource_t,
pub mode: iree_hal_command_buffer_mode_t,
pub allowed_categories: iree_hal_command_category_t,
pub queue_affinity: iree_hal_queue_affinity_t,
pub binding_capacity: u32,
pub binding_count: u32,
pub validation_state: *mut core::ffi::c_void,
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_validation_state_size(
mode: iree_hal_command_buffer_mode_t,
binding_capacity: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_initialize(
device_allocator: *mut iree_hal_allocator_t,
mode: iree_hal_command_buffer_mode_t,
command_categories: iree_hal_command_category_t,
queue_affinity: iree_hal_queue_affinity_t,
binding_capacity: iree_host_size_t,
validation_state: *mut core::ffi::c_void,
vtable: *const iree_hal_command_buffer_vtable_t,
command_buffer: *mut iree_hal_command_buffer_t,
);
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_destroy(command_buffer: *mut iree_hal_command_buffer_t);
}
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA:
iree_hal_executable_caching_mode_bits_t = 1;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING:
iree_hal_executable_caching_mode_bits_t = 2;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION:
iree_hal_executable_caching_mode_bits_t = 4;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING:
iree_hal_executable_caching_mode_bits_t = 8;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE:
iree_hal_executable_caching_mode_bits_t = 16;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING:
iree_hal_executable_caching_mode_bits_t = 32;
pub const IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION:
iree_hal_executable_caching_mode_bits_t = 64;
pub type iree_hal_executable_caching_mode_bits_t = core::ffi::c_uint;
pub type iree_hal_executable_caching_mode_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_params_t {
pub queue_affinity: iree_hal_queue_affinity_t,
pub caching_mode: iree_hal_executable_caching_mode_t,
pub executable_format: iree_string_view_t,
pub executable_data: iree_const_byte_span_t,
pub constant_count: iree_host_size_t,
pub constants: *const u32,
}
unsafe extern "C" {
pub fn iree_hal_executable_params_initialize(
out_executable_params: *mut iree_hal_executable_params_t,
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_cache_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_create(
device: *mut iree_hal_device_t,
identifier: iree_string_view_t,
loop_: iree_loop_t,
out_executable_cache: *mut *mut iree_hal_executable_cache_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_retain(executable_cache: *mut iree_hal_executable_cache_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_release(executable_cache: *mut iree_hal_executable_cache_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_infer_format(
executable_cache: *mut iree_hal_executable_cache_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_data: iree_const_byte_span_t,
executable_format_capacity: iree_host_size_t,
executable_format: *mut core::ffi::c_char,
out_inferred_size: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_can_prepare_format(
executable_cache: *mut iree_hal_executable_cache_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_format: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_prepare_executable(
executable_cache: *mut iree_hal_executable_cache_t,
executable_params: *const iree_hal_executable_params_t,
out_executable: *mut *mut iree_hal_executable_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_cache_vtable_t {
pub destroy: ::core::option::Option<
unsafe extern "C" fn(executable_cache: *mut iree_hal_executable_cache_t),
>,
pub infer_format: ::core::option::Option<
unsafe extern "C" fn(
executable_cache: *mut iree_hal_executable_cache_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_data: iree_const_byte_span_t,
executable_format_capacity: iree_host_size_t,
executable_format: *mut core::ffi::c_char,
out_inferred_size: *mut iree_host_size_t,
) -> iree_status_t,
>,
pub can_prepare_format: ::core::option::Option<
unsafe extern "C" fn(
executable_cache: *mut iree_hal_executable_cache_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_format: iree_string_view_t,
) -> bool,
>,
pub prepare_executable: ::core::option::Option<
unsafe extern "C" fn(
executable_cache: *mut iree_hal_executable_cache_t,
executable_params: *const iree_hal_executable_params_t,
out_executable: *mut *mut iree_hal_executable_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_destroy(executable_cache: *mut iree_hal_executable_cache_t);
}
pub const IREE_HAL_SEMAPHORE_FLAG_NONE: iree_hal_semaphore_flag_bits_t = 0;
pub const IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL: iree_hal_semaphore_flag_bits_t = 1;
pub const IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT: iree_hal_semaphore_flag_bits_t = 4;
pub const IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE: iree_hal_semaphore_flag_bits_t = 8;
pub const IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS: iree_hal_semaphore_flag_bits_t = 8;
pub const IREE_HAL_SEMAPHORE_FLAG_DEFAULT: iree_hal_semaphore_flag_bits_t = 12;
pub type iree_hal_semaphore_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_semaphore_flags_t = u64;
pub const IREE_HAL_WAIT_FLAG_DEFAULT: iree_hal_wait_flag_bits_e = 0;
pub const IREE_HAL_WAIT_FLAG_ACTIVE: iree_hal_wait_flag_bits_e = 1;
pub type iree_hal_wait_flag_bits_e = core::ffi::c_uint;
pub type iree_hal_wait_flags_t = u64;
unsafe extern "C" {
#[link_name = "iree_hal_status_as_semaphore_failure__extern"]
pub fn iree_hal_status_as_semaphore_failure(status: iree_status_t) -> u64;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_failure_as_status__extern"]
pub fn iree_hal_semaphore_failure_as_status(value: u64) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_failure_free__extern"]
pub fn iree_hal_semaphore_failure_free(value: u64);
}
pub type iree_hal_semaphore_compatibility_t = u32;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE: iree_hal_semaphore_compatibility_bits_t = 0;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT: iree_hal_semaphore_compatibility_bits_t = 1;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT: iree_hal_semaphore_compatibility_bits_t = 2;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL: iree_hal_semaphore_compatibility_bits_t = 4;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL: iree_hal_semaphore_compatibility_bits_t =
8;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY: iree_hal_semaphore_compatibility_bits_t = 5;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY: iree_hal_semaphore_compatibility_bits_t =
10;
pub const IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL: iree_hal_semaphore_compatibility_bits_t = 15;
pub type iree_hal_semaphore_compatibility_bits_t = core::ffi::c_uint;
unsafe extern "C" {
pub fn iree_hal_semaphore_compatibility_parse(
value: iree_string_view_t,
out_value: *mut iree_hal_semaphore_compatibility_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_compatibility_format(
value: iree_hal_semaphore_compatibility_t,
out_temp: *mut iree_bitfield_string_temp_t,
) -> iree_string_view_t;
}
pub const IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE: iree_hal_external_timepoint_type_e = 0;
pub const IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_WAIT_PRIMITIVE: iree_hal_external_timepoint_type_e = 1;
pub const IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT: iree_hal_external_timepoint_type_e = 2;
pub const IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT: iree_hal_external_timepoint_type_e = 3;
pub type iree_hal_external_timepoint_type_e = core::ffi::c_uint;
pub use self::iree_hal_external_timepoint_type_e as iree_hal_external_timepoint_type_t;
pub const IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE: iree_hal_external_timepoint_flag_bits_t = 0;
pub type iree_hal_external_timepoint_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_external_timepoint_flags_t = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_hal_external_timepoint_t {
pub type_: iree_hal_external_timepoint_type_t,
pub flags: iree_hal_external_timepoint_flags_t,
pub compatibility: iree_hal_semaphore_compatibility_t,
pub handle: iree_hal_external_timepoint_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_hal_external_timepoint_t__bindgen_ty_1 {
pub wait_primitive: iree_wait_primitive_t,
pub cuda_event: *mut core::ffi::c_void,
pub hip_event: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_semaphore_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_semaphore_create(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
initial_value: u64,
flags: iree_hal_semaphore_flags_t,
out_semaphore: *mut *mut iree_hal_semaphore_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_retain(semaphore: *mut iree_hal_semaphore_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_release(semaphore: *mut iree_hal_semaphore_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_query(
semaphore: *mut iree_hal_semaphore_t,
out_value: *mut u64,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_signal(
semaphore: *mut iree_hal_semaphore_t,
new_value: u64,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_fail(semaphore: *mut iree_hal_semaphore_t, status: iree_status_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_wait(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_await(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
) -> iree_wait_source_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_import_timepoint(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
queue_affinity: iree_hal_queue_affinity_t,
external_timepoint: iree_hal_external_timepoint_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_export_timepoint(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
queue_affinity: iree_hal_queue_affinity_t,
requested_type: iree_hal_external_timepoint_type_t,
requested_flags: iree_hal_external_timepoint_flags_t,
out_external_timepoint: *mut iree_hal_external_timepoint_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_semaphore_list_t {
pub count: iree_host_size_t,
pub semaphores: *mut *mut iree_hal_semaphore_t,
pub payload_values: *mut u64,
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_list_empty__extern"]
pub fn iree_hal_semaphore_list_empty() -> iree_hal_semaphore_list_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_list_is_empty__extern"]
pub fn iree_hal_semaphore_list_is_empty(semaphore_list: iree_hal_semaphore_list_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_retain(semaphore_list: iree_hal_semaphore_list_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_release(semaphore_list: iree_hal_semaphore_list_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_poll(semaphore_list: iree_hal_semaphore_list_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_signal(
semaphore_list: iree_hal_semaphore_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_fail(
semaphore_list: iree_hal_semaphore_list_t,
signal_status: iree_status_t,
);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_wait(
semaphore_list: iree_hal_semaphore_list_t,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_semaphore_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(semaphore: *mut iree_hal_semaphore_t)>,
pub query: ::core::option::Option<
unsafe extern "C" fn(
semaphore: *mut iree_hal_semaphore_t,
out_value: *mut u64,
) -> iree_status_t,
>,
pub signal: ::core::option::Option<
unsafe extern "C" fn(semaphore: *mut iree_hal_semaphore_t, new_value: u64) -> iree_status_t,
>,
pub fail: ::core::option::Option<
unsafe extern "C" fn(semaphore: *mut iree_hal_semaphore_t, status: iree_status_t),
>,
pub wait: ::core::option::Option<
unsafe extern "C" fn(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t,
>,
pub import_timepoint: ::core::option::Option<
unsafe extern "C" fn(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
queue_affinity: iree_hal_queue_affinity_t,
external_timepoint: iree_hal_external_timepoint_t,
) -> iree_status_t,
>,
pub export_timepoint: ::core::option::Option<
unsafe extern "C" fn(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
queue_affinity: iree_hal_queue_affinity_t,
requested_type: iree_hal_external_timepoint_type_t,
requested_flags: iree_hal_external_timepoint_flags_t,
out_external_timepoint: *mut iree_hal_external_timepoint_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_semaphore_destroy(semaphore: *mut iree_hal_semaphore_t);
}
unsafe extern "C" {
pub fn iree_hal_semaphore_list_erase(
semaphore_list: *mut iree_hal_semaphore_list_t,
i: iree_host_size_t,
);
}
#[repr(C)]
pub struct iree_hal_fence_t {
pub ref_count: iree_atomic_ref_count_t,
pub host_allocator: iree_allocator_t,
pub capacity: u16,
pub count: u16,
}
unsafe extern "C" {
pub fn iree_hal_fence_create(
capacity: iree_host_size_t,
host_allocator: iree_allocator_t,
out_fence: *mut *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_create_at(
semaphore: *mut iree_hal_semaphore_t,
value: u64,
host_allocator: iree_allocator_t,
out_fence: *mut *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_join(
fence_count: iree_host_size_t,
fences: *mut *mut iree_hal_fence_t,
host_allocator: iree_allocator_t,
out_fence: *mut *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_retain(fence: *mut iree_hal_fence_t);
}
unsafe extern "C" {
pub fn iree_hal_fence_release(fence: *mut iree_hal_fence_t);
}
unsafe extern "C" {
pub fn iree_hal_fence_semaphore_list(fence: *mut iree_hal_fence_t)
-> iree_hal_semaphore_list_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_timepoint_count(fence: *const iree_hal_fence_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_insert(
fence: *mut iree_hal_fence_t,
semaphore: *mut iree_hal_semaphore_t,
value: u64,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_extend(
into_fence: *mut iree_hal_fence_t,
from_fence: *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_query(fence: *mut iree_hal_fence_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_signal(fence: *mut iree_hal_fence_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_fail(fence: *mut iree_hal_fence_t, signal_status: iree_status_t);
}
unsafe extern "C" {
pub fn iree_hal_fence_wait(
fence: *mut iree_hal_fence_t,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_await(fence: *mut iree_hal_fence_t) -> iree_wait_source_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_destroy(fence: *mut iree_hal_fence_t);
}
pub type iree_io_file_access_t = u32;
pub const IREE_IO_FILE_ACCESS_READ: iree_io_file_access_bits_t = 1;
pub const IREE_IO_FILE_ACCESS_WRITE: iree_io_file_access_bits_t = 2;
pub type iree_io_file_access_bits_t = core::ffi::c_uint;
pub const IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION: iree_io_file_handle_type_e = 0;
pub const IREE_IO_FILE_HANDLE_TYPE_FD: iree_io_file_handle_type_e = 1;
pub type iree_io_file_handle_type_e = core::ffi::c_uint;
pub use self::iree_io_file_handle_type_e as iree_io_file_handle_type_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_io_file_handle_primitive_value_t {
pub host_allocation: iree_byte_span_t,
pub fd: core::ffi::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_io_file_handle_primitive_t {
pub type_: iree_io_file_handle_type_t,
pub value: iree_io_file_handle_primitive_value_t,
}
pub type iree_io_file_handle_release_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
handle_primitive: iree_io_file_handle_primitive_t,
),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_io_file_handle_release_callback_t {
pub fn_: iree_io_file_handle_release_fn_t,
pub user_data: *mut core::ffi::c_void,
}
unsafe extern "C" {
#[link_name = "iree_io_file_handle_release_callback_null__extern"]
pub fn iree_io_file_handle_release_callback_null() -> iree_io_file_handle_release_callback_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_io_file_handle_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_io_file_handle_wrap(
allowed_access: iree_io_file_access_t,
handle_primitive: iree_io_file_handle_primitive_t,
release_callback: iree_io_file_handle_release_callback_t,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_wrap_host_allocation(
allowed_access: iree_io_file_access_t,
host_allocation: iree_byte_span_t,
release_callback: iree_io_file_handle_release_callback_t,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_retain(handle: *mut iree_io_file_handle_t);
}
unsafe extern "C" {
pub fn iree_io_file_handle_release(handle: *mut iree_io_file_handle_t);
}
unsafe extern "C" {
pub fn iree_io_file_handle_access(
handle: *const iree_io_file_handle_t,
) -> iree_io_file_access_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_primitive(
handle: *const iree_io_file_handle_t,
) -> iree_io_file_handle_primitive_t;
}
unsafe extern "C" {
#[link_name = "iree_io_file_handle_type__extern"]
pub fn iree_io_file_handle_type(
handle: *const iree_io_file_handle_t,
) -> iree_io_file_handle_type_t;
}
unsafe extern "C" {
#[link_name = "iree_io_file_handle_value__extern"]
pub fn iree_io_file_handle_value(
handle: *const iree_io_file_handle_t,
) -> iree_io_file_handle_primitive_value_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_flush(handle: *mut iree_io_file_handle_t) -> iree_status_t;
}
pub type iree_io_file_mode_t = u64;
pub const IREE_IO_FILE_MODE_READ: iree_io_file_mode_bits_t = 1;
pub const IREE_IO_FILE_MODE_WRITE: iree_io_file_mode_bits_t = 2;
pub const IREE_IO_FILE_MODE_RANDOM_ACCESS: iree_io_file_mode_bits_t = 4;
pub const IREE_IO_FILE_MODE_SEQUENTIAL_SCAN: iree_io_file_mode_bits_t = 8;
pub const IREE_IO_FILE_MODE_DIRECT: iree_io_file_mode_bits_t = 16;
pub const IREE_IO_FILE_MODE_TEMPORARY: iree_io_file_mode_bits_t = 32;
pub const IREE_IO_FILE_MODE_SHARE_READ: iree_io_file_mode_bits_t = 64;
pub const IREE_IO_FILE_MODE_SHARE_WRITE: iree_io_file_mode_bits_t = 128;
pub const IREE_IO_FILE_MODE_OVERWRITE: iree_io_file_mode_bits_t = 256;
pub type iree_io_file_mode_bits_t = core::ffi::c_uint;
unsafe extern "C" {
pub fn iree_io_file_handle_create(
mode: iree_io_file_mode_t,
path: iree_string_view_t,
initial_size: u64,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_open(
mode: iree_io_file_mode_t,
path: iree_string_view_t,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_open_fd(
mode: iree_io_file_mode_t,
fd: core::ffi::c_int,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_handle_preload(
mode: iree_io_file_mode_t,
path: iree_string_view_t,
host_allocator: iree_allocator_t,
out_handle: *mut *mut iree_io_file_handle_t,
) -> iree_status_t;
}
pub type iree_io_file_mapping_flags_t = u64;
pub const IREE_IO_FILE_MAPPING_FLAG_NONE: iree_io_file_mapping_flag_bits_t = 0;
pub const IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS: iree_io_file_mapping_flag_bits_t = 1;
pub const IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES: iree_io_file_mapping_flag_bits_t = 2;
pub const IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS: iree_io_file_mapping_flag_bits_t = 4;
pub const IREE_IO_FILE_MAPPING_FLAG_PRIVATE: iree_io_file_mapping_flag_bits_t = 8;
pub type iree_io_file_mapping_flag_bits_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_io_file_mapping_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_io_file_map_view(
handle: *mut iree_io_file_handle_t,
access: iree_io_file_access_t,
offset: u64,
length: iree_host_size_t,
flags: iree_io_file_mapping_flags_t,
host_allocator: iree_allocator_t,
out_mapping: *mut *mut iree_io_file_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_io_file_mapping_retain(mapping: *mut iree_io_file_mapping_t);
}
unsafe extern "C" {
pub fn iree_io_file_mapping_release(mapping: *mut iree_io_file_mapping_t);
}
unsafe extern "C" {
pub fn iree_io_file_mapping_length(mapping: *const iree_io_file_mapping_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_io_file_mapping_contents_ro(
mapping: *const iree_io_file_mapping_t,
) -> iree_const_byte_span_t;
}
unsafe extern "C" {
pub fn iree_io_file_mapping_contents_rw(
mapping: *mut iree_io_file_mapping_t,
) -> iree_byte_span_t;
}
pub const IREE_HAL_FILE_MODE_OPEN: iree_hal_file_mode_bits_t = 1;
pub type iree_hal_file_mode_bits_t = core::ffi::c_uint;
pub type iree_hal_file_mode_t = u32;
pub const IREE_HAL_EXTERNAL_FILE_FLAG_NONE: iree_hal_external_file_flag_bits_t = 0;
pub type iree_hal_external_file_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_external_file_flags_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_file_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_file_import(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
access: iree_hal_memory_access_t,
handle: *mut iree_io_file_handle_t,
flags: iree_hal_external_file_flags_t,
out_file: *mut *mut iree_hal_file_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_file_retain(file: *mut iree_hal_file_t);
}
unsafe extern "C" {
pub fn iree_hal_file_release(file: *mut iree_hal_file_t);
}
unsafe extern "C" {
pub fn iree_hal_file_allowed_access(file: *mut iree_hal_file_t) -> iree_hal_memory_access_t;
}
unsafe extern "C" {
pub fn iree_hal_file_length(file: *mut iree_hal_file_t) -> u64;
}
unsafe extern "C" {
pub fn iree_hal_file_storage_buffer(file: *mut iree_hal_file_t) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_file_supports_synchronous_io(file: *mut iree_hal_file_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_file_read(
file: *mut iree_hal_file_t,
file_offset: u64,
buffer: *mut iree_hal_buffer_t,
buffer_offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_file_write(
file: *mut iree_hal_file_t,
file_offset: u64,
buffer: *mut iree_hal_buffer_t,
buffer_offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_file_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(file: *mut iree_hal_file_t)>,
pub allowed_access: ::core::option::Option<
unsafe extern "C" fn(file: *mut iree_hal_file_t) -> iree_hal_memory_access_t,
>,
pub length: ::core::option::Option<unsafe extern "C" fn(file: *mut iree_hal_file_t) -> u64>,
pub storage_buffer: ::core::option::Option<
unsafe extern "C" fn(file: *mut iree_hal_file_t) -> *mut iree_hal_buffer_t,
>,
pub supports_synchronous_io:
::core::option::Option<unsafe extern "C" fn(file: *mut iree_hal_file_t) -> bool>,
pub read: ::core::option::Option<
unsafe extern "C" fn(
file: *mut iree_hal_file_t,
file_offset: u64,
buffer: *mut iree_hal_buffer_t,
buffer_offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_status_t,
>,
pub write: ::core::option::Option<
unsafe extern "C" fn(
file: *mut iree_hal_file_t,
file_offset: u64,
buffer: *mut iree_hal_buffer_t,
buffer_offset: iree_device_size_t,
length: iree_device_size_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_file_destroy(file: *mut iree_hal_file_t);
}
pub type iree_hal_topology_device_bitmap_t = u32;
pub type iree_hal_topology_edge_scheduling_word_t = u64;
pub type iree_hal_topology_edge_interop_word_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_topology_edge_t {
pub lo: iree_hal_topology_edge_scheduling_word_t,
pub hi: iree_hal_topology_edge_interop_word_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_empty__extern"]
pub fn iree_hal_topology_edge_empty() -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_is_empty__extern"]
pub fn iree_hal_topology_edge_is_empty(edge: iree_hal_topology_edge_t) -> bool;
}
pub const IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE: iree_hal_topology_interop_mode_bits_t = 0;
pub const IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT: iree_hal_topology_interop_mode_bits_t = 1;
pub const IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY: iree_hal_topology_interop_mode_bits_t = 2;
pub const IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE: iree_hal_topology_interop_mode_bits_t = 3;
pub type iree_hal_topology_interop_mode_bits_t = core::ffi::c_uint;
pub type iree_hal_topology_interop_mode_t = u8;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE: iree_hal_topology_link_class_bits_t = 0;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF: iree_hal_topology_link_class_bits_t = 1;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT: iree_hal_topology_link_class_bits_t = 2;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT: iree_hal_topology_link_class_bits_t = 3;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED: iree_hal_topology_link_class_bits_t = 4;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC: iree_hal_topology_link_class_bits_t = 5;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER: iree_hal_topology_link_class_bits_t = 6;
pub const IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED: iree_hal_topology_link_class_bits_t = 7;
pub type iree_hal_topology_link_class_bits_t = core::ffi::c_uint;
pub type iree_hal_topology_link_class_t = u8;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE: iree_hal_topology_handle_type_bits_t = 0;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE: iree_hal_topology_handle_type_bits_t = 1;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD: iree_hal_topology_handle_type_bits_t = 2;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32: iree_hal_topology_handle_type_bits_t = 4;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF: iree_hal_topology_handle_type_bits_t = 8;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR: iree_hal_topology_handle_type_bits_t = 16;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM: iree_hal_topology_handle_type_bits_t = 32;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE: iree_hal_topology_handle_type_bits_t = 64;
pub const IREE_HAL_TOPOLOGY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER:
iree_hal_topology_handle_type_bits_t = 128;
pub type iree_hal_topology_handle_type_bits_t = core::ffi::c_uint;
pub type iree_hal_topology_handle_type_t = u8;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_NONE: iree_hal_topology_capability_bits_t = 0;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN: iree_hal_topology_capability_bits_t = 1;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY: iree_hal_topology_capability_bits_t = 2;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT: iree_hal_topology_capability_bits_t = 4;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT: iree_hal_topology_capability_bits_t = 8;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY: iree_hal_topology_capability_bits_t = 16;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE: iree_hal_topology_capability_bits_t = 32;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE: iree_hal_topology_capability_bits_t = 64;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM: iree_hal_topology_capability_bits_t = 128;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE: iree_hal_topology_capability_bits_t =
256;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY: iree_hal_topology_capability_bits_t =
512;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA: iree_hal_topology_capability_bits_t = 1024;
pub const IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS: iree_hal_topology_capability_bits_t =
2048;
pub type iree_hal_topology_capability_bits_t = core::ffi::c_uint;
pub type iree_hal_topology_capability_t = u16;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_resource_origin_t {
pub self_edge: iree_hal_topology_edge_scheduling_word_t,
pub topology_index: u32,
}
unsafe extern "C" {
#[link_name = "iree_hal_resource_origin_undefined__extern"]
pub fn iree_hal_resource_origin_undefined() -> iree_hal_resource_origin_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_topology_t {
pub device_count: u32,
pub edges: [iree_hal_topology_edge_t; 1024usize],
pub numa_nodes: [u8; 32usize],
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_empty__extern"]
pub fn iree_hal_topology_empty() -> iree_hal_topology_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_is_empty__extern"]
pub fn iree_hal_topology_is_empty(topology: *const iree_hal_topology_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_device_count__extern"]
pub fn iree_hal_topology_device_count(topology: *const iree_hal_topology_t) -> u32;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_query_edge__extern"]
pub fn iree_hal_topology_query_edge(
topology: *const iree_hal_topology_t,
src_ordinal: u32,
dst_ordinal: u32,
) -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_wait_mode__extern"]
pub fn iree_hal_topology_edge_wait_mode(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_interop_mode_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_signal_mode__extern"]
pub fn iree_hal_topology_edge_signal_mode(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_interop_mode_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_buffer_read_mode__extern"]
pub fn iree_hal_topology_edge_buffer_read_mode(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_interop_mode_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_buffer_write_mode__extern"]
pub fn iree_hal_topology_edge_buffer_write_mode(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_interop_mode_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_capability_flags__extern"]
pub fn iree_hal_topology_edge_capability_flags(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_capability_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_wait_cost__extern"]
pub fn iree_hal_topology_edge_wait_cost(word: iree_hal_topology_edge_scheduling_word_t) -> u8;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_signal_cost__extern"]
pub fn iree_hal_topology_edge_signal_cost(word: iree_hal_topology_edge_scheduling_word_t)
-> u8;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_copy_cost__extern"]
pub fn iree_hal_topology_edge_copy_cost(word: iree_hal_topology_edge_scheduling_word_t) -> u8;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_latency_class__extern"]
pub fn iree_hal_topology_edge_latency_class(
word: iree_hal_topology_edge_scheduling_word_t,
) -> u8;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_numa_distance__extern"]
pub fn iree_hal_topology_edge_numa_distance(
word: iree_hal_topology_edge_scheduling_word_t,
) -> u8;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_link_class__extern"]
pub fn iree_hal_topology_edge_link_class(
word: iree_hal_topology_edge_scheduling_word_t,
) -> iree_hal_topology_link_class_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_semaphore_import_types__extern"]
pub fn iree_hal_topology_edge_semaphore_import_types(
word: iree_hal_topology_edge_interop_word_t,
) -> iree_hal_topology_handle_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_semaphore_export_types__extern"]
pub fn iree_hal_topology_edge_semaphore_export_types(
word: iree_hal_topology_edge_interop_word_t,
) -> iree_hal_topology_handle_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_buffer_import_types__extern"]
pub fn iree_hal_topology_edge_buffer_import_types(
word: iree_hal_topology_edge_interop_word_t,
) -> iree_hal_topology_handle_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_buffer_export_types__extern"]
pub fn iree_hal_topology_edge_buffer_export_types(
word: iree_hal_topology_edge_interop_word_t,
) -> iree_hal_topology_handle_type_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_edge_from_capabilities(
src_caps: *const iree_hal_device_capabilities_t,
dst_caps: *const iree_hal_device_capabilities_t,
src_driver_name: iree_string_view_t,
dst_driver_name: iree_string_view_t,
) -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_edge_format(
edge: iree_hal_topology_edge_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_dump_matrix(
topology: *const iree_hal_topology_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
pub type iree_hal_device_id_t = usize;
pub type iree_hal_device_feature_t = u64;
pub const IREE_HAL_DEVICE_FEATURE_NONE: iree_hal_device_feature_bits_t = 0;
pub const IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING: iree_hal_device_feature_bits_t = 1;
pub const IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE: iree_hal_device_feature_bits_t = 2;
pub const IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING: iree_hal_device_feature_bits_t = 4;
pub type iree_hal_device_feature_bits_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_info_t {
pub device_id: iree_hal_device_id_t,
pub path: iree_string_view_t,
pub name: iree_string_view_t,
}
pub type iree_hal_device_profiling_mode_t = u64;
pub const IREE_HAL_DEVICE_PROFILING_MODE_NONE: iree_hal_device_profiling_mode_bits_t = 0;
pub const IREE_HAL_DEVICE_PROFILING_MODE_QUEUE_OPERATIONS: iree_hal_device_profiling_mode_bits_t =
1;
pub const IREE_HAL_DEVICE_PROFILING_MODE_DISPATCH_COUNTERS: iree_hal_device_profiling_mode_bits_t =
2;
pub const IREE_HAL_DEVICE_PROFILING_MODE_EXECUTABLE_COUNTERS:
iree_hal_device_profiling_mode_bits_t = 4;
pub type iree_hal_device_profiling_mode_bits_t = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_profiling_options_t {
pub mode: iree_hal_device_profiling_mode_t,
pub file_path: *const core::ffi::c_char,
}
pub type iree_hal_alloca_flags_t = u64;
pub const IREE_HAL_ALLOCA_FLAG_NONE: iree_hal_alloca_flag_bits_t = 0;
pub const IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME: iree_hal_alloca_flag_bits_t = 1;
pub type iree_hal_alloca_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_dealloca_flags_t = u64;
pub const IREE_HAL_DEALLOCA_FLAG_NONE: iree_hal_dealloca_flag_bits_t = 0;
pub const IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN: iree_hal_dealloca_flag_bits_t = 1;
pub type iree_hal_dealloca_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_read_flags_t = u64;
pub const IREE_HAL_READ_FLAG_NONE: iree_hal_read_flag_bits_t = 0;
pub type iree_hal_read_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_write_flags_t = u64;
pub const IREE_HAL_WRITE_FLAG_NONE: iree_hal_write_flag_bits_t = 0;
pub type iree_hal_write_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_host_call_flags_t = u64;
pub const IREE_HAL_HOST_CALL_FLAG_NONE: iree_hal_host_call_flag_bits_e = 0;
pub const IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING: iree_hal_host_call_flag_bits_e = 1;
pub const IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE: iree_hal_host_call_flag_bits_e = 2;
pub const IREE_HAL_HOST_CALL_FLAG_RELAXED: iree_hal_host_call_flag_bits_e = 4;
pub type iree_hal_host_call_flag_bits_e = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_host_call_context_t {
pub device: *mut iree_hal_device_t,
pub queue_affinity: iree_hal_queue_affinity_t,
pub signal_semaphore_list: iree_hal_semaphore_list_t,
}
pub type iree_hal_host_call_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
args: *const u64,
context: *mut iree_hal_host_call_context_t,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_host_call_t {
pub fn_: iree_hal_host_call_fn_t,
pub user_data: *mut core::ffi::c_void,
}
unsafe extern "C" {
#[link_name = "iree_hal_make_host_call__extern"]
pub fn iree_hal_make_host_call(
fn_: iree_hal_host_call_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_hal_host_call_t;
}
pub type iree_hal_execute_flags_t = u64;
pub const IREE_HAL_EXECUTE_FLAG_NONE: iree_hal_execute_flag_bits_t = 0;
pub type iree_hal_execute_flag_bits_t = core::ffi::c_uint;
pub const IREE_HAL_WAIT_MODE_ALL: iree_hal_wait_mode_e = 0;
pub const IREE_HAL_WAIT_MODE_ANY: iree_hal_wait_mode_e = 1;
pub type iree_hal_wait_mode_e = core::ffi::c_uint;
pub use self::iree_hal_wait_mode_e as iree_hal_wait_mode_t;
pub type iree_hal_device_capability_bits_t = u64;
pub const IREE_HAL_DEVICE_CAPABILITY_NONE: iree_hal_device_capability_bits_e = 0;
pub const IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES: iree_hal_device_capability_bits_e = 1;
pub const IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY: iree_hal_device_capability_bits_e = 2;
pub const IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT: iree_hal_device_capability_bits_e = 4;
pub const IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT: iree_hal_device_capability_bits_e = 8;
pub const IREE_HAL_DEVICE_CAPABILITY_P2P_COPY: iree_hal_device_capability_bits_e = 16;
pub const IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK: iree_hal_device_capability_bits_e = 32;
pub const IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE: iree_hal_device_capability_bits_e = 1024;
pub const IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE: iree_hal_device_capability_bits_e = 64;
pub const IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE: iree_hal_device_capability_bits_e = 128;
pub const IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM: iree_hal_device_capability_bits_e = 256;
pub const IREE_HAL_DEVICE_CAPABILITY_ISOLATED: iree_hal_device_capability_bits_e = 512;
pub type iree_hal_device_capability_bits_e = core::ffi::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_capabilities_t {
pub flags: iree_hal_device_capability_bits_t,
pub semaphore_export_types: iree_hal_topology_handle_type_t,
pub semaphore_import_types: iree_hal_topology_handle_type_t,
pub buffer_export_types: iree_hal_topology_handle_type_t,
pub buffer_import_types: iree_hal_topology_handle_type_t,
pub numa_node: u8,
pub reserved: [u8; 3usize],
pub physical_device_uuid: [u8; 16usize],
pub has_physical_device_uuid: bool,
pub driver_device_handle: usize,
pub device_group_index: u32,
pub has_device_group: bool,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_topology_info_t {
pub self_edge: iree_hal_topology_edge_scheduling_word_t,
pub topology_index: u32,
pub topology: *const iree_hal_topology_t,
pub can_wait_from: iree_hal_topology_device_bitmap_t,
pub can_signal_to: iree_hal_topology_device_bitmap_t,
pub can_import_from: iree_hal_topology_device_bitmap_t,
pub can_p2p_with: iree_hal_topology_device_bitmap_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_device_topology_query_edge__extern"]
pub fn iree_hal_device_topology_query_edge(
src_info: *const iree_hal_device_topology_info_t,
dst_info: *const iree_hal_device_topology_info_t,
) -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
pub fn iree_hal_device_retain(device: *mut iree_hal_device_t);
}
unsafe extern "C" {
pub fn iree_hal_device_release(device: *mut iree_hal_device_t);
}
unsafe extern "C" {
pub fn iree_hal_device_id(device: *mut iree_hal_device_t) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_hal_device_host_allocator(device: *mut iree_hal_device_t) -> iree_allocator_t;
}
unsafe extern "C" {
pub fn iree_hal_device_allocator(device: *mut iree_hal_device_t) -> *mut iree_hal_allocator_t;
}
unsafe extern "C" {
pub fn iree_hal_device_replace_allocator(
device: *mut iree_hal_device_t,
new_allocator: *mut iree_hal_allocator_t,
);
}
unsafe extern "C" {
pub fn iree_hal_device_replace_channel_provider(
device: *mut iree_hal_device_t,
new_provider: *mut iree_hal_channel_provider_t,
);
}
unsafe extern "C" {
pub fn iree_hal_device_trim(device: *mut iree_hal_device_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_query_i64(
device: *mut iree_hal_device_t,
category: iree_string_view_t,
key: iree_string_view_t,
out_value: *mut i64,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_query_capabilities(
device: *mut iree_hal_device_t,
out_capabilities: *mut iree_hal_device_capabilities_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_topology_info(
device: *mut iree_hal_device_t,
) -> *const iree_hal_device_topology_info_t;
}
unsafe extern "C" {
pub fn iree_hal_device_refine_topology_edge(
src_device: *mut iree_hal_device_t,
dst_device: *mut iree_hal_device_t,
edge: *mut iree_hal_topology_edge_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_assign_topology_info(
device: *mut iree_hal_device_t,
topology_info: *const iree_hal_device_topology_info_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_query_semaphore_compatibility(
device: *mut iree_hal_device_t,
semaphore: *mut iree_hal_semaphore_t,
) -> iree_hal_semaphore_compatibility_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_alloca(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
pool: iree_hal_allocator_pool_t,
params: iree_hal_buffer_params_t,
allocation_size: iree_device_size_t,
flags: iree_hal_alloca_flags_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_dealloca(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
buffer: *mut iree_hal_buffer_t,
flags: iree_hal_dealloca_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_fill(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
pattern: *const core::ffi::c_void,
pattern_length: iree_host_size_t,
flags: iree_hal_fill_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_update(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *const core::ffi::c_void,
source_offset: iree_host_size_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_update_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_copy(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_copy_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_read(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_file: *mut iree_hal_file_t,
source_offset: u64,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_read_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_write(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_file: *mut iree_hal_file_t,
target_offset: u64,
length: iree_device_size_t,
flags: iree_hal_write_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_host_call(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
call: iree_hal_host_call_t,
args: *const u64,
flags: iree_hal_host_call_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_dispatch(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
config: iree_hal_dispatch_config_t,
constants: iree_const_byte_span_t,
bindings: iree_hal_buffer_ref_list_t,
flags: iree_hal_dispatch_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_execute(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
command_buffer: *mut iree_hal_command_buffer_t,
binding_table: iree_hal_buffer_binding_table_t,
flags: iree_hal_execute_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_barrier(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
flags: iree_hal_execute_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_queue_flush(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_wait_semaphores(
device: *mut iree_hal_device_t,
wait_mode: iree_hal_wait_mode_t,
semaphore_list: iree_hal_semaphore_list_t,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_profiling_begin(
device: *mut iree_hal_device_t,
options: *const iree_hal_device_profiling_options_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_profiling_flush(device: *mut iree_hal_device_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_profiling_end(device: *mut iree_hal_device_t) -> iree_status_t;
}
#[repr(C)]
pub struct iree_hal_device_list_t {
pub host_allocator: iree_allocator_t,
pub capacity: iree_host_size_t,
pub count: iree_host_size_t,
pub devices: __IncompleteArrayField<*mut iree_hal_device_t>,
}
unsafe extern "C" {
pub fn iree_hal_device_list_allocate(
capacity: iree_host_size_t,
host_allocator: iree_allocator_t,
out_list: *mut *mut iree_hal_device_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_list_free(list: *mut iree_hal_device_list_t);
}
unsafe extern "C" {
pub fn iree_hal_device_list_push_back(
list: *mut iree_hal_device_list_t,
device: *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_list_at(
list: *const iree_hal_device_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_device_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(device: *mut iree_hal_device_t)>,
pub id: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> iree_string_view_t,
>,
pub host_allocator: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> iree_allocator_t,
>,
pub device_allocator: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> *mut iree_hal_allocator_t,
>,
pub replace_device_allocator: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
new_allocator: *mut iree_hal_allocator_t,
),
>,
pub replace_channel_provider: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
new_provider: *mut iree_hal_channel_provider_t,
),
>,
pub trim: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> iree_status_t,
>,
pub query_i64: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
category: iree_string_view_t,
key: iree_string_view_t,
out_value: *mut i64,
) -> iree_status_t,
>,
pub query_capabilities: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
out_capabilities: *mut iree_hal_device_capabilities_t,
) -> iree_status_t,
>,
pub topology_info: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
) -> *const iree_hal_device_topology_info_t,
>,
pub refine_topology_edge: ::core::option::Option<
unsafe extern "C" fn(
src_device: *mut iree_hal_device_t,
dst_device: *mut iree_hal_device_t,
edge: *mut iree_hal_topology_edge_t,
) -> iree_status_t,
>,
pub assign_topology_info: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
topology_info: *const iree_hal_device_topology_info_t,
) -> iree_status_t,
>,
pub create_channel: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
params: iree_hal_channel_params_t,
out_channel: *mut *mut iree_hal_channel_t,
) -> iree_status_t,
>,
pub create_command_buffer: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
mode: iree_hal_command_buffer_mode_t,
command_categories: iree_hal_command_category_t,
queue_affinity: iree_hal_queue_affinity_t,
binding_capacity: iree_host_size_t,
out_command_buffer: *mut *mut iree_hal_command_buffer_t,
) -> iree_status_t,
>,
pub create_event: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
flags: iree_hal_event_flags_t,
out_event: *mut *mut iree_hal_event_t,
) -> iree_status_t,
>,
pub create_executable_cache: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
identifier: iree_string_view_t,
loop_: iree_loop_t,
out_executable_cache: *mut *mut iree_hal_executable_cache_t,
) -> iree_status_t,
>,
pub import_file: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
access: iree_hal_memory_access_t,
handle: *mut iree_io_file_handle_t,
flags: iree_hal_external_file_flags_t,
out_file: *mut *mut iree_hal_file_t,
) -> iree_status_t,
>,
pub create_semaphore: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
initial_value: u64,
flags: iree_hal_semaphore_flags_t,
out_semaphore: *mut *mut iree_hal_semaphore_t,
) -> iree_status_t,
>,
pub query_semaphore_compatibility: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
semaphore: *mut iree_hal_semaphore_t,
) -> iree_hal_semaphore_compatibility_t,
>,
pub queue_alloca: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
pool: iree_hal_allocator_pool_t,
params: iree_hal_buffer_params_t,
allocation_size: iree_device_size_t,
flags: iree_hal_alloca_flags_t,
out_buffer: *mut *mut iree_hal_buffer_t,
) -> iree_status_t,
>,
pub queue_dealloca: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
buffer: *mut iree_hal_buffer_t,
flags: iree_hal_dealloca_flags_t,
) -> iree_status_t,
>,
pub queue_fill: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
pattern: *const core::ffi::c_void,
pattern_length: iree_host_size_t,
flags: iree_hal_fill_flags_t,
) -> iree_status_t,
>,
pub queue_update: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *const core::ffi::c_void,
source_offset: iree_host_size_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_update_flags_t,
) -> iree_status_t,
>,
pub queue_copy: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_copy_flags_t,
) -> iree_status_t,
>,
pub queue_read: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_file: *mut iree_hal_file_t,
source_offset: u64,
target_buffer: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
length: iree_device_size_t,
flags: iree_hal_read_flags_t,
) -> iree_status_t,
>,
pub queue_write: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
source_buffer: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target_file: *mut iree_hal_file_t,
target_offset: u64,
length: iree_device_size_t,
flags: iree_hal_write_flags_t,
) -> iree_status_t,
>,
pub queue_host_call: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
call: iree_hal_host_call_t,
args: *const u64,
flags: iree_hal_host_call_flags_t,
) -> iree_status_t,
>,
pub queue_dispatch: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
executable: *mut iree_hal_executable_t,
export_ordinal: iree_hal_executable_export_ordinal_t,
config: iree_hal_dispatch_config_t,
constants: iree_const_byte_span_t,
bindings: iree_hal_buffer_ref_list_t,
flags: iree_hal_dispatch_flags_t,
) -> iree_status_t,
>,
pub queue_execute: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
wait_semaphore_list: iree_hal_semaphore_list_t,
signal_semaphore_list: iree_hal_semaphore_list_t,
command_buffer: *mut iree_hal_command_buffer_t,
binding_table: iree_hal_buffer_binding_table_t,
flags: iree_hal_execute_flags_t,
) -> iree_status_t,
>,
pub queue_flush: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
queue_affinity: iree_hal_queue_affinity_t,
) -> iree_status_t,
>,
pub wait_semaphores: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
wait_mode: iree_hal_wait_mode_t,
semaphore_list: iree_hal_semaphore_list_t,
timeout: iree_timeout_t,
flags: iree_hal_wait_flags_t,
) -> iree_status_t,
>,
pub profiling_begin: ::core::option::Option<
unsafe extern "C" fn(
device: *mut iree_hal_device_t,
options: *const iree_hal_device_profiling_options_t,
) -> iree_status_t,
>,
pub profiling_flush: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> iree_status_t,
>,
pub profiling_end: ::core::option::Option<
unsafe extern "C" fn(device: *mut iree_hal_device_t) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_device_destroy(device: *mut iree_hal_device_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_transfer_buffer_t {
pub host_buffer: iree_byte_span_t,
pub device_buffer: *mut iree_hal_buffer_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_make_host_transfer_buffer__extern"]
pub fn iree_hal_make_host_transfer_buffer(
host_buffer: iree_byte_span_t,
) -> iree_hal_transfer_buffer_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_make_host_transfer_buffer_span__extern"]
pub fn iree_hal_make_host_transfer_buffer_span(
ptr: *mut core::ffi::c_void,
length: iree_host_size_t,
) -> iree_hal_transfer_buffer_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_make_device_transfer_buffer__extern"]
pub fn iree_hal_make_device_transfer_buffer(
device_buffer: *mut iree_hal_buffer_t,
) -> iree_hal_transfer_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_device_transfer_range(
device: *mut iree_hal_device_t,
source: iree_hal_transfer_buffer_t,
source_offset: iree_device_size_t,
target: iree_hal_transfer_buffer_t,
target_offset: iree_device_size_t,
data_length: iree_device_size_t,
flags: iree_hal_transfer_buffer_flags_t,
timeout: iree_timeout_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_transfer_h2d(
device: *mut iree_hal_device_t,
source: *const core::ffi::c_void,
target: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
data_length: iree_device_size_t,
flags: iree_hal_transfer_buffer_flags_t,
timeout: iree_timeout_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_transfer_d2h(
device: *mut iree_hal_device_t,
source: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target: *mut core::ffi::c_void,
data_length: iree_device_size_t,
flags: iree_hal_transfer_buffer_flags_t,
timeout: iree_timeout_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_transfer_d2d(
device: *mut iree_hal_device_t,
source: *mut iree_hal_buffer_t,
source_offset: iree_device_size_t,
target: *mut iree_hal_buffer_t,
target_offset: iree_device_size_t,
data_length: iree_device_size_t,
flags: iree_hal_transfer_buffer_flags_t,
timeout: iree_timeout_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_emulated_map_range(
device: *mut iree_hal_device_t,
buffer: *mut iree_hal_buffer_t,
mapping_mode: iree_hal_mapping_mode_t,
memory_access: iree_hal_memory_access_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_emulated_unmap_range(
device: *mut iree_hal_device_t,
buffer: *mut iree_hal_buffer_t,
local_byte_offset: iree_device_size_t,
local_byte_length: iree_device_size_t,
mapping: *mut iree_hal_buffer_mapping_t,
) -> iree_status_t;
}
pub const IREE_HAL_NUMERICAL_TYPE_UNKNOWN: iree_hal_numerical_type_bits_t = 0;
pub const IREE_HAL_NUMERICAL_TYPE_INTEGER: iree_hal_numerical_type_bits_t = 16;
pub const IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED: iree_hal_numerical_type_bits_t = 17;
pub const IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED: iree_hal_numerical_type_bits_t = 18;
pub const IREE_HAL_NUMERICAL_TYPE_BOOLEAN: iree_hal_numerical_type_bits_t = 19;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT: iree_hal_numerical_type_bits_t = 32;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE: iree_hal_numerical_type_bits_t = 33;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN: iree_hal_numerical_type_bits_t = 34;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX: iree_hal_numerical_type_bits_t = 35;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2: iree_hal_numerical_type_bits_t = 36;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN: iree_hal_numerical_type_bits_t = 37;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ: iree_hal_numerical_type_bits_t = 38;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ: iree_hal_numerical_type_bits_t = 39;
pub const IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU: iree_hal_numerical_type_bits_t = 40;
pub type iree_hal_numerical_type_bits_t = core::ffi::c_uint;
pub type iree_hal_numerical_type_t = u8;
pub const IREE_HAL_ELEMENT_TYPE_NONE: iree_hal_element_types_t = 0;
pub const IREE_HAL_ELEMENT_TYPE_OPAQUE_8: iree_hal_element_types_t = 8;
pub const IREE_HAL_ELEMENT_TYPE_OPAQUE_16: iree_hal_element_types_t = 16;
pub const IREE_HAL_ELEMENT_TYPE_OPAQUE_32: iree_hal_element_types_t = 32;
pub const IREE_HAL_ELEMENT_TYPE_OPAQUE_64: iree_hal_element_types_t = 64;
pub const IREE_HAL_ELEMENT_TYPE_BOOL_8: iree_hal_element_types_t = 318767112;
pub const IREE_HAL_ELEMENT_TYPE_INT_4: iree_hal_element_types_t = 268435460;
pub const IREE_HAL_ELEMENT_TYPE_SINT_4: iree_hal_element_types_t = 285212676;
pub const IREE_HAL_ELEMENT_TYPE_UINT_4: iree_hal_element_types_t = 301989892;
pub const IREE_HAL_ELEMENT_TYPE_INT_8: iree_hal_element_types_t = 268435464;
pub const IREE_HAL_ELEMENT_TYPE_SINT_8: iree_hal_element_types_t = 285212680;
pub const IREE_HAL_ELEMENT_TYPE_UINT_8: iree_hal_element_types_t = 301989896;
pub const IREE_HAL_ELEMENT_TYPE_INT_16: iree_hal_element_types_t = 268435472;
pub const IREE_HAL_ELEMENT_TYPE_SINT_16: iree_hal_element_types_t = 285212688;
pub const IREE_HAL_ELEMENT_TYPE_UINT_16: iree_hal_element_types_t = 301989904;
pub const IREE_HAL_ELEMENT_TYPE_INT_32: iree_hal_element_types_t = 268435488;
pub const IREE_HAL_ELEMENT_TYPE_SINT_32: iree_hal_element_types_t = 285212704;
pub const IREE_HAL_ELEMENT_TYPE_UINT_32: iree_hal_element_types_t = 301989920;
pub const IREE_HAL_ELEMENT_TYPE_INT_64: iree_hal_element_types_t = 268435520;
pub const IREE_HAL_ELEMENT_TYPE_SINT_64: iree_hal_element_types_t = 285212736;
pub const IREE_HAL_ELEMENT_TYPE_UINT_64: iree_hal_element_types_t = 301989952;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_16: iree_hal_element_types_t = 553648144;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_32: iree_hal_element_types_t = 553648160;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_64: iree_hal_element_types_t = 553648192;
pub const IREE_HAL_ELEMENT_TYPE_BFLOAT_16: iree_hal_element_types_t = 570425360;
pub const IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64: iree_hal_element_types_t = 587202624;
pub const IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128: iree_hal_element_types_t = 587202688;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2: iree_hal_element_types_t = 603979784;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN: iree_hal_element_types_t = 620757000;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ: iree_hal_element_types_t = 637534216;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ: iree_hal_element_types_t = 654311432;
pub const IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU: iree_hal_element_types_t = 671088648;
pub type iree_hal_element_types_t = core::ffi::c_uint;
pub type iree_hal_element_type_t = u32;
pub const IREE_HAL_ENCODING_TYPE_OPAQUE: iree_hal_encoding_types_t = 0;
pub const IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR: iree_hal_encoding_types_t = 1;
pub type iree_hal_encoding_types_t = core::ffi::c_uint;
pub type iree_hal_encoding_type_t = u32;
pub type iree_hal_dim_t = iree_device_size_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_buffer_view_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_create(
buffer: *mut iree_hal_buffer_t,
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
host_allocator: iree_allocator_t,
out_buffer_view: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_create_like(
buffer: *mut iree_hal_buffer_t,
like_view: *mut iree_hal_buffer_view_t,
host_allocator: iree_allocator_t,
out_buffer_view: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_retain(buffer_view: *mut iree_hal_buffer_view_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_release(buffer_view: *mut iree_hal_buffer_view_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_buffer(
buffer_view: *const iree_hal_buffer_view_t,
) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_shape_rank(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_shape_dims(
buffer_view: *const iree_hal_buffer_view_t,
) -> *const iree_hal_dim_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_shape_dim(
buffer_view: *const iree_hal_buffer_view_t,
index: iree_host_size_t,
) -> iree_hal_dim_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_shape(
buffer_view: *const iree_hal_buffer_view_t,
rank_capacity: iree_host_size_t,
out_shape: *mut iree_hal_dim_t,
out_shape_rank: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_reshape(
buffer_view: *mut iree_hal_buffer_view_t,
shape: *const iree_hal_dim_t,
shape_rank: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_element_count(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_element_type(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_hal_element_type_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_element_size(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_encoding_type(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_hal_encoding_type_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_byte_length(
buffer_view: *const iree_hal_buffer_view_t,
) -> iree_device_size_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_compute_offset(
buffer_view: *const iree_hal_buffer_view_t,
indices_count: iree_host_size_t,
indices: *const iree_hal_dim_t,
out_offset: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_compute_range(
buffer_view: *const iree_hal_buffer_view_t,
indices_count: iree_host_size_t,
start_indices: *const iree_hal_dim_t,
lengths_count: iree_host_size_t,
lengths: *const iree_hal_dim_t,
out_start_offset: *mut iree_device_size_t,
out_length: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_destroy(buffer_view: *mut iree_hal_buffer_view_t);
}
unsafe extern "C" {
pub fn iree_hal_buffer_compute_view_size(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
out_allocation_size: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_compute_view_offset(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
indices_count: iree_host_size_t,
indices: *const iree_hal_dim_t,
out_offset: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_compute_view_range(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
indices_count: iree_host_size_t,
start_indices: *const iree_hal_dim_t,
lengths_count: iree_host_size_t,
lengths: *const iree_hal_dim_t,
out_start_offset: *mut iree_device_size_t,
out_length: *mut iree_device_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_allocate_buffer_copy(
device: *mut iree_hal_device_t,
allocator: *mut iree_hal_allocator_t,
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
buffer_params: iree_hal_buffer_params_t,
initial_data: iree_const_byte_span_t,
out_buffer_view: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
pub type iree_hal_buffer_view_generator_callback_t = ::core::option::Option<
unsafe extern "C" fn(
mapping: *mut iree_hal_buffer_mapping_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t,
>;
unsafe extern "C" {
pub fn iree_hal_buffer_view_generate_buffer(
device: *mut iree_hal_device_t,
allocator: *mut iree_hal_allocator_t,
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
encoding_type: iree_hal_encoding_type_t,
buffer_params: iree_hal_buffer_params_t,
callback: iree_hal_buffer_view_generator_callback_t,
user_data: *mut core::ffi::c_void,
out_buffer_view: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_parse(
value: iree_string_view_t,
device: *mut iree_hal_device_t,
device_allocator: *mut iree_hal_allocator_t,
out_buffer_view: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_format(
buffer_view: *const iree_hal_buffer_view_t,
max_element_count: iree_host_size_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_fprint(
file: *mut FILE,
buffer_view: *const iree_hal_buffer_view_t,
max_element_count: iree_host_size_t,
host_allocator: iree_allocator_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_append_to_builder(
buffer_view: *mut iree_hal_buffer_view_t,
max_element_count: iree_host_size_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_group_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_device_group_create_from_device(
device: *mut iree_hal_device_t,
host_allocator: iree_allocator_t,
out_group: *mut *mut iree_hal_device_group_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_group_retain(group: *mut iree_hal_device_group_t);
}
unsafe extern "C" {
pub fn iree_hal_device_group_release(group: *mut iree_hal_device_group_t);
}
unsafe extern "C" {
pub fn iree_hal_device_group_device_count(
group: *const iree_hal_device_group_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_device_group_device_at(
group: *const iree_hal_device_group_t,
index: iree_host_size_t,
) -> *mut iree_hal_device_t;
}
unsafe extern "C" {
pub fn iree_hal_device_group_topology(
group: *const iree_hal_device_group_t,
) -> *const iree_hal_topology_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_group_builder_t {
pub count: iree_host_size_t,
pub devices: [*mut iree_hal_device_t; 32usize],
}
unsafe extern "C" {
pub fn iree_hal_device_group_builder_initialize(builder: *mut iree_hal_device_group_builder_t);
}
unsafe extern "C" {
pub fn iree_hal_device_group_builder_deinitialize(
builder: *mut iree_hal_device_group_builder_t,
);
}
unsafe extern "C" {
pub fn iree_hal_device_group_builder_add_device(
builder: *mut iree_hal_device_group_builder_t,
device: *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_group_builder_finalize(
builder: *mut iree_hal_device_group_builder_t,
host_allocator: iree_allocator_t,
out_group: *mut *mut iree_hal_device_group_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_driver_info_t {
pub driver_name: iree_string_view_t,
pub full_name: iree_string_view_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_driver_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_driver_retain(driver: *mut iree_hal_driver_t);
}
unsafe extern "C" {
pub fn iree_hal_driver_release(driver: *mut iree_hal_driver_t);
}
unsafe extern "C" {
pub fn iree_hal_driver_query_available_devices(
driver: *mut iree_hal_driver_t,
host_allocator: iree_allocator_t,
out_device_info_count: *mut iree_host_size_t,
out_device_infos: *mut *mut iree_hal_device_info_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_dump_device_info(
driver: *mut iree_hal_driver_t,
device_id: iree_hal_device_id_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_create_device_by_ordinal(
driver: *mut iree_hal_driver_t,
device_ordinal: iree_host_size_t,
param_count: iree_host_size_t,
params: *const iree_string_pair_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_create_device_by_id(
driver: *mut iree_hal_driver_t,
device_id: iree_hal_device_id_t,
param_count: iree_host_size_t,
params: *const iree_string_pair_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_create_device_by_path(
driver: *mut iree_hal_driver_t,
driver_name: iree_string_view_t,
device_path: iree_string_view_t,
param_count: iree_host_size_t,
params: *const iree_string_pair_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_create_device_by_uri(
driver: *mut iree_hal_driver_t,
device_uri: iree_string_view_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_create_default_device(
driver: *mut iree_hal_driver_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_driver_vtable_t {
pub destroy: ::core::option::Option<unsafe extern "C" fn(driver: *mut iree_hal_driver_t)>,
pub query_available_devices: ::core::option::Option<
unsafe extern "C" fn(
driver: *mut iree_hal_driver_t,
host_allocator: iree_allocator_t,
out_device_info_count: *mut iree_host_size_t,
out_device_infos: *mut *mut iree_hal_device_info_t,
) -> iree_status_t,
>,
pub dump_device_info: ::core::option::Option<
unsafe extern "C" fn(
driver: *mut iree_hal_driver_t,
device_id: iree_hal_device_id_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t,
>,
pub create_device_by_id: ::core::option::Option<
unsafe extern "C" fn(
driver: *mut iree_hal_driver_t,
device_id: iree_hal_device_id_t,
param_count: iree_host_size_t,
params: *const iree_string_pair_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t,
>,
pub create_device_by_path: ::core::option::Option<
unsafe extern "C" fn(
driver: *mut iree_hal_driver_t,
driver_name: iree_string_view_t,
device_path: iree_string_view_t,
param_count: iree_host_size_t,
params: *const iree_string_pair_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_hal_driver_destroy(driver: *mut iree_hal_driver_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_driver_factory_t {
pub self_: *mut core::ffi::c_void,
pub enumerate: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
out_driver_info_count: *mut iree_host_size_t,
out_driver_infos: *mut *const iree_hal_driver_info_t,
) -> iree_status_t,
>,
pub try_create: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
driver_name: iree_string_view_t,
host_allocator: iree_allocator_t,
out_driver: *mut *mut iree_hal_driver_t,
) -> iree_status_t,
>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_driver_registry_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_default() -> *mut iree_hal_driver_registry_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_allocate(
host_allocator: iree_allocator_t,
out_registry: *mut *mut iree_hal_driver_registry_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_free(registry: *mut iree_hal_driver_registry_t);
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_register_factory(
registry: *mut iree_hal_driver_registry_t,
factory: *const iree_hal_driver_factory_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_unregister_factory(
registry: *mut iree_hal_driver_registry_t,
factory: *const iree_hal_driver_factory_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_enumerate(
registry: *mut iree_hal_driver_registry_t,
host_allocator: iree_allocator_t,
out_driver_info_count: *mut iree_host_size_t,
out_driver_infos: *mut *mut iree_hal_driver_info_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_driver_registry_try_create(
registry: *mut iree_hal_driver_registry_t,
driver_name: iree_string_view_t,
host_allocator: iree_allocator_t,
out_driver: *mut *mut iree_hal_driver_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_create_device(
registry: *mut iree_hal_driver_registry_t,
device_uri: iree_string_view_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_parse_shape(
value: iree_string_view_t,
shape_capacity: iree_host_size_t,
out_shape_rank: *mut iree_host_size_t,
out_shape: *mut iree_hal_dim_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_format_shape(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_append_shape_string(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
string_builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_parse_element_type(
value: iree_string_view_t,
out_element_type: *mut iree_hal_element_type_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_format_element_type(
element_type: iree_hal_element_type_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_append_element_type_string(
element_type: iree_hal_element_type_t,
string_builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_parse_shape_and_element_type(
value: iree_string_view_t,
shape_capacity: iree_host_size_t,
out_shape_rank: *mut iree_host_size_t,
out_shape: *mut iree_hal_dim_t,
out_element_type: *mut iree_hal_element_type_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_append_shape_and_element_type_string(
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
string_builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_parse_element(
data_str: iree_string_view_t,
element_type: iree_hal_element_type_t,
data_ptr: iree_byte_span_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_format_element(
data: iree_const_byte_span_t,
element_type: iree_hal_element_type_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_parse_buffer_elements(
data_str: iree_string_view_t,
element_type: iree_hal_element_type_t,
data_ptr: iree_byte_span_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_format_buffer_elements(
data: iree_const_byte_span_t,
shape_rank: iree_host_size_t,
shape: *const iree_hal_dim_t,
element_type: iree_hal_element_type_t,
max_element_count: iree_host_size_t,
buffer_capacity: iree_host_size_t,
buffer: *mut core::ffi::c_char,
out_buffer_length: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_wait_mode__extern"]
pub fn iree_hal_topology_edge_set_wait_mode(
word: iree_hal_topology_edge_scheduling_word_t,
mode: iree_hal_topology_interop_mode_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_signal_mode__extern"]
pub fn iree_hal_topology_edge_set_signal_mode(
word: iree_hal_topology_edge_scheduling_word_t,
mode: iree_hal_topology_interop_mode_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_buffer_read_mode__extern"]
pub fn iree_hal_topology_edge_set_buffer_read_mode(
word: iree_hal_topology_edge_scheduling_word_t,
mode: iree_hal_topology_interop_mode_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_buffer_write_mode__extern"]
pub fn iree_hal_topology_edge_set_buffer_write_mode(
word: iree_hal_topology_edge_scheduling_word_t,
mode: iree_hal_topology_interop_mode_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_capability_flags__extern"]
pub fn iree_hal_topology_edge_set_capability_flags(
word: iree_hal_topology_edge_scheduling_word_t,
flags: iree_hal_topology_capability_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_wait_cost__extern"]
pub fn iree_hal_topology_edge_set_wait_cost(
word: iree_hal_topology_edge_scheduling_word_t,
cost: u8,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_signal_cost__extern"]
pub fn iree_hal_topology_edge_set_signal_cost(
word: iree_hal_topology_edge_scheduling_word_t,
cost: u8,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_copy_cost__extern"]
pub fn iree_hal_topology_edge_set_copy_cost(
word: iree_hal_topology_edge_scheduling_word_t,
cost: u8,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_latency_class__extern"]
pub fn iree_hal_topology_edge_set_latency_class(
word: iree_hal_topology_edge_scheduling_word_t,
latency_class: u8,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_numa_distance__extern"]
pub fn iree_hal_topology_edge_set_numa_distance(
word: iree_hal_topology_edge_scheduling_word_t,
distance: u8,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_link_class__extern"]
pub fn iree_hal_topology_edge_set_link_class(
word: iree_hal_topology_edge_scheduling_word_t,
link_class: iree_hal_topology_link_class_t,
) -> iree_hal_topology_edge_scheduling_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_semaphore_import_types__extern"]
pub fn iree_hal_topology_edge_set_semaphore_import_types(
word: iree_hal_topology_edge_interop_word_t,
types: iree_hal_topology_handle_type_t,
) -> iree_hal_topology_edge_interop_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_semaphore_export_types__extern"]
pub fn iree_hal_topology_edge_set_semaphore_export_types(
word: iree_hal_topology_edge_interop_word_t,
types: iree_hal_topology_handle_type_t,
) -> iree_hal_topology_edge_interop_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_buffer_import_types__extern"]
pub fn iree_hal_topology_edge_set_buffer_import_types(
word: iree_hal_topology_edge_interop_word_t,
types: iree_hal_topology_handle_type_t,
) -> iree_hal_topology_edge_interop_word_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_topology_edge_set_buffer_export_types__extern"]
pub fn iree_hal_topology_edge_set_buffer_export_types(
word: iree_hal_topology_edge_interop_word_t,
types: iree_hal_topology_handle_type_t,
) -> iree_hal_topology_edge_interop_word_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_topology_builder_t {
pub topology: iree_hal_topology_t,
pub edges_set: [bool; 1024usize],
}
unsafe extern "C" {
pub fn iree_hal_topology_edge_make_self() -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_edge_make_cross_driver() -> iree_hal_topology_edge_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_builder_initialize(
builder: *mut iree_hal_topology_builder_t,
device_count: u32,
);
}
unsafe extern "C" {
pub fn iree_hal_topology_builder_set_edge(
builder: *mut iree_hal_topology_builder_t,
src_ordinal: u32,
dst_ordinal: u32,
edge: iree_hal_topology_edge_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_builder_set_numa_node(
builder: *mut iree_hal_topology_builder_t,
device_ordinal: u32,
numa_node: u8,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_topology_builder_finalize(
builder: *mut iree_hal_topology_builder_t,
out_topology: *mut iree_hal_topology_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_instance_t {
_unused: [u8; 0],
}
pub const IREE_VM_REF_TYPE_NULL: iree_vm_ref_type_bits_t = 0;
pub const IREE_VM_REF_TYPE_ANY: iree_vm_ref_type_bits_t = 4294967288;
pub type iree_vm_ref_type_bits_t = core::ffi::c_uint;
pub type iree_vm_ref_destroy_t =
::core::option::Option<unsafe extern "C" fn(ptr: *mut core::ffi::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_ref_type_descriptor_t {
pub destroy: iree_vm_ref_destroy_t,
pub type_name: iree_string_view_t,
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
}
impl iree_vm_ref_type_descriptor_t {
#[inline]
pub fn offsetof_counter(&self) -> usize {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) }
}
#[inline]
pub fn set_offsetof_counter(&mut self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 3u8, val as u64)
}
}
#[inline]
pub unsafe fn offsetof_counter_raw(this: *const Self) -> usize {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
0usize,
3u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_offsetof_counter_raw(this: *mut Self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
0usize,
3u8,
val as u64,
)
}
}
#[inline]
pub fn reserved(&self) -> usize {
unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
}
#[inline]
pub fn set_reserved(&mut self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(3usize, 29u8, val as u64)
}
}
#[inline]
pub unsafe fn reserved_raw(this: *const Self) -> usize {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
3usize,
29u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_reserved_raw(this: *mut Self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
3usize,
29u8,
val as u64,
)
}
}
#[inline]
pub fn new_bitfield_1(
offsetof_counter: usize,
reserved: usize,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 3u8, {
let offsetof_counter: u32 = unsafe { ::core::mem::transmute(offsetof_counter) };
offsetof_counter as u64
});
__bindgen_bitfield_unit.set(3usize, 29u8, {
let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
reserved as u64
});
__bindgen_bitfield_unit
}
}
pub type iree_vm_ref_type_t = usize;
unsafe extern "C" {
#[link_name = "iree_vm_make_ref_type__extern"]
pub fn iree_vm_make_ref_type(
descriptor: *const iree_vm_ref_type_descriptor_t,
) -> iree_vm_ref_type_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_type_name(type_: iree_vm_ref_type_t) -> iree_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_ref_type_descriptor__extern"]
pub fn iree_vm_ref_type_descriptor(
type_: iree_vm_ref_type_t,
) -> *const iree_vm_ref_type_descriptor_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_ref_object_t {
pub counter: iree_atomic_ref_count_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_ref_t {
pub ptr: *mut core::ffi::c_void,
pub type_: iree_vm_ref_type_t,
}
unsafe extern "C" {
pub fn iree_vm_ref_object_retain(ptr: *mut core::ffi::c_void, type_: iree_vm_ref_type_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_object_release(ptr: *mut core::ffi::c_void, type_: iree_vm_ref_type_t);
}
unsafe extern "C" {
#[link_name = "iree_vm_ref_null__extern"]
pub fn iree_vm_ref_null() -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_wrap_assign(
ptr: *mut core::ffi::c_void,
type_: iree_vm_ref_type_t,
out_ref: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_wrap_retain(
ptr: *mut core::ffi::c_void,
type_: iree_vm_ref_type_t,
out_ref: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_ref_check__extern"]
pub fn iree_vm_ref_check(ref_: iree_vm_ref_t, type_: iree_vm_ref_type_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_retain_inplace(ref_: *mut iree_vm_ref_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_retain(ref_: *mut iree_vm_ref_t, out_ref: *mut iree_vm_ref_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_retain_checked(
ref_: *mut iree_vm_ref_t,
type_: iree_vm_ref_type_t,
out_ref: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_retain_or_move(
is_move: core::ffi::c_int,
ref_: *mut iree_vm_ref_t,
out_ref: *mut iree_vm_ref_t,
);
}
unsafe extern "C" {
pub fn iree_vm_ref_retain_or_move_checked(
is_move: core::ffi::c_int,
ref_: *mut iree_vm_ref_t,
type_: iree_vm_ref_type_t,
out_ref: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_ref_release(ref_: *mut iree_vm_ref_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_assign(ref_: *mut iree_vm_ref_t, out_ref: *mut iree_vm_ref_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_move(ref_: *mut iree_vm_ref_t, out_ref: *mut iree_vm_ref_t);
}
unsafe extern "C" {
pub fn iree_vm_ref_is_null(ref_: *const iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_vm_ref_equal(lhs: *const iree_vm_ref_t, rhs: *const iree_vm_ref_t) -> bool;
}
pub const IREE_VM_BUFFER_ACCESS_MUTABLE: iree_vm_buffer_access_bits_t = 1;
pub const IREE_VM_BUFFER_ACCESS_ORIGIN_MODULE: iree_vm_buffer_access_bits_t = 2;
pub const IREE_VM_BUFFER_ACCESS_ORIGIN_GUEST: iree_vm_buffer_access_bits_t = 4;
pub const IREE_VM_BUFFER_ACCESS_ORIGIN_HOST: iree_vm_buffer_access_bits_t = 8;
pub type iree_vm_buffer_access_bits_t = core::ffi::c_uint;
pub type iree_vm_buffer_access_t = u32;
#[repr(C)]
pub struct iree_vm_buffer_t {
pub ref_object: iree_vm_ref_object_t,
pub access: iree_vm_buffer_access_t,
pub data: iree_byte_span_t,
pub allocator: iree_allocator_t,
}
unsafe extern "C" {
pub fn iree_vm_buffer_initialize(
access: iree_vm_buffer_access_t,
data: iree_byte_span_t,
allocator: iree_allocator_t,
out_buffer: *mut iree_vm_buffer_t,
);
}
unsafe extern "C" {
pub fn iree_vm_buffer_deinitialize(buffer: *mut iree_vm_buffer_t);
}
unsafe extern "C" {
pub fn iree_vm_buffer_create(
access: iree_vm_buffer_access_t,
length: iree_host_size_t,
alignment: iree_host_size_t,
allocator: iree_allocator_t,
out_buffer: *mut *mut iree_vm_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_retain(buffer: *mut iree_vm_buffer_t);
}
unsafe extern "C" {
pub fn iree_vm_buffer_release(buffer: *mut iree_vm_buffer_t);
}
unsafe extern "C" {
pub fn iree_vm_buffer_clone(
access: iree_vm_buffer_access_t,
source_buffer: *const iree_vm_buffer_t,
source_offset: iree_host_size_t,
length: iree_host_size_t,
alignment: iree_host_size_t,
allocator: iree_allocator_t,
out_buffer: *mut *mut iree_vm_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_length(buffer: *const iree_vm_buffer_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_data(buffer: *const iree_vm_buffer_t) -> *mut u8;
}
unsafe extern "C" {
pub fn iree_vm_buffer_contents(buffer: *const iree_vm_buffer_t) -> iree_byte_span_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_const_contents(buffer: *const iree_vm_buffer_t)
-> iree_const_byte_span_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_copy_bytes(
source_buffer: *const iree_vm_buffer_t,
source_offset: iree_host_size_t,
target_buffer: *const iree_vm_buffer_t,
target_offset: iree_host_size_t,
length: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_compare_bytes(
lhs_buffer: *const iree_vm_buffer_t,
lhs_offset: iree_host_size_t,
rhs_buffer: *const iree_vm_buffer_t,
rhs_offset: iree_host_size_t,
length: iree_host_size_t,
out_result: *mut bool,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_fill_bytes(
target_buffer: *const iree_vm_buffer_t,
target_offset: iree_host_size_t,
length: iree_host_size_t,
value: u8,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_fill_elements(
target_buffer: *const iree_vm_buffer_t,
target_offset: iree_host_size_t,
element_count: iree_host_size_t,
element_length: iree_host_size_t,
value: *const core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_map_ro(
buffer: *const iree_vm_buffer_t,
offset: iree_host_size_t,
length: iree_host_size_t,
alignment: iree_host_size_t,
out_span: *mut iree_const_byte_span_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_map_rw(
buffer: *const iree_vm_buffer_t,
offset: iree_host_size_t,
length: iree_host_size_t,
alignment: iree_host_size_t,
out_span: *mut iree_byte_span_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_read_elements(
source_buffer: *const iree_vm_buffer_t,
source_offset: iree_host_size_t,
target_ptr: *mut core::ffi::c_void,
element_count: iree_host_size_t,
element_length: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_write_elements(
source_ptr: *const core::ffi::c_void,
target_buffer: *const iree_vm_buffer_t,
target_offset: iree_host_size_t,
element_count: iree_host_size_t,
element_length: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_hash(
source_buffer: *const iree_vm_buffer_t,
source_offset: iree_host_size_t,
length: iree_host_size_t,
result: *mut i64,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_buffer_as_const_byte_span__extern"]
pub fn iree_vm_buffer_as_const_byte_span(
value: *const iree_vm_buffer_t,
) -> iree_const_byte_span_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_buffer_as_string__extern"]
pub fn iree_vm_buffer_as_string(value: *const iree_vm_buffer_t) -> iree_string_view_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_buffer_type__extern"]
pub fn iree_vm_buffer_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_buffer_isa__extern"]
pub fn iree_vm_buffer_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_vm_buffer_retain_ref(value: *mut iree_vm_buffer_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_move_ref(value: *mut iree_vm_buffer_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_buffer_deref__extern"]
pub fn iree_vm_buffer_deref(ref_: iree_vm_ref_t) -> *mut iree_vm_buffer_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_vm_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_buffer_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_vm_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_create(
type_capacity: iree_host_size_t,
allocator: iree_allocator_t,
out_instance: *mut *mut iree_vm_instance_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_retain(instance: *mut iree_vm_instance_t);
}
unsafe extern "C" {
pub fn iree_vm_instance_release(instance: *mut iree_vm_instance_t);
}
unsafe extern "C" {
pub fn iree_vm_instance_allocator(instance: *mut iree_vm_instance_t) -> iree_allocator_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_register_type(
instance: *mut iree_vm_instance_t,
descriptor: *const iree_vm_ref_type_descriptor_t,
out_registration: *mut iree_vm_ref_type_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_unregister_type(
instance: *mut iree_vm_instance_t,
descriptor: *const iree_vm_ref_type_descriptor_t,
);
}
unsafe extern "C" {
pub fn iree_vm_instance_lookup_type(
instance: *mut iree_vm_instance_t,
full_name: iree_string_view_t,
) -> iree_vm_ref_type_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_register_type_placeholder(
instance: *mut iree_vm_instance_t,
type_name: iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_instance_lookup_type_placeholder(
instance: *mut iree_vm_instance_t,
full_name: iree_string_view_t,
) -> iree_vm_ref_type_t;
}
unsafe extern "C" {
pub fn iree_vm_resolve_builtin_types(instance: *mut iree_vm_instance_t) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_stack_t {
_unused: [u8; 0],
}
pub const IREE_VM_FUNCTION_LINKAGE_INTERNAL: iree_vm_function_linkage_e = 0;
pub const IREE_VM_FUNCTION_LINKAGE_IMPORT: iree_vm_function_linkage_e = 1;
pub const IREE_VM_FUNCTION_LINKAGE_EXPORT: iree_vm_function_linkage_e = 2;
pub const IREE_VM_FUNCTION_LINKAGE_IMPORT_OPTIONAL: iree_vm_function_linkage_e = 3;
pub const IREE_VM_FUNCTION_LINKAGE_EXPORT_OPTIONAL: iree_vm_function_linkage_e = 4;
pub type iree_vm_function_linkage_e = core::ffi::c_uint;
pub use self::iree_vm_function_linkage_e as iree_vm_function_linkage_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_function_t {
pub module: *mut iree_vm_module_t,
pub linkage: u16,
pub ordinal: u16,
}
unsafe extern "C" {
#[link_name = "iree_vm_function_is_null__extern"]
pub fn iree_vm_function_is_null(function: iree_vm_function_t) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_function_signature_t {
pub calling_convention: iree_string_view_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_module_signature_t {
pub version: u32,
pub attr_count: iree_host_size_t,
pub import_function_count: iree_host_size_t,
pub export_function_count: iree_host_size_t,
pub internal_function_count: iree_host_size_t,
}
pub const IREE_VM_MODULE_DEPENDENCY_FLAG_NONE: iree_vm_module_dependency_flag_bits_t = 0;
pub const IREE_VM_MODULE_DEPENDENCY_FLAG_REQUIRED: iree_vm_module_dependency_flag_bits_t = 1;
pub const IREE_VM_MODULE_DEPENDENCY_FLAG_OPTIONAL: iree_vm_module_dependency_flag_bits_t = 2;
pub type iree_vm_module_dependency_flag_bits_t = core::ffi::c_uint;
pub type iree_vm_module_dependency_flags_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_module_dependency_t {
pub name: iree_string_view_t,
pub minimum_version: u32,
pub flags: iree_vm_module_dependency_flags_t,
}
pub type iree_vm_module_dependency_callback_t = ::core::option::Option<
unsafe extern "C" fn(
user_data_ptr: *mut core::ffi::c_void,
dependency: *const iree_vm_module_dependency_t,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_module_state_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_register_list_t {
pub size: u16,
pub registers: __IncompleteArrayField<u16>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_function_call_t {
pub function: iree_vm_function_t,
pub arguments: iree_byte_span_t,
pub results: iree_byte_span_t,
}
unsafe extern "C" {
pub fn iree_vm_function_call_get_cconv_fragments(
signature: *const iree_vm_function_signature_t,
out_arguments: *mut iree_string_view_t,
out_results: *mut iree_string_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_function_call_is_variadic_cconv(cconv: iree_string_view_t) -> bool;
}
unsafe extern "C" {
pub fn iree_vm_function_call_count_arguments_and_results(
signature: *const iree_vm_function_signature_t,
out_argument_count: *mut iree_host_size_t,
out_result_count: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_function_call_compute_cconv_fragment_size(
cconv_fragment: iree_string_view_t,
segment_size_list: *const iree_vm_register_list_t,
out_required_size: *mut iree_host_size_t,
) -> iree_status_t;
}
pub type iree_vm_source_offset_t = i64;
pub const IREE_VM_SOURCE_LOCATION_FORMAT_FLAG_NONE: iree_vm_source_location_format_flag_bits_e = 0;
pub const IREE_VM_SOURCE_LOCATION_FORMAT_FLAG_SINGLE_LINE:
iree_vm_source_location_format_flag_bits_e = 1;
pub type iree_vm_source_location_format_flag_bits_e = core::ffi::c_uint;
pub type iree_vm_source_location_format_flags_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_source_location_t {
pub self_: *mut core::ffi::c_void,
pub data: [u64; 2usize],
pub format: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
data: *mut u64,
flags: iree_vm_source_location_format_flags_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_vm_source_location_format(
source_location: *mut iree_vm_source_location_t,
flags: iree_vm_source_location_format_flags_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
pub const IREE_VM_SIGNAL_RESUME: iree_vm_signal_e = 0;
pub const IREE_VM_SIGNAL_SUSPEND: iree_vm_signal_e = 1;
pub const IREE_VM_SIGNAL_LOW_MEMORY: iree_vm_signal_e = 2;
pub const IREE_VM_SIGNAL_FORK: iree_vm_signal_e = 3;
pub type iree_vm_signal_e = core::ffi::c_uint;
pub use self::iree_vm_signal_e as iree_vm_signal_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_module_t {
pub self_: *mut core::ffi::c_void,
pub ref_count: iree_atomic_ref_count_t,
pub destroy: ::core::option::Option<unsafe extern "C" fn(self_: *mut core::ffi::c_void)>,
pub name: ::core::option::Option<
unsafe extern "C" fn(self_: *mut core::ffi::c_void) -> iree_string_view_t,
>,
pub signature: ::core::option::Option<
unsafe extern "C" fn(self_: *mut core::ffi::c_void) -> iree_vm_module_signature_t,
>,
pub enumerate_dependencies: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
callback: iree_vm_module_dependency_callback_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t,
>,
pub get_module_attr: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
index: iree_host_size_t,
out_attr: *mut iree_string_pair_t,
) -> iree_status_t,
>,
pub lookup_function: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
linkage: iree_vm_function_linkage_t,
name: iree_string_view_t,
expected_signature: *const iree_vm_function_signature_t,
out_function: *mut iree_vm_function_t,
) -> iree_status_t,
>,
pub get_function: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
linkage: iree_vm_function_linkage_t,
ordinal: iree_host_size_t,
out_function: *mut iree_vm_function_t,
out_name: *mut iree_string_view_t,
out_signature: *mut iree_vm_function_signature_t,
) -> iree_status_t,
>,
pub get_function_attr: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
linkage: iree_vm_function_linkage_t,
ordinal: iree_host_size_t,
index: iree_host_size_t,
out_attr: *mut iree_string_pair_t,
) -> iree_status_t,
>,
pub resolve_source_location: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
function: iree_vm_function_t,
pc: iree_vm_source_offset_t,
out_source_location: *mut iree_vm_source_location_t,
) -> iree_status_t,
>,
pub alloc_state: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
allocator: iree_allocator_t,
out_module_state: *mut *mut iree_vm_module_state_t,
) -> iree_status_t,
>,
pub free_state: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
module_state: *mut iree_vm_module_state_t,
),
>,
pub fork_state: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
parent_state: *mut iree_vm_module_state_t,
allocator: iree_allocator_t,
out_child_state: *mut *mut iree_vm_module_state_t,
) -> iree_status_t,
>,
pub resolve_import: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
module_state: *mut iree_vm_module_state_t,
ordinal: iree_host_size_t,
function: *const iree_vm_function_t,
signature: *const iree_vm_function_signature_t,
) -> iree_status_t,
>,
pub notify: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
module_state: *mut iree_vm_module_state_t,
signal: iree_vm_signal_t,
) -> iree_status_t,
>,
pub begin_call: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
stack: *mut iree_vm_stack_t,
call: iree_vm_function_call_t,
) -> iree_status_t,
>,
pub resume_call: ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
stack: *mut iree_vm_stack_t,
call_results: iree_byte_span_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_vm_module_initialize(
module: *mut iree_vm_module_t,
self_: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_module_retain(module: *mut iree_vm_module_t);
}
unsafe extern "C" {
pub fn iree_vm_module_release(module: *mut iree_vm_module_t);
}
unsafe extern "C" {
pub fn iree_vm_module_name(module: *const iree_vm_module_t) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_vm_module_signature(module: *const iree_vm_module_t) -> iree_vm_module_signature_t;
}
unsafe extern "C" {
pub fn iree_vm_module_lookup_attr_by_name(
module: *const iree_vm_module_t,
key: iree_string_view_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_vm_module_get_attr(
module: *const iree_vm_module_t,
index: iree_host_size_t,
out_attr: *mut iree_string_pair_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_module_enumerate_dependencies(
module: *mut iree_vm_module_t,
callback: iree_vm_module_dependency_callback_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_module_lookup_function_by_name(
module: *const iree_vm_module_t,
linkage: iree_vm_function_linkage_t,
name: iree_string_view_t,
out_function: *mut iree_vm_function_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_module_lookup_function_by_ordinal(
module: *const iree_vm_module_t,
linkage: iree_vm_function_linkage_t,
ordinal: iree_host_size_t,
out_function: *mut iree_vm_function_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_module_resolve_source_location(
module: *const iree_vm_module_t,
function: iree_vm_function_t,
pc: iree_vm_source_offset_t,
out_source_location: *mut iree_vm_source_location_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_function_name(function: *const iree_vm_function_t) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_vm_function_signature(
function: *const iree_vm_function_t,
) -> iree_vm_function_signature_t;
}
unsafe extern "C" {
pub fn iree_vm_function_lookup_attr_by_name(
function: *const iree_vm_function_t,
key: iree_string_view_t,
) -> iree_string_view_t;
}
unsafe extern "C" {
pub fn iree_vm_function_get_attr(
function: iree_vm_function_t,
index: iree_host_size_t,
out_attr: *mut iree_string_pair_t,
) -> iree_status_t;
}
pub const IREE_VM_INVOCATION_FLAG_NONE: iree_vm_invocation_flag_bits_t = 0;
pub const IREE_VM_INVOCATION_FLAG_TRACE_EXECUTION: iree_vm_invocation_flag_bits_t = 1;
pub const IREE_VM_INVOCATION_FLAG_TRACE_INLINE: iree_vm_invocation_flag_bits_t = 2;
pub type iree_vm_invocation_flag_bits_t = core::ffi::c_uint;
pub type iree_vm_invocation_flags_t = u32;
pub const IREE_VM_STACK_FRAME_EXTERNAL: iree_vm_stack_frame_type_e = 0;
pub const IREE_VM_STACK_FRAME_NATIVE: iree_vm_stack_frame_type_e = 1;
pub const IREE_VM_STACK_FRAME_BYTECODE: iree_vm_stack_frame_type_e = 2;
pub const IREE_VM_STACK_FRAME_WAIT: iree_vm_stack_frame_type_e = 3;
pub type iree_vm_stack_frame_type_e = core::ffi::c_uint;
pub use self::iree_vm_stack_frame_type_e as iree_vm_stack_frame_type_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_stack_frame_t {
pub type_: iree_vm_stack_frame_type_t,
pub function: iree_vm_function_t,
pub module_state: *mut iree_vm_module_state_t,
pub pc: iree_vm_source_offset_t,
pub depth: i32,
}
pub const IREE_VM_WAIT_UNTIL: iree_vm_wait_type_e = 0;
pub const IREE_VM_WAIT_ANY: iree_vm_wait_type_e = 1;
pub const IREE_VM_WAIT_ALL: iree_vm_wait_type_e = 2;
pub type iree_vm_wait_type_e = core::ffi::c_uint;
pub type iree_vm_wait_type_t = u8;
#[repr(C)]
pub struct iree_vm_wait_frame_t {
pub wait_type: iree_vm_wait_type_t,
pub wait_status: iree_status_t,
pub deadline_ns: iree_time_t,
pub count: iree_host_size_t,
pub wait_sources: __IncompleteArrayField<iree_wait_source_t>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_wait_result_t {
pub status: iree_status_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_stack_frame_storage__extern"]
pub fn iree_vm_stack_frame_storage(frame: *mut iree_vm_stack_frame_t)
-> *mut core::ffi::c_void;
}
pub type iree_vm_stack_frame_cleanup_fn_t =
::core::option::Option<unsafe extern "C" fn(frame: *mut iree_vm_stack_frame_t)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_state_resolver_t {
pub self_: *mut core::ffi::c_void,
pub query_module_state: ::core::option::Option<
unsafe extern "C" fn(
state_resolver: *mut core::ffi::c_void,
module: *mut iree_vm_module_t,
out_module_state: *mut *mut iree_vm_module_state_t,
) -> iree_status_t,
>,
}
unsafe extern "C" {
pub fn iree_vm_stack_initialize(
storage: iree_byte_span_t,
flags: iree_vm_invocation_flags_t,
state_resolver: iree_vm_state_resolver_t,
allocator: iree_allocator_t,
out_stack: *mut *mut iree_vm_stack_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_reset(stack: *mut iree_vm_stack_t);
}
unsafe extern "C" {
pub fn iree_vm_stack_deinitialize(stack: *mut iree_vm_stack_t);
}
unsafe extern "C" {
pub fn iree_vm_stack_allocate(
flags: iree_vm_invocation_flags_t,
state_resolver: iree_vm_state_resolver_t,
allocator: iree_allocator_t,
out_stack: *mut *mut iree_vm_stack_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_free(stack: *mut iree_vm_stack_t);
}
unsafe extern "C" {
pub fn iree_vm_stack_allocator(stack: *const iree_vm_stack_t) -> iree_allocator_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_invocation_flags(
stack: *const iree_vm_stack_t,
) -> iree_vm_invocation_flags_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_top(stack: *mut iree_vm_stack_t) -> *mut iree_vm_stack_frame_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_current_frame(stack: *mut iree_vm_stack_t) -> *mut iree_vm_stack_frame_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_parent_frame(stack: *mut iree_vm_stack_t) -> *mut iree_vm_stack_frame_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_query_module_state(
stack: *mut iree_vm_stack_t,
module: *mut iree_vm_module_t,
out_module_state: *mut *mut iree_vm_module_state_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_wait_enter(
stack: *mut iree_vm_stack_t,
wait_type: iree_vm_wait_type_t,
wait_count: iree_host_size_t,
timeout: iree_timeout_t,
trace_zone: iree_zone_id_t,
out_wait_frame: *mut *mut iree_vm_wait_frame_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_wait_leave(
stack: *mut iree_vm_stack_t,
out_wait_result: *mut iree_vm_wait_result_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_function_enter(
stack: *mut iree_vm_stack_t,
function: *const iree_vm_function_t,
frame_type: iree_vm_stack_frame_type_t,
frame_size: iree_host_size_t,
frame_cleanup_fn: iree_vm_stack_frame_cleanup_fn_t,
out_callee_frame: *mut *mut iree_vm_stack_frame_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_function_leave(stack: *mut iree_vm_stack_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_format_backtrace(
stack: *mut iree_vm_stack_t,
builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_annotate_backtrace(
stack: *mut iree_vm_stack_t,
base_status: iree_status_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_stack_suspend_trace_zones(stack: *mut iree_vm_stack_t);
}
unsafe extern "C" {
pub fn iree_vm_stack_resume_trace_zones(stack: *mut iree_vm_stack_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_context_t {
_unused: [u8; 0],
}
pub const IREE_VM_CONTEXT_FLAG_NONE: iree_vm_context_flag_bits_t = 0;
pub const IREE_VM_CONTEXT_FLAG_TRACE_EXECUTION: iree_vm_context_flag_bits_t = 1;
pub const IREE_VM_CONTEXT_FLAG_CONCURRENT: iree_vm_context_flag_bits_t = 2;
pub type iree_vm_context_flag_bits_t = core::ffi::c_uint;
pub type iree_vm_context_flags_t = u32;
pub type iree_vm_context_id_t = isize;
unsafe extern "C" {
pub fn iree_vm_context_create(
instance: *mut iree_vm_instance_t,
flags: iree_vm_context_flags_t,
allocator: iree_allocator_t,
out_context: *mut *mut iree_vm_context_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_create_with_modules(
instance: *mut iree_vm_instance_t,
flags: iree_vm_context_flags_t,
module_count: iree_host_size_t,
modules: *mut *mut iree_vm_module_t,
allocator: iree_allocator_t,
out_context: *mut *mut iree_vm_context_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_fork(
parent_context: *const iree_vm_context_t,
allocator: iree_allocator_t,
out_child_context: *mut *mut iree_vm_context_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_retain(context: *mut iree_vm_context_t);
}
unsafe extern "C" {
pub fn iree_vm_context_release(context: *mut iree_vm_context_t);
}
unsafe extern "C" {
pub fn iree_vm_context_instance(context: *const iree_vm_context_t) -> *mut iree_vm_instance_t;
}
unsafe extern "C" {
pub fn iree_vm_context_id(context: *const iree_vm_context_t) -> iree_vm_context_id_t;
}
unsafe extern "C" {
pub fn iree_vm_context_flags(context: *const iree_vm_context_t) -> iree_vm_context_flags_t;
}
unsafe extern "C" {
pub fn iree_vm_context_module_count(context: *const iree_vm_context_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_context_module_at(
context: *const iree_vm_context_t,
i: iree_host_size_t,
) -> *mut iree_vm_module_t;
}
unsafe extern "C" {
pub fn iree_vm_context_register_modules(
context: *mut iree_vm_context_t,
module_count: iree_host_size_t,
modules: *mut *mut iree_vm_module_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_freeze(context: *mut iree_vm_context_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_state_resolver(
context: *const iree_vm_context_t,
) -> iree_vm_state_resolver_t;
}
unsafe extern "C" {
pub fn iree_vm_context_resolve_module_state(
context: *const iree_vm_context_t,
module: *mut iree_vm_module_t,
out_module_state: *mut *mut iree_vm_module_state_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_resolve_function(
context: *const iree_vm_context_t,
full_name: iree_string_view_t,
out_function: *mut iree_vm_function_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_context_notify(
context: *mut iree_vm_context_t,
signal: iree_vm_signal_t,
) -> iree_status_t;
}
pub type iree_vm_size_t = i32;
pub const IREE_VM_VALUE_TYPE_NONE: iree_vm_value_type_e = 0;
pub const IREE_VM_VALUE_TYPE_I8: iree_vm_value_type_e = 1;
pub const IREE_VM_VALUE_TYPE_I16: iree_vm_value_type_e = 2;
pub const IREE_VM_VALUE_TYPE_I32: iree_vm_value_type_e = 3;
pub const IREE_VM_VALUE_TYPE_I64: iree_vm_value_type_e = 4;
pub const IREE_VM_VALUE_TYPE_F32: iree_vm_value_type_e = 5;
pub const IREE_VM_VALUE_TYPE_F64: iree_vm_value_type_e = 6;
pub const IREE_VM_VALUE_TYPE_MAX: iree_vm_value_type_e = 6;
pub const IREE_VM_VALUE_TYPE_COUNT: iree_vm_value_type_e = 7;
pub type iree_vm_value_type_e = core::ffi::c_uint;
pub use self::iree_vm_value_type_e as iree_vm_value_type_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_vm_value_t {
pub type_: iree_vm_value_type_t,
pub __bindgen_anon_1: iree_vm_value_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_vm_value_t__bindgen_ty_1 {
pub i8_: i8,
pub i16_: i16,
pub i32_: i32,
pub i64_: i64,
pub f32_: f32,
pub f64_: f64,
pub value_storage: [u8; 8usize],
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_none__extern"]
pub fn iree_vm_value_make_none() -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_i8__extern"]
pub fn iree_vm_value_make_i8(value: i8) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_i16__extern"]
pub fn iree_vm_value_make_i16(value: i16) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_i32__extern"]
pub fn iree_vm_value_make_i32(value: i32) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_get_i32__extern"]
pub fn iree_vm_value_get_i32(value: *mut iree_vm_value_t) -> i32;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_i64__extern"]
pub fn iree_vm_value_make_i64(value: i64) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_get_i64__extern"]
pub fn iree_vm_value_get_i64(value: *mut iree_vm_value_t) -> i64;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_f32__extern"]
pub fn iree_vm_value_make_f32(value: f32) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_get_f32__extern"]
pub fn iree_vm_value_get_f32(value: *mut iree_vm_value_t) -> f32;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_make_f64__extern"]
pub fn iree_vm_value_make_f64(value: f64) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_value_get_f64__extern"]
pub fn iree_vm_value_get_f64(value: *mut iree_vm_value_t) -> f64;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_type_def_t {
pub _bitfield_align_1: [u32; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
}
impl iree_vm_type_def_t {
#[inline]
pub fn value_type_bits(&self) -> usize {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) }
}
#[inline]
pub fn set_value_type_bits(&mut self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 3u8, val as u64)
}
}
#[inline]
pub unsafe fn value_type_bits_raw(this: *const Self) -> usize {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
0usize,
3u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_value_type_bits_raw(this: *mut Self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
0usize,
3u8,
val as u64,
)
}
}
#[inline]
pub fn ref_type_bits(&self) -> usize {
unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
}
#[inline]
pub fn set_ref_type_bits(&mut self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(3usize, 29u8, val as u64)
}
}
#[inline]
pub unsafe fn ref_type_bits_raw(this: *const Self) -> usize {
unsafe {
::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
::core::ptr::addr_of!((*this)._bitfield_1),
3usize,
29u8,
) as u32)
}
}
#[inline]
pub unsafe fn set_ref_type_bits_raw(this: *mut Self, val: usize) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
::core::ptr::addr_of_mut!((*this)._bitfield_1),
3usize,
29u8,
val as u64,
)
}
}
#[inline]
pub fn new_bitfield_1(
value_type_bits: usize,
ref_type_bits: usize,
) -> __BindgenBitfieldUnit<[u8; 4usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 3u8, {
let value_type_bits: u32 = unsafe { ::core::mem::transmute(value_type_bits) };
value_type_bits as u64
});
__bindgen_bitfield_unit.set(3usize, 29u8, {
let ref_type_bits: u32 = unsafe { ::core::mem::transmute(ref_type_bits) };
ref_type_bits as u64
});
__bindgen_bitfield_unit
}
}
unsafe extern "C" {
#[link_name = "iree_vm_type_def_equal__extern"]
pub fn iree_vm_type_def_equal(a: iree_vm_type_def_t, b: iree_vm_type_def_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_vm_make_undefined_type_def__extern"]
pub fn iree_vm_make_undefined_type_def() -> iree_vm_type_def_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_make_value_type_def__extern"]
pub fn iree_vm_make_value_type_def(value_type: iree_vm_value_type_t) -> iree_vm_type_def_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_make_ref_type_def__extern"]
pub fn iree_vm_make_ref_type_def(ref_type: iree_vm_ref_type_t) -> iree_vm_type_def_t;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_vm_variant_t {
pub type_: iree_vm_type_def_t,
pub __bindgen_anon_1: iree_vm_variant_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_vm_variant_t__bindgen_ty_1 {
pub i8_: i8,
pub i16_: i16,
pub i32_: i32,
pub i64_: i64,
pub f32_: f32,
pub f64_: f64,
pub ref_: iree_vm_ref_t,
pub value_storage: [u8; 8usize],
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_empty__extern"]
pub fn iree_vm_variant_empty() -> iree_vm_variant_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_is_empty__extern"]
pub fn iree_vm_variant_is_empty(variant: iree_vm_variant_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_is_value__extern"]
pub fn iree_vm_variant_is_value(variant: iree_vm_variant_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_is_ref__extern"]
pub fn iree_vm_variant_is_ref(variant: iree_vm_variant_t) -> bool;
}
unsafe extern "C" {
#[link_name = "iree_vm_make_variant_value__extern"]
pub fn iree_vm_make_variant_value(value: iree_vm_value_t) -> iree_vm_variant_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_make_variant_ref_assign__extern"]
pub fn iree_vm_make_variant_ref_assign(ref_: iree_vm_ref_t) -> iree_vm_variant_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_value__extern"]
pub fn iree_vm_variant_value(variant: iree_vm_variant_t) -> iree_vm_value_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_variant_reset__extern"]
pub fn iree_vm_variant_reset(variant: *mut iree_vm_variant_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_list_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_vm_list_storage_size(
element_type: *const iree_vm_type_def_t,
capacity: iree_host_size_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_list_initialize(
storage: iree_byte_span_t,
element_type: *const iree_vm_type_def_t,
capacity: iree_host_size_t,
out_list: *mut *mut iree_vm_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_deinitialize(list: *mut iree_vm_list_t);
}
unsafe extern "C" {
pub fn iree_vm_list_create(
element_type: iree_vm_type_def_t,
initial_capacity: iree_host_size_t,
allocator: iree_allocator_t,
out_list: *mut *mut iree_vm_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_clone(
source: *mut iree_vm_list_t,
host_allocator: iree_allocator_t,
out_target: *mut *mut iree_vm_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_retain(list: *mut iree_vm_list_t);
}
unsafe extern "C" {
pub fn iree_vm_list_release(list: *mut iree_vm_list_t);
}
unsafe extern "C" {
pub fn iree_vm_list_element_type(list: *const iree_vm_list_t) -> iree_vm_type_def_t;
}
unsafe extern "C" {
pub fn iree_vm_list_capacity(list: *const iree_vm_list_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_list_reserve(
list: *mut iree_vm_list_t,
minimum_capacity: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_size(list: *const iree_vm_list_t) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_list_resize(
list: *mut iree_vm_list_t,
new_size: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_clear(list: *mut iree_vm_list_t);
}
unsafe extern "C" {
pub fn iree_vm_list_swap_storage(list_a: *mut iree_vm_list_t, list_b: *mut iree_vm_list_t);
}
unsafe extern "C" {
pub fn iree_vm_list_copy(
src_list: *mut iree_vm_list_t,
src_i: iree_host_size_t,
dst_list: *mut iree_vm_list_t,
dst_i: iree_host_size_t,
count: iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_value(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_value: *mut iree_vm_value_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_value_as(
list: *const iree_vm_list_t,
i: iree_host_size_t,
value_type: iree_vm_value_type_t,
out_value: *mut iree_vm_value_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_value(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *const iree_vm_value_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_push_value(
list: *mut iree_vm_list_t,
value: *const iree_vm_value_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_ref_deref(
list: *const iree_vm_list_t,
i: iree_host_size_t,
type_: iree_vm_ref_type_t,
) -> *mut core::ffi::c_void;
}
unsafe extern "C" {
pub fn iree_vm_list_get_ref_assign(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_ref_retain(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_ref_retain_or_move(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
is_move: bool,
out_value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_ref_move(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
out_value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_ref_retain(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *const iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_push_ref_retain(
list: *mut iree_vm_list_t,
value: *const iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_ref_move(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_push_ref_move(
list: *mut iree_vm_list_t,
value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_pop_front_ref_move(
list: *mut iree_vm_list_t,
out_value: *mut iree_vm_ref_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_variant_assign(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_variant: *mut iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_variant_retain(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_variant: *mut iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_variant_move(
list: *const iree_vm_list_t,
i: iree_host_size_t,
out_variant: *mut iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_variant_retain(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
variant: *const iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_variant_move(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
variant: *mut iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_push_variant_retain(
list: *mut iree_vm_list_t,
variant: *const iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_push_variant_move(
list: *mut iree_vm_list_t,
variant: *mut iree_vm_variant_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_list_type__extern"]
pub fn iree_vm_list_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_list_isa__extern"]
pub fn iree_vm_list_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_vm_list_retain_ref(value: *mut iree_vm_list_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_vm_list_move_ref(value: *mut iree_vm_list_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_list_deref__extern"]
pub fn iree_vm_list_deref(ref_: iree_vm_ref_t) -> *mut iree_vm_list_t;
}
unsafe extern "C" {
pub fn iree_vm_list_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_vm_list_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_vm_list_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_invocation_t {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_invocation_policy_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_vm_invoke(
context: *mut iree_vm_context_t,
function: iree_vm_function_t,
flags: iree_vm_invocation_flags_t,
policy: *const iree_vm_invocation_policy_t,
inputs: *const iree_vm_list_t,
outputs: *mut iree_vm_list_t,
host_allocator: iree_allocator_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_invoke_state_t {
pub context: *mut iree_vm_context_t,
pub status: iree_status_t,
pub cconv_results: iree_string_view_t,
pub results: iree_byte_span_t,
pub stack: *mut iree_vm_stack_t,
pub stack_storage: [u8; 8192usize],
}
unsafe extern "C" {
pub fn iree_vm_begin_invoke(
state: *mut iree_vm_invoke_state_t,
context: *mut iree_vm_context_t,
function: iree_vm_function_t,
flags: iree_vm_invocation_flags_t,
policy: *const iree_vm_invocation_policy_t,
inputs: *const iree_vm_list_t,
host_allocator: iree_allocator_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_resume_invoke(state: *mut iree_vm_invoke_state_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_wait_invoke(
state: *mut iree_vm_invoke_state_t,
wait_frame: *mut iree_vm_wait_frame_t,
deadline_ns: iree_time_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_end_invoke(
state: *mut iree_vm_invoke_state_t,
outputs: *mut iree_vm_list_t,
out_status: *mut iree_status_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_abort_invoke(state: *mut iree_vm_invoke_state_t);
}
pub type iree_vm_invocation_id_t = isize;
pub type iree_vm_async_invoke_callback_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
loop_: iree_loop_t,
status: iree_status_t,
outputs: *mut iree_vm_list_t,
) -> iree_status_t,
>;
#[repr(C)]
pub struct iree_vm_async_invoke_state_t {
pub __bindgen_anon_1: iree_vm_async_invoke_state_t__bindgen_ty_1,
pub invocation_id: iree_vm_invocation_id_t,
pub deadline_ns: iree_time_t,
pub host_allocator: iree_allocator_t,
pub outputs: *mut iree_vm_list_t,
pub callback: iree_vm_async_invoke_callback_fn_t,
pub user_data: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union iree_vm_async_invoke_state_t__bindgen_ty_1 {
pub begin_params: iree_vm_async_invoke_state_t__bindgen_ty_1__bindgen_ty_1,
pub base: iree_vm_invoke_state_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_async_invoke_state_t__bindgen_ty_1__bindgen_ty_1 {
pub context: *mut iree_vm_context_t,
pub function: iree_vm_function_t,
pub flags: iree_vm_invocation_flags_t,
pub policy: *const iree_vm_invocation_policy_t,
pub inputs: *mut iree_vm_list_t,
}
unsafe extern "C" {
pub fn iree_vm_async_invoke(
loop_: iree_loop_t,
state: *mut iree_vm_async_invoke_state_t,
context: *mut iree_vm_context_t,
function: iree_vm_function_t,
flags: iree_vm_invocation_flags_t,
policy: *const iree_vm_invocation_policy_t,
inputs: *mut iree_vm_list_t,
outputs: *mut iree_vm_list_t,
host_allocator: iree_allocator_t,
callback: iree_vm_async_invoke_callback_fn_t,
user_data: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_create(
context: *mut iree_vm_context_t,
function: iree_vm_function_t,
flags: iree_vm_invocation_flags_t,
policy: *const iree_vm_invocation_policy_t,
inputs: *const iree_vm_list_t,
allocator: iree_allocator_t,
out_invocation: *mut *mut iree_vm_invocation_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_retain(invocation: *mut iree_vm_invocation_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_release(invocation: *mut iree_vm_invocation_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_query_status(invocation: *mut iree_vm_invocation_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_outputs(
invocation: *mut iree_vm_invocation_t,
) -> *const iree_vm_list_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_await(
invocation: *mut iree_vm_invocation_t,
deadline: iree_time_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_invocation_cancel(invocation: *mut iree_vm_invocation_t);
}
pub const IREE_VM_NATIVE_IMPORT_REQUIRED: iree_vm_native_import_flag_bits_e = 1;
pub const IREE_VM_NATIVE_IMPORT_OPTIONAL: iree_vm_native_import_flag_bits_e = 2;
pub type iree_vm_native_import_flag_bits_e = core::ffi::c_uint;
pub type iree_vm_native_import_flags_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_native_import_descriptor_t {
pub flags: iree_vm_native_import_flags_t,
pub full_name: iree_string_view_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_native_export_descriptor_t {
pub local_name: iree_string_view_t,
pub calling_convention: iree_string_view_t,
pub attr_count: iree_host_size_t,
pub attrs: *const iree_string_pair_t,
}
pub type iree_vm_native_function_target_t = ::core::option::Option<
unsafe extern "C" fn(
stack: *mut iree_vm_stack_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t,
>;
pub const IREE_VM_NATIVE_FUNCTION_CALL_BEGIN: iree_vm_native_function_flag_bits_t = 1;
pub const IREE_VM_NATIVE_FUNCTION_CALL_RESUME: iree_vm_native_function_flag_bits_t = 2;
pub type iree_vm_native_function_flag_bits_t = core::ffi::c_uint;
pub type iree_vm_native_function_flags_t = u32;
pub type iree_vm_native_function_shim_t = ::core::option::Option<
unsafe extern "C" fn(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_native_function_ptr_t {
pub shim: iree_vm_native_function_shim_t,
pub target: iree_vm_native_function_target_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_native_module_descriptor_t {
pub name: iree_string_view_t,
pub version: u32,
pub attr_count: iree_host_size_t,
pub attrs: *const iree_string_pair_t,
pub dependency_count: iree_host_size_t,
pub dependencies: *const iree_vm_module_dependency_t,
pub import_count: iree_host_size_t,
pub imports: *const iree_vm_native_import_descriptor_t,
pub export_count: iree_host_size_t,
pub exports: *const iree_vm_native_export_descriptor_t,
pub function_count: iree_host_size_t,
pub functions: *const iree_vm_native_function_ptr_t,
}
unsafe extern "C" {
pub fn iree_vm_native_module_size() -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_vm_native_module_create(
module_interface: *const iree_vm_module_t,
module_descriptor: *const iree_vm_native_module_descriptor_t,
instance: *mut iree_vm_instance_t,
allocator: iree_allocator_t,
out_module: *mut *mut iree_vm_module_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_native_module_initialize(
module_interface: *const iree_vm_module_t,
module_descriptor: *const iree_vm_native_module_descriptor_t,
instance: *mut iree_vm_instance_t,
allocator: iree_allocator_t,
module: *mut iree_vm_module_t,
) -> iree_status_t;
}
pub type iree_vm_native_function_target2_t = ::core::option::Option<
unsafe extern "C" fn(
stack: *mut iree_vm_stack_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
args: *const core::ffi::c_void,
rets: *mut core::ffi::c_void,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_v_t {
pub unused: core::ffi::c_int,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_v_checked_deref__extern"]
pub fn iree_vm_abi_v_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_v_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_v_reset__extern"]
pub fn iree_vm_abi_v_reset(value: *mut iree_vm_abi_v_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_i_t {
pub i0: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_i_checked_deref__extern"]
pub fn iree_vm_abi_i_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_i_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_i_reset__extern"]
pub fn iree_vm_abi_i_reset(value: *mut iree_vm_abi_i_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_I_t {
pub i0: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_I_checked_deref__extern"]
pub fn iree_vm_abi_I_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_I_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_I_reset__extern"]
pub fn iree_vm_abi_I_reset(value: *mut iree_vm_abi_I_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_f_t {
pub f0: f32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_f_checked_deref__extern"]
pub fn iree_vm_abi_f_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_f_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_f_reset__extern"]
pub fn iree_vm_abi_f_reset(value: *mut iree_vm_abi_f_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_ii_t {
pub i0: i32,
pub i1: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ii_checked_deref__extern"]
pub fn iree_vm_abi_ii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_ii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ii_reset__extern"]
pub fn iree_vm_abi_ii_reset(value: *mut iree_vm_abi_ii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iI_t {
pub i0: i32,
pub i1: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iI_checked_deref__extern"]
pub fn iree_vm_abi_iI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iI_reset__extern"]
pub fn iree_vm_abi_iI_reset(value: *mut iree_vm_abi_iI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_Ii_t {
pub i0: i64,
pub i1: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_Ii_checked_deref__extern"]
pub fn iree_vm_abi_Ii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_Ii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_Ii_reset__extern"]
pub fn iree_vm_abi_Ii_reset(value: *mut iree_vm_abi_Ii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iIi_t {
pub i0: i32,
pub i1: i64,
pub i2: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iIi_checked_deref__extern"]
pub fn iree_vm_abi_iIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iIi_reset__extern"]
pub fn iree_vm_abi_iIi_reset(value: *mut iree_vm_abi_iIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_ir_t {
pub i0: i32,
pub r1: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ir_checked_deref__extern"]
pub fn iree_vm_abi_ir_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_ir_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ir_reset__extern"]
pub fn iree_vm_abi_ir_reset(value: *mut iree_vm_abi_ir_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rir_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub r2: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rir_checked_deref__extern"]
pub fn iree_vm_abi_rir_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rir_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rir_reset__extern"]
pub fn iree_vm_abi_rir_reset(value: *mut iree_vm_abi_rir_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iiir_t {
pub i0: i32,
pub i1: i32,
pub i2: i32,
pub r3: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iiir_checked_deref__extern"]
pub fn iree_vm_abi_iiir_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iiir_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iiir_reset__extern"]
pub fn iree_vm_abi_iiir_reset(value: *mut iree_vm_abi_iiir_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_II_t {
pub i0: i64,
pub i1: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_II_checked_deref__extern"]
pub fn iree_vm_abi_II_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_II_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_II_reset__extern"]
pub fn iree_vm_abi_II_reset(value: *mut iree_vm_abi_II_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_IIi_t {
pub i0: i64,
pub i1: i64,
pub i2: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_IIi_checked_deref__extern"]
pub fn iree_vm_abi_IIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_IIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_IIi_reset__extern"]
pub fn iree_vm_abi_IIi_reset(value: *mut iree_vm_abi_IIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iii_t {
pub i0: i32,
pub i1: i32,
pub i2: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iii_checked_deref__extern"]
pub fn iree_vm_abi_iii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iii_reset__extern"]
pub fn iree_vm_abi_iii_reset(value: *mut iree_vm_abi_iii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iiii_t {
pub i0: i32,
pub i1: i32,
pub i2: i32,
pub i3: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iiii_checked_deref__extern"]
pub fn iree_vm_abi_iiii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iiii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iiii_reset__extern"]
pub fn iree_vm_abi_iiii_reset(value: *mut iree_vm_abi_iiii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_irIi_t {
pub i0: i32,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_irIi_checked_deref__extern"]
pub fn iree_vm_abi_irIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_irIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_irIi_reset__extern"]
pub fn iree_vm_abi_irIi_reset(value: *mut iree_vm_abi_irIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_irII_t {
pub i0: i32,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_irII_checked_deref__extern"]
pub fn iree_vm_abi_irII_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_irII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_irII_reset__extern"]
pub fn iree_vm_abi_irII_reset(value: *mut iree_vm_abi_irII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_r_t {
pub r0: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_r_checked_deref__extern"]
pub fn iree_vm_abi_r_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_r_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_r_reset__extern"]
pub fn iree_vm_abi_r_reset(value: *mut iree_vm_abi_r_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rr_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rr_checked_deref__extern"]
pub fn iree_vm_abi_rr_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rr_reset__extern"]
pub fn iree_vm_abi_rr_reset(value: *mut iree_vm_abi_rr_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrr_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub r2: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrr_checked_deref__extern"]
pub fn iree_vm_abi_rrr_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrr_reset__extern"]
pub fn iree_vm_abi_rrr_reset(value: *mut iree_vm_abi_rrr_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_ri_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ri_checked_deref__extern"]
pub fn iree_vm_abi_ri_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_ri_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ri_reset__extern"]
pub fn iree_vm_abi_ri_reset(value: *mut iree_vm_abi_ri_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rI_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rI_checked_deref__extern"]
pub fn iree_vm_abi_rI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rI_reset__extern"]
pub fn iree_vm_abi_rI_reset(value: *mut iree_vm_abi_rI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_ririi_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub r2: iree_vm_ref_t,
pub i3: i32,
pub i4: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ririi_checked_deref__extern"]
pub fn iree_vm_abi_ririi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_ririi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ririi_reset__extern"]
pub fn iree_vm_abi_ririi_reset(value: *mut iree_vm_abi_ririi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rii_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rii_checked_deref__extern"]
pub fn iree_vm_abi_rii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rii_reset__extern"]
pub fn iree_vm_abi_rii_reset(value: *mut iree_vm_abi_rii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIi_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIi_checked_deref__extern"]
pub fn iree_vm_abi_rIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIi_reset__extern"]
pub fn iree_vm_abi_rIi_reset(value: *mut iree_vm_abi_rIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIIrrii_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i64,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i32,
pub i6: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIIrrii_checked_deref__extern"]
pub fn iree_vm_abi_rIIrrii_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIIrrii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIIrrii_reset__extern"]
pub fn iree_vm_abi_rIIrrii_reset(value: *mut iree_vm_abi_rIIrrii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIirIIi_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i32,
pub r3: iree_vm_ref_t,
pub i4: i64,
pub i5: i64,
pub i6: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIirIIi_checked_deref__extern"]
pub fn iree_vm_abi_rIirIIi_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIirIIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIirIIi_reset__extern"]
pub fn iree_vm_abi_rIirIIi_reset(value: *mut iree_vm_abi_rIirIIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rII_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rII_checked_deref__extern"]
pub fn iree_vm_abi_rII_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rII_reset__extern"]
pub fn iree_vm_abi_rII_reset(value: *mut iree_vm_abi_rII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rif_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub f2: f32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rif_checked_deref__extern"]
pub fn iree_vm_abi_rif_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rif_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rif_reset__extern"]
pub fn iree_vm_abi_rif_reset(value: *mut iree_vm_abi_rif_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riii_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub i3: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riii_checked_deref__extern"]
pub fn iree_vm_abi_riii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riii_reset__extern"]
pub fn iree_vm_abi_riii_reset(value: *mut iree_vm_abi_riii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riiii_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub i3: i32,
pub i4: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiii_checked_deref__extern"]
pub fn iree_vm_abi_riiii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riiii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiii_reset__extern"]
pub fn iree_vm_abi_riiii_reset(value: *mut iree_vm_abi_riiii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riiIi_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub i3: i64,
pub i4: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiIi_checked_deref__extern"]
pub fn iree_vm_abi_riiIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riiIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiIi_reset__extern"]
pub fn iree_vm_abi_riiIi_reset(value: *mut iree_vm_abi_riiIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riiI_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub i3: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiI_checked_deref__extern"]
pub fn iree_vm_abi_riiI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiI_reset__extern"]
pub fn iree_vm_abi_riiI_reset(value: *mut iree_vm_abi_riiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_iirII_t {
pub i0: i32,
pub i1: i32,
pub r2: iree_vm_ref_t,
pub i3: i64,
pub i4: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iirII_checked_deref__extern"]
pub fn iree_vm_abi_iirII_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iirII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iirII_reset__extern"]
pub fn iree_vm_abi_iirII_reset(value: *mut iree_vm_abi_iirII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIiiI_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i32,
pub i3: i32,
pub i4: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIiiI_checked_deref__extern"]
pub fn iree_vm_abi_rIiiI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rIiiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIiiI_reset__extern"]
pub fn iree_vm_abi_rIiiI_reset(value: *mut iree_vm_abi_rIiiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riIiirII_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i64,
pub i3: i32,
pub i4: i32,
pub r5: iree_vm_ref_t,
pub i6: i64,
pub i7: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riIiirII_checked_deref__extern"]
pub fn iree_vm_abi_riIiirII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_riIiirII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riIiirII_reset__extern"]
pub fn iree_vm_abi_riIiirII_reset(value: *mut iree_vm_abi_riIiirII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rriiiirrIIIII_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub i3: i32,
pub i4: i32,
pub i5: i32,
pub r6: iree_vm_ref_t,
pub r7: iree_vm_ref_t,
pub i8_: i64,
pub i9: i64,
pub i10: i64,
pub i11: i64,
pub i12: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriiiirrIIIII_checked_deref__extern"]
pub fn iree_vm_abi_rriiiirrIIIII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rriiiirrIIIII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriiiirrIIIII_reset__extern"]
pub fn iree_vm_abi_rriiiirrIIIII_reset(value: *mut iree_vm_abi_rriiiirrIIIII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rriiiiI_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub i3: i32,
pub i4: i32,
pub i5: i32,
pub i6: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriiiiI_checked_deref__extern"]
pub fn iree_vm_abi_rriiiiI_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rriiiiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriiiiI_reset__extern"]
pub fn iree_vm_abi_rriiiiI_reset(value: *mut iree_vm_abi_rriiiiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrIIiii_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i64,
pub i4: i32,
pub i5: i32,
pub i6: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIiii_checked_deref__extern"]
pub fn iree_vm_abi_rrIIiii_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrIIiii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIiii_reset__extern"]
pub fn iree_vm_abi_rrIIiii_reset(value: *mut iree_vm_abi_rrIIiii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrirI_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub r3: iree_vm_ref_t,
pub i4: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrirI_checked_deref__extern"]
pub fn iree_vm_abi_rrirI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrirI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrirI_reset__extern"]
pub fn iree_vm_abi_rrirI_reset(value: *mut iree_vm_abi_rrirI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rriirII_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub i3: i32,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub i6: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriirII_checked_deref__extern"]
pub fn iree_vm_abi_rriirII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rriirII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriirII_reset__extern"]
pub fn iree_vm_abi_rriirII_reset(value: *mut iree_vm_abi_rriirII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrIrIIiI_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub r3: iree_vm_ref_t,
pub i4: i64,
pub i5: i64,
pub i6: i32,
pub i7: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIrIIiI_checked_deref__extern"]
pub fn iree_vm_abi_rrIrIIiI_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrIrIIiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIrIIiI_reset__extern"]
pub fn iree_vm_abi_rrIrIIiI_reset(value: *mut iree_vm_abi_rrIrIIiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_riirIrIII_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub r3: iree_vm_ref_t,
pub i4: i64,
pub r5: iree_vm_ref_t,
pub i6: i64,
pub i7: i64,
pub i8_: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riirIrIII_checked_deref__extern"]
pub fn iree_vm_abi_riirIrIII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_riirIrIII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riirIrIII_reset__extern"]
pub fn iree_vm_abi_riirIrIII_reset(value: *mut iree_vm_abi_riirIrIII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrIii_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i32,
pub i4: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIii_checked_deref__extern"]
pub fn iree_vm_abi_rrIii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrIii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIii_reset__extern"]
pub fn iree_vm_abi_rrIii_reset(value: *mut iree_vm_abi_rrIii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrrIii_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub r2: iree_vm_ref_t,
pub i3: i64,
pub i4: i32,
pub i5: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrrIii_checked_deref__extern"]
pub fn iree_vm_abi_rrrIii_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrrIii_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrrIii_reset__extern"]
pub fn iree_vm_abi_rrrIii_reset(value: *mut iree_vm_abi_rrrIii_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrIiiII_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub i4: i64,
pub i5: i32,
pub i6: i32,
pub i7: i64,
pub i8_: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrIiiII_checked_deref__extern"]
pub fn iree_vm_abi_rIrrIiiII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrIiiII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrIiiII_reset__extern"]
pub fn iree_vm_abi_rIrrIiiII_reset(value: *mut iree_vm_abi_rIrrIiiII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrIIIi_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i64,
pub i4: i64,
pub i5: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIIi_checked_deref__extern"]
pub fn iree_vm_abi_rrIIIi_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrIIIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIIi_reset__extern"]
pub fn iree_vm_abi_rrIIIi_reset(value: *mut iree_vm_abi_rrIIIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrIIiIiI_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i64,
pub i3: i64,
pub i4: i32,
pub i5: i64,
pub i6: i32,
pub i7: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIiIiI_checked_deref__extern"]
pub fn iree_vm_abi_rrIIiIiI_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrIIiIiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrIIiIiI_reset__extern"]
pub fn iree_vm_abi_rrIIiIiI_reset(value: *mut iree_vm_abi_rrIIiIiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrIIIiI_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub i6: i64,
pub i7: i64,
pub i8_: i32,
pub i9: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIIIiI_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrIIIiI_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrIIIiI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIIIiI_reset__extern"]
pub fn iree_vm_abi_rIrrrIIIiI_reset(value: *mut iree_vm_abi_rIrrrIIIiI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrIrIII_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub r6: iree_vm_ref_t,
pub i7: i64,
pub i8_: i64,
pub i9: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIrIII_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrIrIII_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrIrIII_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIrIII_reset__extern"]
pub fn iree_vm_abi_rIrrrIrIII_reset(value: *mut iree_vm_abi_rIrrrIrIII_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrIrIIi_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub r6: iree_vm_ref_t,
pub i7: i64,
pub i8_: i64,
pub i9: i32,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIrIIi_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrIrIIi_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrIrIIi_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIrIIi_reset__extern"]
pub fn iree_vm_abi_rIrrrIrIIi_reset(value: *mut iree_vm_abi_rIrrrIrIIi_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrrrrr_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub r5: iree_vm_ref_t,
pub r6: iree_vm_ref_t,
pub r7: iree_vm_ref_t,
pub r8: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrrrrr_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrrrrr_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrrrrr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrrrrr_reset__extern"]
pub fn iree_vm_abi_rIrrrrrrr_reset(value: *mut iree_vm_abi_rIrrrrrrr_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrIiirrr_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub i6: i32,
pub i7: i32,
pub r8: iree_vm_ref_t,
pub r9: iree_vm_ref_t,
pub r10: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIiirrr_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrIiirrr_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrIiirrr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrIiirrr_reset__extern"]
pub fn iree_vm_abi_rIrrrIiirrr_reset(value: *mut iree_vm_abi_rIrrrIiirrr_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrI_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub i4: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrI_checked_deref__extern"]
pub fn iree_vm_abi_rIrrI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rIrrI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrI_reset__extern"]
pub fn iree_vm_abi_rIrrI_reset(value: *mut iree_vm_abi_rIrrI_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrr_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrr_checked_deref__extern"]
pub fn iree_vm_abi_rIrrr_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rIrrr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrr_reset__extern"]
pub fn iree_vm_abi_rIrrr_reset(value: *mut iree_vm_abi_rIrrr_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rIrrrI_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrI_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrI_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rIrrrI_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrI_reset__extern"]
pub fn iree_vm_abi_rIrrrI_reset(value: *mut iree_vm_abi_rIrrrI_t);
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rIrrCrD_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub a4_count: iree_vm_size_t,
pub a4: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrCrD_checked_deref__extern"]
pub fn iree_vm_abi_rIrrCrD_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrCrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rIrrrICrIID_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub r4: iree_vm_ref_t,
pub i5: i64,
pub a6_count: iree_vm_size_t,
pub a6: __IncompleteArrayField<iree_vm_abi_rII_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIrrrICrIID_checked_deref__extern"]
pub fn iree_vm_abi_rIrrrICrIID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIrrrICrIID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rCiD_t {
pub r0: iree_vm_ref_t,
pub a1_count: iree_vm_size_t,
pub a1: __IncompleteArrayField<iree_vm_abi_i_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rCiD_checked_deref__extern"]
pub fn iree_vm_abi_rCiD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rCiD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rCrD_t {
pub r0: iree_vm_ref_t,
pub a1_count: iree_vm_size_t,
pub a1: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rCrD_checked_deref__extern"]
pub fn iree_vm_abi_rCrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rCrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_riCiD_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub a2_count: iree_vm_size_t,
pub a2: __IncompleteArrayField<iree_vm_abi_i_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riCiD_checked_deref__extern"]
pub fn iree_vm_abi_riCiD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riCiD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rIIiiCID_t {
pub r0: iree_vm_ref_t,
pub i1: i64,
pub i2: i64,
pub i3: i32,
pub i4: i32,
pub a5_count: iree_vm_size_t,
pub a5: __IncompleteArrayField<iree_vm_abi_I_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rIIiiCID_checked_deref__extern"]
pub fn iree_vm_abi_rIIiiCID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rIIiiCID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rriiCID_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub i3: i32,
pub a4_count: iree_vm_size_t,
pub a4: __IncompleteArrayField<iree_vm_abi_I_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriiCID_checked_deref__extern"]
pub fn iree_vm_abi_rriiCID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rriiCID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_riCrD_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub a2_count: iree_vm_size_t,
pub a2: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riCrD_checked_deref__extern"]
pub fn iree_vm_abi_riCrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_riCrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_riiCriD_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub i2: i32,
pub a3_count: iree_vm_size_t,
pub a3: __IncompleteArrayField<iree_vm_abi_ri_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riiCriD_checked_deref__extern"]
pub fn iree_vm_abi_riiCriD_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_riiCriD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rirCrD_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub r2: iree_vm_ref_t,
pub a3_count: iree_vm_size_t,
pub a3: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rirCrD_checked_deref__extern"]
pub fn iree_vm_abi_rirCrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rirCrD_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_vm_abi_rrrr_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrrr_checked_deref__extern"]
pub fn iree_vm_abi_rrrr_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rrrr_t;
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrrr_reset__extern"]
pub fn iree_vm_abi_rrrr_reset(value: *mut iree_vm_abi_rrrr_t);
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rrrrCrD_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub r2: iree_vm_ref_t,
pub r3: iree_vm_ref_t,
pub a4_count: iree_vm_size_t,
pub a4: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrrrCrD_checked_deref__extern"]
pub fn iree_vm_abi_rrrrCrD_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrrrCrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rriCiD_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub a3_count: iree_vm_size_t,
pub a3: __IncompleteArrayField<iree_vm_abi_i_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriCiD_checked_deref__extern"]
pub fn iree_vm_abi_rriCiD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_rriCiD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rrirCID_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub r3: iree_vm_ref_t,
pub a4_count: iree_vm_size_t,
pub a4: __IncompleteArrayField<iree_vm_abi_I_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrirCID_checked_deref__extern"]
pub fn iree_vm_abi_rrirCID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrirCID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_riCiiiD_t {
pub r0: iree_vm_ref_t,
pub i1: i32,
pub a2_count: iree_vm_size_t,
pub a2: __IncompleteArrayField<iree_vm_abi_iii_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_riCiiiD_checked_deref__extern"]
pub fn iree_vm_abi_riCiiiD_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_riCiiiD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rrCrIID_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub a2_count: iree_vm_size_t,
pub a2: __IncompleteArrayField<iree_vm_abi_rII_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rrCrIID_checked_deref__extern"]
pub fn iree_vm_abi_rrCrIID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rrCrIID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_rriCiirIID_t {
pub r0: iree_vm_ref_t,
pub r1: iree_vm_ref_t,
pub i2: i32,
pub a3_count: iree_vm_size_t,
pub a3: __IncompleteArrayField<iree_vm_abi_iirII_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_rriCiirIID_checked_deref__extern"]
pub fn iree_vm_abi_rriCiirIID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_rriCiirIID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_CrD_t {
pub a0_count: iree_vm_size_t,
pub a0: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_CrD_checked_deref__extern"]
pub fn iree_vm_abi_CrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_CrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_CrID_t {
pub a0_count: iree_vm_size_t,
pub a0: __IncompleteArrayField<iree_vm_abi_rI_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_CrID_checked_deref__extern"]
pub fn iree_vm_abi_CrID_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_CrID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_iiICrID_t {
pub i0: i32,
pub i1: i32,
pub i2: i64,
pub a3_count: iree_vm_size_t,
pub a3: __IncompleteArrayField<iree_vm_abi_rI_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iiICrID_checked_deref__extern"]
pub fn iree_vm_abi_iiICrID_checked_deref(
buffer: iree_byte_span_t,
) -> *mut iree_vm_abi_iiICrID_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_iICrD_t {
pub i0: i32,
pub i1: i64,
pub a2_count: iree_vm_size_t,
pub a2: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_iICrD_checked_deref__extern"]
pub fn iree_vm_abi_iICrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_iICrD_t;
}
#[repr(C)]
#[derive(Debug)]
pub struct iree_vm_abi_ICrD_t {
pub i0: i64,
pub a1_count: iree_vm_size_t,
pub a1: __IncompleteArrayField<iree_vm_abi_r_t>,
}
unsafe extern "C" {
#[link_name = "iree_vm_abi_ICrD_checked_deref__extern"]
pub fn iree_vm_abi_ICrD_checked_deref(buffer: iree_byte_span_t) -> *mut iree_vm_abi_ICrD_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_irIi_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_i_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_i_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_I(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_ii(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_iI(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_iii(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_iiii(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_rI(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_r_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rCiD_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rCrD_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_ii(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_I(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_f(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ri_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rI_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rI_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riCiD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIIiiCID_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riCiiiD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riCrD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIi_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIIrrii_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIirIIi_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rii_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rII_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rii_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rif_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riii_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riiI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riiI_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riii_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riiIi_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIiiI_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riIiirII_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriiiirrIIIII_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrrr_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrrrCrD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ririi_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rir_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rr_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rr_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rr_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rr_ii(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rr_iI(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrr_iI(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrr_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrCrIID_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriCiD_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriiCID_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriCiirIID_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriiiiI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrIIiii_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrirCID_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrirI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rriirII_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrIrIIiI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_riirIrIII_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrIii_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrrIii_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrIiiII_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrIIIi_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rrIIiIiI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrIIIiI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrIrIII_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrIrIIi_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrrrrr_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrIiirrr_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrr_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrr_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrI_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrCrD_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_rIrrrICrIID_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_CrID_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_CrD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iICrD_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ICrD_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_Ii_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iI_I(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iI_rr(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iIi_I(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iiir_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_ir_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_irII_rr(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_iiICrID_rI(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_v_i(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_v_r(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_shim_v_v(
stack: *mut iree_vm_stack_t,
flags: iree_vm_native_function_flags_t,
args_storage: iree_byte_span_t,
rets_storage: iree_byte_span_t,
target_fn: iree_vm_native_function_target2_t,
module: *mut core::ffi::c_void,
module_state: *mut core::ffi::c_void,
) -> iree_status_t;
}
pub type iree_hal_module_debug_sink_release_callback_fn_t =
::core::option::Option<unsafe extern "C" fn(user_data: *mut core::ffi::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_module_debug_sink_release_callback_t {
pub fn_: iree_hal_module_debug_sink_release_callback_fn_t,
pub user_data: *mut core::ffi::c_void,
}
pub type iree_hal_module_buffer_view_trace_callback_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
key: iree_string_view_t,
buffer_view_count: iree_host_size_t,
buffer_views: *mut *mut iree_hal_buffer_view_t,
host_allocator: iree_allocator_t,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_module_buffer_view_trace_callback_t {
pub fn_: iree_hal_module_buffer_view_trace_callback_fn_t,
pub user_data: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_module_debug_sink_t {
pub release: iree_hal_module_debug_sink_release_callback_t,
pub buffer_view_trace: iree_hal_module_buffer_view_trace_callback_t,
}
unsafe extern "C" {
pub fn iree_hal_module_debug_sink_null() -> iree_hal_module_debug_sink_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_allocator_type__extern"]
pub fn iree_hal_allocator_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_allocator_isa__extern"]
pub fn iree_hal_allocator_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_allocator_retain_ref(value: *mut iree_hal_allocator_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_move_ref(value: *mut iree_hal_allocator_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_allocator_deref__extern"]
pub fn iree_hal_allocator_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_allocator_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_allocator_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_allocator_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_allocator_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_type__extern"]
pub fn iree_hal_buffer_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_isa__extern"]
pub fn iree_hal_buffer_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_buffer_retain_ref(value: *mut iree_hal_buffer_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_move_ref(value: *mut iree_hal_buffer_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_deref__extern"]
pub fn iree_hal_buffer_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_view_type__extern"]
pub fn iree_hal_buffer_view_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_view_isa__extern"]
pub fn iree_hal_buffer_view_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_retain_ref(value: *mut iree_hal_buffer_view_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_move_ref(value: *mut iree_hal_buffer_view_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_buffer_view_deref__extern"]
pub fn iree_hal_buffer_view_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_buffer_view_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_buffer_view_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_channel_type__extern"]
pub fn iree_hal_channel_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_channel_isa__extern"]
pub fn iree_hal_channel_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_channel_retain_ref(value: *mut iree_hal_channel_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_move_ref(value: *mut iree_hal_channel_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_channel_deref__extern"]
pub fn iree_hal_channel_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_channel_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_channel_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_channel_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_channel_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_command_buffer_type__extern"]
pub fn iree_hal_command_buffer_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_command_buffer_isa__extern"]
pub fn iree_hal_command_buffer_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_retain_ref(
value: *mut iree_hal_command_buffer_t,
) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_move_ref(value: *mut iree_hal_command_buffer_t)
-> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_command_buffer_deref__extern"]
pub fn iree_hal_command_buffer_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_command_buffer_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_command_buffer_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_command_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_device_type__extern"]
pub fn iree_hal_device_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_device_isa__extern"]
pub fn iree_hal_device_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_device_retain_ref(value: *mut iree_hal_device_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_device_move_ref(value: *mut iree_hal_device_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_device_deref__extern"]
pub fn iree_hal_device_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_device_t;
}
unsafe extern "C" {
pub fn iree_hal_device_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_device_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_event_type__extern"]
pub fn iree_hal_event_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_event_isa__extern"]
pub fn iree_hal_event_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_event_retain_ref(value: *mut iree_hal_event_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_event_move_ref(value: *mut iree_hal_event_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_event_deref__extern"]
pub fn iree_hal_event_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_event_t;
}
unsafe extern "C" {
pub fn iree_hal_event_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_event_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_event_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_event_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_type__extern"]
pub fn iree_hal_executable_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_isa__extern"]
pub fn iree_hal_executable_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_executable_retain_ref(value: *mut iree_hal_executable_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_move_ref(value: *mut iree_hal_executable_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_deref__extern"]
pub fn iree_hal_executable_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_executable_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_executable_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_executable_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_cache_type__extern"]
pub fn iree_hal_executable_cache_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_cache_isa__extern"]
pub fn iree_hal_executable_cache_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_retain_ref(
value: *mut iree_hal_executable_cache_t,
) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_move_ref(
value: *mut iree_hal_executable_cache_t,
) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_cache_deref__extern"]
pub fn iree_hal_executable_cache_deref(ref_: iree_vm_ref_t)
-> *mut iree_hal_executable_cache_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_executable_cache_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_cache_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_executable_cache_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_fence_type__extern"]
pub fn iree_hal_fence_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_fence_isa__extern"]
pub fn iree_hal_fence_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_fence_retain_ref(value: *mut iree_hal_fence_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_move_ref(value: *mut iree_hal_fence_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_fence_deref__extern"]
pub fn iree_hal_fence_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_fence_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_fence_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_fence_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_file_type__extern"]
pub fn iree_hal_file_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_file_isa__extern"]
pub fn iree_hal_file_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_file_retain_ref(value: *mut iree_hal_file_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_file_move_ref(value: *mut iree_hal_file_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_file_deref__extern"]
pub fn iree_hal_file_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_file_t;
}
unsafe extern "C" {
pub fn iree_hal_file_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_file_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_file_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_file_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_type__extern"]
pub fn iree_hal_semaphore_type() -> iree_vm_ref_type_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_isa__extern"]
pub fn iree_hal_semaphore_isa(ref_: iree_vm_ref_t) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_retain_ref(value: *mut iree_hal_semaphore_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_move_ref(value: *mut iree_hal_semaphore_t) -> iree_vm_ref_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_semaphore_deref__extern"]
pub fn iree_hal_semaphore_deref(ref_: iree_vm_ref_t) -> *mut iree_hal_semaphore_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_check_deref(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_semaphore_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_semaphore_check_deref_or_null(
ref_: iree_vm_ref_t,
out_ptr: *mut *mut iree_hal_semaphore_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_register_inline_types(
instance: *mut iree_vm_instance_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_register_loader_types(
instance: *mut iree_vm_instance_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_register_all_types(instance: *mut iree_vm_instance_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_resolve_inline_types(instance: *mut iree_vm_instance_t)
-> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_resolve_loader_types(instance: *mut iree_vm_instance_t)
-> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_resolve_all_types(instance: *mut iree_vm_instance_t) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_buffer_assign(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_buffer_retain(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_buffer_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_buffer_retain(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *mut iree_hal_buffer_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_buffer_view_assign(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_buffer_view_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_buffer_view_retain(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_buffer_view_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_buffer_view_retain(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *mut iree_hal_buffer_view_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_fence_assign(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_fence_t;
}
unsafe extern "C" {
pub fn iree_vm_list_get_fence_retain(
list: *const iree_vm_list_t,
i: iree_host_size_t,
) -> *mut iree_hal_fence_t;
}
unsafe extern "C" {
pub fn iree_vm_list_set_fence_retain(
list: *mut iree_vm_list_t,
i: iree_host_size_t,
value: *mut iree_hal_fence_t,
) -> iree_status_t;
}
pub type iree_hal_module_device_allocator_select_flags_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_device_queue_affinity_pair_t {
pub device: *mut iree_hal_device_t,
pub queue_affinity: iree_hal_queue_affinity_t,
}
pub type iree_hal_module_device_allocator_select_callback_fn_t = ::core::option::Option<
unsafe extern "C" fn(
user_data: *mut core::ffi::c_void,
device_count: iree_host_size_t,
devices: *const iree_hal_device_queue_affinity_pair_t,
memory_types: iree_hal_memory_type_t,
buffer_usage: iree_hal_buffer_usage_t,
flags: iree_hal_module_device_allocator_select_flags_t,
out_selection: *mut iree_host_size_t,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_module_device_allocator_select_callback_t {
pub fn_: iree_hal_module_device_allocator_select_callback_fn_t,
pub user_data: *mut core::ffi::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_module_device_policy_t {
pub allocator_select: iree_hal_module_device_allocator_select_callback_t,
}
unsafe extern "C" {
pub fn iree_hal_module_device_policy_default() -> iree_hal_module_device_policy_t;
}
pub const IREE_HAL_MODULE_FLAG_NONE: iree_hal_module_flag_bits_t = 0;
pub const IREE_HAL_MODULE_FLAG_SYNCHRONOUS: iree_hal_module_flag_bits_t = 1;
pub type iree_hal_module_flag_bits_t = core::ffi::c_uint;
pub type iree_hal_module_flags_t = u32;
unsafe extern "C" {
pub fn iree_hal_module_create(
instance: *mut iree_vm_instance_t,
device_policy: iree_hal_module_device_policy_t,
device_group: *mut iree_hal_device_group_t,
flags: iree_hal_module_flags_t,
debug_sink: iree_hal_module_debug_sink_t,
host_allocator: iree_allocator_t,
out_module: *mut *mut iree_vm_module_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_module_state_device_count(
module_state: *mut iree_vm_module_state_t,
) -> iree_host_size_t;
}
unsafe extern "C" {
pub fn iree_hal_module_state_device_get(
module_state: *mut iree_vm_module_state_t,
index: iree_host_size_t,
) -> *mut iree_hal_device_t;
}
pub const IREE_VM_BYTECODE_MODULE_FLAG_NONE: iree_vm_bytecode_module_flags_e = 0;
pub const IREE_VM_BYTECODE_MODULE_FLAG_ALLOW_PLACEHOLDER_TYPES: iree_vm_bytecode_module_flags_e = 1;
pub type iree_vm_bytecode_module_flags_e = core::ffi::c_uint;
pub use self::iree_vm_bytecode_module_flags_e as iree_vm_bytecode_module_flags_t;
unsafe extern "C" {
pub fn iree_vm_bytecode_module_create(
instance: *mut iree_vm_instance_t,
flags: iree_vm_bytecode_module_flags_t,
archive_contents: iree_const_byte_span_t,
archive_allocator: iree_allocator_t,
allocator: iree_allocator_t,
out_module: *mut *mut iree_vm_module_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_vm_bytecode_module_disassemble_function(
module: *mut iree_vm_module_t,
function_ordinal: u16,
string_builder: *mut iree_string_builder_t,
) -> iree_status_t;
}
pub const IREE_HAL_EXECUTABLE_IMPORT_RESOLUTION_MISSING_OPTIONAL:
iree_hal_executable_import_resolution_bits_e = 1;
pub type iree_hal_executable_import_resolution_bits_e = core::ffi::c_uint;
pub type iree_hal_executable_import_resolution_t = u32;
pub type iree_hal_executable_import_provider_resolve_fn_t = ::core::option::Option<
unsafe extern "C" fn(
self_: *mut core::ffi::c_void,
count: iree_host_size_t,
symbol_names: *const *const core::ffi::c_char,
out_fn_ptrs: *mut *mut core::ffi::c_void,
out_fn_contexts: *mut *mut core::ffi::c_void,
out_resolution: *mut iree_hal_executable_import_resolution_t,
) -> iree_status_t,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_import_provider_t {
pub self_: *mut core::ffi::c_void,
pub resolve: iree_hal_executable_import_provider_resolve_fn_t,
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_import_provider_null__extern"]
pub fn iree_hal_executable_import_provider_null() -> iree_hal_executable_import_provider_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_import_provider_try_resolve(
import_provider: iree_hal_executable_import_provider_t,
count: iree_host_size_t,
symbol_names: *const *const core::ffi::c_char,
out_fn_ptrs: *mut *mut core::ffi::c_void,
out_fn_contexts: *mut *mut core::ffi::c_void,
out_resolution: *mut iree_hal_executable_import_resolution_t,
) -> iree_status_t;
}
unsafe extern "C" {
#[link_name = "iree_hal_executable_import_is_optional__extern"]
pub fn iree_hal_executable_import_is_optional(symbol_name: *const core::ffi::c_char) -> bool;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_loader_t {
pub ref_count: iree_atomic_ref_count_t,
pub vtable: *const iree_hal_executable_loader_vtable_t,
pub import_provider: iree_hal_executable_import_provider_t,
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_initialize(
vtable: *const core::ffi::c_void,
import_provider: iree_hal_executable_import_provider_t,
out_base_loader: *mut iree_hal_executable_loader_t,
);
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_retain(executable_loader: *mut iree_hal_executable_loader_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_release(executable_loader: *mut iree_hal_executable_loader_t);
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_infer_format(
executable_loader: *mut iree_hal_executable_loader_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_data: iree_const_byte_span_t,
executable_format_capacity: iree_host_size_t,
executable_format: *mut core::ffi::c_char,
out_inferred_size: *mut iree_host_size_t,
) -> iree_status_t;
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_query_support(
executable_loader: *mut iree_hal_executable_loader_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_format: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_query_any_executable_loader_support(
loader_count: iree_host_size_t,
loaders: *mut *mut iree_hal_executable_loader_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_format: iree_string_view_t,
) -> bool;
}
unsafe extern "C" {
pub fn iree_hal_executable_loader_try_load(
executable_loader: *mut iree_hal_executable_loader_t,
executable_params: *const iree_hal_executable_params_t,
worker_capacity: iree_host_size_t,
out_executable: *mut *mut iree_hal_executable_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_loader_vtable_t {
pub destroy: ::core::option::Option<
unsafe extern "C" fn(executable_loader: *mut iree_hal_executable_loader_t),
>,
pub infer_format: ::core::option::Option<
unsafe extern "C" fn(
executable_loader: *mut iree_hal_executable_loader_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_data: iree_const_byte_span_t,
executable_format_capacity: iree_host_size_t,
executable_format: *mut core::ffi::c_char,
out_inferred_size: *mut iree_host_size_t,
) -> iree_status_t,
>,
pub query_support: ::core::option::Option<
unsafe extern "C" fn(
executable_loader: *mut iree_hal_executable_loader_t,
caching_mode: iree_hal_executable_caching_mode_t,
executable_format: iree_string_view_t,
) -> bool,
>,
pub try_load: ::core::option::Option<
unsafe extern "C" fn(
executable_loader: *mut iree_hal_executable_loader_t,
executable_params: *const iree_hal_executable_params_t,
worker_capacity: iree_host_size_t,
out_executable: *mut *mut iree_hal_executable_t,
) -> iree_status_t,
>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_sync_device_params_t {
pub arena_block_size: iree_host_size_t,
}
unsafe extern "C" {
pub fn iree_hal_sync_device_params_initialize(out_params: *mut iree_hal_sync_device_params_t);
}
unsafe extern "C" {
pub fn iree_hal_sync_device_create(
identifier: iree_string_view_t,
params: *const iree_hal_sync_device_params_t,
loader_count: iree_host_size_t,
loaders: *mut *mut iree_hal_executable_loader_t,
device_allocator: *mut iree_hal_allocator_t,
host_allocator: iree_allocator_t,
out_device: *mut *mut iree_hal_device_t,
) -> iree_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_plugin_manager_t {
_unused: [u8; 0],
}
unsafe extern "C" {
pub fn iree_hal_embedded_elf_loader_create(
plugin_manager: *mut iree_hal_executable_plugin_manager_t,
host_allocator: iree_allocator_t,
out_executable_loader: *mut *mut iree_hal_executable_loader_t,
) -> iree_status_t;
}
pub const IREE_HAL_EXECUTABLE_LIBRARY_FEATURE_NONE: iree_hal_executable_library_feature_bits_t = 0;
pub type iree_hal_executable_library_feature_bits_t = core::ffi::c_uint;
pub type iree_hal_executable_library_features_t = u32;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_NONE: iree_hal_executable_library_sanitizer_kind_e =
0;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_ADDRESS:
iree_hal_executable_library_sanitizer_kind_e = 1;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_MEMORY:
iree_hal_executable_library_sanitizer_kind_e = 2;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_THREAD:
iree_hal_executable_library_sanitizer_kind_e = 3;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_UNDEFINED:
iree_hal_executable_library_sanitizer_kind_e = 4;
pub const IREE_HAL_EXECUTABLE_LIBRARY_SANITIZER_MAX_ENUM:
iree_hal_executable_library_sanitizer_kind_e = 2147483647;
pub type iree_hal_executable_library_sanitizer_kind_e = core::ffi::c_uint;
pub use self::iree_hal_executable_library_sanitizer_kind_e as iree_hal_executable_library_sanitizer_kind_t;
pub type iree_hal_executable_library_version_t = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_library_header_t {
pub version: iree_hal_executable_library_version_t,
pub name: *const core::ffi::c_char,
pub features: iree_hal_executable_library_features_t,
pub sanitizer: iree_hal_executable_library_sanitizer_kind_t,
}
pub type iree_hal_executable_library_query_fn_t = ::core::option::Option<
unsafe extern "C" fn(
max_version: iree_hal_executable_library_version_t,
environment: *const iree_hal_executable_environment_v0_t,
) -> *mut *const iree_hal_executable_library_header_t,
>;
pub type iree_hal_executable_import_v0_t = ::core::option::Option<
unsafe extern "C" fn(
params: *mut core::ffi::c_void,
context: *mut core::ffi::c_void,
reserved: *mut core::ffi::c_void,
) -> core::ffi::c_int,
>;
pub type iree_hal_executable_import_thunk_v0_t = ::core::option::Option<
unsafe extern "C" fn(
fn_ptr: iree_hal_executable_import_v0_t,
params: *mut core::ffi::c_void,
context: *mut core::ffi::c_void,
reserved: *mut core::ffi::c_void,
) -> core::ffi::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_import_table_v0_t {
pub count: u32,
pub symbols: *const *const core::ffi::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_processor_v0_t {
pub data: [u64; 8usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_environment_v0_t {
pub constants: *const u32,
pub import_thunk: iree_hal_executable_import_thunk_v0_t,
pub import_funcs: *const iree_hal_executable_import_v0_t,
pub import_contexts: *mut *const core::ffi::c_void,
pub processor: iree_hal_processor_v0_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_dispatch_state_v0_t {
pub workgroup_size_x: u32,
pub workgroup_size_y: u32,
pub workgroup_size_z: u16,
pub constant_count: u16,
pub workgroup_count_x: u32,
pub workgroup_count_y: u32,
pub workgroup_count_z: u16,
pub max_concurrency: u8,
pub binding_count: u8,
pub constants: *const u32,
pub binding_ptrs: *const *mut core::ffi::c_void,
pub binding_lengths: *const usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_workgroup_state_v0_t {
pub workgroup_id_x: u32,
pub workgroup_id_y: u32,
pub workgroup_id_z: u16,
pub reserved: u16,
pub processor_id: u32,
pub local_memory: *mut core::ffi::c_void,
pub local_memory_size: u32,
}
pub type iree_hal_executable_dispatch_v0_t = ::core::option::Option<
unsafe extern "C" fn(
environment: *const iree_hal_executable_environment_v0_t,
dispatch_state: *const iree_hal_executable_dispatch_state_v0_t,
workgroup_state: *const iree_hal_executable_workgroup_state_v0_t,
) -> core::ffi::c_int,
>;
pub const IREE_HAL_EXECUTABLE_DISPATCH_FLAG_V0_NONE: iree_hal_executable_dispatch_flag_v0_bits_e =
0;
pub const IREE_HAL_EXECUTABLE_DISPATCH_FLAG_V0_SEQUENTIAL:
iree_hal_executable_dispatch_flag_v0_bits_e = 1;
pub const IREE_HAL_EXECUTABLE_DISPATCH_FLAG_V0_WORKGROUP_SIZE_DYNAMIC:
iree_hal_executable_dispatch_flag_v0_bits_e = 2;
pub type iree_hal_executable_dispatch_flag_v0_bits_e = core::ffi::c_uint;
pub type iree_hal_executable_dispatch_flags_v0_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_dispatch_attrs_v0_t {
pub flags: iree_hal_executable_dispatch_flags_v0_t,
pub local_memory_pages: u16,
pub constant_count: u8,
pub binding_count: u8,
pub workgroup_size_x: u32,
pub workgroup_size_y: u32,
pub workgroup_size_z: u16,
pub parameter_count: u16,
pub reserved_1: [u64; 5usize],
}
pub const IREE_HAL_EXECUTABLE_DISPATCH_PARAM_TYPE_V0_CONSTANT:
iree_hal_executable_dispatch_parameter_type_v0_e = 0;
pub const IREE_HAL_EXECUTABLE_DISPATCH_PARAM_TYPE_V0_BINDING:
iree_hal_executable_dispatch_parameter_type_v0_e = 1;
pub const IREE_HAL_EXECUTABLE_DISPATCH_PARAM_TYPE_V0_BUFFER_PTR:
iree_hal_executable_dispatch_parameter_type_v0_e = 2;
pub type iree_hal_executable_dispatch_parameter_type_v0_e = core::ffi::c_uint;
pub type iree_hal_executable_dispatch_parameter_type_v0_t = u8;
pub const IREE_HAL_EXECUTABLE_DISPATCH_PARAM_FLAG_V0_NONE:
iree_hal_executable_dispatch_parameter_flag_v0_bits_e = 0;
pub type iree_hal_executable_dispatch_parameter_flag_v0_bits_e = core::ffi::c_uint;
pub type iree_hal_executable_dispatch_parameter_flags_v0_t = u16;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_dispatch_parameter_v0_t {
pub type_: iree_hal_executable_dispatch_parameter_type_v0_t,
pub size: u8,
pub flags: iree_hal_executable_dispatch_parameter_flags_v0_t,
pub name: u16,
pub offset: u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_dispatch_occupancy_v0_t {
pub reserved: core::ffi::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_source_location_v0_t {
pub line: u32,
pub path_length: u32,
pub path: *const core::ffi::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_stage_location_table_v0_t {
pub count: u32,
pub names: *const *const core::ffi::c_char,
pub locations: *const iree_hal_executable_source_location_v0_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_export_table_v0_t {
pub count: u32,
pub ptrs: *const iree_hal_executable_dispatch_v0_t,
pub attrs: *const iree_hal_executable_dispatch_attrs_v0_t,
pub params: *mut *const iree_hal_executable_dispatch_parameter_v0_t,
pub occupancy: *const iree_hal_executable_dispatch_occupancy_v0_t,
pub names: *const *const core::ffi::c_char,
pub tags: *const *const core::ffi::c_char,
pub parameter_names: *const *const core::ffi::c_char,
pub source_locations: *const iree_hal_executable_source_location_v0_t,
pub stage_locations: *const iree_hal_executable_stage_location_table_v0_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_constant_table_v0_t {
pub count: u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_source_file_v0_t {
pub path_length: u32,
pub path: *const core::ffi::c_char,
pub content_length: u32,
pub content: *const u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_source_file_table_v0_t {
pub count: u32,
pub files: *const iree_hal_executable_source_file_v0_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iree_hal_executable_library_v0_t {
pub header: *const iree_hal_executable_library_header_t,
pub imports: iree_hal_executable_import_table_v0_t,
pub exports: iree_hal_executable_export_table_v0_t,
pub constants: iree_hal_executable_constant_table_v0_t,
pub sources: iree_hal_executable_source_file_table_v0_t,
}
unsafe extern "C" {
pub fn iree_hal_static_library_loader_create(
library_count: iree_host_size_t,
library_query_fns: *const iree_hal_executable_library_query_fn_t,
import_provider: iree_hal_executable_import_provider_t,
host_allocator: iree_allocator_t,
out_executable_loader: *mut *mut iree_hal_executable_loader_t,
) -> iree_status_t;
}