#![no_std] type Handle = i64; #[repr(C)] pub struct OSString { pub address: i32, pub length: i32, } extern "C" { pub fn create_object(string: OSString) -> Result; pub fn read_object_attribute(handle: Handle, string: OSString) -> Result; pub fn set_object_attribute(handle: Handle, string: OSString, value: OSString) -> Result<()>; } #[repr(C)] pub enum ExternErrors { None = 0, } #[repr(C)] pub struct Result { pub ok: T, pub err: ExternErrors, } pub struct Path { parts: String, }