use libc::*;
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct dyld_image_info {
pub imageLoadAddress: *const mach_header,
pub imageFilePath: *const c_char,
pub imageFileModDate: usize,
}
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct dyld_uuid_info {
pub imageLoadAddress: *const mach_header,
pub imageUUID: uuid_t,
}
pub type dyld_image_notifier = usize;
#[derive(Clone, Copy)]
#[repr(C)]
pub struct dyld_all_image_infos {
pub version: u32,
pub infoArrayCount: u32,
pub infoArray: *const dyld_image_info,
pub notification: dyld_image_notifier,
pub processDetachedFromSharedRegion: bool,
pub libSystemInitialized: bool,
pub dyldImageLoadAddress: *const mach_header,
pub jitInfo: *mut (),
pub dyldVersion: *const c_char,
pub errorMessage: *const c_char,
pub terminationFlags: usize,
pub coreSymbolicationShmPage: *mut (),
pub systemOrderFlag: usize,
pub uuidArrayCount: usize,
pub uuidArray: *const dyld_uuid_info,
pub dyldAllImageInfosAddress: *mut dyld_all_image_infos,
pub initialImageCount: usize,
pub errorKind: usize,
pub errorClientOfDylibPath: *const c_char,
pub errorTargetDylibPath: *const c_char,
pub errorSymbol: *const c_char,
pub sharedCacheSlide: usize,
pub sharedCacheUUID: [u8; 16],
pub reserved: [usize; 16],
}
#[derive(Default, Clone, Copy, Debug)]
#[repr(C)]
pub struct proc_fileinfo {
pub fi_openflags: u32,
pub fi_status: u32,
pub fi_offset: off_t,
pub fi_type: i32,
pub fi_guardflags: u32,
}
#[derive(Default, Clone, Copy, Debug)]
#[repr(C)]
pub struct vinfo_stat {
pub vst_dev: u32,
pub vst_mode: u16,
pub vst_nlink: u16,
pub vst_ino: u64,
pub vst_uid: uid_t,
pub vst_gid: gid_t,
pub vst_atime: i64,
pub vst_atimensec: i64,
pub vst_mtime: i64,
pub vst_mtimensec: i64,
pub vst_ctime: i64,
pub vst_ctimensec: i64,
pub vst_birthtime: i64,
pub vst_birthtimensec: i64,
pub vst_size: off_t,
pub vst_blocks: i64,
pub vst_blksize: i32,
pub vst_flags: u32,
pub vst_gen: u32,
pub vst_rdev: u32,
pub vst_qspare: [i64; 2],
}
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct vnode_info {
pub vi_stat: vinfo_stat,
pub vi_type: i32,
pub vi_pad: i32,
pub vi_fsid: fsid_t,
}
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct vnode_info_path {
pub vip_vi: vnode_info,
pub vip_path: [c_char; MAXPATHLEN as usize],
}
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct vnode_fdinfo {
pub pfi: proc_fileinfo,
pub pvi: vnode_info,
}
#[derive(Clone, Copy, Debug)]
#[repr(C)]
pub struct vnode_fdinfowithpath {
pub pfi: proc_fileinfo,
pub pvip: vnode_info_path,
}