[INFO] cloning repository https://github.com/boydjohnson/iree-rocket
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/boydjohnson/iree-rocket" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboydjohnson%2Firee-rocket", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboydjohnson%2Firee-rocket'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b46c625ca3fe7746a97bcad6f09a6ed70e8dffb0
[INFO] checking boydjohnson/iree-rocket against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboydjohnson%2Firee-rocket" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/boydjohnson/iree-rocket
[INFO] finished tweaking git repo https://github.com/boydjohnson/iree-rocket
[INFO] tweaked toml for git repo https://github.com/boydjohnson/iree-rocket written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/boydjohnson/iree-rocket on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/boydjohnson/iree-rocket already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded flatbuffers v2.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651
[INFO] running `Command { std: "docker" "start" "27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "27e356a5ac6dc2c53a5519487e757f603604c091df5ddb4eb604bb8bcd002651" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling rustc-hash v2.1.3
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]     Checking rocket-core v0.1.0 (/opt/rustwide/workdir/rocket-core)
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking rocket-plan-ffi v0.1.0 (/opt/rustwide/workdir/rocket-plan-ffi)
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking flatbuffers v2.0.0
[INFO] [stderr]     Checking rocket-schema v0.1.0 (/opt/rustwide/workdir/rocket-schema)
[INFO] [stderr]    Compiling iree-rocket-hal v0.1.0 (/opt/rustwide/workdir/iree-rocket-hal)
[INFO] [stderr]    Compiling rocket-compiler v0.1.0 (/opt/rustwide/workdir/rocket-compiler)
[INFO] [stderr]    Compiling rocket-hal-driver v0.1.0 (/opt/rustwide/workdir/rocket-hal-driver)
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/rocket-hal-driver/9f0877db18888432/out/bindings.rs:3:20169
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...:: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set_...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout] 3 + # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { u32::cast_signed (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/rocket-hal-driver/9f0877db18888432/out/bindings.rs:3:20357
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val ...
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout] 3 + # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = i32::cast_unsigned (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/rocket-hal-driver/9f0877db18888432/out/bindings.rs:3:20552
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout] 3 + # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { u32::cast_signed (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/rocket-hal-driver/9f0877db18888432/out/bindings.rs:3:20844
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > ::...
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[INFO] [stdout] 3 - # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout] 3 + # [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 > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: 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] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const IREE_ARCH : & [u8 ; 7] = b"x86_64\0" ; pub const IREE_ARCH_X86_64 : 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_PLATFORM_LINUX : u32 = 1 ; pub const IREE_HAVE_ATTRIBUTE_WEAK : u32 = 1 ; pub const PRIhsz : & [u8 ; 3] = b"zu\0" ; pub const PRIdsz : & [u8 ; 3] = b"zu\0" ; pub const IREE_STATUS_MODE : u32 = 3 ; 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_FILE_IO_ENABLE : u32 = 1 ; pub const IREE_SOCKETS_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 = 8 ; 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 = 7 ; pub const IREE_DURATION_ZERO : u32 = 0 ; 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_hardware_destructive_interference_size : u32 = 64 ; pub const iree_hardware_constructive_interference_size : u32 = 64 ; pub const IREE_ASYNC_FRONTIER_ALIGNMENT : u32 = 8 ; pub const IREE_ASYNC_HAVE_FD : u32 = 1 ; pub const IREE_ASYNC_HAVE_EVENTFD : u32 = 1 ; pub const IREE_PLATFORM_HAS_FUTEX : u32 = 1 ; pub const IREE_RUNTIME_USE_FUTEX : u32 = 1 ; pub const IREE_ALL_WAITERS : u32 = 2147483647 ; pub const IREE_INFINITE_TIMEOUT_MS : u32 = 4294967295 ; pub const IREE_MUTEX_USE_WIN32_SRW : u32 = 1 ; pub const IREE_ASYNC_SEMAPHORE_DEFAULT_FRONTIER_CAPACITY : u32 = 16 ; 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_TOPOLOGY_DEVICE_ORDINAL_INVALID : u32 = 4294967295 ; 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_NONCOHERENT_SHIFT : u32 = 4 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_SHIFT : u32 = 6 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_NONCOHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_SHIFT : u32 = 8 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_READ_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_SHIFT : u32 = 10 ; pub const IREE_HAL_TOPOLOGY_EDGE_BUFFER_WRITE_MODE_COHERENT_MASK : u32 = 3 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_SHIFT : u32 = 12 ; pub const IREE_HAL_TOPOLOGY_EDGE_CAPABILITY_FLAGS_MASK : u32 = 65535 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_SHIFT : u32 = 28 ; pub const IREE_HAL_TOPOLOGY_EDGE_WAIT_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_SHIFT : u32 = 32 ; pub const IREE_HAL_TOPOLOGY_EDGE_SIGNAL_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_SHIFT : u32 = 36 ; pub const IREE_HAL_TOPOLOGY_EDGE_COPY_COST_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_SHIFT : u32 = 40 ; pub const IREE_HAL_TOPOLOGY_EDGE_LATENCY_CLASS_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_SHIFT : u32 = 44 ; pub const IREE_HAL_TOPOLOGY_EDGE_NUMA_DISTANCE_MASK : u32 = 15 ; pub const IREE_HAL_TOPOLOGY_EDGE_LINK_CLASS_SHIFT : u32 = 48 ; 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_HAL_DEVICE_ID_DEFAULT : u32 = 0 ; pub const PRIdim : & [u8 ; 3] = b"zu\0" ; pub const IREE_HAL_PROFILE_COMMAND_REGION_REMAINING_TILE_BUCKET_COUNT : u32 = 8 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_WANT_FUTEX : u32 = 1 ; pub const IREE_ASYNC_POSIX_NOTIFICATION_USE_FUTEX : u32 = 1 ; pub const IREE_ASYNC_AFFINITY_NUMA_NODE_ANY : u32 = 4294967295 ; pub const IREE_NUMA_MAX_NODES : u32 = 128 ; pub const IREE_ASYNC_ADDRESS_MAX_FORMAT_LENGTH : u32 = 128 ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_32 : iree_arch_enum_e = 0 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_ARM_64 : iree_arch_enum_e = 1 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_32 : iree_arch_enum_e = 2 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_RISCV_64 : iree_arch_enum_e = 3 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_32 : iree_arch_enum_e = 4 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_WASM_64 : iree_arch_enum_e = 5 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_32 : iree_arch_enum_e = 6 ; pub const iree_arch_enum_e_IREE_ARCH_ENUM_X86_64 : iree_arch_enum_e = 7 ; pub type iree_arch_enum_e = :: std :: os :: raw :: c_uint ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_NONE : _bindgen_ty_15 = 0 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L3 : _bindgen_ty_15 = 1 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L2 : _bindgen_ty_15 = 2 ; pub const IREE_BUILTIN_PREFETCH_LOCALITY_L1 : _bindgen_ty_15 = 3 ; pub type _bindgen_ty_15 = :: std :: os :: raw :: c_uint ; pub type iree_host_size_t = usize ; pub type iree_device_size_t = usize ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_byte_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_range_t"] [:: std :: mem :: size_of :: < iree_byte_range_t > () - 16usize] ; ["Alignment of iree_byte_range_t"] [:: std :: mem :: align_of :: < iree_byte_range_t > () - 8usize] ; ["Offset of field: iree_byte_range_t::offset"] [:: std :: mem :: offset_of ! (iree_byte_range_t , offset) - 0usize] ; ["Offset of field: iree_byte_range_t::length"] [:: std :: mem :: offset_of ! (iree_byte_range_t , length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_page_range_t { pub offset : iree_host_size_t , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_page_range_t"] [:: std :: mem :: size_of :: < iree_page_range_t > () - 16usize] ; ["Alignment of iree_page_range_t"] [:: std :: mem :: align_of :: < iree_page_range_t > () - 8usize] ; ["Offset of field: iree_page_range_t::offset"] [:: std :: mem :: offset_of ! (iree_page_range_t , offset) - 0usize] ; ["Offset of field: iree_page_range_t::length"] [:: std :: mem :: offset_of ! (iree_page_range_t , length) - 8usize] ; } ; pub type va_list = __builtin_va_list ; pub type FILE = _IO_FILE ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_marker { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_codecvt { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_wide_data { _unused : [u8 ; 0] , } pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 3usize] > , pub _short_backupbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [:: std :: os :: raw :: c_char ; 1usize] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub _codecvt : * mut _IO_codecvt , pub _wide_data : * mut _IO_wide_data , pub _freeres_list : * mut _IO_FILE , pub _freeres_buf : * mut :: std :: os :: raw :: c_void , pub _prevchain : * mut * mut _IO_FILE , pub _mode : :: std :: os :: raw :: c_int , pub _unused3 : :: std :: os :: raw :: c_int , pub _total_written : __uint64_t , pub _unused2 : [:: std :: os :: raw :: c_char ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of _IO_FILE"] [:: std :: mem :: size_of :: < _IO_FILE > () - 216usize] ; ["Alignment of _IO_FILE"] [:: std :: mem :: align_of :: < _IO_FILE > () - 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! (_IO_FILE , _flags) - 0usize] ; ["Offset of field: _IO_FILE::_IO_read_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_ptr) - 8usize] ; ["Offset of field: _IO_FILE::_IO_read_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_end) - 16usize] ; ["Offset of field: _IO_FILE::_IO_read_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_read_base) - 24usize] ; ["Offset of field: _IO_FILE::_IO_write_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_base) - 32usize] ; ["Offset of field: _IO_FILE::_IO_write_ptr"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_ptr) - 40usize] ; ["Offset of field: _IO_FILE::_IO_write_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_write_end) - 48usize] ; ["Offset of field: _IO_FILE::_IO_buf_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_base) - 56usize] ; ["Offset of field: _IO_FILE::_IO_buf_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_buf_end) - 64usize] ; ["Offset of field: _IO_FILE::_IO_save_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_base) - 72usize] ; ["Offset of field: _IO_FILE::_IO_backup_base"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_backup_base) - 80usize] ; ["Offset of field: _IO_FILE::_IO_save_end"] [:: std :: mem :: offset_of ! (_IO_FILE , _IO_save_end) - 88usize] ; ["Offset of field: _IO_FILE::_markers"] [:: std :: mem :: offset_of ! (_IO_FILE , _markers) - 96usize] ; ["Offset of field: _IO_FILE::_chain"] [:: std :: mem :: offset_of ! (_IO_FILE , _chain) - 104usize] ; ["Offset of field: _IO_FILE::_fileno"] [:: std :: mem :: offset_of ! (_IO_FILE , _fileno) - 112usize] ; ["Offset of field: _IO_FILE::_short_backupbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _short_backupbuf) - 119usize] ; ["Offset of field: _IO_FILE::_old_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _old_offset) - 120usize] ; ["Offset of field: _IO_FILE::_cur_column"] [:: std :: mem :: offset_of ! (_IO_FILE , _cur_column) - 128usize] ; ["Offset of field: _IO_FILE::_vtable_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _vtable_offset) - 130usize] ; ["Offset of field: _IO_FILE::_shortbuf"] [:: std :: mem :: offset_of ! (_IO_FILE , _shortbuf) - 131usize] ; ["Offset of field: _IO_FILE::_lock"] [:: std :: mem :: offset_of ! (_IO_FILE , _lock) - 136usize] ; ["Offset of field: _IO_FILE::_offset"] [:: std :: mem :: offset_of ! (_IO_FILE , _offset) - 144usize] ; ["Offset of field: _IO_FILE::_codecvt"] [:: std :: mem :: offset_of ! (_IO_FILE , _codecvt) - 152usize] ; ["Offset of field: _IO_FILE::_wide_data"] [:: std :: mem :: offset_of ! (_IO_FILE , _wide_data) - 160usize] ; ["Offset of field: _IO_FILE::_freeres_list"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_list) - 168usize] ; ["Offset of field: _IO_FILE::_freeres_buf"] [:: std :: mem :: offset_of ! (_IO_FILE , _freeres_buf) - 176usize] ; ["Offset of field: _IO_FILE::_prevchain"] [:: std :: mem :: offset_of ! (_IO_FILE , _prevchain) - 184usize] ; ["Offset of field: _IO_FILE::_mode"] [:: std :: mem :: offset_of ! (_IO_FILE , _mode) - 192usize] ; ["Offset of field: _IO_FILE::_unused3"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused3) - 196usize] ; ["Offset of field: _IO_FILE::_total_written"] [:: std :: mem :: offset_of ! (_IO_FILE , _total_written) - 200usize] ; ["Offset of field: _IO_FILE::_unused2"] [:: std :: mem :: offset_of ! (_IO_FILE , _unused2) - 208usize] ; } ; impl _IO_FILE { # [inline] pub fn _flags2 (& self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 24u8) as u32) } } # [inline] pub fn set__flags2 (& mut self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 24u8 , val as u64) } } # [inline] pub unsafe fn _flags2_raw (this : * const Self) -> :: std :: os :: raw :: c_int { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 24u8 ,) as u32) } } # [inline] pub unsafe fn set__flags2_raw (this : * mut Self , val : :: std :: os :: raw :: c_int) { unsafe { let val : u32 = i32::cast_unsigned (val) ; < __BindgenBitfieldUnit < [u8 ; 3usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 24u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (_flags2 : :: std :: os :: raw :: c_int) -> __BindgenBitfieldUnit < [u8 ; 3usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 3usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_internal_list"] [:: std :: mem :: size_of :: < __pthread_internal_list > () - 16usize] ; ["Alignment of __pthread_internal_list"] [:: std :: mem :: align_of :: < __pthread_internal_list > () - 8usize] ; ["Offset of field: __pthread_internal_list::__prev"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __prev) - 0usize] ; ["Offset of field: __pthread_internal_list::__next"] [:: std :: mem :: offset_of ! (__pthread_internal_list , __next) - 8usize] ; } ; pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __unused : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __pthread_mutex_s"] [:: std :: mem :: size_of :: < __pthread_mutex_s > () - 40usize] ; ["Alignment of __pthread_mutex_s"] [:: std :: mem :: align_of :: < __pthread_mutex_s > () - 8usize] ; ["Offset of field: __pthread_mutex_s::__lock"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __lock) - 0usize] ; ["Offset of field: __pthread_mutex_s::__count"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __count) - 4usize] ; ["Offset of field: __pthread_mutex_s::__owner"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __owner) - 8usize] ; ["Offset of field: __pthread_mutex_s::__nusers"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __nusers) - 12usize] ; ["Offset of field: __pthread_mutex_s::__kind"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __kind) - 16usize] ; ["Offset of field: __pthread_mutex_s::__spins"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __spins) - 20usize] ; ["Offset of field: __pthread_mutex_s::__unused"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __unused) - 22usize] ; ["Offset of field: __pthread_mutex_s::__list"] [:: std :: mem :: offset_of ! (__pthread_mutex_s , __list) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of pthread_mutex_t"] [:: std :: mem :: size_of :: < pthread_mutex_t > () - 40usize] ; ["Alignment of pthread_mutex_t"] [:: std :: mem :: align_of :: < pthread_mutex_t > () - 8usize] ; ["Offset of field: pthread_mutex_t::__data"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __data) - 0usize] ; ["Offset of field: pthread_mutex_t::__size"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __size) - 0usize] ; ["Offset of field: pthread_mutex_t::__align"] [:: std :: mem :: offset_of ! (pthread_mutex_t , __align) - 0usize] ; } ; # [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 :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_t"] [:: std :: mem :: size_of :: < iree_string_view_t > () - 16usize] ; ["Alignment of iree_string_view_t"] [:: std :: mem :: align_of :: < iree_string_view_t > () - 8usize] ; ["Offset of field: iree_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_string_view_t , data) - 0usize] ; ["Offset of field: iree_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_string_view_t , size) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_mutable_string_view_t { pub data : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutable_string_view_t"] [:: std :: mem :: size_of :: < iree_mutable_string_view_t > () - 16usize] ; ["Alignment of iree_mutable_string_view_t"] [:: std :: mem :: align_of :: < iree_mutable_string_view_t > () - 8usize] ; ["Offset of field: iree_mutable_string_view_t::data"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , data) - 0usize] ; ["Offset of field: iree_mutable_string_view_t::size"] [:: std :: mem :: offset_of ! (iree_mutable_string_view_t , size) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::first"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , first) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_1::key"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_1 , key) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_string_pair_t__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_string_pair_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_string_pair_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::second"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , second) - 0usize] ; ["Offset of field: iree_string_pair_t__bindgen_ty_2::value"] [:: std :: mem :: offset_of ! (iree_string_pair_t__bindgen_ty_2 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_t"] [:: std :: mem :: size_of :: < iree_string_pair_t > () - 32usize] ; ["Alignment of iree_string_pair_t"] [:: std :: mem :: align_of :: < iree_string_pair_t > () - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_list_t"] [:: std :: mem :: size_of :: < iree_string_pair_list_t > () - 16usize] ; ["Alignment of iree_string_pair_list_t"] [:: std :: mem :: align_of :: < iree_string_pair_list_t > () - 8usize] ; ["Offset of field: iree_string_pair_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , count) - 0usize] ; ["Offset of field: iree_string_pair_list_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_list_t , pairs) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_view_list_t"] [:: std :: mem :: size_of :: < iree_string_view_list_t > () - 16usize] ; ["Alignment of iree_string_view_list_t"] [:: std :: mem :: align_of :: < iree_string_view_list_t > () - 8usize] ; ["Offset of field: iree_string_view_list_t::count"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , count) - 0usize] ; ["Offset of field: iree_string_view_list_t::values"] [:: std :: mem :: offset_of ! (iree_string_view_list_t , values) - 8usize] ; } ; 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) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_string_view_find_char (value : iree_string_view_t , c : :: std :: os :: raw :: 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" { 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_char , new_char : :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_string_view_atoi_int32_base (value : iree_string_view_t , base : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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 : :: std :: os :: raw :: 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_code_e_IREE_STATUS_OK : iree_status_code_e = 0 ; pub const iree_status_code_e_IREE_STATUS_CANCELLED : iree_status_code_e = 1 ; pub const iree_status_code_e_IREE_STATUS_UNKNOWN : iree_status_code_e = 2 ; pub const iree_status_code_e_IREE_STATUS_INVALID_ARGUMENT : iree_status_code_e = 3 ; pub const iree_status_code_e_IREE_STATUS_DEADLINE_EXCEEDED : iree_status_code_e = 4 ; pub const iree_status_code_e_IREE_STATUS_NOT_FOUND : iree_status_code_e = 5 ; pub const iree_status_code_e_IREE_STATUS_ALREADY_EXISTS : iree_status_code_e = 6 ; pub const iree_status_code_e_IREE_STATUS_PERMISSION_DENIED : iree_status_code_e = 7 ; pub const iree_status_code_e_IREE_STATUS_RESOURCE_EXHAUSTED : iree_status_code_e = 8 ; pub const iree_status_code_e_IREE_STATUS_FAILED_PRECONDITION : iree_status_code_e = 9 ; pub const iree_status_code_e_IREE_STATUS_ABORTED : iree_status_code_e = 10 ; pub const iree_status_code_e_IREE_STATUS_OUT_OF_RANGE : iree_status_code_e = 11 ; pub const iree_status_code_e_IREE_STATUS_UNIMPLEMENTED : iree_status_code_e = 12 ; pub const iree_status_code_e_IREE_STATUS_INTERNAL : iree_status_code_e = 13 ; pub const iree_status_code_e_IREE_STATUS_UNAVAILABLE : iree_status_code_e = 14 ; pub const iree_status_code_e_IREE_STATUS_DATA_LOSS : iree_status_code_e = 15 ; pub const iree_status_code_e_IREE_STATUS_UNAUTHENTICATED : iree_status_code_e = 16 ; pub const iree_status_code_e_IREE_STATUS_DEFERRED : iree_status_code_e = 17 ; pub const iree_status_code_e_IREE_STATUS_INCOMPATIBLE : iree_status_code_e = 18 ; pub const iree_status_code_e_IREE_STATUS_CODE_MASK : iree_status_code_e = 31 ; pub type iree_status_code_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int) -> iree_status_code_t ; } unsafe extern "C" { pub fn iree_status_code_string (code : iree_status_code_t) -> * const :: std :: os :: raw :: c_char ; } unsafe extern "C" { pub fn iree_status_allocate (code : iree_status_code_t , file : * const :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , ...) -> iree_status_t ; } unsafe extern "C" { pub fn iree_status_allocate_vf (code : iree_status_code_t , file : * const :: std :: os :: raw :: c_char , line : u32 , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> bool ; } pub type iree_status_output_fn_t = :: std :: option :: Option < unsafe extern "C" fn (string : iree_string_view_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_e_IREE_STATUS_PAYLOAD_TYPE_OPAQUE : iree_status_payload_type_e = 0 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MESSAGE : iree_status_payload_type_e = 1 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_STACK_TRACE : iree_status_payload_type_e = 2 ; pub const iree_status_payload_type_e_IREE_STATUS_PAYLOAD_TYPE_MIN_USER : iree_status_payload_type_e = 1879048192 ; pub type iree_status_payload_type_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , pub line : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_status_source_location_t"] [:: std :: mem :: size_of :: < iree_status_source_location_t > () - 16usize] ; ["Alignment of iree_status_source_location_t"] [:: std :: mem :: align_of :: < iree_status_source_location_t > () - 8usize] ; ["Offset of field: iree_status_source_location_t::file"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , file) - 0usize] ; ["Offset of field: iree_status_source_location_t::line"] [:: std :: mem :: offset_of ! (iree_status_source_location_t , line) - 8usize] ; } ; 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 = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_byte_span_t"] [:: std :: mem :: size_of :: < iree_byte_span_t > () - 16usize] ; ["Alignment of iree_byte_span_t"] [:: std :: mem :: align_of :: < iree_byte_span_t > () - 8usize] ; ["Offset of field: iree_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data) - 0usize] ; ["Offset of field: iree_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_byte_span_t , data_length) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_const_byte_span_t { pub data : * const u8 , pub data_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_const_byte_span_t"] [:: std :: mem :: size_of :: < iree_const_byte_span_t > () - 16usize] ; ["Alignment of iree_const_byte_span_t"] [:: std :: mem :: align_of :: < iree_const_byte_span_t > () - 8usize] ; ["Offset of field: iree_const_byte_span_t::data"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data) - 0usize] ; ["Offset of field: iree_const_byte_span_t::data_length"] [:: std :: mem :: offset_of ! (iree_const_byte_span_t , data_length) - 8usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_struct_field_t"] [:: std :: mem :: size_of :: < iree_struct_field_t > () - 40usize] ; ["Alignment of iree_struct_field_t"] [:: std :: mem :: align_of :: < iree_struct_field_t > () - 8usize] ; ["Offset of field: iree_struct_field_t::count"] [:: std :: mem :: offset_of ! (iree_struct_field_t , count) - 0usize] ; ["Offset of field: iree_struct_field_t::element_size"] [:: std :: mem :: offset_of ! (iree_struct_field_t , element_size) - 16usize] ; ["Offset of field: iree_struct_field_t::alignment"] [:: std :: mem :: offset_of ! (iree_struct_field_t , alignment) - 24usize] ; ["Offset of field: iree_struct_field_t::out_offset"] [:: std :: mem :: offset_of ! (iree_struct_field_t , out_offset) - 32usize] ; } ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_MALLOC : iree_allocator_command_e = 0 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_CALLOC : iree_allocator_command_e = 1 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_REALLOC : iree_allocator_command_e = 2 ; pub const iree_allocator_command_e_IREE_ALLOCATOR_COMMAND_FREE : iree_allocator_command_e = 3 ; pub type iree_allocator_command_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_alloc_params_t"] [:: std :: mem :: size_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Alignment of iree_allocator_alloc_params_t"] [:: std :: mem :: align_of :: < iree_allocator_alloc_params_t > () - 8usize] ; ["Offset of field: iree_allocator_alloc_params_t::byte_length"] [:: std :: mem :: offset_of ! (iree_allocator_alloc_params_t , byte_length) - 0usize] ; } ; pub type iree_allocator_ctl_fn_t = :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_allocator_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub ctl : iree_allocator_ctl_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_t"] [:: std :: mem :: size_of :: < iree_allocator_t > () - 16usize] ; ["Alignment of iree_allocator_t"] [:: std :: mem :: align_of :: < iree_allocator_t > () - 8usize] ; ["Offset of field: iree_allocator_t::self_"] [:: std :: mem :: offset_of ! (iree_allocator_t , self_) - 0usize] ; ["Offset of field: iree_allocator_t::ctl"] [:: std :: mem :: offset_of ! (iree_allocator_t , ctl) - 8usize] ; } ; unsafe extern "C" { pub fn iree_allocator_malloc (allocator : iree_allocator_t , byte_length : iree_host_size_t , out_ptr : * mut * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_allocator_inline_storage_t"] [:: std :: mem :: size_of :: < iree_allocator_inline_storage_t > () - 32usize] ; ["Alignment of iree_allocator_inline_storage_t"] [:: std :: mem :: align_of :: < iree_allocator_inline_storage_t > () - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::capacity"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , capacity) - 0usize] ; ["Offset of field: iree_allocator_inline_storage_t::length"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , length) - 8usize] ; ["Offset of field: iree_allocator_inline_storage_t::head_size"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , head_size) - 16usize] ; ["Offset of field: iree_allocator_inline_storage_t::buffer"] [:: std :: mem :: offset_of ! (iree_allocator_inline_storage_t , buffer) - 24usize] ; } ; unsafe extern "C" { pub fn iree_allocator_inline_arena_ctl (self_ : * mut :: std :: os :: raw :: c_void , command : iree_allocator_command_t , params : * const :: std :: os :: raw :: c_void , inout_ptr : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_allocator_free_aligned (allocator : iree_allocator_t , ptr : * mut :: std :: os :: raw :: c_void) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_string_builder_t { pub allocator : iree_allocator_t , pub buffer : * mut :: std :: os :: raw :: c_char , pub size : iree_host_size_t , pub capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_builder_t"] [:: std :: mem :: size_of :: < iree_string_builder_t > () - 40usize] ; ["Alignment of iree_string_builder_t"] [:: std :: mem :: align_of :: < iree_string_builder_t > () - 8usize] ; ["Offset of field: iree_string_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_builder_t::buffer"] [:: std :: mem :: offset_of ! (iree_string_builder_t , buffer) - 16usize] ; ["Offset of field: iree_string_builder_t::size"] [:: std :: mem :: offset_of ! (iree_string_builder_t , size) - 24usize] ; ["Offset of field: iree_string_builder_t::capacity"] [:: std :: mem :: offset_of ! (iree_string_builder_t , capacity) - 32usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char) -> iree_status_t ; } unsafe extern "C" { pub fn iree_string_builder_append_format (builder : * mut iree_string_builder_t , format : * const :: std :: os :: raw :: 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)] # [derive (Debug , Copy , Clone)] 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 :: std :: os :: raw :: c_char , pub temp_strings_size : iree_host_size_t , pub temp_strings_capacity : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_string_pair_builder_t"] [:: std :: mem :: size_of :: < iree_string_pair_builder_t > () - 64usize] ; ["Alignment of iree_string_pair_builder_t"] [:: std :: mem :: align_of :: < iree_string_pair_builder_t > () - 8usize] ; ["Offset of field: iree_string_pair_builder_t::allocator"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , allocator) - 0usize] ; ["Offset of field: iree_string_pair_builder_t::pairs"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs) - 16usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_size) - 24usize] ; ["Offset of field: iree_string_pair_builder_t::pairs_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , pairs_capacity) - 32usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings) - 40usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_size"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_size) - 48usize] ; ["Offset of field: iree_string_pair_builder_t::temp_strings_capacity"] [:: std :: mem :: offset_of ! (iree_string_pair_builder_t , temp_strings_capacity) - 56usize] ; } ; 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" { 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_mapping_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_mapping_t > () - 24usize] ; ["Alignment of iree_bitfield_string_mapping_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_mapping_t > () - 8usize] ; ["Offset of field: iree_bitfield_string_mapping_t::bits"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , bits) - 0usize] ; ["Offset of field: iree_bitfield_string_mapping_t::string"] [:: std :: mem :: offset_of ! (iree_bitfield_string_mapping_t , string) - 8usize] ; } ; 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 : [:: std :: os :: raw :: c_char ; 128usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitfield_string_temp_t"] [:: std :: mem :: size_of :: < iree_bitfield_string_temp_t > () - 128usize] ; ["Alignment of iree_bitfield_string_temp_t"] [:: std :: mem :: align_of :: < iree_bitfield_string_temp_t > () - 1usize] ; ["Offset of field: iree_bitfield_string_temp_t::buffer"] [:: std :: mem :: offset_of ! (iree_bitfield_string_temp_t , buffer) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_bitmap_t"] [:: std :: mem :: size_of :: < iree_bitmap_t > () - 16usize] ; ["Alignment of iree_bitmap_t"] [:: std :: mem :: align_of :: < iree_bitmap_t > () - 8usize] ; ["Offset of field: iree_bitmap_t::bit_count"] [:: std :: mem :: offset_of ! (iree_bitmap_t , bit_count) - 0usize] ; ["Offset of field: iree_bitmap_t::words"] [:: std :: mem :: offset_of ! (iree_bitmap_t , words) - 8usize] ; } ; 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_printf_callback_t = :: std :: option :: Option < unsafe extern "C" fn (character : :: std :: os :: raw :: c_char , user_data : * mut :: std :: os :: raw :: c_void) > ; unsafe extern "C" { pub fn iree_snprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vsnprintf (buffer : * mut :: std :: os :: raw :: c_char , count : usize , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_fctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } unsafe extern "C" { pub fn iree_vfctprintf (callback : iree_printf_callback_t , user_data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , varargs : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } 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" { 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_type_e_IREE_TIMEOUT_ABSOLUTE : iree_timeout_type_e = 0 ; pub const iree_timeout_type_e_IREE_TIMEOUT_RELATIVE : iree_timeout_type_e = 1 ; pub type iree_timeout_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_timeout_t"] [:: std :: mem :: size_of :: < iree_timeout_t > () - 16usize] ; ["Alignment of iree_timeout_t"] [:: std :: mem :: align_of :: < iree_timeout_t > () - 8usize] ; ["Offset of field: iree_timeout_t::type_"] [:: std :: mem :: offset_of ! (iree_timeout_t , type_) - 0usize] ; ["Offset of field: iree_timeout_t::nanos"] [:: std :: mem :: offset_of ! (iree_timeout_t , nanos) - 8usize] ; } ; unsafe extern "C" { pub fn iree_wait_until (deadline_ns : iree_time_t) -> bool ; } pub type iree_zone_id_t = u32 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_NUMBER : iree_tracing_plot_type_t = 0 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_MEMORY : iree_tracing_plot_type_t = 1 ; pub const iree_tracing_plot_type_t_IREE_TRACING_PLOT_TYPE_PERCENTAGE : iree_tracing_plot_type_t = 2 ; pub type iree_tracing_plot_type_t = :: std :: os :: raw :: c_uint ; pub const IREE_TRACING_MESSAGE_LEVEL_ERROR : _bindgen_ty_16 = 16711680 ; pub const IREE_TRACING_MESSAGE_LEVEL_WARNING : _bindgen_ty_16 = 16776960 ; pub const IREE_TRACING_MESSAGE_LEVEL_INFO : _bindgen_ty_16 = 16777215 ; pub const IREE_TRACING_MESSAGE_LEVEL_VERBOSE : _bindgen_ty_16 = 12632256 ; pub const IREE_TRACING_MESSAGE_LEVEL_DEBUG : _bindgen_ty_16 = 65280 ; pub type _bindgen_ty_16 = :: std :: os :: raw :: c_uint ; pub type iree_wait_source_resolve_callback_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , status : iree_status_t) > ; pub type iree_wait_source_resolve_fn_t = :: std :: option :: Option < unsafe extern "C" fn (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_wait_source_t { pub self_ : * mut :: std :: os :: raw :: c_void , pub data : u64 , pub resolve : iree_wait_source_resolve_fn_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_wait_source_t"] [:: std :: mem :: size_of :: < iree_wait_source_t > () - 24usize] ; ["Alignment of iree_wait_source_t"] [:: std :: mem :: align_of :: < iree_wait_source_t > () - 8usize] ; ["Offset of field: iree_wait_source_t::self_"] [:: std :: mem :: offset_of ! (iree_wait_source_t , self_) - 0usize] ; ["Offset of field: iree_wait_source_t::data"] [:: std :: mem :: offset_of ! (iree_wait_source_t , data) - 8usize] ; ["Offset of field: iree_wait_source_t::resolve"] [:: std :: mem :: offset_of ! (iree_wait_source_t , resolve) - 16usize] ; } ; unsafe extern "C" { pub fn iree_wait_source_delay_resolve (wait_source : iree_wait_source_t , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> 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_hal_queue_affinity_t = u64 ; pub const iree_memory_order_e_iree_memory_order_relaxed : iree_memory_order_e = 0 ; pub const iree_memory_order_e_iree_memory_order_consume : iree_memory_order_e = 1 ; pub const iree_memory_order_e_iree_memory_order_acquire : iree_memory_order_e = 2 ; pub const iree_memory_order_e_iree_memory_order_release : iree_memory_order_e = 3 ; pub const iree_memory_order_e_iree_memory_order_acq_rel : iree_memory_order_e = 4 ; pub const iree_memory_order_e_iree_memory_order_seq_cst : iree_memory_order_e = 5 ; pub type iree_memory_order_e = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_t"] [:: std :: mem :: size_of :: < iree_hal_resource_t > () - 16usize] ; ["Alignment of iree_hal_resource_t"] [:: std :: mem :: align_of :: < iree_hal_resource_t > () - 8usize] ; ["Offset of field: iree_hal_resource_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_resource_t::vtable"] [:: std :: mem :: offset_of ! (iree_hal_resource_t , vtable) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_resource_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (resource : * mut iree_hal_resource_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Alignment of iree_hal_resource_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_resource_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_resource_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_resource_vtable_t , destroy) - 0usize] ; } ; # [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_bits_t_IREE_HAL_MEMORY_TYPE_NONE : iree_hal_memory_type_bits_t = 0 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL : iree_hal_memory_type_bits_t = 1 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_VISIBLE : iree_hal_memory_type_bits_t = 2 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_COHERENT : iree_hal_memory_type_bits_t = 4 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_CACHED : iree_hal_memory_type_bits_t = 8 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_HOST_LOCAL : iree_hal_memory_type_bits_t = 70 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_HOST : iree_hal_memory_type_bits_t = 71 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_VISIBLE : iree_hal_memory_type_bits_t = 16 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_DEVICE_LOCAL : iree_hal_memory_type_bits_t = 48 ; pub const iree_hal_memory_type_bits_t_IREE_HAL_MEMORY_TYPE_OPTIMAL_FOR_DEVICE : iree_hal_memory_type_bits_t = 49 ; pub type iree_hal_memory_type_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_MEMORY_ACCESS_NONE : iree_hal_memory_access_bits_t = 0 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_READ : iree_hal_memory_access_bits_t = 1 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_WRITE : iree_hal_memory_access_bits_t = 2 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD : iree_hal_memory_access_bits_t = 4 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_DISCARD_WRITE : iree_hal_memory_access_bits_t = 6 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_MAY_ALIAS : iree_hal_memory_access_bits_t = 8 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_UNALIGNED : iree_hal_memory_access_bits_t = 16 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ANY : iree_hal_memory_access_bits_t = 32 ; pub const iree_hal_memory_access_bits_t_IREE_HAL_MEMORY_ACCESS_ALL : iree_hal_memory_access_bits_t = 7 ; pub type iree_hal_memory_access_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_USAGE_NONE : iree_hal_buffer_usage_bits_t = 0 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_SOURCE : iree_hal_buffer_usage_bits_t = 1 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER_TARGET : iree_hal_buffer_usage_bits_t = 2 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_TRANSFER : iree_hal_buffer_usage_bits_t = 3 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_INDIRECT_PARAMETERS : iree_hal_buffer_usage_bits_t = 256 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_UNIFORM_READ : iree_hal_buffer_usage_bits_t = 512 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_READ : iree_hal_buffer_usage_bits_t = 1024 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE_WRITE : iree_hal_buffer_usage_bits_t = 2048 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_STORAGE : iree_hal_buffer_usage_bits_t = 3072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_READ : iree_hal_buffer_usage_bits_t = 4096 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE_WRITE : iree_hal_buffer_usage_bits_t = 8192 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH_IMAGE : iree_hal_buffer_usage_bits_t = 12288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DISPATCH : iree_hal_buffer_usage_bits_t = 16128 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_EXPORT : iree_hal_buffer_usage_bits_t = 65536 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_REPLICATE : iree_hal_buffer_usage_bits_t = 131072 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_CONCURRENT : iree_hal_buffer_usage_bits_t = 262144 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_SHARING_IMMUTABLE : iree_hal_buffer_usage_bits_t = 524288 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_SCOPED : iree_hal_buffer_usage_bits_t = 16777216 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_PERSISTENT : iree_hal_buffer_usage_bits_t = 33554432 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_OPTIONAL : iree_hal_buffer_usage_bits_t = 67108864 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_RANDOM : iree_hal_buffer_usage_bits_t = 134217728 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING_ACCESS_SEQUENTIAL_WRITE : iree_hal_buffer_usage_bits_t = 268435456 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_MAPPING : iree_hal_buffer_usage_bits_t = 150994944 ; pub const iree_hal_buffer_usage_bits_t_IREE_HAL_BUFFER_USAGE_DEFAULT : iree_hal_buffer_usage_bits_t = 3075 ; pub type iree_hal_buffer_usage_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_BUFFER_OVERLAP_DISJOINT : iree_hal_buffer_overlap_e = 0 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_PARTIAL : iree_hal_buffer_overlap_e = 1 ; pub const iree_hal_buffer_overlap_e_IREE_HAL_BUFFER_OVERLAP_COMPLETE : iree_hal_buffer_overlap_e = 2 ; pub type iree_hal_buffer_overlap_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_TRANSFER_BUFFER_FLAG_DEFAULT : iree_hal_transfer_buffer_flag_bits_t = 0 ; pub type iree_hal_transfer_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_transfer_buffer_flags_t = u32 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_SCOPED : iree_hal_mapping_mode_bits_t = 1 ; pub const iree_hal_mapping_mode_bits_t_IREE_HAL_MAPPING_MODE_PERSISTENT : iree_hal_mapping_mode_bits_t = 2 ; pub type iree_hal_mapping_mode_bits_t = :: std :: os :: raw :: 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_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_NONE : iree_hal_buffer_placement_flag_bits_t = 0 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_ASYNCHRONOUS : iree_hal_buffer_placement_flag_bits_t = 1 ; pub const iree_hal_buffer_placement_flag_bits_t_IREE_HAL_BUFFER_PLACEMENT_FLAG_INDETERMINATE_LIFETIME : iree_hal_buffer_placement_flag_bits_t = 2 ; pub type iree_hal_buffer_placement_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_placement_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_placement_t > () - 24usize] ; ["Alignment of iree_hal_buffer_placement_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_placement_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::device"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , device) - 0usize] ; ["Offset of field: iree_hal_buffer_placement_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_buffer_placement_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , flags) - 16usize] ; ["Offset of field: iree_hal_buffer_placement_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_placement_t , reserved) - 20usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_params_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_params_t > () - 32usize] ; ["Alignment of iree_hal_buffer_params_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_params_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , usage) - 0usize] ; ["Offset of field: iree_hal_buffer_params_t::access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , access) - 4usize] ; ["Offset of field: iree_hal_buffer_params_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , type_) - 8usize] ; ["Offset of field: iree_hal_buffer_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , queue_affinity) - 16usize] ; ["Offset of field: iree_hal_buffer_params_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_buffer_params_t , min_alignment) - 24usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_impl_t > () - 24usize] ; ["Alignment of iree_hal_buffer_mapping_impl_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_impl_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , byte_offset) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_impl_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_impl_t , reserved) - 16usize] ; } ; impl iree_hal_buffer_mapping_impl_t { # [inline] pub fn is_persistent (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_is_persistent (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn is_persistent_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn reserved_flags (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 31u8) as u32) } } # [inline] pub fn set_reserved_flags (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 31u8 , val as u64) } } # [inline] pub unsafe fn reserved_flags_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (is_persistent) } ; is_persistent as u64 }) ; __bindgen_bitfield_unit . set (1usize , 31u8 , { let reserved_flags : u32 = unsafe { :: std :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_mapping_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_mapping_t > () - 48usize] ; ["Alignment of iree_hal_buffer_mapping_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_mapping_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_mapping_t::contents"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , contents) - 0usize] ; ["Offset of field: iree_hal_buffer_mapping_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_mapping_t::impl_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_mapping_t , impl_) - 24usize] ; } ; pub type iree_hal_buffer_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_release_callback_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_release_callback_t > () - 16usize] ; ["Alignment of iree_hal_buffer_release_callback_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_release_callback_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_buffer_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_buffer_release_callback_t , user_data) - 8usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (buffer : * mut iree_hal_buffer_t) > , pub map_range : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_vtable_t > () - 48usize] ; ["Alignment of iree_hal_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::recycle"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , recycle) - 0usize] ; ["Offset of field: iree_hal_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , destroy) - 8usize] ; ["Offset of field: iree_hal_buffer_vtable_t::map_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , map_range) - 16usize] ; ["Offset of field: iree_hal_buffer_vtable_t::unmap_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , unmap_range) - 24usize] ; ["Offset of field: iree_hal_buffer_vtable_t::invalidate_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , invalidate_range) - 32usize] ; ["Offset of field: iree_hal_buffer_vtable_t::flush_range"] [:: std :: mem :: offset_of ! (iree_hal_buffer_vtable_t , flush_range) - 40usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_t > () - 104usize] ; ["Alignment of iree_hal_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_buffer_t::allocated_buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocated_buffer) - 16usize] ; ["Offset of field: iree_hal_buffer_t::allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allocation_size) - 24usize] ; ["Offset of field: iree_hal_buffer_t::byte_offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_offset) - 32usize] ; ["Offset of field: iree_hal_buffer_t::byte_length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , byte_length) - 40usize] ; ["Offset of field: iree_hal_buffer_t::placement"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , placement) - 48usize] ; ["Offset of field: iree_hal_buffer_t::pooling_allocator"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , pooling_allocator) - 72usize] ; ["Offset of field: iree_hal_buffer_t::preserve_count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , preserve_count) - 80usize] ; ["Offset of field: iree_hal_buffer_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , memory_type) - 84usize] ; ["Offset of field: iree_hal_buffer_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_usage) - 88usize] ; ["Offset of field: iree_hal_buffer_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , allowed_access) - 92usize] ; ["Offset of field: iree_hal_buffer_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , reserved) - 94usize] ; ["Offset of field: iree_hal_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_buffer_t , flags) - 96usize] ; } ; 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) ; } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_memory_heap_t > () - 24usize] ; ["Alignment of iree_hal_allocator_memory_heap_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_memory_heap_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , type_) - 0usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::allowed_usage"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , allowed_usage) - 4usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , max_allocation_size) - 8usize] ; ["Offset of field: iree_hal_allocator_memory_heap_t::min_alignment"] [:: std :: mem :: offset_of ! (iree_hal_allocator_memory_heap_t , min_alignment) - 16usize] ; } ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_NONE : iree_hal_buffer_compatibility_bits_t = 0 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_ALLOCATABLE : iree_hal_buffer_compatibility_bits_t = 1 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_IMPORTABLE : iree_hal_buffer_compatibility_bits_t = 2 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_EXPORTABLE : iree_hal_buffer_compatibility_bits_t = 4 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_TRANSFER : iree_hal_buffer_compatibility_bits_t = 1024 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_QUEUE_DISPATCH : iree_hal_buffer_compatibility_bits_t = 2048 ; pub const iree_hal_buffer_compatibility_bits_t_IREE_HAL_BUFFER_COMPATIBILITY_LOW_PERFORMANCE : iree_hal_buffer_compatibility_bits_t = 1048576 ; pub type iree_hal_buffer_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_NONE : iree_hal_external_buffer_type_e = 0 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_HOST_ALLOCATION : iree_hal_external_buffer_type_e = 1 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_DEVICE_ALLOCATION : iree_hal_external_buffer_type_e = 2 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_FD : iree_hal_external_buffer_type_e = 3 ; pub const iree_hal_external_buffer_type_e_IREE_HAL_EXTERNAL_BUFFER_TYPE_OPAQUE_WIN32 : iree_hal_external_buffer_type_e = 4 ; pub type iree_hal_external_buffer_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_BUFFER_FLAG_NONE : iree_hal_external_buffer_flag_bits_t = 0 ; pub type iree_hal_external_buffer_flag_bits_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_1 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 { pub ptr : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2::ptr"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_2 , ptr) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 { pub handle : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1__bindgen_ty_4 , handle) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_buffer_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::host_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , host_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::device_allocation"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , device_allocation) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_fd"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_fd) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t__bindgen_ty_1::opaque_win32"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t__bindgen_ty_1 , opaque_win32) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_external_buffer_t > () - 24usize] ; ["Alignment of iree_hal_external_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_external_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_buffer_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_buffer_t::size"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , size) - 8usize] ; ["Offset of field: iree_hal_external_buffer_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_buffer_t , handle) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_physical_memory_t { _unused : [u8 ; 0] , } pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_NONE : iree_hal_memory_protection_bits_t = 0 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ : iree_hal_memory_protection_bits_t = 1 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_WRITE : iree_hal_memory_protection_bits_t = 2 ; pub const iree_hal_memory_protection_bits_t_IREE_HAL_MEMORY_PROTECTION_READ_WRITE : iree_hal_memory_protection_bits_t = 3 ; pub type iree_hal_memory_protection_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_memory_protection_t = u64 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_NORMAL : iree_hal_memory_advice_bits_t = 0 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_WILL_NEED : iree_hal_memory_advice_bits_t = 1 ; pub const iree_hal_memory_advice_bits_t_IREE_HAL_MEMORY_ADVICE_DONT_NEED : iree_hal_memory_advice_bits_t = 2 ; pub type iree_hal_memory_advice_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_statistics_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_statistics_t > () - 48usize] ; ["Alignment of iree_hal_allocator_statistics_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_statistics_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_peak) - 0usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_allocated) - 8usize] ; ["Offset of field: iree_hal_allocator_statistics_t::host_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , host_bytes_freed) - 16usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_peak"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_peak) - 24usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_allocated"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_allocated) - 32usize] ; ["Offset of field: iree_hal_allocator_statistics_t::device_bytes_freed"] [:: std :: mem :: offset_of ! (iree_hal_allocator_statistics_t , device_bytes_freed) - 40usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (allocator : * const iree_hal_allocator_t) -> iree_allocator_t > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> iree_status_t > , pub query_statistics : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , out_statistics : * mut iree_hal_allocator_statistics_t) > , pub query_memory_heaps : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t , buffer : * mut iree_hal_buffer_t) > , pub import_buffer : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (allocator : * mut iree_hal_allocator_t) -> bool > , pub virtual_memory_query_granularity : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_allocator_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_allocator_vtable_t > () - 160usize] ; ["Alignment of iree_hal_allocator_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_allocator_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_allocator_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_allocator_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , trim) - 16usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_statistics"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_statistics) - 24usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_memory_heaps"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_memory_heaps) - 32usize] ; ["Offset of field: iree_hal_allocator_vtable_t::query_buffer_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , query_buffer_compatibility) - 40usize] ; ["Offset of field: iree_hal_allocator_vtable_t::allocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , allocate_buffer) - 48usize] ; ["Offset of field: iree_hal_allocator_vtable_t::deallocate_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , deallocate_buffer) - 56usize] ; ["Offset of field: iree_hal_allocator_vtable_t::import_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , import_buffer) - 64usize] ; ["Offset of field: iree_hal_allocator_vtable_t::export_buffer"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , export_buffer) - 72usize] ; ["Offset of field: iree_hal_allocator_vtable_t::supports_virtual_memory"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , supports_virtual_memory) - 80usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_query_granularity"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_query_granularity) - 88usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_reserve"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_reserve) - 96usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_release"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_release) - 104usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_allocate"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_allocate) - 112usize] ; ["Offset of field: iree_hal_allocator_vtable_t::physical_memory_free"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , physical_memory_free) - 120usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_map"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_map) - 128usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_unmap"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_unmap) - 136usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_protect"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_protect) - 144usize] ; ["Offset of field: iree_hal_allocator_vtable_t::virtual_memory_advise"] [:: std :: mem :: offset_of ! (iree_hal_allocator_vtable_t , virtual_memory_advise) - 152usize] ; } ; 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) ; } pub const iree_hal_channel_flag_bits_t_IREE_HAL_CHANNEL_FLAG_NONE : iree_hal_channel_flag_bits_t = 0 ; pub type iree_hal_channel_flag_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_params_t"] [:: std :: mem :: size_of :: < iree_hal_channel_params_t > () - 48usize] ; ["Alignment of iree_hal_channel_params_t"] [:: std :: mem :: align_of :: < iree_hal_channel_params_t > () - 8usize] ; ["Offset of field: iree_hal_channel_params_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , flags) - 0usize] ; ["Offset of field: iree_hal_channel_params_t::id"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , id) - 8usize] ; ["Offset of field: iree_hal_channel_params_t::group"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , group) - 24usize] ; ["Offset of field: iree_hal_channel_params_t::rank"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , rank) - 40usize] ; ["Offset of field: iree_hal_channel_params_t::count"] [:: std :: mem :: offset_of ! (iree_hal_channel_params_t , count) - 44usize] ; } ; # [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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * mut iree_hal_channel_t) > , pub split : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel : * const iree_hal_channel_t , out_rank : * mut i32 , out_count : * mut i32) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_vtable_t::split"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , split) - 8usize] ; ["Offset of field: iree_hal_channel_vtable_t::query_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_vtable_t , query_rank_and_count) - 16usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t) > , pub query_default_rank_and_count : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (channel_provider : * mut iree_hal_channel_provider_t , id : iree_byte_span_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_channel_provider_vtable_t > () - 24usize] ; ["Alignment of iree_hal_channel_provider_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_channel_provider_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::query_default_rank_and_count"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , query_default_rank_and_count) - 8usize] ; ["Offset of field: iree_hal_channel_provider_vtable_t::exchange_default_id"] [:: std :: mem :: offset_of ! (iree_hal_channel_provider_vtable_t , exchange_default_id) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_channel_provider_destroy (channel_provider : * mut iree_hal_channel_provider_t) ; } pub const iree_hal_event_flag_bits_t_IREE_HAL_EVENT_FLAG_NONE : iree_hal_event_flag_bits_t = 0 ; pub type iree_hal_event_flag_bits_t = :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (event : * mut iree_hal_event_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_event_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Alignment of iree_hal_event_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_event_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_event_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_event_vtable_t , destroy) - 0usize] ; } ; unsafe extern "C" { pub fn iree_hal_event_destroy (event : * mut iree_hal_event_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_t { pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Alignment of iree_hal_executable_function_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_t::value"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_t , value) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_occupancy_info_t { pub reserved : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_occupancy_info_t"] [:: std :: mem :: size_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Alignment of iree_hal_occupancy_info_t"] [:: std :: mem :: align_of :: < iree_hal_occupancy_info_t > () - 4usize] ; ["Offset of field: iree_hal_occupancy_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_occupancy_info_t , reserved) - 0usize] ; } ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_executable_function_flag_bits_e = 0 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_SEQUENTIAL : iree_hal_executable_function_flag_bits_e = 1 ; pub const iree_hal_executable_function_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_FLAG_WORKGROUP_SIZE_DYNAMIC : iree_hal_executable_function_flag_bits_e = 2 ; pub type iree_hal_executable_function_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_flags_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_info_t { pub name : iree_string_view_t , pub flags : iree_hal_executable_function_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_info_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_info_t > () - 48usize] ; ["Alignment of iree_hal_executable_function_info_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_info_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , name) - 0usize] ; ["Offset of field: iree_hal_executable_function_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , flags) - 16usize] ; ["Offset of field: iree_hal_executable_function_info_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , constant_count) - 24usize] ; ["Offset of field: iree_hal_executable_function_info_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , binding_count) - 26usize] ; ["Offset of field: iree_hal_executable_function_info_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_executable_function_info_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_executable_function_info_t::occupancy_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_info_t , occupancy_info) - 44usize] ; } ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_CONSTANT : iree_hal_executable_function_parameter_type_e = 0 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BINDING : iree_hal_executable_function_parameter_type_e = 1 ; pub const iree_hal_executable_function_parameter_type_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_TYPE_BUFFER_PTR : iree_hal_executable_function_parameter_type_e = 2 ; pub type iree_hal_executable_function_parameter_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_type_t = u8 ; pub const iree_hal_executable_function_parameter_flag_bits_e_IREE_HAL_EXECUTABLE_FUNCTION_PARAMETER_FLAG_NONE : iree_hal_executable_function_parameter_flag_bits_e = 0 ; pub type iree_hal_executable_function_parameter_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_executable_function_parameter_flags_t = u16 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_function_parameter_t { pub type_ : iree_hal_executable_function_parameter_type_t , pub size : u8 , pub flags : iree_hal_executable_function_parameter_flags_t , pub name : iree_string_view_t , pub offset : u16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_function_parameter_t"] [:: std :: mem :: size_of :: < iree_hal_executable_function_parameter_t > () - 32usize] ; ["Alignment of iree_hal_executable_function_parameter_t"] [:: std :: mem :: align_of :: < iree_hal_executable_function_parameter_t > () - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , type_) - 0usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::size"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , size) - 1usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , flags) - 2usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::name"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , name) - 8usize] ; ["Offset of field: iree_hal_executable_function_parameter_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_executable_function_parameter_t , offset) - 24usize] ; } ; # [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_function_count (executable : * mut iree_hal_executable_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_info (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_function_parameters (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_function_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_executable_lookup_global_by_name (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_executable_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) > , pub function_count : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t) -> iree_host_size_t > , pub function_info : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , out_info : * mut iree_hal_executable_function_info_t) -> iree_status_t > , pub function_parameters : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_t , capacity : iree_host_size_t , out_parameters : * mut iree_hal_executable_function_parameter_t) -> iree_status_t > , pub lookup_function_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , out_function : * mut iree_hal_executable_function_t) -> iree_status_t > , pub lookup_global_by_name : :: std :: option :: Option < unsafe extern "C" fn (executable : * mut iree_hal_executable_t , name : iree_string_view_t , queue_affinity : iree_hal_queue_affinity_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_vtable_t > () - 48usize] ; ["Alignment of iree_hal_executable_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_count) - 8usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_info"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_info) - 16usize] ; ["Offset of field: iree_hal_executable_vtable_t::function_parameters"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , function_parameters) - 24usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_function_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_function_by_name) - 32usize] ; ["Offset of field: iree_hal_executable_vtable_t::lookup_global_by_name"] [:: std :: mem :: offset_of ! (iree_hal_executable_vtable_t , lookup_global_by_name) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_destroy (executable : * mut iree_hal_executable_t) ; } pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_DEFAULT : iree_hal_command_buffer_mode_bits_t = 0 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ONE_SHOT : iree_hal_command_buffer_mode_bits_t = 1 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_ALLOW_INLINE_EXECUTION : iree_hal_command_buffer_mode_bits_t = 16 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNVALIDATED : iree_hal_command_buffer_mode_bits_t = 32 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_UNRETAINED : iree_hal_command_buffer_mode_bits_t = 64 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_PROFILE_METADATA : iree_hal_command_buffer_mode_bits_t = 128 ; pub const iree_hal_command_buffer_mode_bits_t_IREE_HAL_COMMAND_BUFFER_MODE_RETAIN_DISPATCH_METADATA : iree_hal_command_buffer_mode_bits_t = 256 ; pub type iree_hal_command_buffer_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_command_buffer_mode_t = u32 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_TRANSFER : iree_hal_command_category_bits_t = 1 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_DISPATCH : iree_hal_command_category_bits_t = 2 ; pub const iree_hal_command_category_bits_t_IREE_HAL_COMMAND_CATEGORY_ANY : iree_hal_command_category_bits_t = 3 ; pub type iree_hal_command_category_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_t > () - 32usize] ; ["Alignment of iree_hal_buffer_ref_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , buffer) - 8usize] ; ["Offset of field: iree_hal_buffer_ref_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , offset) - 16usize] ; ["Offset of field: iree_hal_buffer_ref_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_t , length) - 24usize] ; } ; impl iree_hal_buffer_ref_t { # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 8u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 8u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 8u8 , val as u64 ,) } } # [inline] pub fn buffer_slot (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (8usize , 24u8) as u32) } } # [inline] pub fn set_buffer_slot (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (8usize , 24u8 , val as u64) } } # [inline] pub unsafe fn buffer_slot_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_get (:: std :: 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 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 4usize] > > :: raw_set (:: std :: 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 { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (8usize , 24u8 , { let buffer_slot : u32 = unsafe { :: std :: mem :: transmute (buffer_slot) } ; buffer_slot as u64 }) ; __bindgen_bitfield_unit } } # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_ref_list_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_ref_list_t > () - 16usize] ; ["Alignment of iree_hal_buffer_ref_list_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_ref_list_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_ref_list_t::values"] [:: std :: mem :: offset_of ! (iree_hal_buffer_ref_list_t , values) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer reference\n\n If a buffer reference uses a subspan buffer, change it to a reference\n to the underlying allocated buffer instead and update the offset.\n If the reference uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] buffer_ref buffer reference being normalized"] pub fn iree_hal_buffer_ref_normalize (buffer_ref : * mut iree_hal_buffer_ref_t) -> iree_status_t ; } pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_ISSUE : iree_hal_execution_stage_bits_t = 1 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_PROCESS : iree_hal_execution_stage_bits_t = 2 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_DISPATCH : iree_hal_execution_stage_bits_t = 4 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_TRANSFER : iree_hal_execution_stage_bits_t = 8 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_COMMAND_RETIRE : iree_hal_execution_stage_bits_t = 16 ; pub const iree_hal_execution_stage_bits_t_IREE_HAL_EXECUTION_STAGE_HOST : iree_hal_execution_stage_bits_t = 32 ; pub type iree_hal_execution_stage_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_stage_t = u32 ; pub const iree_hal_execution_barrier_flag_bits_t_IREE_HAL_EXECUTION_BARRIER_FLAG_NONE : iree_hal_execution_barrier_flag_bits_t = 0 ; pub type iree_hal_execution_barrier_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_execution_barrier_flags_t = u64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_INDIRECT_COMMAND_READ : iree_hal_access_scope_bits_t = 1 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_CONSTANT_READ : iree_hal_access_scope_bits_t = 2 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_READ : iree_hal_access_scope_bits_t = 4 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_DISPATCH_WRITE : iree_hal_access_scope_bits_t = 8 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_READ : iree_hal_access_scope_bits_t = 16 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_TRANSFER_WRITE : iree_hal_access_scope_bits_t = 32 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_READ : iree_hal_access_scope_bits_t = 64 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_HOST_WRITE : iree_hal_access_scope_bits_t = 128 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_READ : iree_hal_access_scope_bits_t = 256 ; pub const iree_hal_access_scope_bits_t_IREE_HAL_ACCESS_SCOPE_MEMORY_WRITE : iree_hal_access_scope_bits_t = 512 ; pub type iree_hal_access_scope_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_memory_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_memory_barrier_t > () - 8usize] ; ["Alignment of iree_hal_memory_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_memory_barrier_t > () - 4usize] ; ["Offset of field: iree_hal_memory_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_memory_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_memory_barrier_t , target_scope) - 4usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_barrier_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_barrier_t > () - 40usize] ; ["Alignment of iree_hal_buffer_barrier_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_barrier_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_barrier_t::source_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , source_scope) - 0usize] ; ["Offset of field: iree_hal_buffer_barrier_t::target_scope"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , target_scope) - 4usize] ; ["Offset of field: iree_hal_buffer_barrier_t::buffer_ref"] [:: std :: mem :: offset_of ! (iree_hal_buffer_barrier_t , buffer_ref) - 8usize] ; } ; pub type iree_hal_memory_advise_flags_t = u64 ; pub const iree_hal_memory_advise_flag_bits_t_IREE_HAL_MEMORY_ADVISE_FLAG_NONE : iree_hal_memory_advise_flag_bits_t = 0 ; pub type iree_hal_memory_advise_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_fill_flags_t = u64 ; pub const iree_hal_fill_flag_bits_t_IREE_HAL_FILL_FLAG_NONE : iree_hal_fill_flag_bits_t = 0 ; pub type iree_hal_fill_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_update_flags_t = u64 ; pub const iree_hal_update_flag_bits_t_IREE_HAL_UPDATE_FLAG_NONE : iree_hal_update_flag_bits_t = 0 ; pub type iree_hal_update_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_copy_flags_t = u64 ; pub const iree_hal_copy_flag_bits_t_IREE_HAL_COPY_FLAG_NONE : iree_hal_copy_flag_bits_t = 0 ; pub type iree_hal_copy_flag_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_GATHER : iree_hal_collective_kind_e = 0 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_REDUCE : iree_hal_collective_kind_e = 1 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_ALL_TO_ALL : iree_hal_collective_kind_e = 2 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_BROADCAST : iree_hal_collective_kind_e = 3 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE : iree_hal_collective_kind_e = 4 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_REDUCE_SCATTER : iree_hal_collective_kind_e = 5 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND : iree_hal_collective_kind_e = 6 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_RECV : iree_hal_collective_kind_e = 7 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_SEND_RECV : iree_hal_collective_kind_e = 8 ; pub const iree_hal_collective_kind_e_IREE_HAL_COLLECTIVE_KIND_MAX_VALUE : iree_hal_collective_kind_e = 8 ; pub type iree_hal_collective_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_kind_t = u8 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_NONE : iree_hal_collective_reduction_e = 0 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_SUM : iree_hal_collective_reduction_e = 1 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_PRODUCT : iree_hal_collective_reduction_e = 2 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MINIMUM : iree_hal_collective_reduction_e = 3 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAXIMUM : iree_hal_collective_reduction_e = 4 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_AVERAGE : iree_hal_collective_reduction_e = 5 ; pub const iree_hal_collective_reduction_e_IREE_HAL_COLLECTIVE_REDUCTION_MAX_VALUE : iree_hal_collective_reduction_e = 5 ; pub type iree_hal_collective_reduction_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_collective_reduction_t = u8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_8 : iree_hal_collective_element_type_e = 0 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_8 : iree_hal_collective_element_type_e = 1 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_16 : iree_hal_collective_element_type_e = 2 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_16 : iree_hal_collective_element_type_e = 3 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_32 : iree_hal_collective_element_type_e = 4 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_32 : iree_hal_collective_element_type_e = 5 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_SINT_64 : iree_hal_collective_element_type_e = 6 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_UINT_64 : iree_hal_collective_element_type_e = 7 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_16 : iree_hal_collective_element_type_e = 8 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_32 : iree_hal_collective_element_type_e = 9 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_FLOAT_64 : iree_hal_collective_element_type_e = 10 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_BFLOAT_16 : iree_hal_collective_element_type_e = 11 ; pub const iree_hal_collective_element_type_e_IREE_HAL_COLLECTIVE_ELEMENT_TYPE_MAX_VALUE : iree_hal_collective_element_type_e = 11 ; pub type iree_hal_collective_element_type_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_collective_op_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::kind"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , kind) - 0usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reduction"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reduction) - 1usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::element_type"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , element_type) - 2usize] ; ["Offset of field: iree_hal_collective_op_t__bindgen_ty_1::reserved"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t__bindgen_ty_1 , reserved) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_collective_op_t"] [:: std :: mem :: size_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Alignment of iree_hal_collective_op_t"] [:: std :: mem :: align_of :: < iree_hal_collective_op_t > () - 4usize] ; ["Offset of field: iree_hal_collective_op_t::packed"] [:: std :: mem :: offset_of ! (iree_hal_collective_op_t , packed) - 0usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_dispatch_config_t"] [:: std :: mem :: size_of :: < iree_hal_dispatch_config_t > () - 64usize] ; ["Alignment of iree_hal_dispatch_config_t"] [:: std :: mem :: align_of :: < iree_hal_dispatch_config_t > () - 8usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_size) - 0usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count) - 12usize] ; ["Offset of field: iree_hal_dispatch_config_t::workgroup_count_ref"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , workgroup_count_ref) - 24usize] ; ["Offset of field: iree_hal_dispatch_config_t::dynamic_workgroup_local_memory"] [:: std :: mem :: offset_of ! (iree_hal_dispatch_config_t , dynamic_workgroup_local_memory) - 56usize] ; } ; pub type iree_hal_dispatch_flags_t = u64 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_NONE : iree_hal_dispatch_flag_bits_t = 0 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 1 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_PARAMETERS : iree_hal_dispatch_flag_bits_t = 2 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_CUSTOM_DIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 4 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_DYNAMIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 8 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_STATIC_INDIRECT_ARGUMENTS : iree_hal_dispatch_flag_bits_t = 16 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_ALLOW_INLINE_EXECUTION : iree_hal_dispatch_flag_bits_t = 32 ; pub const iree_hal_dispatch_flag_bits_t_IREE_HAL_DISPATCH_FLAG_BORROW_RESOURCE_LIFETIMES : iree_hal_dispatch_flag_bits_t = 64 ; pub type iree_hal_dispatch_flag_bits_t = :: std :: os :: raw :: c_uint ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 > () - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::r"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , r) - 0usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::g"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , g) - 1usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::b"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , b) - 2usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1::a"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1__bindgen_ty_1 , a) - 3usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Alignment of iree_hal_label_color_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_label_color_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_label_color_t__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_hal_label_color_t__bindgen_ty_1 , value) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_color_t"] [:: std :: mem :: size_of :: < iree_hal_label_color_t > () - 4usize] ; ["Alignment of iree_hal_label_color_t"] [:: std :: mem :: align_of :: < iree_hal_label_color_t > () - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_label_location_t { pub file : iree_string_view_t , pub line : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_label_location_t"] [:: std :: mem :: size_of :: < iree_hal_label_location_t > () - 24usize] ; ["Alignment of iree_hal_label_location_t"] [:: std :: mem :: align_of :: < iree_hal_label_location_t > () - 8usize] ; ["Offset of field: iree_hal_label_location_t::file"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , file) - 0usize] ; ["Offset of field: iree_hal_label_location_t::line"] [:: std :: mem :: offset_of ! (iree_hal_label_location_t , line) - 16usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_t > () - 24usize] ; ["Alignment of iree_hal_buffer_binding_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::buffer"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , buffer) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , offset) - 8usize] ; ["Offset of field: iree_hal_buffer_binding_t::length"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_t , length) - 16usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_buffer_binding_table_t"] [:: std :: mem :: size_of :: < iree_hal_buffer_binding_table_t > () - 16usize] ; ["Alignment of iree_hal_buffer_binding_table_t"] [:: std :: mem :: align_of :: < iree_hal_buffer_binding_table_t > () - 8usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::count"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , count) - 0usize] ; ["Offset of field: iree_hal_buffer_binding_table_t::bindings"] [:: std :: mem :: offset_of ! (iree_hal_buffer_binding_table_t , bindings) - 8usize] ; } ; unsafe extern "C" { # [doc = " @brief Normalize buffer binding\n\n If a buffer binding uses a subspan buffer, change it to a binding\n to the underlying allocated buffer instead and update the offset.\n If the binding uses IREE_HAL_WHOLE_BUFFER, replace it with the actual\n length in bytes.\n\n @param[in,out] binding buffer binding being normalized"] pub fn iree_hal_buffer_binding_normalize (binding : * mut iree_hal_buffer_binding_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_queue_affinity (command_buffer : * const iree_hal_command_buffer_t) -> iree_hal_queue_affinity_t ; } unsafe extern "C" { pub fn iree_hal_command_buffer_profile_id (command_buffer : * const iree_hal_command_buffer_t) -> u64 ; } 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_t_IREE_HAL_TRANSFER_COMMAND_TYPE_FILL : iree_hal_transfer_command_type_t = 0 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_UPDATE : iree_hal_transfer_command_type_t = 1 ; pub const iree_hal_transfer_command_type_t_IREE_HAL_TRANSFER_COMMAND_TYPE_COPY : iree_hal_transfer_command_type_t = 2 ; pub type iree_hal_transfer_command_type_t = :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , pub pattern_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , target_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , length) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1::pattern_length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_1 , pattern_length) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 { pub source_buffer : * const :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_2 , length) - 32usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , source_offset) - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_buffer) - 16usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , target_offset) - 24usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3::length"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1__bindgen_ty_3 , length) - 32usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_transfer_command_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::fill"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , fill) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::update"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , update) - 0usize] ; ["Offset of field: iree_hal_transfer_command_t__bindgen_ty_1::copy"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t__bindgen_ty_1 , copy) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_command_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_command_t > () - 48usize] ; ["Alignment of iree_hal_transfer_command_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_command_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_command_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_transfer_command_t , type_) - 0usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) > , pub begin : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub end : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub begin_debug_group : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t) -> iree_status_t > , pub execution_barrier : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , target_ref : iree_hal_buffer_ref_t , pattern : * const :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub update_buffer : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , source_buffer : * const :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (command_buffer : * mut iree_hal_command_buffer_t , executable : * mut iree_hal_executable_t , function : iree_hal_executable_function_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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_vtable_t > () - 120usize] ; ["Alignment of iree_hal_command_buffer_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin) - 8usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end) - 16usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::begin_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , begin_debug_group) - 24usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::end_debug_group"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , end_debug_group) - 32usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::execution_barrier"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , execution_barrier) - 40usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::signal_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , signal_event) - 48usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::reset_event"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , reset_event) - 56usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::wait_events"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , wait_events) - 64usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::advise_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , advise_buffer) - 72usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::fill_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , fill_buffer) - 80usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::update_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , update_buffer) - 88usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::copy_buffer"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , copy_buffer) - 96usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::collective"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , collective) - 104usize] ; ["Offset of field: iree_hal_command_buffer_vtable_t::dispatch"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_vtable_t , dispatch) - 112usize] ; } ; # [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 profile_id : u64 , pub binding_capacity : u32 , pub binding_count : u32 , pub validation_state : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_command_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_command_buffer_t > () - 56usize] ; ["Alignment of iree_hal_command_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_command_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_command_buffer_t::resource"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , resource) - 0usize] ; ["Offset of field: iree_hal_command_buffer_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , mode) - 16usize] ; ["Offset of field: iree_hal_command_buffer_t::allowed_categories"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , allowed_categories) - 20usize] ; ["Offset of field: iree_hal_command_buffer_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , queue_affinity) - 24usize] ; ["Offset of field: iree_hal_command_buffer_t::profile_id"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , profile_id) - 32usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_capacity"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_capacity) - 40usize] ; ["Offset of field: iree_hal_command_buffer_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_command_buffer_t::validation_state"] [:: std :: mem :: offset_of ! (iree_hal_command_buffer_t , validation_state) - 48usize] ; } ; 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALIAS_PROVIDED_DATA : iree_hal_executable_caching_mode_bits_t = 1 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_PERSISTENT_CACHING : iree_hal_executable_caching_mode_bits_t = 2 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ALLOW_OPTIMIZATION : iree_hal_executable_caching_mode_bits_t = 4 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_DEBUGGING : iree_hal_executable_caching_mode_bits_t = 8 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_COVERAGE : iree_hal_executable_caching_mode_bits_t = 16 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_ENABLE_PROFILING : iree_hal_executable_caching_mode_bits_t = 32 ; pub const iree_hal_executable_caching_mode_bits_t_IREE_HAL_EXECUTABLE_CACHING_MODE_DISABLE_VERIFICATION : iree_hal_executable_caching_mode_bits_t = 64 ; pub type iree_hal_executable_caching_mode_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_params_t"] [:: std :: mem :: size_of :: < iree_hal_executable_params_t > () - 64usize] ; ["Alignment of iree_hal_executable_params_t"] [:: std :: mem :: align_of :: < iree_hal_executable_params_t > () - 8usize] ; ["Offset of field: iree_hal_executable_params_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , queue_affinity) - 0usize] ; ["Offset of field: iree_hal_executable_params_t::caching_mode"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , caching_mode) - 8usize] ; ["Offset of field: iree_hal_executable_params_t::executable_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_format) - 16usize] ; ["Offset of field: iree_hal_executable_params_t::executable_data"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , executable_data) - 32usize] ; ["Offset of field: iree_hal_executable_params_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constant_count) - 48usize] ; ["Offset of field: iree_hal_executable_params_t::constants"] [:: std :: mem :: offset_of ! (iree_hal_executable_params_t , constants) - 56usize] ; } ; 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 , 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 :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (executable_cache : * mut iree_hal_executable_cache_t) > , pub infer_format : :: std :: 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 :: std :: os :: raw :: c_char , out_inferred_size : * mut iree_host_size_t) -> iree_status_t > , pub can_prepare_format : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_executable_cache_vtable_t > () - 32usize] ; ["Alignment of iree_hal_executable_cache_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_executable_cache_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::infer_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , infer_format) - 8usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::can_prepare_format"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , can_prepare_format) - 16usize] ; ["Offset of field: iree_hal_executable_cache_vtable_t::prepare_executable"] [:: std :: mem :: offset_of ! (iree_hal_executable_cache_vtable_t , prepare_executable) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_executable_cache_destroy (executable_cache : * mut iree_hal_executable_cache_t) ; } pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_QUEUE : iree_async_causal_domain_e = 0 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_COLLECTIVE : iree_async_causal_domain_e = 1 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_EPILOGUE : iree_async_causal_domain_e = 2 ; pub const iree_async_causal_domain_e_IREE_ASYNC_CAUSAL_DOMAIN_HOST : iree_async_causal_domain_e = 3 ; pub type iree_async_causal_domain_e = :: std :: os :: raw :: c_uint ; pub type iree_async_causal_domain_t = u8 ; pub type iree_async_axis_t = u64 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_entry_t { pub axis : iree_async_axis_t , pub epoch : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_entry_t"] [:: std :: mem :: size_of :: < iree_async_frontier_entry_t > () - 16usize] ; ["Alignment of iree_async_frontier_entry_t"] [:: std :: mem :: align_of :: < iree_async_frontier_entry_t > () - 8usize] ; ["Offset of field: iree_async_frontier_entry_t::axis"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , axis) - 0usize] ; ["Offset of field: iree_async_frontier_entry_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_frontier_entry_t , epoch) - 8usize] ; } ; # [repr (C)] # [repr (align (8))] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_header_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_header_t"] [:: std :: mem :: size_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Alignment of iree_async_frontier_header_t"] [:: std :: mem :: align_of :: < iree_async_frontier_header_t > () - 8usize] ; ["Offset of field: iree_async_frontier_header_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_header_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_header_t , reserved) - 1usize] ; } ; # [repr (C)] # [derive (Debug)] pub struct iree_async_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : __IncompleteArrayField < iree_async_frontier_entry_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_frontier_t"] [:: std :: mem :: size_of :: < iree_async_frontier_t > () - 8usize] ; ["Alignment of iree_async_frontier_t"] [:: std :: mem :: align_of :: < iree_async_frontier_t > () - 8usize] ; ["Offset of field: iree_async_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_frontier_t , entries) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_single_frontier_t { pub entry_count : u8 , pub reserved : [u8 ; 7usize] , pub entries : [iree_async_frontier_entry_t ; 1usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_single_frontier_t"] [:: std :: mem :: size_of :: < iree_async_single_frontier_t > () - 24usize] ; ["Alignment of iree_async_single_frontier_t"] [:: std :: mem :: align_of :: < iree_async_single_frontier_t > () - 8usize] ; ["Offset of field: iree_async_single_frontier_t::entry_count"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entry_count) - 0usize] ; ["Offset of field: iree_async_single_frontier_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , reserved) - 1usize] ; ["Offset of field: iree_async_single_frontier_t::entries"] [:: std :: mem :: offset_of ! (iree_async_single_frontier_t , entries) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_frontier_validate (frontier : * const iree_async_frontier_t) -> iree_status_t ; } pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_EQUAL : iree_async_frontier_comparison_e = 0 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_BEFORE : iree_async_frontier_comparison_e = 1 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_AFTER : iree_async_frontier_comparison_e = 2 ; pub const iree_async_frontier_comparison_e_IREE_ASYNC_FRONTIER_CONCURRENT : iree_async_frontier_comparison_e = 3 ; pub type iree_async_frontier_comparison_e = :: std :: os :: raw :: c_uint ; pub type iree_async_frontier_comparison_t = u8 ; unsafe extern "C" { pub fn iree_async_frontier_compare (a : * const iree_async_frontier_t , b : * const iree_async_frontier_t) -> iree_async_frontier_comparison_t ; } unsafe extern "C" { pub fn iree_async_frontier_merge (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_merge_and_test_source_dominance (target : * mut iree_async_frontier_t , target_capacity : u8 , source : * const iree_async_frontier_t , out_source_dominates_target : * mut bool) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_is_satisfied (frontier : * const iree_async_frontier_t , current_epochs : * const iree_async_frontier_entry_t , current_epochs_count : iree_host_size_t) -> bool ; } unsafe extern "C" { pub fn iree_async_frontier_find_undominated (reference : * const iree_async_frontier_t , target : * const iree_async_frontier_t , capacity : u8 , out_entries : * mut iree_async_frontier_entry_t) -> u8 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_pool_t { _unused : [u8 ; 0] , } pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_NONE : iree_async_completion_flag_bits_e = 0 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_MORE : iree_async_completion_flag_bits_e = 1 ; pub const iree_async_completion_flag_bits_e_IREE_ASYNC_COMPLETION_FLAG_ZERO_COPY_ACHIEVED : iree_async_completion_flag_bits_e = 2 ; pub type iree_async_completion_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_completion_flags_t = u32 ; pub type iree_async_completion_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , operation : * mut iree_async_operation_t , status : iree_status_t , flags : iree_async_completion_flags_t) > ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOP : iree_async_operation_type_e = 0 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_TIMER : iree_async_operation_type_e = 1 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_EVENT_WAIT : iree_async_operation_type_e = 2 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_WAIT : iree_async_operation_type_e = 3 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEMAPHORE_SIGNAL : iree_async_operation_type_e = 4 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SEQUENCE : iree_async_operation_type_e = 5 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_ACCEPT : iree_async_operation_type_e = 6 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CONNECT : iree_async_operation_type_e = 7 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV : iree_async_operation_type_e = 8 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECV_POOL : iree_async_operation_type_e = 9 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SEND : iree_async_operation_type_e = 10 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_SENDTO : iree_async_operation_type_e = 11 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_RECVFROM : iree_async_operation_type_e = 12 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_SOCKET_CLOSE : iree_async_operation_type_e = 13 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_OPEN : iree_async_operation_type_e = 14 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_READ : iree_async_operation_type_e = 15 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_WRITE : iree_async_operation_type_e = 16 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FILE_CLOSE : iree_async_operation_type_e = 17 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAIT : iree_async_operation_type_e = 18 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_FUTEX_WAKE : iree_async_operation_type_e = 19 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_WAIT : iree_async_operation_type_e = 20 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_NOTIFICATION_SIGNAL : iree_async_operation_type_e = 21 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_HANDLE_POLL : iree_async_operation_type_e = 22 ; pub const iree_async_operation_type_e_IREE_ASYNC_OPERATION_TYPE_MESSAGE : iree_async_operation_type_e = 23 ; pub type iree_async_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_type_t = u8 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_NONE : iree_async_operation_flag_bits_e = 0 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_MULTISHOT : iree_async_operation_flag_bits_e = 1 ; pub const iree_async_operation_flag_bits_e_IREE_ASYNC_OPERATION_FLAG_LINKED : iree_async_operation_flag_bits_e = 2 ; pub type iree_async_operation_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_operation_flags_t = u32 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ALL : iree_async_wait_mode_e = 0 ; pub const iree_async_wait_mode_e_IREE_ASYNC_WAIT_MODE_ANY : iree_async_wait_mode_e = 1 ; pub type iree_async_wait_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_mode_t = u8 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_NONE : iree_async_wait_flag_bits_e = 0 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_YIELD : iree_async_wait_flag_bits_e = 1 ; pub const iree_async_wait_flag_bits_e_IREE_ASYNC_WAIT_FLAG_ACTIVE : iree_async_wait_flag_bits_e = 2 ; pub type iree_async_wait_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_wait_flags_t = u32 ; pub type iree_async_operation_internal_flags_t = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_t { pub next : * mut iree_async_operation_t , pub type_ : iree_async_operation_type_t , pub internal_flags : iree_atomic_int32_t , pub flags : iree_async_operation_flags_t , pub completion_fn : iree_async_completion_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , pub pool : * mut iree_async_operation_pool_t , pub linked_next : * mut iree_async_operation_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_t"] [:: std :: mem :: size_of :: < iree_async_operation_t > () - 56usize] ; ["Alignment of iree_async_operation_t"] [:: std :: mem :: align_of :: < iree_async_operation_t > () - 8usize] ; ["Offset of field: iree_async_operation_t::next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , next) - 0usize] ; ["Offset of field: iree_async_operation_t::type_"] [:: std :: mem :: offset_of ! (iree_async_operation_t , type_) - 8usize] ; ["Offset of field: iree_async_operation_t::internal_flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , internal_flags) - 12usize] ; ["Offset of field: iree_async_operation_t::flags"] [:: std :: mem :: offset_of ! (iree_async_operation_t , flags) - 16usize] ; ["Offset of field: iree_async_operation_t::completion_fn"] [:: std :: mem :: offset_of ! (iree_async_operation_t , completion_fn) - 24usize] ; ["Offset of field: iree_async_operation_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_operation_t , user_data) - 32usize] ; ["Offset of field: iree_async_operation_t::pool"] [:: std :: mem :: offset_of ! (iree_async_operation_t , pool) - 40usize] ; ["Offset of field: iree_async_operation_t::linked_next"] [:: std :: mem :: offset_of ! (iree_async_operation_t , linked_next) - 48usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_operation_list_t { pub values : * mut * mut iree_async_operation_t , pub count : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_operation_list_t"] [:: std :: mem :: size_of :: < iree_async_operation_list_t > () - 16usize] ; ["Alignment of iree_async_operation_list_t"] [:: std :: mem :: align_of :: < iree_async_operation_list_t > () - 8usize] ; ["Offset of field: iree_async_operation_list_t::values"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , values) - 0usize] ; ["Offset of field: iree_async_operation_list_t::count"] [:: std :: mem :: offset_of ! (iree_async_operation_list_t , count) - 8usize] ; } ; unsafe extern "C" { pub fn iree_async_operation_retain_resources (operation : * mut iree_async_operation_t) ; } unsafe extern "C" { pub fn iree_async_operation_release_resources (operation : * mut iree_async_operation_t) ; } pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_NONE : iree_async_primitive_type_e = 0 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_FD : iree_async_primitive_type_e = 1 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_WIN32_HANDLE : iree_async_primitive_type_e = 2 ; pub const iree_async_primitive_type_e_IREE_ASYNC_PRIMITIVE_TYPE_MACH_PORT : iree_async_primitive_type_e = 3 ; pub type iree_async_primitive_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_primitive_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_primitive_value_t { pub reserved : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_value_t"] [:: std :: mem :: size_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Alignment of iree_async_primitive_value_t"] [:: std :: mem :: align_of :: < iree_async_primitive_value_t > () - 4usize] ; ["Offset of field: iree_async_primitive_value_t::reserved"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , reserved) - 0usize] ; ["Offset of field: iree_async_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_async_primitive_value_t , fd) - 0usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_primitive_t { pub type_ : iree_async_primitive_type_t , pub value : iree_async_primitive_value_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_primitive_t"] [:: std :: mem :: size_of :: < iree_async_primitive_t > () - 8usize] ; ["Alignment of iree_async_primitive_t"] [:: std :: mem :: align_of :: < iree_async_primitive_t > () - 4usize] ; ["Offset of field: iree_async_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , type_) - 0usize] ; ["Offset of field: iree_async_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_async_primitive_t , value) - 4usize] ; } ; unsafe extern "C" { pub fn iree_async_primitive_dup (primitive : iree_async_primitive_t , out_primitive : * mut iree_async_primitive_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_primitive_close (primitive : * mut iree_async_primitive_t) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_mutex_t { pub value : pthread_mutex_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_mutex_t"] [:: std :: mem :: size_of :: < iree_mutex_t > () - 40usize] ; ["Alignment of iree_mutex_t"] [:: std :: mem :: align_of :: < iree_mutex_t > () - 8usize] ; ["Offset of field: iree_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_mutex_initialize (out_mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_deinitialize (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_lock (mutex : * mut iree_mutex_t) ; } unsafe extern "C" { pub fn iree_mutex_try_lock (mutex : * mut iree_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_mutex_unlock (mutex : * mut iree_mutex_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_slim_mutex_t { pub value : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_slim_mutex_t"] [:: std :: mem :: size_of :: < iree_slim_mutex_t > () - 4usize] ; ["Alignment of iree_slim_mutex_t"] [:: std :: mem :: align_of :: < iree_slim_mutex_t > () - 4usize] ; ["Offset of field: iree_slim_mutex_t::value"] [:: std :: mem :: offset_of ! (iree_slim_mutex_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_slim_mutex_initialize (out_mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_deinitialize (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_lock (mutex : * mut iree_slim_mutex_t) ; } unsafe extern "C" { pub fn iree_slim_mutex_try_lock (mutex : * mut iree_slim_mutex_t) -> bool ; } unsafe extern "C" { pub fn iree_slim_mutex_unlock (mutex : * mut iree_slim_mutex_t) ; } pub type iree_async_semaphore_timepoint_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , timepoint : * mut iree_async_semaphore_timepoint_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_timepoint_t { pub next : * mut iree_async_semaphore_timepoint_t , pub prev : * mut iree_async_semaphore_timepoint_t , pub semaphore : * mut iree_async_semaphore_t , pub minimum_value : u64 , pub callback : iree_async_semaphore_timepoint_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_timepoint_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_timepoint_t > () - 48usize] ; ["Alignment of iree_async_semaphore_timepoint_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_timepoint_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::next"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , next) - 0usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::prev"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , prev) - 8usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::semaphore"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , semaphore) - 16usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::minimum_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , minimum_value) - 24usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::callback"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , callback) - 32usize] ; ["Offset of field: iree_async_semaphore_timepoint_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_semaphore_timepoint_t , user_data) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_link_t { pub timepoint : iree_async_semaphore_timepoint_t , pub target : * mut iree_async_semaphore_t , pub signal_value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_link_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_link_t > () - 64usize] ; ["Alignment of iree_async_semaphore_link_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_link_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_link_t::timepoint"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , timepoint) - 0usize] ; ["Offset of field: iree_async_semaphore_link_t::target"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , target) - 48usize] ; ["Offset of field: iree_async_semaphore_link_t::signal_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_link_t , signal_value) - 56usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) > , pub query : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t) -> u64 > , pub signal : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t > , pub on_fail : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_async_semaphore_t , status_code : iree_status_code_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_vtable_t > () - 32usize] ; ["Alignment of iree_async_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_semaphore_vtable_t::query"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , query) - 8usize] ; ["Offset of field: iree_async_semaphore_vtable_t::signal"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , signal) - 16usize] ; ["Offset of field: iree_async_semaphore_vtable_t::on_fail"] [:: std :: mem :: offset_of ! (iree_async_semaphore_vtable_t , on_fail) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_semaphore_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_semaphore_vtable_t , pub allocator : iree_allocator_t , pub proactor : * mut iree_async_proactor_t , pub timeline_value : iree_atomic_int64_t , pub last_untainted_value : iree_atomic_int64_t , pub mutex : iree_slim_mutex_t , pub failure_status : iree_atomic_intptr_t , pub timepoints_head : * mut iree_async_semaphore_timepoint_t , pub frontier : * mut iree_async_frontier_t , pub frontier_capacity : u8 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_semaphore_t"] [:: std :: mem :: size_of :: < iree_async_semaphore_t > () - 96usize] ; ["Alignment of iree_async_semaphore_t"] [:: std :: mem :: align_of :: < iree_async_semaphore_t > () - 8usize] ; ["Offset of field: iree_async_semaphore_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , ref_count) - 0usize] ; ["Offset of field: iree_async_semaphore_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , vtable) - 8usize] ; ["Offset of field: iree_async_semaphore_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , allocator) - 16usize] ; ["Offset of field: iree_async_semaphore_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , proactor) - 32usize] ; ["Offset of field: iree_async_semaphore_t::timeline_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timeline_value) - 40usize] ; ["Offset of field: iree_async_semaphore_t::last_untainted_value"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , last_untainted_value) - 48usize] ; ["Offset of field: iree_async_semaphore_t::mutex"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , mutex) - 56usize] ; ["Offset of field: iree_async_semaphore_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , failure_status) - 64usize] ; ["Offset of field: iree_async_semaphore_t::timepoints_head"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , timepoints_head) - 72usize] ; ["Offset of field: iree_async_semaphore_t::frontier"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier) - 80usize] ; ["Offset of field: iree_async_semaphore_t::frontier_capacity"] [:: std :: mem :: offset_of ! (iree_async_semaphore_t , frontier_capacity) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_semaphore_initialize (vtable : * const iree_async_semaphore_vtable_t , proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_offset : iree_host_size_t , frontier_capacity : u8 , out_semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_retain (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_release (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_deinitialize (semaphore : * mut iree_async_semaphore_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_create (proactor : * mut iree_async_proactor_t , initial_value : u64 , frontier_capacity : u8 , allocator : iree_allocator_t , out_semaphore : * mut * mut iree_async_semaphore_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_query_frontier (semaphore : * mut iree_async_semaphore_t , out_frontier : * mut iree_async_frontier_t , capacity : u8) -> u8 ; } unsafe extern "C" { pub fn iree_async_semaphore_fail (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_acquire_timepoint (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timepoint : * mut iree_async_semaphore_timepoint_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_cancel_timepoint (semaphore : * mut iree_async_semaphore_t , timepoint : * mut iree_async_semaphore_timepoint_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_resolve (semaphore : * mut iree_async_semaphore_t , minimum_value : u64 , timeout : iree_timeout_t , callback : iree_wait_source_resolve_callback_t , user_data : * mut :: std :: os :: raw :: c_void) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_link (source : * mut iree_async_semaphore_t , source_value : u64 , target : * mut iree_async_semaphore_t , target_value : u64 , out_link : * mut iree_async_semaphore_link_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_unlink (link : * mut iree_async_semaphore_link_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_is_value_tainted (semaphore : * mut iree_async_semaphore_t , value : u64) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_mark_tainted_above (semaphore : * mut iree_async_semaphore_t , threshold : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_signal_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_publish_untainted (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_merge_frontier (semaphore : * mut iree_async_semaphore_t , frontier : * const iree_async_frontier_t) -> bool ; } unsafe extern "C" { pub fn iree_async_semaphore_query_untainted_value (semaphore : * mut iree_async_semaphore_t) -> u64 ; } unsafe extern "C" { pub fn iree_async_semaphore_advance_timeline (semaphore : * mut iree_async_semaphore_t , value : u64 , frontier : * const iree_async_frontier_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints (semaphore : * mut iree_async_semaphore_t , value : u64) ; } unsafe extern "C" { pub fn iree_async_semaphore_dispatch_timepoints_failed (semaphore : * mut iree_async_semaphore_t , status : iree_status_t) ; } unsafe extern "C" { pub fn iree_async_semaphore_multi_wait (wait_mode : iree_async_wait_mode_t , semaphores : * mut * mut iree_async_semaphore_t , minimum_values : * const u64 , count : iree_host_size_t , timeout : iree_timeout_t , flags : iree_async_wait_flags_t , allocator : iree_allocator_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_import_fence (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_semaphore_export_fence (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t ; } pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_NONE : iree_hal_semaphore_flag_bits_t = 0 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEVICE_LOCAL : iree_hal_semaphore_flag_bits_t = 1 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_HOST_INTERRUPT : iree_hal_semaphore_flag_bits_t = 2 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE : iree_hal_semaphore_flag_bits_t = 4 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_EXPORTABLE_TIMEPOINTS : iree_hal_semaphore_flag_bits_t = 8 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_SINGLE_PRODUCER : iree_hal_semaphore_flag_bits_t = 16 ; pub const iree_hal_semaphore_flag_bits_t_IREE_HAL_SEMAPHORE_FLAG_DEFAULT : iree_hal_semaphore_flag_bits_t = 10 ; pub type iree_hal_semaphore_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_semaphore_flags_t = u64 ; pub type iree_hal_semaphore_compatibility_t = u32 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_NONE : iree_hal_semaphore_compatibility_bits_t = 0 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_WAIT : iree_hal_semaphore_compatibility_bits_t = 1 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_WAIT : iree_hal_semaphore_compatibility_bits_t = 2 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 4 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_SIGNAL : iree_hal_semaphore_compatibility_bits_t = 8 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_HOST_ONLY : iree_hal_semaphore_compatibility_bits_t = 5 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_DEVICE_ONLY : iree_hal_semaphore_compatibility_bits_t = 10 ; pub const iree_hal_semaphore_compatibility_bits_t_IREE_HAL_SEMAPHORE_COMPATIBILITY_ALL : iree_hal_semaphore_compatibility_bits_t = 15 ; pub type iree_hal_semaphore_compatibility_bits_t = :: std :: os :: raw :: 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_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_NONE : iree_hal_external_timepoint_type_e = 0 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_ASYNC_PRIMITIVE : iree_hal_external_timepoint_type_e = 1 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_CUDA_EVENT : iree_hal_external_timepoint_type_e = 2 ; pub const iree_hal_external_timepoint_type_e_IREE_HAL_EXTERNAL_TIMEPOINT_TYPE_HIP_EVENT : iree_hal_external_timepoint_type_e = 3 ; pub type iree_hal_external_timepoint_type_e = :: std :: os :: raw :: 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_bits_t_IREE_HAL_EXTERNAL_TIMEPOINT_FLAG_NONE : iree_hal_external_timepoint_flag_bits_t = 0 ; pub type iree_hal_external_timepoint_flag_bits_t = :: std :: os :: raw :: 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 async_primitive : iree_async_primitive_t , pub cuda_event : * mut :: std :: os :: raw :: c_void , pub hip_event : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_external_timepoint_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::async_primitive"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , async_primitive) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::cuda_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , cuda_event) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t__bindgen_ty_1::hip_event"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t__bindgen_ty_1 , hip_event) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_external_timepoint_t"] [:: std :: mem :: size_of :: < iree_hal_external_timepoint_t > () - 24usize] ; ["Alignment of iree_hal_external_timepoint_t"] [:: std :: mem :: align_of :: < iree_hal_external_timepoint_t > () - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , type_) - 0usize] ; ["Offset of field: iree_hal_external_timepoint_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , flags) - 4usize] ; ["Offset of field: iree_hal_external_timepoint_t::compatibility"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , compatibility) - 8usize] ; ["Offset of field: iree_hal_external_timepoint_t::handle"] [:: std :: mem :: offset_of ! (iree_hal_external_timepoint_t , handle) - 16usize] ; } ; # [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 , frontier : * const iree_async_frontier_t) -> 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_async_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_list_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_list_t > () - 24usize] ; ["Alignment of iree_hal_semaphore_list_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_list_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , count) - 0usize] ; ["Offset of field: iree_hal_semaphore_list_t::semaphores"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , semaphores) - 8usize] ; ["Offset of field: iree_hal_semaphore_list_t::payload_values"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_list_t , payload_values) - 16usize] ; } ; 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_clone (source_list : * const iree_hal_semaphore_list_t , host_allocator : iree_allocator_t , out_list : * mut iree_hal_semaphore_list_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_semaphore_list_free (list : iree_hal_semaphore_list_t , host_allocator : iree_allocator_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 , frontier : * const iree_async_frontier_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_async_wait_flags_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_semaphore_vtable_t { pub async_ : iree_async_semaphore_vtable_t , pub wait : :: std :: option :: Option < unsafe extern "C" fn (semaphore : * mut iree_hal_semaphore_t , value : u64 , timeout : iree_timeout_t , flags : iree_async_wait_flags_t) -> iree_status_t > , pub import_timepoint : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_semaphore_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_semaphore_vtable_t > () - 56usize] ; ["Alignment of iree_hal_semaphore_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_semaphore_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::async_"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , async_) - 0usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::wait"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , wait) - 32usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::import_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , import_timepoint) - 40usize] ; ["Offset of field: iree_hal_semaphore_vtable_t::export_timepoint"] [:: std :: mem :: offset_of ! (iree_hal_semaphore_vtable_t , export_timepoint) - 48usize] ; } ; 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)] # [derive (Debug , Copy , Clone)] 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_fence_t"] [:: std :: mem :: size_of :: < iree_hal_fence_t > () - 32usize] ; ["Alignment of iree_hal_fence_t"] [:: std :: mem :: align_of :: < iree_hal_fence_t > () - 8usize] ; ["Offset of field: iree_hal_fence_t::ref_count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , ref_count) - 0usize] ; ["Offset of field: iree_hal_fence_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , host_allocator) - 8usize] ; ["Offset of field: iree_hal_fence_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , capacity) - 24usize] ; ["Offset of field: iree_hal_fence_t::count"] [:: std :: mem :: offset_of ! (iree_hal_fence_t , count) - 26usize] ; } ; 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_async_wait_flags_t) -> iree_status_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_bits_t_IREE_IO_FILE_ACCESS_READ : iree_io_file_access_bits_t = 1 ; pub const iree_io_file_access_bits_t_IREE_IO_FILE_ACCESS_WRITE : iree_io_file_access_bits_t = 2 ; pub type iree_io_file_access_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_io_file_mode_t = u64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_NONE : iree_io_file_mode_bits_t = 0 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_READ : iree_io_file_mode_bits_t = 1 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_WRITE : iree_io_file_mode_bits_t = 2 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_RANDOM_ACCESS : iree_io_file_mode_bits_t = 4 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SEQUENTIAL_SCAN : iree_io_file_mode_bits_t = 8 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_DIRECT : iree_io_file_mode_bits_t = 16 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_TEMPORARY : iree_io_file_mode_bits_t = 32 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_READ : iree_io_file_mode_bits_t = 64 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_SHARE_WRITE : iree_io_file_mode_bits_t = 128 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_OVERWRITE : iree_io_file_mode_bits_t = 256 ; pub const iree_io_file_mode_bits_t_IREE_IO_FILE_MODE_ASYNC : iree_io_file_mode_bits_t = 512 ; pub type iree_io_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_HOST_ALLOCATION : iree_io_file_handle_type_e = 0 ; pub const iree_io_file_handle_type_e_IREE_IO_FILE_HANDLE_TYPE_FD : iree_io_file_handle_type_e = 1 ; pub type iree_io_file_handle_type_e = :: std :: os :: raw :: 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 : :: std :: os :: raw :: c_int , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_value_t > () - 16usize] ; ["Alignment of iree_io_file_handle_primitive_value_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_value_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::host_allocation"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , host_allocation) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_value_t::fd"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_value_t , fd) - 0usize] ; } ; # [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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_primitive_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_primitive_t > () - 24usize] ; ["Alignment of iree_io_file_handle_primitive_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_primitive_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_primitive_t::type_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , type_) - 0usize] ; ["Offset of field: iree_io_file_handle_primitive_t::value"] [:: std :: mem :: offset_of ! (iree_io_file_handle_primitive_t , value) - 8usize] ; } ; pub type iree_io_file_handle_release_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_io_file_handle_release_callback_t"] [:: std :: mem :: size_of :: < iree_io_file_handle_release_callback_t > () - 16usize] ; ["Alignment of iree_io_file_handle_release_callback_t"] [:: std :: mem :: align_of :: < iree_io_file_handle_release_callback_t > () - 8usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , fn_) - 0usize] ; ["Offset of field: iree_io_file_handle_release_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_io_file_handle_release_callback_t , user_data) - 8usize] ; } ; # [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 , mode : iree_io_file_mode_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" { pub fn iree_io_file_handle_flush (handle : * mut iree_io_file_handle_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_io_file_handle_uses_async_io (handle : * const iree_io_file_handle_t) -> bool ; } 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 : :: std :: os :: raw :: 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_bits_t_IREE_IO_FILE_MAPPING_FLAG_NONE : iree_io_file_mapping_flag_bits_t = 0 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_SEQUENTIAL_ACCESS : iree_io_file_mapping_flag_bits_t = 1 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_LARGE_PAGES : iree_io_file_mapping_flag_bits_t = 2 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_EXCLUDE_FROM_DUMPS : iree_io_file_mapping_flag_bits_t = 4 ; pub const iree_io_file_mapping_flag_bits_t_IREE_IO_FILE_MAPPING_FLAG_PRIVATE : iree_io_file_mapping_flag_bits_t = 8 ; pub type iree_io_file_mapping_flag_bits_t = :: std :: os :: raw :: 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 ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_file_t { _unused : [u8 ; 0] , } pub const iree_hal_file_mode_bits_t_IREE_HAL_FILE_MODE_OPEN : iree_hal_file_mode_bits_t = 1 ; pub type iree_hal_file_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_file_mode_t = u32 ; pub const iree_hal_external_file_flag_bits_t_IREE_HAL_EXTERNAL_FILE_FLAG_NONE : iree_hal_external_file_flag_bits_t = 0 ; pub type iree_hal_external_file_flag_bits_t = :: std :: os :: raw :: 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_async_handle (file : * mut iree_hal_file_t) -> * mut iree_async_file_t ; } unsafe extern "C" { pub fn iree_hal_file_validate_access (file : * mut iree_hal_file_t , required_access : iree_hal_memory_access_t) -> iree_status_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 : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) > , pub allowed_access : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> iree_hal_memory_access_t > , pub length : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> u64 > , pub storage_buffer : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_hal_buffer_t > , pub async_handle : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> * mut iree_async_file_t > , pub supports_synchronous_io : :: std :: option :: Option < unsafe extern "C" fn (file : * mut iree_hal_file_t) -> bool > , pub read : :: std :: 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 : :: std :: 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_file_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_file_vtable_t > () - 64usize] ; ["Alignment of iree_hal_file_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_file_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_file_vtable_t::allowed_access"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , allowed_access) - 8usize] ; ["Offset of field: iree_hal_file_vtable_t::length"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , length) - 16usize] ; ["Offset of field: iree_hal_file_vtable_t::storage_buffer"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , storage_buffer) - 24usize] ; ["Offset of field: iree_hal_file_vtable_t::async_handle"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , async_handle) - 32usize] ; ["Offset of field: iree_hal_file_vtable_t::supports_synchronous_io"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , supports_synchronous_io) - 40usize] ; ["Offset of field: iree_hal_file_vtable_t::read"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , read) - 48usize] ; ["Offset of field: iree_hal_file_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_file_vtable_t , write) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_file_destroy (file : * mut iree_hal_file_t) ; } pub type iree_hal_pool_acquire_result_t = u32 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK : iree_hal_pool_acquire_result_e = 0 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_FRESH : iree_hal_pool_acquire_result_e = 1 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OK_NEEDS_WAIT : iree_hal_pool_acquire_result_e = 2 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_EXHAUSTED : iree_hal_pool_acquire_result_e = 3 ; pub const iree_hal_pool_acquire_result_e_IREE_HAL_POOL_ACQUIRE_OVER_BUDGET : iree_hal_pool_acquire_result_e = 4 ; pub type iree_hal_pool_acquire_result_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_reservation_t { pub offset : iree_device_size_t , pub length : iree_device_size_t , pub block_handle : u64 , pub slab_index : u16 , pub reserved : [u16 ; 3usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_reservation_t"] [:: std :: mem :: size_of :: < iree_hal_pool_reservation_t > () - 32usize] ; ["Alignment of iree_hal_pool_reservation_t"] [:: std :: mem :: align_of :: < iree_hal_pool_reservation_t > () - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , offset) - 0usize] ; ["Offset of field: iree_hal_pool_reservation_t::length"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , length) - 8usize] ; ["Offset of field: iree_hal_pool_reservation_t::block_handle"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , block_handle) - 16usize] ; ["Offset of field: iree_hal_pool_reservation_t::slab_index"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , slab_index) - 24usize] ; ["Offset of field: iree_hal_pool_reservation_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_reservation_t , reserved) - 26usize] ; } ; pub type iree_hal_pool_reserve_flags_t = u32 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_NONE : iree_hal_pool_reserve_flag_bits_e = 0 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_ALLOW_WAIT_FRONTIER : iree_hal_pool_reserve_flag_bits_e = 1 ; pub const iree_hal_pool_reserve_flag_bits_e_IREE_HAL_POOL_RESERVE_FLAG_DISALLOW_GROWTH : iree_hal_pool_reserve_flag_bits_e = 2 ; pub type iree_hal_pool_reserve_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_pool_acquire_flags_t = u32 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_NONE : iree_hal_pool_acquire_flag_bits_e = 0 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_WAIT_FRONTIER_TAINTED : iree_hal_pool_acquire_flag_bits_e = 1 ; pub const iree_hal_pool_acquire_flag_bits_e_IREE_HAL_POOL_ACQUIRE_FLAG_GROWTH_REQUIRED : iree_hal_pool_acquire_flag_bits_e = 2 ; pub type iree_hal_pool_acquire_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_acquire_info_t { pub wait_frontier : * const iree_async_frontier_t , pub flags : iree_hal_pool_acquire_flags_t , pub reserved : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_acquire_info_t"] [:: std :: mem :: size_of :: < iree_hal_pool_acquire_info_t > () - 16usize] ; ["Alignment of iree_hal_pool_acquire_info_t"] [:: std :: mem :: align_of :: < iree_hal_pool_acquire_info_t > () - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::wait_frontier"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , wait_frontier) - 0usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , flags) - 8usize] ; ["Offset of field: iree_hal_pool_acquire_info_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_acquire_info_t , reserved) - 12usize] ; } ; pub type iree_hal_pool_materialize_flags_t = u32 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_NONE : iree_hal_pool_materialize_flag_bits_e = 0 ; pub const iree_hal_pool_materialize_flag_bits_e_IREE_HAL_POOL_MATERIALIZE_FLAG_TRANSFER_RESERVATION_OWNERSHIP : iree_hal_pool_materialize_flag_bits_e = 1 ; pub type iree_hal_pool_materialize_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_capabilities_t { pub memory_type : iree_hal_memory_type_t , pub supported_usage : iree_hal_buffer_usage_t , pub min_allocation_size : iree_device_size_t , pub max_allocation_size : iree_device_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_pool_capabilities_t > () - 24usize] ; ["Alignment of iree_hal_pool_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_pool_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , memory_type) - 0usize] ; ["Offset of field: iree_hal_pool_capabilities_t::supported_usage"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , supported_usage) - 4usize] ; ["Offset of field: iree_hal_pool_capabilities_t::min_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , min_allocation_size) - 8usize] ; ["Offset of field: iree_hal_pool_capabilities_t::max_allocation_size"] [:: std :: mem :: offset_of ! (iree_hal_pool_capabilities_t , max_allocation_size) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_stats_t { pub bytes_reserved : iree_device_size_t , pub bytes_free : iree_device_size_t , pub bytes_committed : iree_device_size_t , pub budget_limit : iree_device_size_t , pub reservation_count : u32 , pub slab_count : u32 , pub reserve_count : u64 , pub release_count : u64 , pub reuse_count : u64 , pub reuse_miss_count : u64 , pub fresh_count : u64 , pub exhausted_count : u64 , pub over_budget_count : u64 , pub wait_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_stats_t"] [:: std :: mem :: size_of :: < iree_hal_pool_stats_t > () - 104usize] ; ["Alignment of iree_hal_pool_stats_t"] [:: std :: mem :: align_of :: < iree_hal_pool_stats_t > () - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_reserved) - 0usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_free) - 8usize] ; ["Offset of field: iree_hal_pool_stats_t::bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , bytes_committed) - 16usize] ; ["Offset of field: iree_hal_pool_stats_t::budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , budget_limit) - 24usize] ; ["Offset of field: iree_hal_pool_stats_t::reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reservation_count) - 32usize] ; ["Offset of field: iree_hal_pool_stats_t::slab_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , slab_count) - 36usize] ; ["Offset of field: iree_hal_pool_stats_t::reserve_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reserve_count) - 40usize] ; ["Offset of field: iree_hal_pool_stats_t::release_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , release_count) - 48usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_count) - 56usize] ; ["Offset of field: iree_hal_pool_stats_t::reuse_miss_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , reuse_miss_count) - 64usize] ; ["Offset of field: iree_hal_pool_stats_t::fresh_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , fresh_count) - 72usize] ; ["Offset of field: iree_hal_pool_stats_t::exhausted_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , exhausted_count) - 80usize] ; ["Offset of field: iree_hal_pool_stats_t::over_budget_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , over_budget_count) - 88usize] ; ["Offset of field: iree_hal_pool_stats_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_stats_t , wait_count) - 96usize] ; } ; pub type iree_hal_pool_epoch_query_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , axis : iree_async_axis_t , epoch : u64) -> bool > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_epoch_query_t { pub fn_ : iree_hal_pool_epoch_query_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_epoch_query_t"] [:: std :: mem :: size_of :: < iree_hal_pool_epoch_query_t > () - 16usize] ; ["Alignment of iree_hal_pool_epoch_query_t"] [:: std :: mem :: align_of :: < iree_hal_pool_epoch_query_t > () - 8usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , fn_) - 0usize] ; ["Offset of field: iree_hal_pool_epoch_query_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_pool_epoch_query_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_pool_retain (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_release (pool : * mut iree_hal_pool_t) ; } unsafe extern "C" { pub fn iree_hal_pool_acquire_reservation (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_release_reservation (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) ; } unsafe extern "C" { pub fn iree_hal_pool_materialize_reservation (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_query_capabilities (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) ; } unsafe extern "C" { pub fn iree_hal_pool_query_stats (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) ; } unsafe extern "C" { pub fn iree_hal_pool_trim (pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_notification (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t ; } unsafe extern "C" { pub fn iree_hal_pool_allocate_buffer (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) > , pub acquire_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , size : iree_device_size_t , alignment : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , flags : iree_hal_pool_reserve_flags_t , out_reservation : * mut iree_hal_pool_reservation_t , out_info : * mut iree_hal_pool_acquire_info_t , out_result : * mut iree_hal_pool_acquire_result_t) -> iree_status_t > , pub release_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , reservation : * const iree_hal_pool_reservation_t , death_frontier : * const iree_async_frontier_t) > , pub materialize_reservation : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t , params : iree_hal_buffer_params_t , reservation : * const iree_hal_pool_reservation_t , flags : iree_hal_pool_materialize_flags_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_capabilities : * mut iree_hal_pool_capabilities_t) > , pub query_stats : :: std :: option :: Option < unsafe extern "C" fn (pool : * const iree_hal_pool_t , out_stats : * mut iree_hal_pool_stats_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> iree_status_t > , pub notification : :: std :: option :: Option < unsafe extern "C" fn (pool : * mut iree_hal_pool_t) -> * mut iree_async_notification_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_pool_vtable_t > () - 64usize] ; ["Alignment of iree_hal_pool_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_pool_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_pool_vtable_t::acquire_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , acquire_reservation) - 8usize] ; ["Offset of field: iree_hal_pool_vtable_t::release_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , release_reservation) - 16usize] ; ["Offset of field: iree_hal_pool_vtable_t::materialize_reservation"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , materialize_reservation) - 24usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_capabilities) - 32usize] ; ["Offset of field: iree_hal_pool_vtable_t::query_stats"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , query_stats) - 40usize] ; ["Offset of field: iree_hal_pool_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_pool_vtable_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_pool_vtable_t , notification) - 56usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_destroy (pool : * mut iree_hal_pool_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_t { _unused : [u8 ; 0] , } pub type iree_hal_device_profiling_data_families_t = u64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_NONE : iree_hal_device_profiling_data_family_bits_t = 0 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 1 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_HOST_EXECUTION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 2 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_QUEUE_EVENTS : iree_hal_device_profiling_data_family_bits_t = 4 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DISPATCH_EVENTS : iree_hal_device_profiling_data_family_bits_t = 8 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_SAMPLES : iree_hal_device_profiling_data_family_bits_t = 16 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_METADATA : iree_hal_device_profiling_data_family_bits_t = 32 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_EXECUTABLE_TRACES : iree_hal_device_profiling_data_family_bits_t = 64 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_MEMORY_EVENTS : iree_hal_device_profiling_data_family_bits_t = 128 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_DEVICE_METRICS : iree_hal_device_profiling_data_family_bits_t = 256 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COMMAND_REGION_EVENTS : iree_hal_device_profiling_data_family_bits_t = 512 ; pub const iree_hal_device_profiling_data_family_bits_t_IREE_HAL_DEVICE_PROFILING_DATA_COUNTER_RANGES : iree_hal_device_profiling_data_family_bits_t = 1024 ; pub type iree_hal_device_profiling_data_family_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_profiling_flags_t = u32 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_NONE : iree_hal_device_profiling_flag_bits_t = 0 ; pub const iree_hal_device_profiling_flag_bits_t_IREE_HAL_DEVICE_PROFILING_FLAG_LIGHTWEIGHT_STATISTICS : iree_hal_device_profiling_flag_bits_t = 1 ; pub type iree_hal_device_profiling_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_capture_filter_flags_t = u32 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_NONE : iree_hal_profile_capture_filter_flag_bits_t = 0 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_EXECUTABLE_FUNCTION_PATTERN : iree_hal_profile_capture_filter_flag_bits_t = 1 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_BUFFER_ID : iree_hal_profile_capture_filter_flag_bits_t = 2 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_COMMAND_INDEX : iree_hal_profile_capture_filter_flag_bits_t = 4 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_PHYSICAL_DEVICE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 8 ; pub const iree_hal_profile_capture_filter_flag_bits_t_IREE_HAL_PROFILE_CAPTURE_FILTER_FLAG_QUEUE_ORDINAL : iree_hal_profile_capture_filter_flag_bits_t = 16 ; pub type iree_hal_profile_capture_filter_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_capture_filter_t { pub flags : iree_hal_profile_capture_filter_flags_t , pub executable_function_pattern : iree_string_view_t , pub command_buffer_id : u64 , pub command_index : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_capture_filter_t"] [:: std :: mem :: size_of :: < iree_hal_profile_capture_filter_t > () - 48usize] ; ["Alignment of iree_hal_profile_capture_filter_t"] [:: std :: mem :: align_of :: < iree_hal_profile_capture_filter_t > () - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::executable_function_pattern"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , executable_function_pattern) - 8usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , command_index) - 32usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , physical_device_ordinal) - 36usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , queue_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_capture_filter_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_capture_filter_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_counter_set_selection_flags_t = u32 ; pub const iree_hal_profile_counter_set_selection_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_SELECTION_FLAG_NONE : iree_hal_profile_counter_set_selection_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_selection_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_selection_t { pub flags : iree_hal_profile_counter_set_selection_flags_t , pub name : iree_string_view_t , pub counter_name_count : iree_host_size_t , pub counter_names : * const iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_selection_t > () - 40usize] ; ["Alignment of iree_hal_profile_counter_set_selection_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_selection_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , flags) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , name) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_name_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_name_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_selection_t::counter_names"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_selection_t , counter_names) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_t { pub flags : iree_hal_device_profiling_flags_t , pub data_families : iree_hal_device_profiling_data_families_t , pub sink : * mut iree_hal_profile_sink_t , pub capture_filter : iree_hal_profile_capture_filter_t , pub counter_set_count : iree_host_size_t , pub counter_sets : * const iree_hal_profile_counter_set_selection_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_profiling_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_profiling_options_t > () - 88usize] ; ["Alignment of iree_hal_device_profiling_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_profiling_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_profiling_options_t::data_families"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , data_families) - 8usize] ; ["Offset of field: iree_hal_device_profiling_options_t::sink"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , sink) - 16usize] ; ["Offset of field: iree_hal_device_profiling_options_t::capture_filter"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , capture_filter) - 24usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_set_count"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_set_count) - 72usize] ; ["Offset of field: iree_hal_device_profiling_options_t::counter_sets"] [:: std :: mem :: offset_of ! (iree_hal_device_profiling_options_t , counter_sets) - 80usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_profiling_options_storage_t { _unused : [u8 ; 0] , } unsafe extern "C" { pub fn iree_hal_device_profiling_options_clone (source_options : * const iree_hal_device_profiling_options_t , host_allocator : iree_allocator_t , out_options : * mut iree_hal_device_profiling_options_t , out_storage : * mut * mut iree_hal_device_profiling_options_storage_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_profiling_options_storage_free (storage : * mut iree_hal_device_profiling_options_storage_t , host_allocator : iree_allocator_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_edge_t"] [:: std :: mem :: size_of :: < iree_hal_topology_edge_t > () - 16usize] ; ["Alignment of iree_hal_topology_edge_t"] [:: std :: mem :: align_of :: < iree_hal_topology_edge_t > () - 8usize] ; ["Offset of field: iree_hal_topology_edge_t::lo"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , lo) - 0usize] ; ["Offset of field: iree_hal_topology_edge_t::hi"] [:: std :: mem :: offset_of ! (iree_hal_topology_edge_t , hi) - 8usize] ; } ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NATIVE : iree_hal_topology_interop_mode_bits_t = 0 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_IMPORT : iree_hal_topology_interop_mode_bits_t = 1 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_COPY : iree_hal_topology_interop_mode_bits_t = 2 ; pub const iree_hal_topology_interop_mode_bits_t_IREE_HAL_TOPOLOGY_INTEROP_MODE_NONE : iree_hal_topology_interop_mode_bits_t = 3 ; pub type iree_hal_topology_interop_mode_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_interop_mode_t = u8 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_SAME_DIE : iree_hal_topology_link_class_bits_t = 0 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_NVLINK_IF : iree_hal_topology_link_class_bits_t = 1 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_SAME_ROOT : iree_hal_topology_link_class_bits_t = 2 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_PCIE_CROSS_ROOT : iree_hal_topology_link_class_bits_t = 3 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_HOST_STAGED : iree_hal_topology_link_class_bits_t = 4 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_FABRIC : iree_hal_topology_link_class_bits_t = 5 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_OTHER : iree_hal_topology_link_class_bits_t = 6 ; pub const iree_hal_topology_link_class_bits_t_IREE_HAL_TOPOLOGY_LINK_CLASS_ISOLATED : iree_hal_topology_link_class_bits_t = 7 ; pub type iree_hal_topology_link_class_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_link_class_t = u8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NONE : iree_hal_topology_handle_type_bits_t = 0 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_NATIVE : iree_hal_topology_handle_type_bits_t = 1 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_FD : iree_hal_topology_handle_type_bits_t = 2 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_OPAQUE_WIN32 : iree_hal_topology_handle_type_bits_t = 4 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_DMA_BUF : iree_hal_topology_handle_type_bits_t = 8 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_RDMA_MR : iree_hal_topology_handle_type_bits_t = 16 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_SHM : iree_hal_topology_handle_type_bits_t = 32 ; pub const iree_hal_topology_handle_type_bits_t_IREE_HAL_TOPOLOGY_HANDLE_TYPE_METAL_IOSURFACE : iree_hal_topology_handle_type_bits_t = 64 ; pub const iree_hal_topology_handle_type_bits_t_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 = :: std :: os :: raw :: c_uint ; pub type iree_hal_topology_handle_type_t = u8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_NONE : iree_hal_topology_capability_bits_t = 0 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SAME_RUNTIME_DOMAIN : iree_hal_topology_capability_bits_t = 1 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_UNIFIED_MEMORY : iree_hal_topology_capability_bits_t = 2 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_COHERENT : iree_hal_topology_capability_bits_t = 4 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_HOST_COHERENT : iree_hal_topology_capability_bits_t = 8 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_P2P_COPY : iree_hal_topology_capability_bits_t = 16 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_CONCURRENT_SAFE : iree_hal_topology_capability_bits_t = 32 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_DEVICE : iree_hal_topology_capability_bits_t = 64 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_ATOMIC_SYSTEM : iree_hal_topology_capability_bits_t = 128 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_TIMELINE_SEMAPHORE : iree_hal_topology_capability_bits_t = 256 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_BINARY_SEMAPHORE_ONLY : iree_hal_topology_capability_bits_t = 512 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_REMOTE_DMA : iree_hal_topology_capability_bits_t = 1024 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_topology_capability_bits_t = 2048 ; pub const iree_hal_topology_capability_bits_t_IREE_HAL_TOPOLOGY_CAPABILITY_PEER_ACCESS_REQUIRES_GRANT : iree_hal_topology_capability_bits_t = 4096 ; pub type iree_hal_topology_capability_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_resource_origin_t"] [:: std :: mem :: size_of :: < iree_hal_resource_origin_t > () - 16usize] ; ["Alignment of iree_hal_resource_origin_t"] [:: std :: mem :: align_of :: < iree_hal_resource_origin_t > () - 8usize] ; ["Offset of field: iree_hal_resource_origin_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_resource_origin_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_resource_origin_t , topology_index) - 8usize] ; } ; # [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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_t"] [:: std :: mem :: size_of :: < iree_hal_topology_t > () - 16424usize] ; ["Alignment of iree_hal_topology_t"] [:: std :: mem :: align_of :: < iree_hal_topology_t > () - 8usize] ; ["Offset of field: iree_hal_topology_t::device_count"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , device_count) - 0usize] ; ["Offset of field: iree_hal_topology_t::edges"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , edges) - 8usize] ; ["Offset of field: iree_hal_topology_t::numa_nodes"] [:: std :: mem :: offset_of ! (iree_hal_topology_t , numa_nodes) - 16392usize] ; } ; 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_bits_t_IREE_HAL_DEVICE_FEATURE_NONE : iree_hal_device_feature_bits_t = 0 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_DEBUGGING : iree_hal_device_feature_bits_t = 1 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_COVERAGE : iree_hal_device_feature_bits_t = 2 ; pub const iree_hal_device_feature_bits_t_IREE_HAL_DEVICE_FEATURE_SUPPORTS_PROFILING : iree_hal_device_feature_bits_t = 4 ; pub type iree_hal_device_feature_bits_t = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_info_t > () - 40usize] ; ["Alignment of iree_hal_device_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_info_t::device_id"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , device_id) - 0usize] ; ["Offset of field: iree_hal_device_info_t::path"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , path) - 8usize] ; ["Offset of field: iree_hal_device_info_t::name"] [:: std :: mem :: offset_of ! (iree_hal_device_info_t , name) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_frontier_tracker_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_slab_provider_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_create_params_t { pub next : * const :: std :: os :: raw :: c_void , pub proactor_pool : * mut iree_async_proactor_pool_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_create_params_t"] [:: std :: mem :: size_of :: < iree_hal_device_create_params_t > () - 16usize] ; ["Alignment of iree_hal_device_create_params_t"] [:: std :: mem :: align_of :: < iree_hal_device_create_params_t > () - 8usize] ; ["Offset of field: iree_hal_device_create_params_t::next"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , next) - 0usize] ; ["Offset of field: iree_hal_device_create_params_t::proactor_pool"] [:: std :: mem :: offset_of ! (iree_hal_device_create_params_t , proactor_pool) - 8usize] ; } ; pub type iree_hal_device_external_capture_flags_t = u64 ; pub const iree_hal_device_external_capture_flag_bits_t_IREE_HAL_DEVICE_EXTERNAL_CAPTURE_FLAG_NONE : iree_hal_device_external_capture_flag_bits_t = 0 ; pub type iree_hal_device_external_capture_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_external_capture_options_t { pub provider : iree_string_view_t , pub file_path : iree_string_view_t , pub label : iree_string_view_t , pub flags : iree_hal_device_external_capture_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_external_capture_options_t"] [:: std :: mem :: size_of :: < iree_hal_device_external_capture_options_t > () - 56usize] ; ["Alignment of iree_hal_device_external_capture_options_t"] [:: std :: mem :: align_of :: < iree_hal_device_external_capture_options_t > () - 8usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::provider"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , provider) - 0usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::file_path"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , file_path) - 16usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::label"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , label) - 32usize] ; ["Offset of field: iree_hal_device_external_capture_options_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_external_capture_options_t , flags) - 48usize] ; } ; pub type iree_hal_alloca_flags_t = u64 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_NONE : iree_hal_alloca_flag_bits_t = 0 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_INDETERMINATE_LIFETIME : iree_hal_alloca_flag_bits_t = 1 ; pub const iree_hal_alloca_flag_bits_t_IREE_HAL_ALLOCA_FLAG_ALLOW_POOL_WAIT_FRONTIER : iree_hal_alloca_flag_bits_t = 2 ; pub type iree_hal_alloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_dealloca_flags_t = u64 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_NONE : iree_hal_dealloca_flag_bits_t = 0 ; pub const iree_hal_dealloca_flag_bits_t_IREE_HAL_DEALLOCA_FLAG_PREFER_ORIGIN : iree_hal_dealloca_flag_bits_t = 1 ; pub type iree_hal_dealloca_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_read_flags_t = u64 ; pub const iree_hal_read_flag_bits_t_IREE_HAL_READ_FLAG_NONE : iree_hal_read_flag_bits_t = 0 ; pub type iree_hal_read_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_write_flags_t = u64 ; pub const iree_hal_write_flag_bits_t_IREE_HAL_WRITE_FLAG_NONE : iree_hal_write_flag_bits_t = 0 ; pub type iree_hal_write_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_host_call_flags_t = u64 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NONE : iree_hal_host_call_flag_bits_e = 0 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_NON_BLOCKING : iree_hal_host_call_flag_bits_e = 1 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_WAIT_ACTIVE : iree_hal_host_call_flag_bits_e = 2 ; pub const iree_hal_host_call_flag_bits_e_IREE_HAL_HOST_CALL_FLAG_RELAXED : iree_hal_host_call_flag_bits_e = 4 ; pub type iree_hal_host_call_flag_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_context_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_context_t > () - 40usize] ; ["Alignment of iree_hal_host_call_context_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_context_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::device"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , device) - 0usize] ; ["Offset of field: iree_hal_host_call_context_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , queue_affinity) - 8usize] ; ["Offset of field: iree_hal_host_call_context_t::signal_semaphore_list"] [:: std :: mem :: offset_of ! (iree_hal_host_call_context_t , signal_semaphore_list) - 16usize] ; } ; pub type iree_hal_host_call_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_host_call_t"] [:: std :: mem :: size_of :: < iree_hal_host_call_t > () - 16usize] ; ["Alignment of iree_hal_host_call_t"] [:: std :: mem :: align_of :: < iree_hal_host_call_t > () - 8usize] ; ["Offset of field: iree_hal_host_call_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , fn_) - 0usize] ; ["Offset of field: iree_hal_host_call_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_host_call_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_queue_pool_backend_t { pub slab_provider : * mut iree_hal_slab_provider_t , pub notification : * mut iree_async_notification_t , pub epoch_query : iree_hal_pool_epoch_query_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_queue_pool_backend_t"] [:: std :: mem :: size_of :: < iree_hal_queue_pool_backend_t > () - 32usize] ; ["Alignment of iree_hal_queue_pool_backend_t"] [:: std :: mem :: align_of :: < iree_hal_queue_pool_backend_t > () - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::slab_provider"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , slab_provider) - 0usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::notification"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , notification) - 8usize] ; ["Offset of field: iree_hal_queue_pool_backend_t::epoch_query"] [:: std :: mem :: offset_of ! (iree_hal_queue_pool_backend_t , epoch_query) - 16usize] ; } ; pub type iree_hal_execute_flags_t = u64 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_NONE : iree_hal_execute_flag_bits_t = 0 ; pub const iree_hal_execute_flag_bits_t_IREE_HAL_EXECUTE_FLAG_BORROW_BINDING_TABLE_LIFETIME : iree_hal_execute_flag_bits_t = 1 ; pub type iree_hal_execute_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_device_capability_bits_t = u64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_NONE : iree_hal_device_capability_bits_e = 0 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_TIMELINE_SEMAPHORES : iree_hal_device_capability_bits_e = 1 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_UNIFIED_MEMORY : iree_hal_device_capability_bits_e = 2 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_COHERENT : iree_hal_device_capability_bits_e = 4 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_COHERENT : iree_hal_device_capability_bits_e = 8 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_P2P_COPY : iree_hal_device_capability_bits_e = 16 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_HOST_ZERO_COPY_OK : iree_hal_device_capability_bits_e = 32 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_PEER_ADDRESSABLE : iree_hal_device_capability_bits_e = 1024 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_SHARED_VIRTUAL_ADDRESS : iree_hal_device_capability_bits_e = 2048 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_CONCURRENT_SAFE : iree_hal_device_capability_bits_e = 64 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_DEVICE : iree_hal_device_capability_bits_e = 128 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ATOMIC_SCOPE_SYSTEM : iree_hal_device_capability_bits_e = 256 ; pub const iree_hal_device_capability_bits_e_IREE_HAL_DEVICE_CAPABILITY_ISOLATED : iree_hal_device_capability_bits_e = 512 ; pub type iree_hal_device_capability_bits_e = :: std :: os :: raw :: 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_capabilities_t"] [:: std :: mem :: size_of :: < iree_hal_device_capabilities_t > () - 56usize] ; ["Alignment of iree_hal_device_capabilities_t"] [:: std :: mem :: align_of :: < iree_hal_device_capabilities_t > () - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , flags) - 0usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_export_types) - 8usize] ; ["Offset of field: iree_hal_device_capabilities_t::semaphore_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , semaphore_import_types) - 9usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_export_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_export_types) - 10usize] ; ["Offset of field: iree_hal_device_capabilities_t::buffer_import_types"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , buffer_import_types) - 11usize] ; ["Offset of field: iree_hal_device_capabilities_t::numa_node"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , numa_node) - 12usize] ; ["Offset of field: iree_hal_device_capabilities_t::reserved"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , reserved) - 13usize] ; ["Offset of field: iree_hal_device_capabilities_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , physical_device_uuid) - 16usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_physical_device_uuid) - 32usize] ; ["Offset of field: iree_hal_device_capabilities_t::driver_device_handle"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , driver_device_handle) - 40usize] ; ["Offset of field: iree_hal_device_capabilities_t::device_group_index"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , device_group_index) - 48usize] ; ["Offset of field: iree_hal_device_capabilities_t::has_device_group"] [:: std :: mem :: offset_of ! (iree_hal_device_capabilities_t , has_device_group) - 52usize] ; } ; # [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 , pub frontier : iree_hal_device_topology_info_t__bindgen_ty_1 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_topology_info_t__bindgen_ty_1 { pub tracker : * mut iree_async_frontier_tracker_t , pub base_axis : iree_async_axis_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_hal_device_topology_info_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , tracker) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t__bindgen_ty_1::base_axis"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t__bindgen_ty_1 , base_axis) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_topology_info_t"] [:: std :: mem :: size_of :: < iree_hal_device_topology_info_t > () - 56usize] ; ["Alignment of iree_hal_device_topology_info_t"] [:: std :: mem :: align_of :: < iree_hal_device_topology_info_t > () - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::self_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , self_edge) - 0usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology_index"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology_index) - 8usize] ; ["Offset of field: iree_hal_device_topology_info_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , topology) - 16usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_wait_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_wait_from) - 24usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_signal_to"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_signal_to) - 28usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_import_from"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_import_from) - 32usize] ; ["Offset of field: iree_hal_device_topology_info_t::can_p2p_with"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , can_p2p_with) - 36usize] ; ["Offset of field: iree_hal_device_topology_info_t::frontier"] [:: std :: mem :: offset_of ! (iree_hal_device_topology_info_t , frontier) - 40usize] ; } ; 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_query_queue_pool_backend (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_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 : * mut iree_hal_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 , function : iree_hal_executable_function_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_async_wait_mode_t , semaphore_list : iree_hal_semaphore_list_t , timeout : iree_timeout_t , flags : iree_async_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 ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_begin (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_device_external_capture_end (device : * mut iree_hal_device_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug)] 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 > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_list_t"] [:: std :: mem :: size_of :: < iree_hal_device_list_t > () - 32usize] ; ["Alignment of iree_hal_device_list_t"] [:: std :: mem :: align_of :: < iree_hal_device_list_t > () - 8usize] ; ["Offset of field: iree_hal_device_list_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , host_allocator) - 0usize] ; ["Offset of field: iree_hal_device_list_t::capacity"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , capacity) - 16usize] ; ["Offset of field: iree_hal_device_list_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , count) - 24usize] ; ["Offset of field: iree_hal_device_list_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_list_t , devices) - 32usize] ; } ; 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) > , pub id : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_string_view_t > , pub host_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_allocator_t > , pub device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * mut iree_hal_allocator_t > , pub replace_device_allocator : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_allocator : * mut iree_hal_allocator_t) > , pub replace_channel_provider : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , new_provider : * mut iree_hal_channel_provider_t) > , pub trim : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub query_i64 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> * const iree_hal_device_topology_info_t > , pub refine_topology_edge : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , identifier : iree_string_view_t , out_executable_cache : * mut * mut iree_hal_executable_cache_t) -> iree_status_t > , pub import_file : :: std :: 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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , semaphore : * mut iree_hal_semaphore_t) -> iree_hal_semaphore_compatibility_t > , pub query_queue_pool_backend : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t , out_backend : * mut iree_hal_queue_pool_backend_t) -> iree_status_t > , pub queue_alloca : :: std :: 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 : * mut iree_hal_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 : :: std :: 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 : :: std :: 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 :: std :: os :: raw :: c_void , pattern_length : iree_host_size_t , flags : iree_hal_fill_flags_t) -> iree_status_t > , pub queue_update : :: std :: 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 :: std :: os :: raw :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 : :: std :: 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 , function : iree_hal_executable_function_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 : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , queue_affinity : iree_hal_queue_affinity_t) -> iree_status_t > , pub profiling_begin : :: std :: 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 : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub profiling_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , pub external_capture_begin : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t , options : * const iree_hal_device_external_capture_options_t) -> iree_status_t > , pub external_capture_end : :: std :: option :: Option < unsafe extern "C" fn (device : * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_device_vtable_t > () - 288usize] ; ["Alignment of iree_hal_device_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_device_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_device_vtable_t::id"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , id) - 8usize] ; ["Offset of field: iree_hal_device_vtable_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , host_allocator) - 16usize] ; ["Offset of field: iree_hal_device_vtable_t::device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , device_allocator) - 24usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_device_allocator"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_device_allocator) - 32usize] ; ["Offset of field: iree_hal_device_vtable_t::replace_channel_provider"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , replace_channel_provider) - 40usize] ; ["Offset of field: iree_hal_device_vtable_t::trim"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , trim) - 48usize] ; ["Offset of field: iree_hal_device_vtable_t::query_i64"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_i64) - 56usize] ; ["Offset of field: iree_hal_device_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_capabilities) - 64usize] ; ["Offset of field: iree_hal_device_vtable_t::topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , topology_info) - 72usize] ; ["Offset of field: iree_hal_device_vtable_t::refine_topology_edge"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , refine_topology_edge) - 80usize] ; ["Offset of field: iree_hal_device_vtable_t::assign_topology_info"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , assign_topology_info) - 88usize] ; ["Offset of field: iree_hal_device_vtable_t::create_channel"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_channel) - 96usize] ; ["Offset of field: iree_hal_device_vtable_t::create_command_buffer"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_command_buffer) - 104usize] ; ["Offset of field: iree_hal_device_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_event) - 112usize] ; ["Offset of field: iree_hal_device_vtable_t::create_executable_cache"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_executable_cache) - 120usize] ; ["Offset of field: iree_hal_device_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , import_file) - 128usize] ; ["Offset of field: iree_hal_device_vtable_t::create_semaphore"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , create_semaphore) - 136usize] ; ["Offset of field: iree_hal_device_vtable_t::query_semaphore_compatibility"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_semaphore_compatibility) - 144usize] ; ["Offset of field: iree_hal_device_vtable_t::query_queue_pool_backend"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , query_queue_pool_backend) - 152usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_alloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_alloca) - 160usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dealloca"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dealloca) - 168usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_fill"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_fill) - 176usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_update"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_update) - 184usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_copy"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_copy) - 192usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_read"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_read) - 200usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_write"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_write) - 208usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_host_call"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_host_call) - 216usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_dispatch"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_dispatch) - 224usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_execute"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_execute) - 232usize] ; ["Offset of field: iree_hal_device_vtable_t::queue_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , queue_flush) - 240usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_begin) - 248usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_flush"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_flush) - 256usize] ; ["Offset of field: iree_hal_device_vtable_t::profiling_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , profiling_end) - 264usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_begin"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_begin) - 272usize] ; ["Offset of field: iree_hal_device_vtable_t::external_capture_end"] [:: std :: mem :: offset_of ! (iree_hal_device_vtable_t , external_capture_end) - 280usize] ; } ; 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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_transfer_buffer_t"] [:: std :: mem :: size_of :: < iree_hal_transfer_buffer_t > () - 24usize] ; ["Alignment of iree_hal_transfer_buffer_t"] [:: std :: mem :: align_of :: < iree_hal_transfer_buffer_t > () - 8usize] ; ["Offset of field: iree_hal_transfer_buffer_t::host_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , host_buffer) - 0usize] ; ["Offset of field: iree_hal_transfer_buffer_t::device_buffer"] [:: std :: mem :: offset_of ! (iree_hal_transfer_buffer_t , device_buffer) - 16usize] ; } ; 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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_bits_t_IREE_HAL_NUMERICAL_TYPE_UNKNOWN : iree_hal_numerical_type_bits_t = 0 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER : iree_hal_numerical_type_bits_t = 16 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_SIGNED : iree_hal_numerical_type_bits_t = 17 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_INTEGER_UNSIGNED : iree_hal_numerical_type_bits_t = 18 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_BOOLEAN : iree_hal_numerical_type_bits_t = 19 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT : iree_hal_numerical_type_bits_t = 32 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_IEEE : iree_hal_numerical_type_bits_t = 33 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_BRAIN : iree_hal_numerical_type_bits_t = 34 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_COMPLEX : iree_hal_numerical_type_bits_t = 35 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2 : iree_hal_numerical_type_bits_t = 36 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3FN : iree_hal_numerical_type_bits_t = 37 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_numerical_type_bits_t = 38 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_numerical_type_bits_t = 39 ; pub const iree_hal_numerical_type_bits_t_IREE_HAL_NUMERICAL_TYPE_FLOAT_8_E8M0_FNU : iree_hal_numerical_type_bits_t = 40 ; pub type iree_hal_numerical_type_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_numerical_type_t = u8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_NONE : iree_hal_element_types_t = 0 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_8 : iree_hal_element_types_t = 8 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_16 : iree_hal_element_types_t = 16 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_32 : iree_hal_element_types_t = 32 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_OPAQUE_64 : iree_hal_element_types_t = 64 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BOOL_8 : iree_hal_element_types_t = 318767112 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_4 : iree_hal_element_types_t = 268435460 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_4 : iree_hal_element_types_t = 285212676 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_4 : iree_hal_element_types_t = 301989892 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_8 : iree_hal_element_types_t = 268435464 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_8 : iree_hal_element_types_t = 285212680 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_8 : iree_hal_element_types_t = 301989896 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_16 : iree_hal_element_types_t = 268435472 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_16 : iree_hal_element_types_t = 285212688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_16 : iree_hal_element_types_t = 301989904 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_32 : iree_hal_element_types_t = 268435488 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_32 : iree_hal_element_types_t = 285212704 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_32 : iree_hal_element_types_t = 301989920 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_INT_64 : iree_hal_element_types_t = 268435520 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_SINT_64 : iree_hal_element_types_t = 285212736 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_UINT_64 : iree_hal_element_types_t = 301989952 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_16 : iree_hal_element_types_t = 553648144 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_32 : iree_hal_element_types_t = 553648160 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_64 : iree_hal_element_types_t = 553648192 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_BFLOAT_16 : iree_hal_element_types_t = 570425360 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_64 : iree_hal_element_types_t = 587202624 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_COMPLEX_FLOAT_128 : iree_hal_element_types_t = 587202688 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2 : iree_hal_element_types_t = 603979784 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FN : iree_hal_element_types_t = 620757000 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E5M2_FNUZ : iree_hal_element_types_t = 637534216 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E4M3_FNUZ : iree_hal_element_types_t = 654311432 ; pub const iree_hal_element_types_t_IREE_HAL_ELEMENT_TYPE_FLOAT_8_E8M0_FNU : iree_hal_element_types_t = 671088648 ; pub type iree_hal_element_types_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_element_type_t = u32 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_OPAQUE : iree_hal_encoding_types_t = 0 ; pub const iree_hal_encoding_types_t_IREE_HAL_ENCODING_TYPE_DENSE_ROW_MAJOR : iree_hal_encoding_types_t = 1 ; pub type iree_hal_encoding_types_t = :: std :: os :: raw :: 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 = :: std :: option :: Option < unsafe extern "C" fn (mapping : * mut iree_hal_buffer_mapping_t , user_data : * mut :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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] , } pub type iree_hal_device_group_replacement_fn_t = :: std :: option :: Option < unsafe extern "C" fn (source_group : * mut iree_hal_device_group_t , device_index : iree_host_size_t , source_device : * mut iree_hal_device_t , user_data : * mut :: std :: os :: raw :: c_void , out_replacement_device : * mut * mut iree_hal_device_t) -> iree_status_t > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_device_group_replacement_callback_t { pub fn_ : iree_hal_device_group_replacement_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_replacement_callback_t > () - 16usize] ; ["Alignment of iree_hal_device_group_replacement_callback_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_replacement_callback_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , fn_) - 0usize] ; ["Offset of field: iree_hal_device_group_replacement_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_hal_device_group_replacement_callback_t , user_data) - 8usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_create_from_device (device : * mut iree_hal_device_t , frontier_tracker : * mut iree_async_frontier_tracker_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_create_with_replacements (source_group : * mut iree_hal_device_group_t , replacement_callback : iree_hal_device_group_replacement_callback_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 frontier_tracker : * mut iree_async_frontier_tracker_t , pub count : iree_host_size_t , pub devices : [* mut iree_hal_device_t ; 32usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_device_group_builder_t"] [:: std :: mem :: size_of :: < iree_hal_device_group_builder_t > () - 272usize] ; ["Alignment of iree_hal_device_group_builder_t"] [:: std :: mem :: align_of :: < iree_hal_device_group_builder_t > () - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::frontier_tracker"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , frontier_tracker) - 0usize] ; ["Offset of field: iree_hal_device_group_builder_t::count"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , count) - 8usize] ; ["Offset of field: iree_hal_device_group_builder_t::devices"] [:: std :: mem :: offset_of ! (iree_hal_device_group_builder_t , devices) - 16usize] ; } ; unsafe extern "C" { pub fn iree_hal_device_group_builder_initialize (builder : * mut iree_hal_device_group_builder_t , frontier_tracker : * mut iree_async_frontier_tracker_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 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_info_t"] [:: std :: mem :: size_of :: < iree_hal_driver_info_t > () - 32usize] ; ["Alignment of iree_hal_driver_info_t"] [:: std :: mem :: align_of :: < iree_hal_driver_info_t > () - 8usize] ; ["Offset of field: iree_hal_driver_info_t::driver_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , driver_name) - 0usize] ; ["Offset of field: iree_hal_driver_info_t::full_name"] [:: std :: mem :: offset_of ! (iree_hal_driver_info_t , full_name) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 , create_params : * const iree_hal_device_create_params_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 : :: std :: option :: Option < unsafe extern "C" fn (driver : * mut iree_hal_driver_t) > , pub query_available_devices : :: std :: 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 : :: std :: 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 : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , pub create_device_by_path : :: std :: 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 , create_params : * const iree_hal_device_create_params_t , host_allocator : iree_allocator_t , out_device : * mut * mut iree_hal_device_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_driver_vtable_t > () - 40usize] ; ["Alignment of iree_hal_driver_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_driver_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_driver_vtable_t::query_available_devices"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , query_available_devices) - 8usize] ; ["Offset of field: iree_hal_driver_vtable_t::dump_device_info"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , dump_device_info) - 16usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_id"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_id) - 24usize] ; ["Offset of field: iree_hal_driver_vtable_t::create_device_by_path"] [:: std :: mem :: offset_of ! (iree_hal_driver_vtable_t , create_device_by_path) - 32usize] ; } ; 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 :: std :: os :: raw :: c_void , pub enumerate : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: 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 : :: std :: option :: Option < unsafe extern "C" fn (self_ : * mut :: std :: os :: raw :: c_void , driver_name : iree_string_view_t , host_allocator : iree_allocator_t , out_driver : * mut * mut iree_hal_driver_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_driver_factory_t"] [:: std :: mem :: size_of :: < iree_hal_driver_factory_t > () - 24usize] ; ["Alignment of iree_hal_driver_factory_t"] [:: std :: mem :: align_of :: < iree_hal_driver_factory_t > () - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::self_"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , self_) - 0usize] ; ["Offset of field: iree_hal_driver_factory_t::enumerate"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , enumerate) - 8usize] ; ["Offset of field: iree_hal_driver_factory_t::try_create"] [:: std :: mem :: offset_of ! (iree_hal_driver_factory_t , try_create) - 16usize] ; } ; # [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 , create_params : * const iree_hal_device_create_params_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_pool_set_t { pub entry_count : iree_host_size_t , pub entry_capacity : iree_host_size_t , pub entries : * mut iree_hal_pool_set_entry_t , pub host_allocator : iree_allocator_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_pool_set_t"] [:: std :: mem :: size_of :: < iree_hal_pool_set_t > () - 40usize] ; ["Alignment of iree_hal_pool_set_t"] [:: std :: mem :: align_of :: < iree_hal_pool_set_t > () - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entry_count"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_count) - 0usize] ; ["Offset of field: iree_hal_pool_set_t::entry_capacity"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entry_capacity) - 8usize] ; ["Offset of field: iree_hal_pool_set_t::entries"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , entries) - 16usize] ; ["Offset of field: iree_hal_pool_set_t::host_allocator"] [:: std :: mem :: offset_of ! (iree_hal_pool_set_t , host_allocator) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_pool_set_initialize (initial_capacity : iree_host_size_t , host_allocator : iree_allocator_t , out_pool_set : * mut iree_hal_pool_set_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_deinitialize (pool_set : * mut iree_hal_pool_set_t) ; } unsafe extern "C" { pub fn iree_hal_pool_set_register (pool_set : * mut iree_hal_pool_set_t , priority : i32 , pool : * mut iree_hal_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_select (pool_set : * const iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t) -> * mut iree_hal_pool_t ; } unsafe extern "C" { pub fn iree_hal_pool_set_allocate_buffer (pool_set : * mut iree_hal_pool_set_t , params : iree_hal_buffer_params_t , allocation_size : iree_device_size_t , requester_frontier : * const iree_async_frontier_t , timeout : iree_timeout_t , out_buffer : * mut * mut iree_hal_buffer_t) -> iree_status_t ; } pub type iree_hal_profile_device_flags_t = u32 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_NONE : iree_hal_profile_device_flag_bits_t = 0 ; pub const iree_hal_profile_device_flag_bits_t_IREE_HAL_PROFILE_DEVICE_FLAG_PHYSICAL_DEVICE_UUID : iree_hal_profile_device_flag_bits_t = 1 ; pub type iree_hal_profile_device_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_flags_t , pub physical_device_ordinal : u32 , pub queue_count : u32 , pub physical_device_uuid : [u8 ; 16usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_device_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_record_t > () - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_device_record_t::queue_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , queue_count) - 12usize] ; ["Offset of field: iree_hal_profile_device_record_t::physical_device_uuid"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_record_t , physical_device_uuid) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub reserved0 : u32 , pub stream_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_record_t > () - 24usize] ; ["Alignment of iree_hal_profile_queue_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_queue_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , queue_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_queue_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_record_t , stream_id) - 16usize] ; } ; pub type iree_hal_profile_executable_flags_t = u32 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_NONE : iree_hal_profile_executable_flag_bits_t = 0 ; pub const iree_hal_profile_executable_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_flag_bits_t = 1 ; pub type iree_hal_profile_executable_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_flags_t , pub executable_id : u64 , pub function_count : u32 , pub reserved0 : u32 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_record_t::function_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , function_count) - 16usize] ; ["Offset of field: iree_hal_profile_executable_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , reserved0) - 20usize] ; ["Offset of field: iree_hal_profile_executable_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_record_t , code_object_hash) - 24usize] ; } ; pub type iree_hal_profile_executable_code_object_flags_t = u32 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_NONE : iree_hal_profile_executable_code_object_flag_bits_t = 0 ; pub const iree_hal_profile_executable_code_object_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_CODE_OBJECT_FLAG_CODE_OBJECT_HASH : iree_hal_profile_executable_code_object_flag_bits_t = 1 ; pub type iree_hal_profile_executable_code_object_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_code_object_flags_t , pub executable_id : u64 , pub code_object_id : u64 , pub data_length : u64 , pub code_object_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_executable_code_object_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , data_length) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_record_t::code_object_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_record_t , code_object_hash) - 32usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_code_object_load_record_t { pub record_length : u32 , pub physical_device_ordinal : u32 , pub executable_id : u64 , pub code_object_id : u64 , pub load_delta : i64 , pub load_size : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_executable_code_object_load_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_code_object_load_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , physical_device_ordinal) - 4usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::code_object_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , code_object_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_delta) - 24usize] ; ["Offset of field: iree_hal_profile_executable_code_object_load_record_t::load_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_code_object_load_record_t , load_size) - 32usize] ; } ; pub type iree_hal_profile_executable_function_flags_t = u32 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_NONE : iree_hal_profile_executable_function_flag_bits_t = 0 ; pub const iree_hal_profile_executable_function_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_FUNCTION_FLAG_FUNCTION_HASH : iree_hal_profile_executable_function_flag_bits_t = 1 ; pub type iree_hal_profile_executable_function_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_function_record_t { pub record_length : u32 , pub flags : iree_hal_profile_executable_function_flags_t , pub executable_id : u64 , pub function_ordinal : u32 , pub constant_count : u32 , pub binding_count : u32 , pub parameter_count : u32 , pub workgroup_size : [u32 ; 3usize] , pub name_length : u32 , pub function_hash : [u64 ; 2usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_function_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_executable_function_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_function_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , executable_id) - 8usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::constant_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , constant_count) - 20usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , binding_count) - 24usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::parameter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , parameter_count) - 28usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , workgroup_size) - 32usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , name_length) - 44usize] ; ["Offset of field: iree_hal_profile_executable_function_record_t::function_hash"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_function_record_t , function_hash) - 48usize] ; } ; pub type iree_hal_profile_command_buffer_flags_t = u32 ; pub const iree_hal_profile_command_buffer_flag_bits_t_IREE_HAL_PROFILE_COMMAND_BUFFER_FLAG_NONE : iree_hal_profile_command_buffer_flag_bits_t = 0 ; pub type iree_hal_profile_command_buffer_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_buffer_record_t { pub record_length : u32 , pub flags : iree_hal_profile_command_buffer_flags_t , pub command_buffer_id : u64 , pub mode : u64 , pub command_categories : u64 , pub queue_affinity : u64 , pub physical_device_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_buffer_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_command_buffer_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_buffer_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_buffer_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::mode"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , mode) - 16usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::command_categories"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , command_categories) - 24usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::queue_affinity"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , queue_affinity) - 32usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , physical_device_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_buffer_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_buffer_record_t , reserved0) - 44usize] ; } ; pub type iree_hal_profile_command_operation_type_t = u32 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_NONE : iree_hal_profile_command_operation_type_e = 0 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BARRIER : iree_hal_profile_command_operation_type_e = 1 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_DISPATCH : iree_hal_profile_command_operation_type_e = 2 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_FILL : iree_hal_profile_command_operation_type_e = 3 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COPY : iree_hal_profile_command_operation_type_e = 4 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_UPDATE : iree_hal_profile_command_operation_type_e = 5 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_PROFILE_MARKER : iree_hal_profile_command_operation_type_e = 6 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_BRANCH : iree_hal_profile_command_operation_type_e = 7 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_COND_BRANCH : iree_hal_profile_command_operation_type_e = 8 ; pub const iree_hal_profile_command_operation_type_e_IREE_HAL_PROFILE_COMMAND_OPERATION_TYPE_RETURN : iree_hal_profile_command_operation_type_e = 9 ; pub type iree_hal_profile_command_operation_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_command_operation_flags_t = u32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_NONE : iree_hal_profile_command_operation_flag_bits_t = 0 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_EXECUTION_BARRIER : iree_hal_profile_command_operation_flag_bits_t = 1 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_command_operation_flag_bits_t = 2 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_DYNAMIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 4 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_STATIC_BINDINGS : iree_hal_profile_command_operation_flag_bits_t = 8 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_PREPUBLISHED_ARGUMENTS : iree_hal_profile_command_operation_flag_bits_t = 16 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_CONTROL_FLOW : iree_hal_profile_command_operation_flag_bits_t = 32 ; pub const iree_hal_profile_command_operation_flag_bits_t_IREE_HAL_PROFILE_COMMAND_OPERATION_FLAG_BLOCK_STRUCTURE : iree_hal_profile_command_operation_flag_bits_t = 64 ; pub type iree_hal_profile_command_operation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_operation_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_command_operation_type_t , pub flags : iree_hal_profile_command_operation_flags_t , pub command_index : u32 , pub command_buffer_id : u64 , pub block_ordinal : u32 , pub block_command_ordinal : u32 , pub executable_id : u64 , pub function_ordinal : u32 , pub binding_count : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub source_offset : u64 , pub target_offset : u64 , pub length : u64 , pub source_ordinal : u32 , pub target_ordinal : u32 , pub target_block_ordinal : u32 , pub alternate_block_ordinal : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_operation_record_t > () - 120usize] ; ["Alignment of iree_hal_profile_command_operation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_operation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_index) - 12usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , command_buffer_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::block_command_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , block_command_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , function_ordinal) - 40usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::binding_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , binding_count) - 44usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_offset) - 72usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_offset) - 80usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , length) - 88usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::source_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , source_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::target_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , target_block_ordinal) - 104usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::alternate_block_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , alternate_block_ordinal) - 108usize] ; ["Offset of field: iree_hal_profile_command_operation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_operation_record_t , reserved0) - 112usize] ; } ; pub type iree_hal_profile_clock_correlation_flags_t = u32 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_NONE : iree_hal_profile_clock_correlation_flag_bits_t = 0 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK : iree_hal_profile_clock_correlation_flag_bits_t = 1 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_CPU_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 2 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_SYSTEM_TIMESTAMP : iree_hal_profile_clock_correlation_flag_bits_t = 4 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_HOST_TIME_BRACKET : iree_hal_profile_clock_correlation_flag_bits_t = 8 ; pub const iree_hal_profile_clock_correlation_flag_bits_t_IREE_HAL_PROFILE_CLOCK_CORRELATION_FLAG_DEVICE_TICK_UNALIGNED : iree_hal_profile_clock_correlation_flag_bits_t = 16 ; pub type iree_hal_profile_clock_correlation_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_clock_correlation_record_t { pub record_length : u32 , pub flags : iree_hal_profile_clock_correlation_flags_t , pub physical_device_ordinal : u32 , pub reserved0 : u32 , pub sample_id : u64 , pub device_tick : u64 , pub host_cpu_timestamp_ns : u64 , pub host_system_timestamp : u64 , pub host_system_frequency_hz : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_clock_correlation_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_clock_correlation_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_clock_correlation_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , physical_device_ordinal) - 8usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::device_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , device_tick) - 24usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_cpu_timestamp_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_cpu_timestamp_ns) - 32usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_system_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_system_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_begin_ns) - 56usize] ; ["Offset of field: iree_hal_profile_clock_correlation_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_clock_correlation_record_t , host_time_end_ns) - 64usize] ; } ; pub type iree_hal_profile_dispatch_event_flags_t = u32 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_NONE : iree_hal_profile_dispatch_event_flag_bits_t = 0 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_dispatch_event_flag_bits_t = 1 ; pub const iree_hal_profile_dispatch_event_flag_bits_t_IREE_HAL_PROFILE_DISPATCH_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_dispatch_event_flag_bits_t = 2 ; pub type iree_hal_profile_dispatch_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_dispatch_event_t { pub record_length : u32 , pub flags : iree_hal_profile_dispatch_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_dispatch_event_t > () - 88usize] ; ["Alignment of iree_hal_profile_dispatch_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_dispatch_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , executable_id) - 32usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , command_index) - 40usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , function_ordinal) - 44usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_count) - 48usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , workgroup_size) - 60usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_dispatch_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_dispatch_event_t , end_tick) - 80usize] ; } ; pub type iree_hal_profile_queue_event_type_t = u32 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_NONE : iree_hal_profile_queue_event_type_e = 0 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_BARRIER : iree_hal_profile_queue_event_type_e = 1 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DISPATCH : iree_hal_profile_queue_event_type_e = 2 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_EXECUTE : iree_hal_profile_queue_event_type_e = 3 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_COPY : iree_hal_profile_queue_event_type_e = 4 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_FILL : iree_hal_profile_queue_event_type_e = 5 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_UPDATE : iree_hal_profile_queue_event_type_e = 6 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_READ : iree_hal_profile_queue_event_type_e = 7 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_WRITE : iree_hal_profile_queue_event_type_e = 8 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_ALLOCA : iree_hal_profile_queue_event_type_e = 9 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_DEALLOCA : iree_hal_profile_queue_event_type_e = 10 ; pub const iree_hal_profile_queue_event_type_e_IREE_HAL_PROFILE_QUEUE_EVENT_TYPE_HOST_CALL : iree_hal_profile_queue_event_type_e = 11 ; pub type iree_hal_profile_queue_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_event_flags_t = u32 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_NONE : iree_hal_profile_queue_event_flag_bits_t = 0 ; pub const iree_hal_profile_queue_event_flag_bits_t_IREE_HAL_PROFILE_QUEUE_EVENT_FLAG_SOFTWARE_DEFERRED : iree_hal_profile_queue_event_flag_bits_t = 1 ; pub type iree_hal_profile_queue_event_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_queue_dependency_strategy_t = u32 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_NONE : iree_hal_profile_queue_dependency_strategy_e = 0 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_INLINE : iree_hal_profile_queue_dependency_strategy_e = 1 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_DEVICE_BARRIER : iree_hal_profile_queue_dependency_strategy_e = 2 ; pub const iree_hal_profile_queue_dependency_strategy_e_IREE_HAL_PROFILE_QUEUE_DEPENDENCY_STRATEGY_SOFTWARE_DEFER : iree_hal_profile_queue_dependency_strategy_e = 3 ; pub type iree_hal_profile_queue_dependency_strategy_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub dependency_strategy : iree_hal_profile_queue_dependency_strategy_t , pub event_id : u64 , pub host_time_ns : i64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub wait_count : u32 , pub signal_count : u32 , pub barrier_count : u32 , pub operation_count : u32 , pub payload_length : u64 , pub ready_host_time_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_event_t > () - 104usize] ; ["Alignment of iree_hal_profile_queue_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_event_t::dependency_strategy"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , dependency_strategy) - 12usize] ; ["Offset of field: iree_hal_profile_queue_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_queue_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_queue_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_event_t::wait_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , wait_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_event_t::signal_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , signal_count) - 76usize] ; ["Offset of field: iree_hal_profile_queue_event_t::barrier_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , barrier_count) - 80usize] ; ["Offset of field: iree_hal_profile_queue_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , operation_count) - 84usize] ; ["Offset of field: iree_hal_profile_queue_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , payload_length) - 88usize] ; ["Offset of field: iree_hal_profile_queue_event_t::ready_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_event_t , ready_host_time_ns) - 96usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_queue_device_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_queue_event_flags_t , pub reserved0 : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub payload_length : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub operation_count : u32 , pub reserved1 : u32 , pub start_tick : u64 , pub end_tick : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_queue_device_event_t > () - 96usize] ; ["Alignment of iree_hal_profile_queue_device_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_queue_device_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , allocation_id) - 40usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , stream_id) - 48usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , payload_length) - 56usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , operation_count) - 72usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , reserved1) - 76usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , start_tick) - 80usize] ; ["Offset of field: iree_hal_profile_queue_device_event_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_queue_device_event_t , end_tick) - 88usize] ; } ; pub type iree_hal_profile_host_execution_event_flags_t = u32 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_NONE : iree_hal_profile_host_execution_event_flag_bits_t = 0 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_host_execution_event_flag_bits_t = 1 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_INDIRECT_PARAMETERS : iree_hal_profile_host_execution_event_flag_bits_t = 2 ; pub const iree_hal_profile_host_execution_event_flag_bits_t_IREE_HAL_PROFILE_HOST_EXECUTION_EVENT_FLAG_DEFERRED : iree_hal_profile_host_execution_event_flag_bits_t = 4 ; pub type iree_hal_profile_host_execution_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_host_execution_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_queue_event_type_t , pub flags : iree_hal_profile_host_execution_event_flags_t , pub status_code : u32 , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub allocation_id : u64 , pub stream_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub command_index : u32 , pub function_ordinal : u32 , pub workgroup_count : [u32 ; 3usize] , pub workgroup_size : [u32 ; 3usize] , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , pub payload_length : u64 , pub tile_count : u64 , pub tile_duration_sum_ns : i64 , pub operation_count : u32 , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_host_execution_event_t > () - 152usize] ; ["Alignment of iree_hal_profile_host_execution_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_host_execution_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::status_code"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , status_code) - 12usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , submission_id) - 24usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_buffer_id) - 32usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , executable_id) - 40usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , allocation_id) - 48usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , command_index) - 72usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , function_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_count) - 80usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::workgroup_size"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , workgroup_size) - 92usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , start_host_time_ns) - 104usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , end_host_time_ns) - 112usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::payload_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , payload_length) - 120usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_count) - 128usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::tile_duration_sum_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , tile_duration_sum_ns) - 136usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::operation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , operation_count) - 144usize] ; ["Offset of field: iree_hal_profile_host_execution_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_host_execution_event_t , reserved0) - 148usize] ; } ; pub type iree_hal_profile_command_region_event_flags_t = u32 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_NONE : iree_hal_profile_command_region_event_flag_bits_t = 0 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_COMMAND_BUFFER : iree_hal_profile_command_region_event_flag_bits_t = 1 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_BLOCK_TRANSITION : iree_hal_profile_command_region_event_flag_bits_t = 2 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_TERMINAL : iree_hal_profile_command_region_event_flag_bits_t = 4 ; pub const iree_hal_profile_command_region_event_flag_bits_t_IREE_HAL_PROFILE_COMMAND_REGION_EVENT_FLAG_HAS_NEXT_REGION : iree_hal_profile_command_region_event_flag_bits_t = 8 ; pub type iree_hal_profile_command_region_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t { pub record_length : u32 , pub flags : iree_hal_profile_command_region_event_flags_t , pub event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub stream_id : u64 , pub queue : iree_hal_profile_command_region_event_t__bindgen_ty_1 , pub command_region : iree_hal_profile_command_region_event_t__bindgen_ty_2 , pub next_command_region : iree_hal_profile_command_region_event_t__bindgen_ty_3 , pub scheduler : iree_hal_profile_command_region_event_t__bindgen_ty_4 , pub retention : iree_hal_profile_command_region_event_t__bindgen_ty_5 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_1 { pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , physical_device_ordinal) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_1::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_1 , queue_ordinal) - 4usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2 { pub block_sequence : u32 , pub epoch : u32 , pub index : i32 , pub dispatch_count : u32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , pub useful_drain_count : u32 , pub no_work_drain_count : u32 , pub tail_no_work : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , pub first_useful_drain_start_host_time_ns : i64 , pub last_useful_drain_end_host_time_ns : i64 , pub start_host_time_ns : i64 , pub end_host_time_ns : i64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 { pub count : u32 , pub remaining_tiles : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , pub first_start_host_time_ns : i64 , pub last_end_host_time_ns : i64 , pub time_sums : iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { pub min : u32 , pub max : u32 , pub bucket_counts : [u32 ; 8usize] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 40usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::min"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , min) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::max"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , max) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::bucket_counts"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , bucket_counts) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { pub start_offset_ns : i64 , pub drain_duration_ns : i64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::start_offset_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , start_offset_ns) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::drain_duration_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , drain_duration_ns) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 80usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::remaining_tiles"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , remaining_tiles) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::first_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , first_start_host_time_ns) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::last_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , last_end_host_time_ns) - 56usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1::time_sums"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2__bindgen_ty_1 , time_sums) - 64usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 152usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::block_sequence"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , block_sequence) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::epoch"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , epoch) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , index) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::dispatch_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , dispatch_count) - 12usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tile_count) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , width_bucket) - 20usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , lookahead_width_bucket) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::useful_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , useful_drain_count) - 28usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::no_work_drain_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , no_work_drain_count) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::tail_no_work"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , tail_no_work) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::first_useful_drain_start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , first_useful_drain_start_host_time_ns) - 120usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::last_useful_drain_end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , last_useful_drain_end_host_time_ns) - 128usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::start_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , start_host_time_ns) - 136usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_2::end_host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_2 , end_host_time_ns) - 144usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_3 { pub index : i32 , pub tile_count : u32 , pub width_bucket : u32 , pub lookahead_width_bucket : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_3 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::index"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , index) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::tile_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , tile_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , width_bucket) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_3::lookahead_width_bucket"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_3 , lookahead_width_bucket) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_4 { pub worker_count : u32 , pub old_wake_budget : i32 , pub new_wake_budget : i32 , pub wake_delta : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 16usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_4"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_4 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::worker_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , worker_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::old_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , old_wake_budget) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::new_wake_budget"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , new_wake_budget) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_4::wake_delta"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_4 , wake_delta) - 12usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_command_region_event_t__bindgen_ty_5 { pub keep_active_count : u32 , pub publish_keep_active_count : u32 , pub keep_warm_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 12usize] ; ["Alignment of iree_hal_profile_command_region_event_t__bindgen_ty_5"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t__bindgen_ty_5 > () - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_active_count) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::publish_keep_active_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , publish_keep_active_count) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t__bindgen_ty_5::keep_warm_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t__bindgen_ty_5 , keep_warm_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_command_region_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_command_region_event_t > () - 248usize] ; ["Alignment of iree_hal_profile_command_region_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_command_region_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , event_id) - 8usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , submission_id) - 16usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_buffer_id) - 24usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::queue"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , queue) - 40usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , command_region) - 48usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::next_command_region"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , next_command_region) - 200usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::scheduler"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , scheduler) - 216usize] ; ["Offset of field: iree_hal_profile_command_region_event_t::retention"] [:: std :: mem :: offset_of ! (iree_hal_profile_command_region_event_t , retention) - 232usize] ; } ; pub type iree_hal_profile_memory_event_type_t = u32 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_NONE : iree_hal_profile_memory_event_type_e = 0 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_ACQUIRE : iree_hal_profile_memory_event_type_e = 1 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_SLAB_RELEASE : iree_hal_profile_memory_event_type_e = 2 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RESERVE : iree_hal_profile_memory_event_type_e = 3 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_MATERIALIZE : iree_hal_profile_memory_event_type_e = 4 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_RELEASE : iree_hal_profile_memory_event_type_e = 5 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_POOL_WAIT : iree_hal_profile_memory_event_type_e = 6 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_ALLOCA : iree_hal_profile_memory_event_type_e = 7 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_QUEUE_DEALLOCA : iree_hal_profile_memory_event_type_e = 8 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_ALLOCATE : iree_hal_profile_memory_event_type_e = 9 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_FREE : iree_hal_profile_memory_event_type_e = 10 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_IMPORT : iree_hal_profile_memory_event_type_e = 11 ; pub const iree_hal_profile_memory_event_type_e_IREE_HAL_PROFILE_MEMORY_EVENT_TYPE_BUFFER_UNIMPORT : iree_hal_profile_memory_event_type_e = 12 ; pub type iree_hal_profile_memory_event_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_memory_event_flags_t = u32 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_NONE : iree_hal_profile_memory_event_flag_bits_t = 0 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_QUEUE_OPERATION : iree_hal_profile_memory_event_flag_bits_t = 1 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_FRONTIER : iree_hal_profile_memory_event_flag_bits_t = 2 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_WAIT_NOTIFICATION : iree_hal_profile_memory_event_flag_bits_t = 4 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_RESERVATION : iree_hal_profile_memory_event_flag_bits_t = 8 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_POOL_STATS : iree_hal_profile_memory_event_flag_bits_t = 16 ; pub const iree_hal_profile_memory_event_flag_bits_t_IREE_HAL_PROFILE_MEMORY_EVENT_FLAG_EXTERNALLY_OWNED : iree_hal_profile_memory_event_flag_bits_t = 32 ; pub type iree_hal_profile_memory_event_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_memory_event_t { pub record_length : u32 , pub type_ : iree_hal_profile_memory_event_type_t , pub flags : iree_hal_profile_memory_event_flags_t , pub result : u32 , pub event_id : u64 , pub host_time_ns : i64 , pub allocation_id : u64 , pub pool_id : u64 , pub backing_id : u64 , pub submission_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub frontier_entry_count : u32 , pub reserved0 : u32 , pub memory_type : u64 , pub buffer_usage : u64 , pub offset : u64 , pub length : u64 , pub alignment : u64 , pub pool_bytes_reserved : u64 , pub pool_bytes_free : u64 , pub pool_bytes_committed : u64 , pub pool_budget_limit : u64 , pub pool_reservation_count : u32 , pub pool_slab_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_memory_event_t"] [:: std :: mem :: size_of :: < iree_hal_profile_memory_event_t > () - 160usize] ; ["Alignment of iree_hal_profile_memory_event_t"] [:: std :: mem :: align_of :: < iree_hal_profile_memory_event_t > () - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_memory_event_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_memory_event_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_memory_event_t::result"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , result) - 12usize] ; ["Offset of field: iree_hal_profile_memory_event_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , event_id) - 16usize] ; ["Offset of field: iree_hal_profile_memory_event_t::host_time_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , host_time_ns) - 24usize] ; ["Offset of field: iree_hal_profile_memory_event_t::allocation_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , allocation_id) - 32usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_id) - 40usize] ; ["Offset of field: iree_hal_profile_memory_event_t::backing_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , backing_id) - 48usize] ; ["Offset of field: iree_hal_profile_memory_event_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , submission_id) - 56usize] ; ["Offset of field: iree_hal_profile_memory_event_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , physical_device_ordinal) - 64usize] ; ["Offset of field: iree_hal_profile_memory_event_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , queue_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_memory_event_t::frontier_entry_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , frontier_entry_count) - 72usize] ; ["Offset of field: iree_hal_profile_memory_event_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , reserved0) - 76usize] ; ["Offset of field: iree_hal_profile_memory_event_t::memory_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , memory_type) - 80usize] ; ["Offset of field: iree_hal_profile_memory_event_t::buffer_usage"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , buffer_usage) - 88usize] ; ["Offset of field: iree_hal_profile_memory_event_t::offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , offset) - 96usize] ; ["Offset of field: iree_hal_profile_memory_event_t::length"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , length) - 104usize] ; ["Offset of field: iree_hal_profile_memory_event_t::alignment"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , alignment) - 112usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_reserved"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_reserved) - 120usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_free"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_free) - 128usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_bytes_committed"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_bytes_committed) - 136usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_budget_limit"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_budget_limit) - 144usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_reservation_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_reservation_count) - 152usize] ; ["Offset of field: iree_hal_profile_memory_event_t::pool_slab_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_memory_event_t , pool_slab_count) - 156usize] ; } ; pub type iree_hal_profile_event_relationship_type_t = u32 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_NONE : iree_hal_profile_event_relationship_type_e = 0 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_DISPATCH : iree_hal_profile_event_relationship_type_e = 1 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_QUEUE_DEVICE_EVENT : iree_hal_profile_event_relationship_type_e = 2 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_EVENT_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 3 ; pub const iree_hal_profile_event_relationship_type_e_IREE_HAL_PROFILE_EVENT_RELATIONSHIP_TYPE_QUEUE_SUBMISSION_HOST_EXECUTION_EVENT : iree_hal_profile_event_relationship_type_e = 4 ; pub type iree_hal_profile_event_relationship_type_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_event_endpoint_type_t = u32 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_NONE : iree_hal_profile_event_endpoint_type_e = 0 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_SUBMISSION : iree_hal_profile_event_endpoint_type_e = 1 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_EVENT : iree_hal_profile_event_endpoint_type_e = 2 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_DISPATCH_EVENT : iree_hal_profile_event_endpoint_type_e = 3 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_COMMAND_OPERATION : iree_hal_profile_event_endpoint_type_e = 4 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_MEMORY_EVENT : iree_hal_profile_event_endpoint_type_e = 5 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_ARTIFACT : iree_hal_profile_event_endpoint_type_e = 6 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_QUEUE_DEVICE_EVENT : iree_hal_profile_event_endpoint_type_e = 7 ; pub const iree_hal_profile_event_endpoint_type_e_IREE_HAL_PROFILE_EVENT_ENDPOINT_TYPE_HOST_EXECUTION_EVENT : iree_hal_profile_event_endpoint_type_e = 8 ; pub type iree_hal_profile_event_endpoint_type_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_event_relationship_record_t { pub record_length : u32 , pub type_ : iree_hal_profile_event_relationship_type_t , pub relationship_id : u64 , pub source_type : iree_hal_profile_event_endpoint_type_t , pub target_type : iree_hal_profile_event_endpoint_type_t , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub stream_id : u64 , pub source_id : u64 , pub source_secondary_id : u64 , pub target_id : u64 , pub target_secondary_id : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_event_relationship_record_t > () - 72usize] ; ["Alignment of iree_hal_profile_event_relationship_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_event_relationship_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::type_"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , type_) - 4usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::relationship_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , relationship_id) - 8usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_type) - 16usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_type) - 20usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , physical_device_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , queue_ordinal) - 28usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , stream_id) - 32usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_id) - 40usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::source_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , source_secondary_id) - 48usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_id) - 56usize] ; ["Offset of field: iree_hal_profile_event_relationship_record_t::target_secondary_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_event_relationship_record_t , target_secondary_id) - 64usize] ; } ; pub type iree_hal_profile_counter_set_flags_t = u32 ; pub const iree_hal_profile_counter_set_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SET_FLAG_NONE : iree_hal_profile_counter_set_flag_bits_t = 0 ; pub type iree_hal_profile_counter_set_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_set_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_set_flags_t , pub counter_set_id : u64 , pub physical_device_ordinal : u32 , pub counter_count : u32 , pub sample_value_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_set_record_t > () - 32usize] ; ["Alignment of iree_hal_profile_counter_set_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_set_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_set_id) - 8usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::counter_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , counter_count) - 20usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , sample_value_count) - 24usize] ; ["Offset of field: iree_hal_profile_counter_set_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_set_record_t , name_length) - 28usize] ; } ; pub type iree_hal_profile_counter_flags_t = u32 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_NONE : iree_hal_profile_counter_flag_bits_t = 0 ; pub const iree_hal_profile_counter_flag_bits_t_IREE_HAL_PROFILE_COUNTER_FLAG_RAW : iree_hal_profile_counter_flag_bits_t = 1 ; pub type iree_hal_profile_counter_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_unit_t = u32 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_NONE : iree_hal_profile_counter_unit_e = 0 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_COUNT : iree_hal_profile_counter_unit_e = 1 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_CYCLES : iree_hal_profile_counter_unit_e = 2 ; pub const iree_hal_profile_counter_unit_e_IREE_HAL_PROFILE_COUNTER_UNIT_BYTES : iree_hal_profile_counter_unit_e = 3 ; pub type iree_hal_profile_counter_unit_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_flags_t , pub unit : iree_hal_profile_counter_unit_t , pub physical_device_ordinal : u32 , pub counter_set_id : u64 , pub counter_ordinal : u32 , pub sample_value_offset : u32 , pub sample_value_count : u32 , pub block_name_length : u32 , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_counter_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_counter_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , physical_device_ordinal) - 12usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_set_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_record_t::counter_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , counter_ordinal) - 24usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_offset"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_offset) - 28usize] ; ["Offset of field: iree_hal_profile_counter_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , sample_value_count) - 32usize] ; ["Offset of field: iree_hal_profile_counter_record_t::block_name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , block_name_length) - 36usize] ; ["Offset of field: iree_hal_profile_counter_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_counter_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_counter_sample_flags_t = u32 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_NONE : iree_hal_profile_counter_sample_flag_bits_t = 0 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DISPATCH_EVENT : iree_hal_profile_counter_sample_flag_bits_t = 1 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_COMMAND_OPERATION : iree_hal_profile_counter_sample_flag_bits_t = 2 ; pub const iree_hal_profile_counter_sample_flag_bits_t_IREE_HAL_PROFILE_COUNTER_SAMPLE_FLAG_DEVICE_TICK_RANGE : iree_hal_profile_counter_sample_flag_bits_t = 4 ; pub type iree_hal_profile_counter_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_counter_sample_scope_t = u32 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_NONE : iree_hal_profile_counter_sample_scope_e = 0 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DISPATCH : iree_hal_profile_counter_sample_scope_e = 1 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_COMMAND_OPERATION : iree_hal_profile_counter_sample_scope_e = 2 ; pub const iree_hal_profile_counter_sample_scope_e_IREE_HAL_PROFILE_COUNTER_SAMPLE_SCOPE_DEVICE_TIME_RANGE : iree_hal_profile_counter_sample_scope_e = 3 ; pub type iree_hal_profile_counter_sample_scope_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_counter_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_counter_sample_flags_t , pub scope : iree_hal_profile_counter_sample_scope_t , pub reserved0 : u32 , pub sample_id : u64 , pub counter_set_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub start_tick : u64 , pub end_tick : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub sample_value_count : u32 , pub reserved1 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_counter_sample_record_t > () - 112usize] ; ["Alignment of iree_hal_profile_counter_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_counter_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::scope"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , scope) - 8usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved0) - 12usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_id) - 16usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::counter_set_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , counter_set_id) - 24usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , dispatch_event_id) - 32usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , submission_id) - 40usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_buffer_id) - 48usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , stream_id) - 64usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::start_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , start_tick) - 72usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::end_tick"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , end_tick) - 80usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , command_index) - 88usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , function_ordinal) - 92usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , physical_device_ordinal) - 96usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , queue_ordinal) - 100usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::sample_value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , sample_value_count) - 104usize] ; ["Offset of field: iree_hal_profile_counter_sample_record_t::reserved1"] [:: std :: mem :: offset_of ! (iree_hal_profile_counter_sample_record_t , reserved1) - 108usize] ; } ; pub type iree_hal_profile_device_class_t = u32 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NONE : iree_hal_profile_device_class_e = 0 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_CPU : iree_hal_profile_device_class_e = 1 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_GPU : iree_hal_profile_device_class_e = 2 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_NPU : iree_hal_profile_device_class_e = 3 ; pub const iree_hal_profile_device_class_e_IREE_HAL_PROFILE_DEVICE_CLASS_OTHER : iree_hal_profile_device_class_e = 2147483647 ; pub type iree_hal_profile_device_class_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_device_metric_source_flags_t = u32 ; pub const iree_hal_profile_device_metric_source_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SOURCE_FLAG_NONE : iree_hal_profile_device_metric_source_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_source_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_source_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_source_flags_t , pub source_id : u64 , pub physical_device_ordinal : u32 , pub device_class : iree_hal_profile_device_class_t , pub source_kind : u32 , pub source_revision : u32 , pub metric_count : u32 , pub name_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_source_record_t > () - 40usize] ; ["Alignment of iree_hal_profile_device_metric_source_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_source_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , physical_device_ordinal) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::device_class"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , device_class) - 20usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_kind) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::source_revision"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , source_revision) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::metric_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , metric_count) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_source_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_source_record_t , name_length) - 36usize] ; } ; pub type iree_hal_profile_metric_flags_t = u32 ; pub const iree_hal_profile_metric_flag_bits_t_IREE_HAL_PROFILE_METRIC_FLAG_NONE : iree_hal_profile_metric_flag_bits_t = 0 ; pub type iree_hal_profile_metric_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_unit_t = u32 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_NONE : iree_hal_profile_metric_unit_e = 0 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_COUNT : iree_hal_profile_metric_unit_e = 1 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_HERTZ : iree_hal_profile_metric_unit_e = 2 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES : iree_hal_profile_metric_unit_e = 3 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BYTES_PER_SECOND : iree_hal_profile_metric_unit_e = 4 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIPERCENT : iree_hal_profile_metric_unit_e = 5 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MILLIDEGREES_CELSIUS : iree_hal_profile_metric_unit_e = 6 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROWATTS : iree_hal_profile_metric_unit_e = 7 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_MICROJOULES : iree_hal_profile_metric_unit_e = 8 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_BITFIELD : iree_hal_profile_metric_unit_e = 9 ; pub const iree_hal_profile_metric_unit_e_IREE_HAL_PROFILE_METRIC_UNIT_ENUM : iree_hal_profile_metric_unit_e = 10 ; pub type iree_hal_profile_metric_unit_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_value_kind_t = u32 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_NONE : iree_hal_profile_metric_value_kind_e = 0 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_I64 : iree_hal_profile_metric_value_kind_e = 1 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_U64 : iree_hal_profile_metric_value_kind_e = 2 ; pub const iree_hal_profile_metric_value_kind_e_IREE_HAL_PROFILE_METRIC_VALUE_KIND_F64 : iree_hal_profile_metric_value_kind_e = 3 ; pub type iree_hal_profile_metric_value_kind_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_semantic_t = u32 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_NONE : iree_hal_profile_metric_semantic_e = 0 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_INSTANT : iree_hal_profile_metric_semantic_e = 1 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_AVERAGE : iree_hal_profile_metric_semantic_e = 2 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_CUMULATIVE : iree_hal_profile_metric_semantic_e = 3 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_DELTA : iree_hal_profile_metric_semantic_e = 4 ; pub const iree_hal_profile_metric_semantic_e_IREE_HAL_PROFILE_METRIC_SEMANTIC_STATE : iree_hal_profile_metric_semantic_e = 5 ; pub type iree_hal_profile_metric_semantic_e = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_metric_plot_hint_t = u32 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NONE : iree_hal_profile_metric_plot_hint_e = 0 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_NUMBER : iree_hal_profile_metric_plot_hint_e = 1 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_MEMORY : iree_hal_profile_metric_plot_hint_e = 2 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_PERCENTAGE : iree_hal_profile_metric_plot_hint_e = 3 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_FREQUENCY : iree_hal_profile_metric_plot_hint_e = 4 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_TEMPERATURE : iree_hal_profile_metric_plot_hint_e = 5 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_POWER : iree_hal_profile_metric_plot_hint_e = 6 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_ENERGY : iree_hal_profile_metric_plot_hint_e = 7 ; pub const iree_hal_profile_metric_plot_hint_e_IREE_HAL_PROFILE_METRIC_PLOT_HINT_BANDWIDTH : iree_hal_profile_metric_plot_hint_e = 8 ; pub type iree_hal_profile_metric_plot_hint_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_descriptor_record_t { pub record_length : u32 , pub flags : iree_hal_profile_metric_flags_t , pub source_id : u64 , pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name_length : u32 , pub description_length : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 48usize] ; ["Alignment of iree_hal_profile_device_metric_descriptor_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_descriptor_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , source_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , metric_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , unit) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , value_kind) - 28usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , semantic) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , plot_hint) - 36usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::name_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , name_length) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_descriptor_record_t::description_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_descriptor_record_t , description_length) - 44usize] ; } ; pub type iree_hal_profile_device_metric_value_flags_t = u32 ; pub const iree_hal_profile_device_metric_value_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_VALUE_FLAG_NONE : iree_hal_profile_device_metric_value_flag_bits_t = 0 ; pub type iree_hal_profile_device_metric_value_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_value_t { pub metric_id : u64 , pub value_bits : u64 , pub flags : iree_hal_profile_device_metric_value_flags_t , pub reserved0 : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_value_t > () - 24usize] ; ["Alignment of iree_hal_profile_device_metric_value_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_value_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::value_bits"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , value_bits) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , flags) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_value_t::reserved0"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_value_t , reserved0) - 20usize] ; } ; pub type iree_hal_profile_device_metric_sample_flags_t = u32 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_NONE : iree_hal_profile_device_metric_sample_flag_bits_t = 0 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_SOURCE_TIMESTAMP : iree_hal_profile_device_metric_sample_flag_bits_t = 1 ; pub const iree_hal_profile_device_metric_sample_flag_bits_t_IREE_HAL_PROFILE_DEVICE_METRIC_SAMPLE_FLAG_PARTIAL : iree_hal_profile_device_metric_sample_flag_bits_t = 2 ; pub type iree_hal_profile_device_metric_sample_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_device_metric_sample_record_t { pub record_length : u32 , pub flags : iree_hal_profile_device_metric_sample_flags_t , pub sample_id : u64 , pub source_id : u64 , pub host_time_begin_ns : i64 , pub host_time_end_ns : i64 , pub source_timestamp : u64 , pub source_timestamp_frequency_hz : u64 , pub physical_device_ordinal : u32 , pub value_count : u32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_device_metric_sample_record_t > () - 64usize] ; ["Alignment of iree_hal_profile_device_metric_sample_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_device_metric_sample_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , flags) - 4usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::sample_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , sample_id) - 8usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_id) - 16usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_begin_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_begin_ns) - 24usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::host_time_end_ns"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , host_time_end_ns) - 32usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp) - 40usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::source_timestamp_frequency_hz"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , source_timestamp_frequency_hz) - 48usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , physical_device_ordinal) - 56usize] ; ["Offset of field: iree_hal_profile_device_metric_sample_record_t::value_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_device_metric_sample_record_t , value_count) - 60usize] ; } ; pub type iree_hal_profile_executable_trace_flags_t = u32 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_NONE : iree_hal_profile_executable_trace_flag_bits_t = 0 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_DISPATCH_EVENT : iree_hal_profile_executable_trace_flag_bits_t = 1 ; pub const iree_hal_profile_executable_trace_flag_bits_t_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FLAG_COMMAND_OPERATION : iree_hal_profile_executable_trace_flag_bits_t = 2 ; pub type iree_hal_profile_executable_trace_flag_bits_t = :: std :: os :: raw :: c_uint ; pub type iree_hal_profile_executable_trace_format_t = u32 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_NONE : iree_hal_profile_executable_trace_format_e = 0 ; pub const iree_hal_profile_executable_trace_format_e_IREE_HAL_PROFILE_EXECUTABLE_TRACE_FORMAT_AMDGPU_ATT : iree_hal_profile_executable_trace_format_e = 1 ; pub type iree_hal_profile_executable_trace_format_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_executable_trace_record_t { pub record_length : u32 , pub format : iree_hal_profile_executable_trace_format_t , pub flags : iree_hal_profile_executable_trace_flags_t , pub shader_engine : u32 , pub trace_id : u64 , pub dispatch_event_id : u64 , pub submission_id : u64 , pub command_buffer_id : u64 , pub executable_id : u64 , pub stream_id : u64 , pub command_index : u32 , pub function_ordinal : u32 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub data_length : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: size_of :: < iree_hal_profile_executable_trace_record_t > () - 88usize] ; ["Alignment of iree_hal_profile_executable_trace_record_t"] [:: std :: mem :: align_of :: < iree_hal_profile_executable_trace_record_t > () - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::record_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , record_length) - 0usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::format"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , format) - 4usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , flags) - 8usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::shader_engine"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , shader_engine) - 12usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::trace_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , trace_id) - 16usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::dispatch_event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , dispatch_event_id) - 24usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::submission_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , submission_id) - 32usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_buffer_id) - 40usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , executable_id) - 48usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , stream_id) - 56usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::command_index"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , command_index) - 64usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::function_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , function_ordinal) - 68usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_executable_trace_record_t::data_length"] [:: std :: mem :: offset_of ! (iree_hal_profile_executable_trace_record_t , data_length) - 80usize] ; } ; pub type iree_hal_profile_builtin_metric_id_t = u64 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_NONE : iree_hal_profile_builtin_metric_id_e = 0 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_COMPUTE_CURRENT : iree_hal_profile_builtin_metric_id_e = 1 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_CLOCK_MEMORY_CURRENT : iree_hal_profile_builtin_metric_id_e = 2 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_EDGE : iree_hal_profile_builtin_metric_id_e = 3 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_HOTSPOT : iree_hal_profile_builtin_metric_id_e = 4 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_TEMPERATURE_MEMORY : iree_hal_profile_builtin_metric_id_e = 5 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_POWER_SOCKET : iree_hal_profile_builtin_metric_id_e = 6 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ENERGY_SOCKET : iree_hal_profile_builtin_metric_id_e = 7 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_COMPUTE : iree_hal_profile_builtin_metric_id_e = 8 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_ACTIVITY_MEMORY : iree_hal_profile_builtin_metric_id_e = 9 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_USED : iree_hal_profile_builtin_metric_id_e = 10 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_LOCAL_TOTAL : iree_hal_profile_builtin_metric_id_e = 11 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_READ : iree_hal_profile_builtin_metric_id_e = 12 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_MEMORY_TRAFFIC_WRITE : iree_hal_profile_builtin_metric_id_e = 13 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_THROTTLE_STATUS : iree_hal_profile_builtin_metric_id_e = 14 ; pub const iree_hal_profile_builtin_metric_id_e_IREE_HAL_PROFILE_BUILTIN_METRIC_ID_PERFORMANCE_TIER : iree_hal_profile_builtin_metric_id_e = 15 ; pub type iree_hal_profile_builtin_metric_id_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_metric_descriptor_t { pub metric_id : u64 , pub unit : iree_hal_profile_metric_unit_t , pub value_kind : iree_hal_profile_metric_value_kind_t , pub semantic : iree_hal_profile_metric_semantic_t , pub plot_hint : iree_hal_profile_metric_plot_hint_t , pub name : iree_string_view_t , pub description : iree_string_view_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: size_of :: < iree_hal_profile_metric_descriptor_t > () - 56usize] ; ["Alignment of iree_hal_profile_metric_descriptor_t"] [:: std :: mem :: align_of :: < iree_hal_profile_metric_descriptor_t > () - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::metric_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , metric_id) - 0usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::unit"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , unit) - 8usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::value_kind"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , value_kind) - 12usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::semantic"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , semantic) - 16usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::plot_hint"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , plot_hint) - 20usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , name) - 24usize] ; ["Offset of field: iree_hal_profile_metric_descriptor_t::description"] [:: std :: mem :: offset_of ! (iree_hal_profile_metric_descriptor_t , description) - 40usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_at (index : iree_host_size_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup (metric_id : u64) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_builtin_metric_descriptor_lookup_name (name : iree_string_view_t) -> * const iree_hal_profile_metric_descriptor_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_unit_string (unit : iree_hal_profile_metric_unit_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_value_kind_string (value_kind : iree_hal_profile_metric_value_kind_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_semantic_string (semantic : iree_hal_profile_metric_semantic_t) -> iree_string_view_t ; } unsafe extern "C" { pub fn iree_hal_profile_metric_plot_hint_string (plot_hint : iree_hal_profile_metric_plot_hint_t) -> iree_string_view_t ; } pub type iree_hal_profile_chunk_flags_t = u64 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_NONE : iree_hal_profile_chunk_flag_bits_t = 0 ; pub const iree_hal_profile_chunk_flag_bits_t_IREE_HAL_PROFILE_CHUNK_FLAG_TRUNCATED : iree_hal_profile_chunk_flag_bits_t = 1 ; pub type iree_hal_profile_chunk_flag_bits_t = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_chunk_metadata_t { pub content_type : iree_string_view_t , pub name : iree_string_view_t , pub session_id : u64 , pub stream_id : u64 , pub event_id : u64 , pub executable_id : u64 , pub command_buffer_id : u64 , pub physical_device_ordinal : u32 , pub queue_ordinal : u32 , pub flags : iree_hal_profile_chunk_flags_t , pub dropped_record_count : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: size_of :: < iree_hal_profile_chunk_metadata_t > () - 96usize] ; ["Alignment of iree_hal_profile_chunk_metadata_t"] [:: std :: mem :: align_of :: < iree_hal_profile_chunk_metadata_t > () - 8usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::content_type"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , content_type) - 0usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::name"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , name) - 16usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::session_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , session_id) - 32usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::stream_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , stream_id) - 40usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::event_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , event_id) - 48usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::executable_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , executable_id) - 56usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::command_buffer_id"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , command_buffer_id) - 64usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::physical_device_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , physical_device_ordinal) - 72usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::queue_ordinal"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , queue_ordinal) - 76usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::flags"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , flags) - 80usize] ; ["Offset of field: iree_hal_profile_chunk_metadata_t::dropped_record_count"] [:: std :: mem :: offset_of ! (iree_hal_profile_chunk_metadata_t , dropped_record_count) - 88usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_retain (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_release (sink : * mut iree_hal_profile_sink_t) ; } unsafe extern "C" { pub fn iree_hal_profile_sink_begin_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_write (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_hal_profile_sink_end_session (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_profile_sink_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t) > , pub begin_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t) -> iree_status_t > , pub write : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , iovec_count : iree_host_size_t , iovecs : * const iree_const_byte_span_t) -> iree_status_t > , pub end_session : :: std :: option :: Option < unsafe extern "C" fn (sink : * mut iree_hal_profile_sink_t , metadata : * const iree_hal_profile_chunk_metadata_t , session_status_code : iree_status_code_t) -> iree_status_t > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: size_of :: < iree_hal_profile_sink_vtable_t > () - 32usize] ; ["Alignment of iree_hal_profile_sink_vtable_t"] [:: std :: mem :: align_of :: < iree_hal_profile_sink_vtable_t > () - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::begin_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , begin_session) - 8usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::write"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , write) - 16usize] ; ["Offset of field: iree_hal_profile_sink_vtable_t::end_session"] [:: std :: mem :: offset_of ! (iree_hal_profile_sink_vtable_t , end_session) - 24usize] ; } ; unsafe extern "C" { pub fn iree_hal_profile_sink_destroy (sink : * mut iree_hal_profile_sink_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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: 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 :: std :: os :: raw :: c_char , out_buffer_length : * mut iree_host_size_t) -> iree_status_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] , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_hal_topology_builder_t"] [:: std :: mem :: size_of :: < iree_hal_topology_builder_t > () - 17448usize] ; ["Alignment of iree_hal_topology_builder_t"] [:: std :: mem :: align_of :: < iree_hal_topology_builder_t > () - 8usize] ; ["Offset of field: iree_hal_topology_builder_t::topology"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , topology) - 0usize] ; ["Offset of field: iree_hal_topology_builder_t::edges_set"] [:: std :: mem :: offset_of ! (iree_hal_topology_builder_t , edges_set) - 16424usize] ; } ; 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 ; } pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_NONE : iree_async_buffer_access_flag_bits_e = 0 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_READ : iree_async_buffer_access_flag_bits_e = 1 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_WRITE : iree_async_buffer_access_flag_bits_e = 2 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_READ : iree_async_buffer_access_flag_bits_e = 4 ; pub const iree_async_buffer_access_flag_bits_e_IREE_ASYNC_BUFFER_ACCESS_FLAG_REMOTE_WRITE : iree_async_buffer_access_flag_bits_e = 8 ; pub type iree_async_buffer_access_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_buffer_access_flags_t = u32 ; pub type iree_async_region_destroy_fn_t = :: std :: option :: Option < unsafe extern "C" fn (region : * mut iree_async_region_t) > ; pub type iree_async_buffer_recycle_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , buffer_index : u32) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_recycle_callback_t { pub fn_ : iree_async_buffer_recycle_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: size_of :: < iree_async_buffer_recycle_callback_t > () - 16usize] ; ["Alignment of iree_async_buffer_recycle_callback_t"] [:: std :: mem :: align_of :: < iree_async_buffer_recycle_callback_t > () - 8usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_buffer_recycle_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_buffer_recycle_callback_t , user_data) - 8usize] ; } ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_NONE : iree_async_region_type_e = 0 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_RDMA : iree_async_region_type_e = 1 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_IOURING : iree_async_region_type_e = 2 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_DMABUF : iree_async_region_type_e = 3 ; pub const iree_async_region_type_e_IREE_ASYNC_REGION_TYPE_EMULATED : iree_async_region_type_e = 4 ; pub type iree_async_region_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_region_type_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_region_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub slab : * mut iree_async_slab_t , pub destroy_fn : iree_async_region_destroy_fn_t , pub recycle : iree_async_buffer_recycle_callback_t , pub type_ : iree_async_region_type_t , pub access_flags : iree_async_buffer_access_flags_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub length : iree_host_size_t , pub buffer_size : iree_host_size_t , pub buffer_count : u32 , pub handles : iree_async_region_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_region_t__bindgen_ty_1 { pub rdma : iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , pub iouring : iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , pub dmabuf : iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , pub opaque : [u64 ; 4usize] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_1 { pub lkey : u32 , pub rkey : u32 , pub mr : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::lkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , lkey) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::rkey"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , rkey) - 4usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_1::mr"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_1 , mr) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_2 { pub buffer_group_id : i16 , pub base_buffer_index : i16 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 4usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_2 > () - 2usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::buffer_group_id"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , buffer_group_id) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_2::base_buffer_index"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_2 , base_buffer_index) - 2usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_region_t__bindgen_ty_1__bindgen_ty_3 { pub fd : :: std :: os :: raw :: c_int , pub offset : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 16usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::fd"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , fd) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1__bindgen_ty_3::offset"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1__bindgen_ty_3 , offset) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_region_t__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_region_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_region_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::rdma"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , rdma) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::iouring"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , iouring) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , dmabuf) - 0usize] ; ["Offset of field: iree_async_region_t__bindgen_ty_1::opaque"] [:: std :: mem :: offset_of ! (iree_async_region_t__bindgen_ty_1 , opaque) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_region_t"] [:: std :: mem :: size_of :: < iree_async_region_t > () - 120usize] ; ["Alignment of iree_async_region_t"] [:: std :: mem :: align_of :: < iree_async_region_t > () - 8usize] ; ["Offset of field: iree_async_region_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , ref_count) - 0usize] ; ["Offset of field: iree_async_region_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_region_t , proactor) - 8usize] ; ["Offset of field: iree_async_region_t::slab"] [:: std :: mem :: offset_of ! (iree_async_region_t , slab) - 16usize] ; ["Offset of field: iree_async_region_t::destroy_fn"] [:: std :: mem :: offset_of ! (iree_async_region_t , destroy_fn) - 24usize] ; ["Offset of field: iree_async_region_t::recycle"] [:: std :: mem :: offset_of ! (iree_async_region_t , recycle) - 32usize] ; ["Offset of field: iree_async_region_t::type_"] [:: std :: mem :: offset_of ! (iree_async_region_t , type_) - 48usize] ; ["Offset of field: iree_async_region_t::access_flags"] [:: std :: mem :: offset_of ! (iree_async_region_t , access_flags) - 52usize] ; ["Offset of field: iree_async_region_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_region_t , base_ptr) - 56usize] ; ["Offset of field: iree_async_region_t::length"] [:: std :: mem :: offset_of ! (iree_async_region_t , length) - 64usize] ; ["Offset of field: iree_async_region_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_size) - 72usize] ; ["Offset of field: iree_async_region_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_region_t , buffer_count) - 80usize] ; ["Offset of field: iree_async_region_t::handles"] [:: std :: mem :: offset_of ! (iree_async_region_t , handles) - 88usize] ; } ; unsafe extern "C" { pub fn iree_async_region_destroy (region : * mut iree_async_region_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_notification_t { pub value : iree_atomic_int64_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_notification_t"] [:: std :: mem :: size_of :: < iree_notification_t > () - 8usize] ; ["Alignment of iree_notification_t"] [:: std :: mem :: align_of :: < iree_notification_t > () - 8usize] ; ["Offset of field: iree_notification_t::value"] [:: std :: mem :: offset_of ! (iree_notification_t , value) - 0usize] ; } ; unsafe extern "C" { pub fn iree_notification_initialize (out_notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_deinitialize (notification : * mut iree_notification_t) ; } unsafe extern "C" { pub fn iree_notification_post (notification : * mut iree_notification_t , count : i32) ; } pub type iree_wait_token_t = u32 ; unsafe extern "C" { pub fn iree_notification_prepare_wait (notification : * mut iree_notification_t) -> iree_wait_token_t ; } unsafe extern "C" { pub fn iree_notification_commit_wait (notification : * mut iree_notification_t , wait_token : iree_wait_token_t , spin_ns : iree_duration_t , deadline_ns : iree_time_t) -> bool ; } unsafe extern "C" { pub fn iree_notification_cancel_wait (notification : * mut iree_notification_t) ; } pub type iree_condition_fn_t = :: std :: option :: Option < unsafe extern "C" fn (arg : * mut :: std :: os :: raw :: c_void) -> bool > ; unsafe extern "C" { pub fn iree_notification_await (notification : * mut iree_notification_t , condition_fn : iree_condition_fn_t , condition_arg : * mut :: std :: os :: raw :: c_void , timeout : iree_timeout_t) -> bool ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_wait_operation_t { _unused : [u8 ; 0] , } pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_FUTEX : iree_async_notification_mode_e = 0 ; pub const iree_async_notification_mode_e_IREE_ASYNC_NOTIFICATION_MODE_EVENT : iree_async_notification_mode_e = 1 ; pub type iree_async_notification_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_notification_mode_e as iree_async_notification_mode_t ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_NONE : iree_async_notification_flag_bits_e = 0 ; pub const iree_async_notification_flag_bits_e_IREE_ASYNC_NOTIFICATION_FLAG_SHARED : iree_async_notification_flag_bits_e = 1 ; pub type iree_async_notification_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_notification_flags_t = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub epoch : iree_atomic_int32_t , pub epoch_ptr : * mut iree_atomic_int32_t , pub observer_count : iree_atomic_int32_t , pub flags : iree_async_notification_flags_t , pub mode : iree_async_notification_mode_t , pub platform : iree_async_notification_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_notification_t__bindgen_ty_1 { pub io_uring : iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub drain_buffer : u64 , pub futex_relay_count : iree_atomic_int32_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::drain_buffer"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , drain_buffer) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_1::futex_relay_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_1 , futex_relay_count) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 { pub primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , pub pending_waits : * mut iree_async_notification_wait_operation_t , pub relay_list : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 32usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , primitive) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , signal_primitive) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , pending_waits) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_2::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_2 , relay_list) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 { pub pending_waits : * mut iree_async_notification_wait_operation_t , pub next_with_waits : * mut iree_async_notification_t , pub in_wait_list : bool , pub relay_list : * mut iree_async_relay_t , pub signal_handle : usize , pub wait_registration : usize , pub wake_handle : usize , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::pending_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , pending_waits) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::next_with_waits"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , next_with_waits) - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::in_wait_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , in_wait_list) - 16usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::relay_list"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , relay_list) - 24usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::signal_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , signal_handle) - 32usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wait_registration"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wait_registration) - 40usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1__bindgen_ty_3::wake_handle"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1__bindgen_ty_3 , wake_handle) - 48usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_notification_t__bindgen_ty_1 > () - 56usize] ; ["Alignment of iree_async_notification_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_notification_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_notification_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_notification_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_t"] [:: std :: mem :: size_of :: < iree_async_notification_t > () - 104usize] ; ["Alignment of iree_async_notification_t"] [:: std :: mem :: align_of :: < iree_async_notification_t > () - 8usize] ; ["Offset of field: iree_async_notification_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , ref_count) - 0usize] ; ["Offset of field: iree_async_notification_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_notification_t , proactor) - 8usize] ; ["Offset of field: iree_async_notification_t::epoch"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch) - 16usize] ; ["Offset of field: iree_async_notification_t::epoch_ptr"] [:: std :: mem :: offset_of ! (iree_async_notification_t , epoch_ptr) - 24usize] ; ["Offset of field: iree_async_notification_t::observer_count"] [:: std :: mem :: offset_of ! (iree_async_notification_t , observer_count) - 32usize] ; ["Offset of field: iree_async_notification_t::flags"] [:: std :: mem :: offset_of ! (iree_async_notification_t , flags) - 36usize] ; ["Offset of field: iree_async_notification_t::mode"] [:: std :: mem :: offset_of ! (iree_async_notification_t , mode) - 40usize] ; ["Offset of field: iree_async_notification_t::platform"] [:: std :: mem :: offset_of ! (iree_async_notification_t , platform) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_notification_shared_options_t { pub epoch_address : * mut iree_atomic_int32_t , pub wake_primitive : iree_async_primitive_t , pub signal_primitive : iree_async_primitive_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_notification_shared_options_t"] [:: std :: mem :: size_of :: < iree_async_notification_shared_options_t > () - 24usize] ; ["Alignment of iree_async_notification_shared_options_t"] [:: std :: mem :: align_of :: < iree_async_notification_shared_options_t > () - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::epoch_address"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , epoch_address) - 0usize] ; ["Offset of field: iree_async_notification_shared_options_t::wake_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , wake_primitive) - 8usize] ; ["Offset of field: iree_async_notification_shared_options_t::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_notification_shared_options_t , signal_primitive) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_notification_create_shared (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_notification_retain (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_release (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_signal (notification : * mut iree_async_notification_t , wake_count : i32) ; } unsafe extern "C" { pub fn iree_async_notification_signal_if_observed (notification : * mut iree_async_notification_t , wake_count : i32) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_query_epoch (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_begin_observe (notification : * mut iree_async_notification_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_notification_end_observe (notification : * mut iree_async_notification_t) ; } unsafe extern "C" { pub fn iree_async_notification_wait (notification : * mut iree_async_notification_t , timeout : iree_timeout_t) -> bool ; } unsafe extern "C" { pub fn iree_async_notification_wait_for_token (notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool ; } pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_PRIMITIVE : iree_async_relay_source_type_e = 0 ; pub const iree_async_relay_source_type_e_IREE_ASYNC_RELAY_SOURCE_TYPE_NOTIFICATION : iree_async_relay_source_type_e = 1 ; pub type iree_async_relay_source_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_source_type_e as iree_async_relay_source_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_source_t { pub type_ : iree_async_relay_source_type_t , pub __bindgen_anon_1 : iree_async_relay_source_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_source_t__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub notification : * mut iree_async_notification_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Alignment of iree_async_relay_source_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_source_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_source_t__bindgen_ty_1::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t__bindgen_ty_1 , notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_source_t"] [:: std :: mem :: size_of :: < iree_async_relay_source_t > () - 16usize] ; ["Alignment of iree_async_relay_source_t"] [:: std :: mem :: align_of :: < iree_async_relay_source_t > () - 8usize] ; ["Offset of field: iree_async_relay_source_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_source_t , type_) - 0usize] ; } ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_PRIMITIVE : iree_async_relay_sink_type_e = 0 ; pub const iree_async_relay_sink_type_e_IREE_ASYNC_RELAY_SINK_TYPE_SIGNAL_NOTIFICATION : iree_async_relay_sink_type_e = 1 ; pub type iree_async_relay_sink_type_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_relay_sink_type_e as iree_async_relay_sink_type_t ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t { pub type_ : iree_async_relay_sink_type_t , pub __bindgen_anon_1 : iree_async_relay_sink_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_sink_t__bindgen_ty_1 { pub signal_primitive : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , pub signal_notification : iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 { pub primitive : iree_async_primitive_t , pub value : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1::value"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_1 , value) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 { pub notification : * mut iree_async_notification_t , pub wake_count : i32 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , notification) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2::wake_count"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1__bindgen_ty_2 , wake_count) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_sink_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_primitive"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_primitive) - 0usize] ; ["Offset of field: iree_async_relay_sink_t__bindgen_ty_1::signal_notification"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t__bindgen_ty_1 , signal_notification) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_sink_t"] [:: std :: mem :: size_of :: < iree_async_relay_sink_t > () - 24usize] ; ["Alignment of iree_async_relay_sink_t"] [:: std :: mem :: align_of :: < iree_async_relay_sink_t > () - 8usize] ; ["Offset of field: iree_async_relay_sink_t::type_"] [:: std :: mem :: offset_of ! (iree_async_relay_sink_t , type_) - 0usize] ; } ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_NONE : iree_async_relay_flag_bits_e = 0 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_PERSISTENT : iree_async_relay_flag_bits_e = 1 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_OWN_SOURCE_PRIMITIVE : iree_async_relay_flag_bits_e = 2 ; pub const iree_async_relay_flag_bits_e_IREE_ASYNC_RELAY_FLAG_ERROR_SENSITIVE : iree_async_relay_flag_bits_e = 4 ; pub type iree_async_relay_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_relay_flags_t = u32 ; pub type iree_async_relay_error_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , relay : * mut iree_async_relay_t , status : iree_status_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_error_callback_t { pub fn_ : iree_async_relay_error_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_error_callback_t"] [:: std :: mem :: size_of :: < iree_async_relay_error_callback_t > () - 16usize] ; ["Alignment of iree_async_relay_error_callback_t"] [:: std :: mem :: align_of :: < iree_async_relay_error_callback_t > () - 8usize] ; ["Offset of field: iree_async_relay_error_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_relay_error_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_relay_error_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_relay_t { pub next : * mut iree_async_relay_t , pub prev : * mut iree_async_relay_t , pub proactor : * mut iree_async_proactor_t , pub source : iree_async_relay_source_t , pub sink : iree_async_relay_sink_t , pub flags : iree_async_relay_flags_t , pub error_callback : iree_async_relay_error_callback_t , pub wait_epoch : u32 , pub allocator : iree_allocator_t , pub platform : iree_async_relay_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_relay_t__bindgen_ty_1 { pub io_uring : iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , pub posix : iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , pub iocp : iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 { pub state : u32 , pub write_buffer : u64 , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::state"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , state) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_1::write_buffer"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_1 , write_buffer) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_2::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_2 , notification_relay_next) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 { pub notification_relay_next : * mut iree_async_relay_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1__bindgen_ty_3"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1__bindgen_ty_3::notification_relay_next"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1__bindgen_ty_3 , notification_relay_next) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_relay_t__bindgen_ty_1 > () - 16usize] ; ["Alignment of iree_async_relay_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_relay_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::io_uring"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , io_uring) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::posix"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , posix) - 0usize] ; ["Offset of field: iree_async_relay_t__bindgen_ty_1::iocp"] [:: std :: mem :: offset_of ! (iree_async_relay_t__bindgen_ty_1 , iocp) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_relay_t"] [:: std :: mem :: size_of :: < iree_async_relay_t > () - 128usize] ; ["Alignment of iree_async_relay_t"] [:: std :: mem :: align_of :: < iree_async_relay_t > () - 8usize] ; ["Offset of field: iree_async_relay_t::next"] [:: std :: mem :: offset_of ! (iree_async_relay_t , next) - 0usize] ; ["Offset of field: iree_async_relay_t::prev"] [:: std :: mem :: offset_of ! (iree_async_relay_t , prev) - 8usize] ; ["Offset of field: iree_async_relay_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_relay_t , proactor) - 16usize] ; ["Offset of field: iree_async_relay_t::source"] [:: std :: mem :: offset_of ! (iree_async_relay_t , source) - 24usize] ; ["Offset of field: iree_async_relay_t::sink"] [:: std :: mem :: offset_of ! (iree_async_relay_t , sink) - 40usize] ; ["Offset of field: iree_async_relay_t::flags"] [:: std :: mem :: offset_of ! (iree_async_relay_t , flags) - 64usize] ; ["Offset of field: iree_async_relay_t::error_callback"] [:: std :: mem :: offset_of ! (iree_async_relay_t , error_callback) - 72usize] ; ["Offset of field: iree_async_relay_t::wait_epoch"] [:: std :: mem :: offset_of ! (iree_async_relay_t , wait_epoch) - 88usize] ; ["Offset of field: iree_async_relay_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_relay_t , allocator) - 96usize] ; ["Offset of field: iree_async_relay_t::platform"] [:: std :: mem :: offset_of ! (iree_async_relay_t , platform) - 112usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_thread_affinity_t { pub _bitfield_align_1 : [u32 ; 0] , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 8usize] > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_thread_affinity_t"] [:: std :: mem :: size_of :: < iree_thread_affinity_t > () - 8usize] ; ["Alignment of iree_thread_affinity_t"] [:: std :: mem :: align_of :: < iree_thread_affinity_t > () - 4usize] ; } ; impl iree_thread_affinity_t { # [inline] pub fn group_any (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 1u8) as u32) } } # [inline] pub fn set_group_any (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 1u8 , val as u64) } } # [inline] pub unsafe fn group_any_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 0usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_group_any_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 0usize , 1u8 , val as u64 ,) } } # [inline] pub fn group (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (1usize , 8u8) as u32) } } # [inline] pub fn set_group (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (1usize , 8u8 , val as u64) } } # [inline] pub unsafe fn group_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 1usize , 8u8 ,) as u32) } } # [inline] pub unsafe fn set_group_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 1usize , 8u8 , val as u64 ,) } } # [inline] pub fn reserved (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (9usize , 23u8) as u32) } } # [inline] pub fn set_reserved (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (9usize , 23u8 , val as u64) } } # [inline] pub unsafe fn reserved_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 9usize , 23u8 ,) as u32) } } # [inline] pub unsafe fn set_reserved_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 9usize , 23u8 , val as u64 ,) } } # [inline] pub fn id_assigned (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (32usize , 1u8) as u32) } } # [inline] pub fn set_id_assigned (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (32usize , 1u8 , val as u64) } } # [inline] pub unsafe fn id_assigned_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 32usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_id_assigned_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 32usize , 1u8 , val as u64 ,) } } # [inline] pub fn id (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (33usize , 30u8) as u32) } } # [inline] pub fn set_id (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (33usize , 30u8 , val as u64) } } # [inline] pub unsafe fn id_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 33usize , 30u8 ,) as u32) } } # [inline] pub unsafe fn set_id_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 33usize , 30u8 , val as u64 ,) } } # [inline] pub fn smt (& self) -> u32 { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (63usize , 1u8) as u32) } } # [inline] pub fn set_smt (& mut self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (63usize , 1u8 , val as u64) } } # [inline] pub unsafe fn smt_raw (this : * const Self) -> u32 { unsafe { :: std :: mem :: transmute (< __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_get (:: std :: ptr :: addr_of ! ((* this) . _bitfield_1) , 63usize , 1u8 ,) as u32) } } # [inline] pub unsafe fn set_smt_raw (this : * mut Self , val : u32) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; < __BindgenBitfieldUnit < [u8 ; 8usize] > > :: raw_set (:: std :: ptr :: addr_of_mut ! ((* this) . _bitfield_1) , 63usize , 1u8 , val as u64 ,) } } # [inline] pub fn new_bitfield_1 (group_any : u32 , group : u32 , reserved : u32 , id_assigned : u32 , id : u32 , smt : u32) -> __BindgenBitfieldUnit < [u8 ; 8usize] > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 8usize] > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 1u8 , { let group_any : u32 = unsafe { :: std :: mem :: transmute (group_any) } ; group_any as u64 }) ; __bindgen_bitfield_unit . set (1usize , 8u8 , { let group : u32 = unsafe { :: std :: mem :: transmute (group) } ; group as u64 }) ; __bindgen_bitfield_unit . set (9usize , 23u8 , { let reserved : u32 = unsafe { :: std :: mem :: transmute (reserved) } ; reserved as u64 }) ; __bindgen_bitfield_unit . set (32usize , 1u8 , { let id_assigned : u32 = unsafe { :: std :: mem :: transmute (id_assigned) } ; id_assigned as u64 }) ; __bindgen_bitfield_unit . set (33usize , 30u8 , { let id : u32 = unsafe { :: std :: mem :: transmute (id) } ; id as u64 }) ; __bindgen_bitfield_unit . set (63usize , 1u8 , { let smt : u32 = unsafe { :: std :: mem :: transmute (smt) } ; smt as u64 }) ; __bindgen_bitfield_unit } } unsafe extern "C" { pub fn iree_thread_affinity_set_any (out_thread_affinity : * mut iree_thread_affinity_t) ; } unsafe extern "C" { pub fn iree_thread_affinity_set_group_any (group : u32 , out_thread_affinity : * mut iree_thread_affinity_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_affinity_t { pub id : u32 , pub cpu_affinity : iree_thread_affinity_t , pub numa_node : u32 , pub user_context : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_affinity_t"] [:: std :: mem :: size_of :: < iree_async_affinity_t > () - 24usize] ; ["Alignment of iree_async_affinity_t"] [:: std :: mem :: align_of :: < iree_async_affinity_t > () - 8usize] ; ["Offset of field: iree_async_affinity_t::id"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , id) - 0usize] ; ["Offset of field: iree_async_affinity_t::cpu_affinity"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , cpu_affinity) - 4usize] ; ["Offset of field: iree_async_affinity_t::numa_node"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , numa_node) - 12usize] ; ["Offset of field: iree_async_affinity_t::user_context"] [:: std :: mem :: offset_of ! (iree_async_affinity_t , user_context) - 16usize] ; } ; unsafe extern "C" { pub fn iree_async_query_affinities (allocator : iree_allocator_t , out_affinities : * mut * mut iree_async_affinity_t , out_count : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_numa_node_id_t = u32 ; pub type iree_memory_placement_flags_t = u32 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_NONE : iree_memory_placement_flag_bits_e = 0 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_EXPLICIT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 1 ; pub const iree_memory_placement_flag_bits_e_IREE_MEMORY_PLACEMENT_FLAG_TRANSPARENT_HUGE_PAGES : iree_memory_placement_flag_bits_e = 2 ; pub type iree_memory_placement_flag_bits_e = :: std :: os :: raw :: c_uint ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_options_t { pub node_id : iree_numa_node_id_t , pub alignment : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub flags : iree_memory_placement_flags_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_options_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_options_t > () - 32usize] ; ["Alignment of iree_numa_alloc_options_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_options_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::node_id"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , node_id) - 0usize] ; ["Offset of field: iree_numa_alloc_options_t::alignment"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , alignment) - 8usize] ; ["Offset of field: iree_numa_alloc_options_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , huge_page_size) - 16usize] ; ["Offset of field: iree_numa_alloc_options_t::flags"] [:: std :: mem :: offset_of ! (iree_numa_alloc_options_t , flags) - 24usize] ; } ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_EXPLICIT_HUGE_PAGES : iree_numa_alloc_method_e = 0 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_TRANSPARENT_HUGE_PAGES : iree_numa_alloc_method_e = 1 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_MMAP : iree_numa_alloc_method_e = 2 ; pub const iree_numa_alloc_method_e_IREE_NUMA_ALLOC_METHOD_STANDARD : iree_numa_alloc_method_e = 3 ; pub type iree_numa_alloc_method_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_numa_alloc_method_e as iree_numa_alloc_method_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_numa_alloc_info_t { pub allocated_size : iree_host_size_t , pub huge_page_size : iree_host_size_t , pub method : iree_numa_alloc_method_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_numa_alloc_info_t"] [:: std :: mem :: size_of :: < iree_numa_alloc_info_t > () - 24usize] ; ["Alignment of iree_numa_alloc_info_t"] [:: std :: mem :: align_of :: < iree_numa_alloc_info_t > () - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::allocated_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , allocated_size) - 0usize] ; ["Offset of field: iree_numa_alloc_info_t::huge_page_size"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , huge_page_size) - 8usize] ; ["Offset of field: iree_numa_alloc_info_t::method"] [:: std :: mem :: offset_of ! (iree_numa_alloc_info_t , method) - 16usize] ; } ; unsafe extern "C" { pub fn iree_numa_node_count () -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_numa_online_nodes () -> iree_bitmap_t ; } unsafe extern "C" { pub fn iree_numa_node_for_current_thread () -> iree_numa_node_id_t ; } unsafe extern "C" { pub fn iree_numa_alloc (size : iree_host_size_t , options : * const iree_numa_alloc_options_t , out_ptr : * mut * mut :: std :: os :: raw :: c_void , out_info : * mut iree_numa_alloc_info_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_numa_free (ptr : * mut :: std :: os :: raw :: c_void , info : * const iree_numa_alloc_info_t) ; } unsafe extern "C" { pub fn iree_numa_bind_memory (ptr : * mut :: std :: os :: raw :: c_void , size : iree_host_size_t , node_id : iree_numa_node_id_t) -> iree_status_t ; } pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_NUMA_ALLOC : iree_async_slab_source_e = 0 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_WRAPPED : iree_async_slab_source_e = 1 ; pub const iree_async_slab_source_e_IREE_ASYNC_SLAB_SOURCE_DMABUF : iree_async_slab_source_e = 2 ; pub type iree_async_slab_source_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_slab_source_e as iree_async_slab_source_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_options_t { pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub affinity : * const iree_async_affinity_t , pub placement : iree_numa_alloc_options_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_options_t"] [:: std :: mem :: size_of :: < iree_async_slab_options_t > () - 56usize] ; ["Alignment of iree_async_slab_options_t"] [:: std :: mem :: align_of :: < iree_async_slab_options_t > () - 8usize] ; ["Offset of field: iree_async_slab_options_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_size) - 0usize] ; ["Offset of field: iree_async_slab_options_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , buffer_count) - 8usize] ; ["Offset of field: iree_async_slab_options_t::affinity"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , affinity) - 16usize] ; ["Offset of field: iree_async_slab_options_t::placement"] [:: std :: mem :: offset_of ! (iree_async_slab_options_t , placement) - 24usize] ; } ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_slab_t { pub ref_count : iree_atomic_ref_count_t , pub allocator : iree_allocator_t , pub base_ptr : * mut :: std :: os :: raw :: c_void , pub buffer_size : iree_host_size_t , pub buffer_count : iree_host_size_t , pub total_size : iree_host_size_t , pub source : iree_async_slab_source_t , pub source_state : iree_async_slab_t__bindgen_ty_1 , } # [repr (C)] # [derive (Copy , Clone)] pub union iree_async_slab_t__bindgen_ty_1 { pub numa : iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , pub dmabuf : iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 { pub alloc_info : iree_numa_alloc_info_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_1::alloc_info"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_1 , alloc_info) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 { pub mapped_ptr : * mut :: std :: os :: raw :: c_void , pub mapped_length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 16usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1__bindgen_ty_2"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_ptr) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1__bindgen_ty_2::mapped_length"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1__bindgen_ty_2 , mapped_length) - 8usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: size_of :: < iree_async_slab_t__bindgen_ty_1 > () - 24usize] ; ["Alignment of iree_async_slab_t__bindgen_ty_1"] [:: std :: mem :: align_of :: < iree_async_slab_t__bindgen_ty_1 > () - 8usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::numa"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , numa) - 0usize] ; ["Offset of field: iree_async_slab_t__bindgen_ty_1::dmabuf"] [:: std :: mem :: offset_of ! (iree_async_slab_t__bindgen_ty_1 , dmabuf) - 0usize] ; } ; # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_slab_t"] [:: std :: mem :: size_of :: < iree_async_slab_t > () - 88usize] ; ["Alignment of iree_async_slab_t"] [:: std :: mem :: align_of :: < iree_async_slab_t > () - 8usize] ; ["Offset of field: iree_async_slab_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , ref_count) - 0usize] ; ["Offset of field: iree_async_slab_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_slab_t , allocator) - 8usize] ; ["Offset of field: iree_async_slab_t::base_ptr"] [:: std :: mem :: offset_of ! (iree_async_slab_t , base_ptr) - 24usize] ; ["Offset of field: iree_async_slab_t::buffer_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_size) - 32usize] ; ["Offset of field: iree_async_slab_t::buffer_count"] [:: std :: mem :: offset_of ! (iree_async_slab_t , buffer_count) - 40usize] ; ["Offset of field: iree_async_slab_t::total_size"] [:: std :: mem :: offset_of ! (iree_async_slab_t , total_size) - 48usize] ; ["Offset of field: iree_async_slab_t::source"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source) - 56usize] ; ["Offset of field: iree_async_slab_t::source_state"] [:: std :: mem :: offset_of ! (iree_async_slab_t , source_state) - 64usize] ; } ; unsafe extern "C" { pub fn iree_async_slab_create (options : iree_async_slab_options_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_wrap (base_ptr : * mut :: std :: os :: raw :: c_void , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_import_dmabuf (dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , buffer_size : iree_host_size_t , buffer_count : iree_host_size_t , access_flags : u32 , allocator : iree_allocator_t , out_slab : * mut * mut iree_async_slab_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_slab_release (slab : * mut iree_async_slab_t) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_address_t { pub storage : [u8 ; 128usize] , pub length : iree_host_size_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_address_t"] [:: std :: mem :: size_of :: < iree_async_address_t > () - 136usize] ; ["Alignment of iree_async_address_t"] [:: std :: mem :: align_of :: < iree_async_address_t > () - 8usize] ; ["Offset of field: iree_async_address_t::storage"] [:: std :: mem :: offset_of ! (iree_async_address_t , storage) - 0usize] ; ["Offset of field: iree_async_address_t::length"] [:: std :: mem :: offset_of ! (iree_async_address_t , length) - 128usize] ; } ; unsafe extern "C" { pub fn iree_async_address_from_ipv4 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_ipv6 (host : iree_string_view_t , port : u16 , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_unix (path : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_from_string (address_str : iree_string_view_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_address_format (address : * const iree_async_address_t , buffer_capacity : iree_host_size_t , buffer : * mut :: std :: os :: raw :: c_char , out_value : * mut iree_string_view_t) -> iree_status_t ; } pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP : iree_async_socket_type_e = 0 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP : iree_async_socket_type_e = 1 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_STREAM : iree_async_socket_type_e = 2 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UNIX_DGRAM : iree_async_socket_type_e = 3 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_TCP6 : iree_async_socket_type_e = 4 ; pub const iree_async_socket_type_e_IREE_ASYNC_SOCKET_TYPE_UDP6 : iree_async_socket_type_e = 5 ; pub type iree_async_socket_type_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_type_t = u8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NONE : iree_async_socket_option_bits_e = 0 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_ADDR : iree_async_socket_option_bits_e = 1 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_REUSE_PORT : iree_async_socket_option_bits_e = 2 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_NO_DELAY : iree_async_socket_option_bits_e = 4 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_KEEP_ALIVE : iree_async_socket_option_bits_e = 8 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_ZERO_COPY : iree_async_socket_option_bits_e = 16 ; pub const iree_async_socket_option_bits_e_IREE_ASYNC_SOCKET_OPTION_LINGER_ZERO : iree_async_socket_option_bits_e = 32 ; pub type iree_async_socket_option_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_options_t = u32 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_NONE : iree_async_socket_flag_bits_e = 0 ; pub const iree_async_socket_flag_bits_e_IREE_ASYNC_SOCKET_FLAG_ZERO_COPY : iree_async_socket_flag_bits_e = 1 ; pub type iree_async_socket_flag_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_flags_t = u32 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CREATED : iree_async_socket_state_e = 0 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTING : iree_async_socket_state_e = 1 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CONNECTED : iree_async_socket_state_e = 2 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_LISTENING : iree_async_socket_state_e = 3 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSING : iree_async_socket_state_e = 4 ; pub const iree_async_socket_state_e_IREE_ASYNC_SOCKET_STATE_CLOSED : iree_async_socket_state_e = 5 ; pub type iree_async_socket_state_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_state_t = u8 ; # [repr (C)] # [derive (Copy , Clone)] pub struct iree_async_socket_t { pub ref_count : iree_atomic_ref_count_t , pub proactor : * mut iree_async_proactor_t , pub primitive : iree_async_primitive_t , pub fixed_file_index : i32 , pub type_ : iree_async_socket_type_t , pub state : iree_async_socket_state_t , pub flags : iree_async_socket_flags_t , pub failure_status : iree_atomic_intptr_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_socket_t"] [:: std :: mem :: size_of :: < iree_async_socket_t > () - 48usize] ; ["Alignment of iree_async_socket_t"] [:: std :: mem :: align_of :: < iree_async_socket_t > () - 8usize] ; ["Offset of field: iree_async_socket_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_socket_t , ref_count) - 0usize] ; ["Offset of field: iree_async_socket_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_socket_t , proactor) - 8usize] ; ["Offset of field: iree_async_socket_t::primitive"] [:: std :: mem :: offset_of ! (iree_async_socket_t , primitive) - 16usize] ; ["Offset of field: iree_async_socket_t::fixed_file_index"] [:: std :: mem :: offset_of ! (iree_async_socket_t , fixed_file_index) - 24usize] ; ["Offset of field: iree_async_socket_t::type_"] [:: std :: mem :: offset_of ! (iree_async_socket_t , type_) - 28usize] ; ["Offset of field: iree_async_socket_t::state"] [:: std :: mem :: offset_of ! (iree_async_socket_t , state) - 29usize] ; ["Offset of field: iree_async_socket_t::flags"] [:: std :: mem :: offset_of ! (iree_async_socket_t , flags) - 32usize] ; ["Offset of field: iree_async_socket_t::failure_status"] [:: std :: mem :: offset_of ! (iree_async_socket_t , failure_status) - 40usize] ; } ; unsafe extern "C" { pub fn iree_async_socket_create (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_import (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_retain (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_release (socket : * mut iree_async_socket_t) ; } unsafe extern "C" { pub fn iree_async_socket_bind (socket : * mut iree_async_socket_t , address : * const iree_async_address_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_listen (socket : * mut iree_async_socket_t , backlog : iree_host_size_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_local_address (socket : * const iree_async_socket_t , out_address : * mut iree_async_address_t) -> iree_status_t ; } pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_READ : iree_async_socket_shutdown_mode_e = 0 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_WRITE : iree_async_socket_shutdown_mode_e = 1 ; pub const iree_async_socket_shutdown_mode_e_IREE_ASYNC_SOCKET_SHUTDOWN_BOTH : iree_async_socket_shutdown_mode_e = 2 ; pub type iree_async_socket_shutdown_mode_e = :: std :: os :: raw :: c_uint ; pub type iree_async_socket_shutdown_mode_t = u8 ; unsafe extern "C" { pub fn iree_async_socket_shutdown (socket : * mut iree_async_socket_t , mode : iree_async_socket_shutdown_mode_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_socket_query_send_space (socket : * mut iree_async_socket_t , out_space : * mut iree_host_size_t) -> iree_status_t ; } pub type iree_async_registration_cleanup_fn_t = :: std :: option :: Option < unsafe extern "C" fn (entry : * mut :: std :: os :: raw :: c_void , proactor : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_entry_t { pub next : * mut iree_async_buffer_registration_entry_t , pub proactor : * mut iree_async_proactor_t , pub cleanup_fn : iree_async_registration_cleanup_fn_t , pub region : * mut iree_async_region_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_entry_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_entry_t > () - 32usize] ; ["Alignment of iree_async_buffer_registration_entry_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_entry_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , next) - 0usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , proactor) - 8usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::cleanup_fn"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , cleanup_fn) - 16usize] ; ["Offset of field: iree_async_buffer_registration_entry_t::region"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_entry_t , region) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_buffer_registration_state_t { pub head : * mut iree_async_buffer_registration_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_buffer_registration_state_t"] [:: std :: mem :: size_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Alignment of iree_async_buffer_registration_state_t"] [:: std :: mem :: align_of :: < iree_async_buffer_registration_state_t > () - 8usize] ; ["Offset of field: iree_async_buffer_registration_state_t::head"] [:: std :: mem :: offset_of ! (iree_async_buffer_registration_state_t , head) - 0usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_t { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_t { _unused : [u8 ; 0] , } pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_NONE : iree_async_poll_event_e = 0 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_IN : iree_async_poll_event_e = 1 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_ERR : iree_async_poll_event_e = 2 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_HUP : iree_async_poll_event_e = 4 ; pub const iree_async_poll_event_e_IREE_ASYNC_POLL_EVENT_OUT : iree_async_poll_event_e = 8 ; pub type iree_async_poll_event_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_poll_event_e as iree_async_poll_event_t ; pub type iree_async_poll_events_t = u32 ; pub type iree_async_event_source_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , source : * mut iree_async_event_source_t , events : iree_async_poll_events_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_event_source_callback_t { pub fn_ : iree_async_event_source_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_event_source_callback_t"] [:: std :: mem :: size_of :: < iree_async_event_source_callback_t > () - 16usize] ; ["Alignment of iree_async_event_source_callback_t"] [:: std :: mem :: align_of :: < iree_async_event_source_callback_t > () - 8usize] ; ["Offset of field: iree_async_event_source_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_event_source_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_event_source_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_progress_entry_t { pub next : * mut iree_async_progress_entry_t , pub fn_ : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) -> iree_host_size_t > , pub user_data : * mut :: std :: os :: raw :: c_void , pub remove_requested : bool , pub on_remove : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_progress_entry_t"] [:: std :: mem :: size_of :: < iree_async_progress_entry_t > () - 40usize] ; ["Alignment of iree_async_progress_entry_t"] [:: std :: mem :: align_of :: < iree_async_progress_entry_t > () - 8usize] ; ["Offset of field: iree_async_progress_entry_t::next"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , next) - 0usize] ; ["Offset of field: iree_async_progress_entry_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , fn_) - 8usize] ; ["Offset of field: iree_async_progress_entry_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , user_data) - 16usize] ; ["Offset of field: iree_async_progress_entry_t::remove_requested"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , remove_requested) - 24usize] ; ["Offset of field: iree_async_progress_entry_t::on_remove"] [:: std :: mem :: offset_of ! (iree_async_progress_entry_t , on_remove) - 32usize] ; } ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_NONE : iree_async_proactor_capability_bits_e = 0 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_MULTISHOT : iree_async_proactor_capability_bits_e = 1 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FIXED_FILES : iree_async_proactor_capability_bits_e = 2 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_REGISTERED_BUFFERS : iree_async_proactor_capability_bits_e = 4 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_LINKED_OPERATIONS : iree_async_proactor_capability_bits_e = 8 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ZERO_COPY_SEND : iree_async_proactor_capability_bits_e = 16 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DMABUF : iree_async_proactor_capability_bits_e = 32 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_DEVICE_FENCE : iree_async_proactor_capability_bits_e = 64 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ABSOLUTE_TIMEOUT : iree_async_proactor_capability_bits_e = 128 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_FUTEX_OPERATIONS : iree_async_proactor_capability_bits_e = 256 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_PROACTOR_MESSAGING : iree_async_proactor_capability_bits_e = 512 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_WAIT_COMPLETION_PACKET : iree_async_proactor_capability_bits_e = 1024 ; pub const iree_async_proactor_capability_bits_e_IREE_ASYNC_PROACTOR_CAPABILITY_ALL : iree_async_proactor_capability_bits_e = 4294967295 ; pub type iree_async_proactor_capability_bits_e = :: std :: os :: raw :: c_uint ; pub type iree_async_proactor_capabilities_t = u32 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_SAME_THREAD : iree_async_proactor_threading_mode_e = 0 ; pub const iree_async_proactor_threading_mode_e_IREE_ASYNC_PROACTOR_THREADING_CROSS_THREAD : iree_async_proactor_threading_mode_e = 1 ; pub type iree_async_proactor_threading_mode_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_proactor_threading_mode_e as iree_async_proactor_threading_mode_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_options_t { pub max_concurrent_operations : iree_host_size_t , pub debug_name : iree_string_view_t , pub allowed_capabilities : iree_async_proactor_capabilities_t , pub message_pool_capacity : iree_host_size_t , pub threading_mode : iree_async_proactor_threading_mode_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_options_t > () - 48usize] ; ["Alignment of iree_async_proactor_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_options_t::max_concurrent_operations"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , max_concurrent_operations) - 0usize] ; ["Offset of field: iree_async_proactor_options_t::debug_name"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , debug_name) - 8usize] ; ["Offset of field: iree_async_proactor_options_t::allowed_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , allowed_capabilities) - 24usize] ; ["Offset of field: iree_async_proactor_options_t::message_pool_capacity"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , message_pool_capacity) - 32usize] ; ["Offset of field: iree_async_proactor_options_t::threading_mode"] [:: std :: mem :: offset_of ! (iree_async_proactor_options_t , threading_mode) - 40usize] ; } ; pub type iree_async_proactor_message_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , message_data : u64 , user_data : * mut :: std :: os :: raw :: c_void) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_message_callback_t { pub fn_ : iree_async_proactor_message_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_message_callback_t"] [:: std :: mem :: size_of :: < iree_async_proactor_message_callback_t > () - 16usize] ; ["Alignment of iree_async_proactor_message_callback_t"] [:: std :: mem :: align_of :: < iree_async_proactor_message_callback_t > () - 8usize] ; ["Offset of field: iree_async_proactor_message_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_proactor_message_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_message_callback_t , user_data) - 8usize] ; } ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_NONE : iree_async_signal_e = 0 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_INTERRUPT : iree_async_signal_e = 1 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_TERMINATE : iree_async_signal_e = 2 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_HANGUP : iree_async_signal_e = 3 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_QUIT : iree_async_signal_e = 4 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER1 : iree_async_signal_e = 5 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_USER2 : iree_async_signal_e = 6 ; pub const iree_async_signal_e_IREE_ASYNC_SIGNAL_COUNT : iree_async_signal_e = 7 ; pub type iree_async_signal_e = :: std :: os :: raw :: c_uint ; pub use self :: iree_async_signal_e as iree_async_signal_t ; unsafe extern "C" { pub fn iree_async_signal_name (signal : iree_async_signal_t) -> iree_string_view_t ; } pub type iree_async_signal_callback_fn_t = :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , signal : iree_async_signal_t) > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_callback_t { pub fn_ : iree_async_signal_callback_fn_t , pub user_data : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_callback_t"] [:: std :: mem :: size_of :: < iree_async_signal_callback_t > () - 16usize] ; ["Alignment of iree_async_signal_callback_t"] [:: std :: mem :: align_of :: < iree_async_signal_callback_t > () - 8usize] ; ["Offset of field: iree_async_signal_callback_t::fn_"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , fn_) - 0usize] ; ["Offset of field: iree_async_signal_callback_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_signal_callback_t , user_data) - 8usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_signal_subscription_t { pub next : * mut iree_async_signal_subscription_t , pub prev : * mut iree_async_signal_subscription_t , pub pending_next : * mut iree_async_signal_subscription_t , pub proactor : * mut iree_async_proactor_t , pub signal : iree_async_signal_t , pub callback : iree_async_signal_callback_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_signal_subscription_t"] [:: std :: mem :: size_of :: < iree_async_signal_subscription_t > () - 56usize] ; ["Alignment of iree_async_signal_subscription_t"] [:: std :: mem :: align_of :: < iree_async_signal_subscription_t > () - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , next) - 0usize] ; ["Offset of field: iree_async_signal_subscription_t::prev"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , prev) - 8usize] ; ["Offset of field: iree_async_signal_subscription_t::pending_next"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , pending_next) - 16usize] ; ["Offset of field: iree_async_signal_subscription_t::proactor"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , proactor) - 24usize] ; ["Offset of field: iree_async_signal_subscription_t::signal"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , signal) - 32usize] ; ["Offset of field: iree_async_signal_subscription_t::callback"] [:: std :: mem :: offset_of ! (iree_async_signal_subscription_t , callback) - 40usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_vtable_t { pub destroy : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub query_capabilities : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) -> iree_async_proactor_capabilities_t > , pub submit : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operations : iree_async_operation_list_t) -> iree_status_t > , pub poll : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , timeout : iree_timeout_t , out_completed_count : * mut iree_host_size_t) -> iree_status_t > , pub wake : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t) > , pub cancel : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , operation : * mut iree_async_operation_t) -> iree_status_t > , pub create_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , type_ : iree_async_socket_type_t , options : iree_async_socket_options_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub import_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , type_ : iree_async_socket_type_t , flags : iree_async_socket_flags_t , out_socket : * mut * mut iree_async_socket_t) -> iree_status_t > , pub destroy_socket : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , socket : * mut iree_async_socket_t) > , pub import_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , primitive : iree_async_primitive_t , out_file : * mut * mut iree_async_file_t) -> iree_status_t > , pub destroy_file : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , file : * mut iree_async_file_t) > , pub create_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , out_event : * mut * mut iree_async_event_t) -> iree_status_t > , pub destroy_event : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event : * mut iree_async_event_t) > , pub register_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , handle : iree_async_primitive_t , callback : iree_async_event_source_callback_t , out_event_source : * mut * mut iree_async_event_source_t) -> iree_status_t > , pub unregister_event_source : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , event_source : * mut iree_async_event_source_t) > , pub create_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , flags : iree_async_notification_flags_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub create_notification_shared : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , options : * const iree_async_notification_shared_options_t , out_notification : * mut * mut iree_async_notification_t) -> iree_status_t > , pub destroy_notification : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t) > , pub notification_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wake_count : i32) > , pub notification_wait : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , notification : * mut iree_async_notification_t , wait_token : u32 , timeout : iree_timeout_t) -> bool > , pub register_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , source : iree_async_relay_source_t , sink : iree_async_relay_sink_t , flags : iree_async_relay_flags_t , error_callback : iree_async_relay_error_callback_t , out_relay : * mut * mut iree_async_relay_t) -> iree_status_t > , pub unregister_relay : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , relay : * mut iree_async_relay_t) > , pub register_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , buffer : iree_byte_span_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub register_dmabuf : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , state : * mut iree_async_buffer_registration_state_t , dmabuf_fd : :: std :: os :: raw :: c_int , offset : u64 , length : iree_host_size_t , access_flags : iree_async_buffer_access_flags_t , out_entry : * mut * mut iree_async_buffer_registration_entry_t) -> iree_status_t > , pub unregister_buffer : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_buffer_registration_entry_t , state : * mut iree_async_buffer_registration_state_t) > , pub register_slab : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , slab : * mut iree_async_slab_t , access_flags : iree_async_buffer_access_flags_t , out_region : * mut * mut iree_async_region_t) -> iree_status_t > , pub import_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , fence : iree_async_primitive_t , semaphore : * mut iree_async_semaphore_t , signal_value : u64) -> iree_status_t > , pub export_fence : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , semaphore : * mut iree_async_semaphore_t , wait_value : u64 , out_fence : * mut iree_async_primitive_t) -> iree_status_t > , pub set_message_callback : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , callback : iree_async_proactor_message_callback_t) > , pub send_message : :: std :: option :: Option < unsafe extern "C" fn (target : * mut iree_async_proactor_t , message_data : u64) -> iree_status_t > , pub subscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , signal : iree_async_signal_t , callback : iree_async_signal_callback_t , out_subscription : * mut * mut iree_async_signal_subscription_t) -> iree_status_t > , pub unsubscribe_signal : :: std :: option :: Option < unsafe extern "C" fn (proactor : * mut iree_async_proactor_t , subscription : * mut iree_async_signal_subscription_t) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_vtable_t"] [:: std :: mem :: size_of :: < iree_async_proactor_vtable_t > () - 256usize] ; ["Alignment of iree_async_proactor_vtable_t"] [:: std :: mem :: align_of :: < iree_async_proactor_vtable_t > () - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy) - 0usize] ; ["Offset of field: iree_async_proactor_vtable_t::query_capabilities"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , query_capabilities) - 8usize] ; ["Offset of field: iree_async_proactor_vtable_t::submit"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , submit) - 16usize] ; ["Offset of field: iree_async_proactor_vtable_t::poll"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , poll) - 24usize] ; ["Offset of field: iree_async_proactor_vtable_t::wake"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , wake) - 32usize] ; ["Offset of field: iree_async_proactor_vtable_t::cancel"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , cancel) - 40usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_socket) - 48usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_socket) - 56usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_socket"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_socket) - 64usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_file) - 72usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_file"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_file) - 80usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_event) - 88usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_event"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_event) - 96usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_event_source) - 104usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_event_source"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_event_source) - 112usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification) - 120usize] ; ["Offset of field: iree_async_proactor_vtable_t::create_notification_shared"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , create_notification_shared) - 128usize] ; ["Offset of field: iree_async_proactor_vtable_t::destroy_notification"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , destroy_notification) - 136usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_signal) - 144usize] ; ["Offset of field: iree_async_proactor_vtable_t::notification_wait"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , notification_wait) - 152usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_relay) - 160usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_relay"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_relay) - 168usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_buffer) - 176usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_dmabuf"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_dmabuf) - 184usize] ; ["Offset of field: iree_async_proactor_vtable_t::unregister_buffer"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unregister_buffer) - 192usize] ; ["Offset of field: iree_async_proactor_vtable_t::register_slab"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , register_slab) - 200usize] ; ["Offset of field: iree_async_proactor_vtable_t::import_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , import_fence) - 208usize] ; ["Offset of field: iree_async_proactor_vtable_t::export_fence"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , export_fence) - 216usize] ; ["Offset of field: iree_async_proactor_vtable_t::set_message_callback"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , set_message_callback) - 224usize] ; ["Offset of field: iree_async_proactor_vtable_t::send_message"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , send_message) - 232usize] ; ["Offset of field: iree_async_proactor_vtable_t::subscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , subscribe_signal) - 240usize] ; ["Offset of field: iree_async_proactor_vtable_t::unsubscribe_signal"] [:: std :: mem :: offset_of ! (iree_async_proactor_vtable_t , unsubscribe_signal) - 248usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_t { pub ref_count : iree_atomic_ref_count_t , pub vtable : * const iree_async_proactor_vtable_t , pub allocator : iree_allocator_t , pub progress_list : * mut iree_async_progress_entry_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_t"] [:: std :: mem :: size_of :: < iree_async_proactor_t > () - 40usize] ; ["Alignment of iree_async_proactor_t"] [:: std :: mem :: align_of :: < iree_async_proactor_t > () - 8usize] ; ["Offset of field: iree_async_proactor_t::ref_count"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , ref_count) - 0usize] ; ["Offset of field: iree_async_proactor_t::vtable"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , vtable) - 8usize] ; ["Offset of field: iree_async_proactor_t::allocator"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , allocator) - 16usize] ; ["Offset of field: iree_async_proactor_t::progress_list"] [:: std :: mem :: offset_of ! (iree_async_proactor_t , progress_list) - 32usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_initialize (vtable : * const iree_async_proactor_vtable_t , debug_name : iree_string_view_t , allocator : iree_allocator_t , out_proactor : * mut iree_async_proactor_t) ; } unsafe extern "C" { pub fn iree_async_proactor_register_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_unregister_progress (proactor : * mut iree_async_proactor_t , entry : * mut iree_async_progress_entry_t) ; } unsafe extern "C" { pub fn iree_async_proactor_run_progress (proactor : * mut iree_async_proactor_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_signal_block_default () -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_signal_ignore_broken_pipe () -> iree_status_t ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_runner_factory_t { pub user_data : * mut :: std :: os :: raw :: c_void , pub create : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , proactor : * mut iree_async_proactor_t , node_id : u32 , allocator : iree_allocator_t , out_runner : * mut * mut :: std :: os :: raw :: c_void) -> iree_status_t > , pub request_stop : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runners : * mut * mut :: std :: os :: raw :: c_void , count : iree_host_size_t) > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (user_data : * mut :: std :: os :: raw :: c_void , runner : * mut :: std :: os :: raw :: c_void) > , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_runner_factory_t > () - 32usize] ; ["Alignment of iree_async_proactor_pool_runner_factory_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_runner_factory_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::user_data"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , user_data) - 0usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::create"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , create) - 8usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::request_stop"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , request_stop) - 16usize] ; ["Offset of field: iree_async_proactor_pool_runner_factory_t::destroy"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_runner_factory_t , destroy) - 24usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_async_proactor_pool_options_t { pub proactor_options : iree_async_proactor_options_t , pub runner : iree_async_proactor_pool_runner_factory_t , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of iree_async_proactor_pool_options_t"] [:: std :: mem :: size_of :: < iree_async_proactor_pool_options_t > () - 80usize] ; ["Alignment of iree_async_proactor_pool_options_t"] [:: std :: mem :: align_of :: < iree_async_proactor_pool_options_t > () - 8usize] ; ["Offset of field: iree_async_proactor_pool_options_t::proactor_options"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , proactor_options) - 0usize] ; ["Offset of field: iree_async_proactor_pool_options_t::runner"] [:: std :: mem :: offset_of ! (iree_async_proactor_pool_options_t , runner) - 48usize] ; } ; unsafe extern "C" { pub fn iree_async_proactor_pool_options_default () -> iree_async_proactor_pool_options_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_create (node_count : iree_host_size_t , node_ids : * const u32 , options : iree_async_proactor_pool_options_t , allocator : iree_allocator_t , out_pool : * mut * mut iree_async_proactor_pool_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_retain (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_release (pool : * mut iree_async_proactor_pool_t) ; } unsafe extern "C" { pub fn iree_async_proactor_pool_count (pool : * const iree_async_proactor_pool_t) -> iree_host_size_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get (pool : * mut iree_async_proactor_pool_t , index : iree_host_size_t , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } unsafe extern "C" { pub fn iree_async_proactor_pool_node_id (pool : * const iree_async_proactor_pool_t , index : iree_host_size_t) -> u32 ; } unsafe extern "C" { pub fn iree_async_proactor_pool_get_for_node (pool : * mut iree_async_proactor_pool_t , node_id : u32 , out_proactor : * mut * mut iree_async_proactor_t) -> iree_status_t ; } pub type __builtin_va_list = [__va_list_tag ; 1usize] ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [allow (clippy :: unnecessary_operation , clippy :: identity_op)] const _ : () = { ["Size of __va_list_tag"] [:: std :: mem :: size_of :: < __va_list_tag > () - 24usize] ; ["Alignment of __va_list_tag"] [:: std :: mem :: align_of :: < __va_list_tag > () - 8usize] ; ["Offset of field: __va_list_tag::gp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , gp_offset) - 0usize] ; ["Offset of field: __va_list_tag::fp_offset"] [:: std :: mem :: offset_of ! (__va_list_tag , fp_offset) - 4usize] ; ["Offset of field: __va_list_tag::overflow_arg_area"] [:: std :: mem :: offset_of ! (__va_list_tag , overflow_arg_area) - 8usize] ; ["Offset of field: __va_list_tag::reg_save_area"] [:: std :: mem :: offset_of ! (__va_list_tag , reg_save_area) - 16usize] ; } ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct iree_hal_pool_set_entry_t { pub _address : u8 , }
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/rocket-hal-driver/9f0877db18888432/out/bindings.rs:3:21324
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...0usize , 24u8 , { let _flags2 : u32 = unsafe { :: std :: mem :: transmute (_flags2) } ; _flags2 as u64 }) ; __bindgen_bitfield_uni...
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: replace this with
[INFO] [stdout]   |
[WARN] too much data in the log, truncating it
