iree-embedded-sys 0.1.1

Raw FFI bindings to the IREE bare-metal runtime for no_std Cortex-M targets.
Documentation
#![no_std]
#![allow(
    non_upper_case_globals,
    non_camel_case_types,
    non_snake_case,
    dead_code
)]
// The bulk of this crate is bindgen-generated; clippy lints on it are noise.
#![allow(clippy::all)]

// Raw FFI bindings to the IREE runtime, generated by build.rs. The C wrappers
// for IREE's static-inline helpers are compiled and linked alongside.
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));

// Hand-written to match `iree/base/allocator.h`:
//   typedef struct { void* self; iree_allocator_ctl_fn_t ctl; } iree_allocator_t;
// bindgen blocklists the type (it renders opaque because of the `self` field
// name), so this is the single source of truth for its layout.
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iree_allocator_t {
    pub self_: *mut core::ffi::c_void,
    pub ctl: iree_allocator_ctl_fn_t,
}