mod bindings;
mod enums;
mod opaque;
mod wrappers;
mod vectors;
use core::ptr::NonNull;
pub use enums::*;
pub use opaque::*;
#[repr(C)]
pub struct Address {
base: Option<NonNull<AddrSpace>>,
offset: u64,
}
impl Address {
pub fn new(base: Option<&AddrSpace>, offset: u64) -> Address {
Address { base: base.map(|a| a.into()), offset }
}
pub fn get_space(&self) -> Option<&AddrSpace> {
self.base.map(|p| unsafe { p.as_ref() })
}
}
#[repr(C)]
pub struct CSEHashPair {
pub hash: u32,
pub op: NonNull<PcodeOp>
}
#[repr(C)]
pub struct PieceNode {
op: NonNull<PcodeOp>,
slot: i32,
type_offset: i32,
leaf: bool
}