diff --git a/darwin-libproc-sys/Cargo.toml b/darwin-libproc-sys/Cargo.toml index 2523ad0..3d26676 100644 --- a/darwin-libproc-sys/Cargo.toml +++ b/darwin-libproc-sys/Cargo.toml @@ -15,3 +15,6 @@ build = "build.rs" [badges] maintenance = { status = "experimental" } + +[build-dependencies] +bindgen = "*" diff --git a/darwin-libproc-sys/build.rs b/darwin-libproc-sys/build.rs index d1fb1dd..d059f1c 100644 --- a/darwin-libproc-sys/build.rs +++ b/darwin-libproc-sys/build.rs @@ -1,3 +1,23 @@ +use std::env; +use std::path::PathBuf; + fn main() { println!("cargo:rustc-link-lib=dylib=proc"); + + let bindings = bindgen::Builder::default() + .header("wrapper.h") + .whitelist_type("proc_.*") + .whitelist_function("proc_.*") + .whitelist_var("proc_.*") + .whitelist_var("PROC_.*") + .whitelist_type("rusage_.*") + .whitelist_var("RUSAGE_.*") + .layout_tests(true) + .generate() + .expect("unable to generate libproc bindings"); + + let out = PathBuf::from(env::var("OUT_DIR").unwrap()); + bindings + .write_to_file(out.join("bindings.rs")) + .expect("unable to write bindings") } diff --git a/darwin-libproc-sys/build.sh b/darwin-libproc-sys/build.sh deleted file mode 100755 index 01f1ca0..0000000 --- a/darwin-libproc-sys/build.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# This script calls `bindgen` (https://crates.io/crates/bindgen) -# in order to create Rust bindings for XNU libproc-related things. -# -# `bindgen` must be installed and available in `$PATH`. -# -# Caller also need to download macOS SDK and change `-I` flag below -# in order to generate bindings. -# Do note that macOS 10.9 (Mavericks) SDK **MUST** be used for code generation. - -bindgen \ - --rust-target 1.36 \ - --whitelist-function "proc_.*" \ - --whitelist-var "proc_.*" \ - --whitelist-var "PROC_.*" \ - --whitelist-type "proc_.*" \ - --whitelist-type "rusage_.*" \ - --whitelist-var "RUSAGE_.*" \ - wrapper.h \ - -- \ - -IMacOSX-SDKs/MacOSX10.13.sdk/usr/include \ - > src/generated.rs diff --git a/darwin-libproc-sys/src/generated.rs b/darwin-libproc-sys/src/generated.rs deleted file mode 100644 index e1bfbfb..0000000 --- a/darwin-libproc-sys/src/generated.rs +++ /dev/null @@ -1,4238 +0,0 @@ -/* automatically generated by rust-bindgen */ - -pub const PROC_ALL_PIDS: u32 = 1; -pub const PROC_PGRP_ONLY: u32 = 2; -pub const PROC_TTY_ONLY: u32 = 3; -pub const PROC_UID_ONLY: u32 = 4; -pub const PROC_RUID_ONLY: u32 = 5; -pub const PROC_PPID_ONLY: u32 = 6; -pub const PROC_KDBG_ONLY: u32 = 7; -pub const PROC_FLAG_SYSTEM: u32 = 1; -pub const PROC_FLAG_TRACED: u32 = 2; -pub const PROC_FLAG_INEXIT: u32 = 4; -pub const PROC_FLAG_PPWAIT: u32 = 8; -pub const PROC_FLAG_LP64: u32 = 16; -pub const PROC_FLAG_SLEADER: u32 = 32; -pub const PROC_FLAG_CTTY: u32 = 64; -pub const PROC_FLAG_CONTROLT: u32 = 128; -pub const PROC_FLAG_THCWD: u32 = 256; -pub const PROC_FLAG_PC_THROTTLE: u32 = 512; -pub const PROC_FLAG_PC_SUSP: u32 = 1024; -pub const PROC_FLAG_PC_KILL: u32 = 1536; -pub const PROC_FLAG_PC_MASK: u32 = 1536; -pub const PROC_FLAG_PA_THROTTLE: u32 = 2048; -pub const PROC_FLAG_PA_SUSP: u32 = 4096; -pub const PROC_FLAG_PSUGID: u32 = 8192; -pub const PROC_FLAG_EXEC: u32 = 16384; -pub const PROC_REGION_SUBMAP: u32 = 1; -pub const PROC_REGION_SHARED: u32 = 2; -pub const PROC_FP_SHARED: u32 = 1; -pub const PROC_FP_CLEXEC: u32 = 2; -pub const PROC_FP_GUARDED: u32 = 4; -pub const PROC_FP_CLFORK: u32 = 8; -pub const PROC_FI_GUARD_CLOSE: u32 = 1; -pub const PROC_FI_GUARD_DUP: u32 = 2; -pub const PROC_FI_GUARD_SOCKET_IPC: u32 = 4; -pub const PROC_FI_GUARD_FILEPORT: u32 = 8; -pub const PROC_KQUEUE_SELECT: u32 = 1; -pub const PROC_KQUEUE_SLEEP: u32 = 2; -pub const PROC_KQUEUE_32: u32 = 8; -pub const PROC_KQUEUE_64: u32 = 16; -pub const PROC_KQUEUE_QOS: u32 = 32; -pub const PROC_PIDLISTFDS: u32 = 1; -pub const PROC_PIDTASKALLINFO: u32 = 2; -pub const PROC_PIDTBSDINFO: u32 = 3; -pub const PROC_PIDTASKINFO: u32 = 4; -pub const PROC_PIDTHREADINFO: u32 = 5; -pub const PROC_PIDLISTTHREADS: u32 = 6; -pub const PROC_PIDREGIONINFO: u32 = 7; -pub const PROC_PIDREGIONPATHINFO: u32 = 8; -pub const PROC_PIDVNODEPATHINFO: u32 = 9; -pub const PROC_PIDTHREADPATHINFO: u32 = 10; -pub const PROC_PIDPATHINFO: u32 = 11; -pub const PROC_PIDPATHINFO_SIZE: u32 = 1024; -pub const PROC_PIDPATHINFO_MAXSIZE: u32 = 4096; -pub const PROC_PIDWORKQUEUEINFO: u32 = 12; -pub const PROC_PIDT_SHORTBSDINFO: u32 = 13; -pub const PROC_PIDLISTFILEPORTS: u32 = 14; -pub const PROC_PIDTHREADID64INFO: u32 = 15; -pub const PROC_PID_RUSAGE: u32 = 16; -pub const PROC_PID_RUSAGE_SIZE: u32 = 0; -pub const PROC_PIDFDVNODEINFO: u32 = 1; -pub const PROC_PIDFDVNODEPATHINFO: u32 = 2; -pub const PROC_PIDFDSOCKETINFO: u32 = 3; -pub const PROC_PIDFDPSEMINFO: u32 = 4; -pub const PROC_PIDFDPSHMINFO: u32 = 5; -pub const PROC_PIDFDPIPEINFO: u32 = 6; -pub const PROC_PIDFDKQUEUEINFO: u32 = 7; -pub const PROC_PIDFDATALKINFO: u32 = 8; -pub const PROC_PIDFILEPORTVNODEPATHINFO: u32 = 2; -pub const PROC_PIDFILEPORTSOCKETINFO: u32 = 3; -pub const PROC_PIDFILEPORTPSHMINFO: u32 = 5; -pub const PROC_PIDFILEPORTPIPEINFO: u32 = 6; -pub const PROC_SELFSET_PCONTROL: u32 = 1; -pub const PROC_SELFSET_THREADNAME: u32 = 2; -pub const PROC_SELFSET_THREADNAME_SIZE: u32 = 63; -pub const PROC_SELFSET_VMRSRCOWNER: u32 = 3; -pub const PROC_SELFSET_DELAYIDLESLEEP: u32 = 4; -pub const PROC_DIRTYCONTROL_TRACK: u32 = 1; -pub const PROC_DIRTYCONTROL_SET: u32 = 2; -pub const PROC_DIRTYCONTROL_GET: u32 = 3; -pub const PROC_DIRTYCONTROL_CLEAR: u32 = 4; -pub const PROC_DIRTY_TRACK: u32 = 1; -pub const PROC_DIRTY_ALLOW_IDLE_EXIT: u32 = 2; -pub const PROC_DIRTY_DEFER: u32 = 4; -pub const PROC_DIRTY_LAUNCH_IN_PROGRESS: u32 = 8; -pub const PROC_DIRTY_TRACKED: u32 = 1; -pub const PROC_DIRTY_ALLOWS_IDLE_EXIT: u32 = 2; -pub const PROC_DIRTY_IS_DIRTY: u32 = 4; -pub const PROC_DIRTY_LAUNCH_IS_IN_PROGRESS: u32 = 8; -pub const RUSAGE_SELF: u32 = 0; -pub const RUSAGE_CHILDREN: i32 = -1; -pub const RUSAGE_INFO_V0: u32 = 0; -pub const RUSAGE_INFO_V1: u32 = 1; -pub const RUSAGE_INFO_V2: u32 = 2; -pub const RUSAGE_INFO_V3: u32 = 3; -pub const RUSAGE_INFO_V4: u32 = 4; -pub const RUSAGE_INFO_CURRENT: u32 = 4; -pub const PROC_LISTPIDSPATH_PATH_IS_VOLUME: u32 = 1; -pub const PROC_LISTPIDSPATH_EXCLUDE_EVTONLY: u32 = 2; -pub const PROC_SETPC_NONE: u32 = 0; -pub const PROC_SETPC_THROTTLEMEM: u32 = 1; -pub const PROC_SETPC_SUSPEND: u32 = 2; -pub const PROC_SETPC_TERMINATE: u32 = 3; -pub type __int32_t = ::std::os::raw::c_int; -pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_longlong; -pub type __darwin_gid_t = __uint32_t; -pub type __darwin_off_t = __int64_t; -pub type __darwin_pid_t = __int32_t; -pub type __darwin_uid_t = __uint32_t; -pub type gid_t = __darwin_gid_t; -pub type pid_t = __darwin_pid_t; -pub type off_t = __darwin_off_t; -pub type uid_t = __darwin_uid_t; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct fsid { - pub val: [i32; 2usize], -} -#[test] -fn bindgen_test_layout_fsid() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(fsid)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(fsid)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).val as *const _ as usize }, - 0usize, - concat!("Offset of field: ", stringify!(fsid), "::", stringify!(val)) - ); -} -pub type fsid_t = fsid; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_bsdinfo { - pub pbi_flags: u32, - pub pbi_status: u32, - pub pbi_xstatus: u32, - pub pbi_pid: u32, - pub pbi_ppid: u32, - pub pbi_uid: uid_t, - pub pbi_gid: gid_t, - pub pbi_ruid: uid_t, - pub pbi_rgid: gid_t, - pub pbi_svuid: uid_t, - pub pbi_svgid: gid_t, - pub rfu_1: u32, - pub pbi_comm: [::std::os::raw::c_char; 16usize], - pub pbi_name: [::std::os::raw::c_char; 32usize], - pub pbi_nfiles: u32, - pub pbi_pgid: u32, - pub pbi_pjobc: u32, - pub e_tdev: u32, - pub e_tpgid: u32, - pub pbi_nice: i32, - pub pbi_start_tvsec: u64, - pub pbi_start_tvusec: u64, -} -#[test] -fn bindgen_test_layout_proc_bsdinfo() { - assert_eq!( - ::std::mem::size_of::(), - 136usize, - concat!("Size of: ", stringify!(proc_bsdinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_bsdinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_flags as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_status as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_status) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_xstatus as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_xstatus) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_pid as *const _ - as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_pid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_ppid as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_ppid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_uid as *const _ - as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_uid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_gid as *const _ - as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_gid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_ruid as *const _ - as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_ruid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_rgid as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_rgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_svuid as *const _ - as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_svuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_svgid as *const _ - as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_svgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).rfu_1 as *const _ as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(rfu_1) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_comm as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_comm) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_name as *const _ - as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_name) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_nfiles as *const _ - as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_nfiles) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_pgid as *const _ - as usize - }, - 100usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_pgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_pjobc as *const _ - as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_pjobc) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).e_tdev as *const _ as usize - }, - 108usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(e_tdev) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).e_tpgid as *const _ - as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(e_tpgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_nice as *const _ - as usize - }, - 116usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_nice) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_start_tvsec as *const _ - as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_start_tvsec) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbi_start_tvusec - as *const _ as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdinfo), - "::", - stringify!(pbi_start_tvusec) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_bsdshortinfo { - pub pbsi_pid: u32, - pub pbsi_ppid: u32, - pub pbsi_pgid: u32, - pub pbsi_status: u32, - pub pbsi_comm: [::std::os::raw::c_char; 16usize], - pub pbsi_flags: u32, - pub pbsi_uid: uid_t, - pub pbsi_gid: gid_t, - pub pbsi_ruid: uid_t, - pub pbsi_rgid: gid_t, - pub pbsi_svuid: uid_t, - pub pbsi_svgid: gid_t, - pub pbsi_rfu: u32, -} -#[test] -fn bindgen_test_layout_proc_bsdshortinfo() { - assert_eq!( - ::std::mem::size_of::(), - 64usize, - concat!("Size of: ", stringify!(proc_bsdshortinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_bsdshortinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_pid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_pid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_ppid as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_ppid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_pgid as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_pgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_status - as *const _ as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_status) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_comm as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_comm) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_flags as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_uid as *const _ - as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_uid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_gid as *const _ - as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_gid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_ruid as *const _ - as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_ruid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_rgid as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_rgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_svuid as *const _ - as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_svuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_svgid as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_svgid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsi_rfu as *const _ - as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(proc_bsdshortinfo), - "::", - stringify!(pbsi_rfu) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_taskinfo { - pub pti_virtual_size: u64, - pub pti_resident_size: u64, - pub pti_total_user: u64, - pub pti_total_system: u64, - pub pti_threads_user: u64, - pub pti_threads_system: u64, - pub pti_policy: i32, - pub pti_faults: i32, - pub pti_pageins: i32, - pub pti_cow_faults: i32, - pub pti_messages_sent: i32, - pub pti_messages_received: i32, - pub pti_syscalls_mach: i32, - pub pti_syscalls_unix: i32, - pub pti_csw: i32, - pub pti_threadnum: i32, - pub pti_numrunning: i32, - pub pti_priority: i32, -} -#[test] -fn bindgen_test_layout_proc_taskinfo() { - assert_eq!( - ::std::mem::size_of::(), - 96usize, - concat!("Size of: ", stringify!(proc_taskinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_taskinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_virtual_size - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_virtual_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_resident_size - as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_total_user as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_total_user) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_total_system - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_total_system) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_threads_user - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_threads_user) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_threads_system - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_threads_system) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_policy as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_policy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_faults as *const _ - as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_faults) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_pageins as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_cow_faults as *const _ - as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_cow_faults) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_messages_sent - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_messages_sent) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_messages_received - as *const _ as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_messages_received) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_syscalls_mach - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_syscalls_mach) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_syscalls_unix - as *const _ as usize - }, - 76usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_syscalls_unix) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_csw as *const _ - as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_csw) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_threadnum as *const _ - as usize - }, - 84usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_threadnum) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_numrunning as *const _ - as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_numrunning) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pti_priority as *const _ - as usize - }, - 92usize, - concat!( - "Offset of field: ", - stringify!(proc_taskinfo), - "::", - stringify!(pti_priority) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_taskallinfo { - pub pbsd: proc_bsdinfo, - pub ptinfo: proc_taskinfo, -} -#[test] -fn bindgen_test_layout_proc_taskallinfo() { - assert_eq!( - ::std::mem::size_of::(), - 232usize, - concat!("Size of: ", stringify!(proc_taskallinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_taskallinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pbsd as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_taskallinfo), - "::", - stringify!(pbsd) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ptinfo as *const _ - as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(proc_taskallinfo), - "::", - stringify!(ptinfo) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct proc_threadinfo { - pub pth_user_time: u64, - pub pth_system_time: u64, - pub pth_cpu_usage: i32, - pub pth_policy: i32, - pub pth_run_state: i32, - pub pth_flags: i32, - pub pth_sleep_time: i32, - pub pth_curpri: i32, - pub pth_priority: i32, - pub pth_maxpriority: i32, - pub pth_name: [::std::os::raw::c_char; 64usize], -} -#[test] -fn bindgen_test_layout_proc_threadinfo() { - assert_eq!( - ::std::mem::size_of::(), - 112usize, - concat!("Size of: ", stringify!(proc_threadinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_threadinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_user_time - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_system_time - as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_cpu_usage - as *const _ as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_cpu_usage) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_policy as *const _ - as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_policy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_run_state - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_run_state) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_flags as *const _ - as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_sleep_time - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_sleep_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_curpri as *const _ - as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_curpri) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_priority as *const _ - as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_priority) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_maxpriority - as *const _ as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_maxpriority) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pth_name as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(proc_threadinfo), - "::", - stringify!(pth_name) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_regioninfo { - pub pri_protection: u32, - pub pri_max_protection: u32, - pub pri_inheritance: u32, - pub pri_flags: u32, - pub pri_offset: u64, - pub pri_behavior: u32, - pub pri_user_wired_count: u32, - pub pri_user_tag: u32, - pub pri_pages_resident: u32, - pub pri_pages_shared_now_private: u32, - pub pri_pages_swapped_out: u32, - pub pri_pages_dirtied: u32, - pub pri_ref_count: u32, - pub pri_shadow_depth: u32, - pub pri_share_mode: u32, - pub pri_private_pages_resident: u32, - pub pri_shared_pages_resident: u32, - pub pri_obj_id: u32, - pub pri_depth: u32, - pub pri_address: u64, - pub pri_size: u64, -} -#[test] -fn bindgen_test_layout_proc_regioninfo() { - assert_eq!( - ::std::mem::size_of::(), - 96usize, - concat!("Size of: ", stringify!(proc_regioninfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_regioninfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_protection - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_protection) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_max_protection - as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_max_protection) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_inheritance - as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_inheritance) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_flags as *const _ - as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_offset as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_offset) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_behavior as *const _ - as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_behavior) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_user_wired_count - as *const _ as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_user_wired_count) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_user_tag as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_user_tag) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_pages_resident - as *const _ as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_pages_resident) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .pri_pages_shared_now_private as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_pages_shared_now_private) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_pages_swapped_out - as *const _ as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_pages_swapped_out) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_pages_dirtied - as *const _ as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_pages_dirtied) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_ref_count - as *const _ as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_ref_count) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_shadow_depth - as *const _ as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_shadow_depth) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_share_mode - as *const _ as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_share_mode) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .pri_private_pages_resident as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_private_pages_resident) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .pri_shared_pages_resident as *const _ as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_shared_pages_resident) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_obj_id as *const _ - as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_obj_id) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_depth as *const _ - as usize - }, - 76usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_depth) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_address as *const _ - as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_address) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pri_size as *const _ - as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(proc_regioninfo), - "::", - stringify!(pri_size) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_workqueueinfo { - pub pwq_nthreads: u32, - pub pwq_runthreads: u32, - pub pwq_blockedthreads: u32, - pub pwq_state: u32, -} -#[test] -fn bindgen_test_layout_proc_workqueueinfo() { - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(proc_workqueueinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_workqueueinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pwq_nthreads - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_workqueueinfo), - "::", - stringify!(pwq_nthreads) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pwq_runthreads - as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_workqueueinfo), - "::", - stringify!(pwq_runthreads) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pwq_blockedthreads - as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_workqueueinfo), - "::", - stringify!(pwq_blockedthreads) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pwq_state as *const _ - as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_workqueueinfo), - "::", - stringify!(pwq_state) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -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, -} -#[test] -fn bindgen_test_layout_proc_fileinfo() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(proc_fileinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_fileinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).fi_openflags as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_fileinfo), - "::", - stringify!(fi_openflags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).fi_status as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_fileinfo), - "::", - stringify!(fi_status) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).fi_offset as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(proc_fileinfo), - "::", - stringify!(fi_offset) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).fi_type as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(proc_fileinfo), - "::", - stringify!(fi_type) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).fi_guardflags as *const _ - as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(proc_fileinfo), - "::", - stringify!(fi_guardflags) - ) - ); -} -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct proc_exitreasonbasicinfo { - pub beri_namespace: u32, - pub beri_code: u64, - pub beri_flags: u64, - pub beri_reason_buf_size: u32, -} -#[test] -fn bindgen_test_layout_proc_exitreasonbasicinfo() { - assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(proc_exitreasonbasicinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(proc_exitreasonbasicinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).beri_namespace - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasonbasicinfo), - "::", - stringify!(beri_namespace) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).beri_code - as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasonbasicinfo), - "::", - stringify!(beri_code) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).beri_flags - as *const _ as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasonbasicinfo), - "::", - stringify!(beri_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .beri_reason_buf_size as *const _ as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasonbasicinfo), - "::", - stringify!(beri_reason_buf_size) - ) - ); -} -#[repr(C, packed)] -#[derive(Debug, Copy, Clone)] -pub struct proc_exitreasoninfo { - pub eri_namespace: u32, - pub eri_code: u64, - pub eri_flags: u64, - pub eri_reason_buf_size: u32, - pub eri_kcd_buf: u64, -} -#[test] -fn bindgen_test_layout_proc_exitreasoninfo() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(proc_exitreasoninfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 1usize, - concat!("Alignment of ", stringify!(proc_exitreasoninfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).eri_namespace - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasoninfo), - "::", - stringify!(eri_namespace) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).eri_code as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasoninfo), - "::", - stringify!(eri_code) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).eri_flags - as *const _ as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasoninfo), - "::", - stringify!(eri_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).eri_reason_buf_size - as *const _ as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasoninfo), - "::", - stringify!(eri_reason_buf_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).eri_kcd_buf - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(proc_exitreasoninfo), - "::", - stringify!(eri_kcd_buf) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -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; 2usize], -} -#[test] -fn bindgen_test_layout_vinfo_stat() { - assert_eq!( - ::std::mem::size_of::(), - 136usize, - concat!("Size of: ", stringify!(vinfo_stat)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(vinfo_stat)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_dev as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_dev) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_mode as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_mode) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_nlink as *const _ - as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_nlink) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_ino as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_ino) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_uid as *const _ as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_uid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_gid as *const _ as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_gid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_atime as *const _ - as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_atime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_atimensec as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_atimensec) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_mtime as *const _ - as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_mtime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_mtimensec as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_mtimensec) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_ctime as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_ctime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_ctimensec as *const _ - as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_ctimensec) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_birthtime as *const _ - as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_birthtime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_birthtimensec as *const _ - as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_birthtimensec) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_size as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_blocks as *const _ - as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_blocks) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_blksize as *const _ - as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_blksize) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_flags as *const _ - as usize - }, - 108usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_gen as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_gen) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_rdev as *const _ as usize - }, - 116usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_rdev) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vst_qspare as *const _ - as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(vinfo_stat), - "::", - stringify!(vst_qspare) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct vnode_info { - pub vi_stat: vinfo_stat, - pub vi_type: ::std::os::raw::c_int, - pub vi_pad: ::std::os::raw::c_int, - pub vi_fsid: fsid_t, -} -#[test] -fn bindgen_test_layout_vnode_info() { - assert_eq!( - ::std::mem::size_of::(), - 152usize, - concat!("Size of: ", stringify!(vnode_info)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(vnode_info)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vi_stat as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(vnode_info), - "::", - stringify!(vi_stat) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vi_type as *const _ as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(vnode_info), - "::", - stringify!(vi_type) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vi_pad as *const _ as usize - }, - 140usize, - concat!( - "Offset of field: ", - stringify!(vnode_info), - "::", - stringify!(vi_pad) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vi_fsid as *const _ as usize - }, - 144usize, - concat!( - "Offset of field: ", - stringify!(vnode_info), - "::", - stringify!(vi_fsid) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct vnode_info_path { - pub vip_vi: vnode_info, - pub vip_path: [::std::os::raw::c_char; 1024usize], -} -#[test] -fn bindgen_test_layout_vnode_info_path() { - assert_eq!( - ::std::mem::size_of::(), - 1176usize, - concat!("Size of: ", stringify!(vnode_info_path)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(vnode_info_path)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vip_vi as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(vnode_info_path), - "::", - stringify!(vip_vi) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).vip_path as *const _ - as usize - }, - 152usize, - concat!( - "Offset of field: ", - stringify!(vnode_info_path), - "::", - stringify!(vip_path) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct proc_regionwithpathinfo { - pub prp_prinfo: proc_regioninfo, - pub prp_vip: vnode_info_path, -} -#[test] -fn bindgen_test_layout_proc_regionwithpathinfo() { - assert_eq!( - ::std::mem::size_of::(), - 1272usize, - concat!("Size of: ", stringify!(proc_regionwithpathinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_regionwithpathinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).prp_prinfo - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_regionwithpathinfo), - "::", - stringify!(prp_prinfo) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).prp_vip - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(proc_regionwithpathinfo), - "::", - stringify!(prp_vip) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct proc_vnodepathinfo { - pub pvi_cdir: vnode_info_path, - pub pvi_rdir: vnode_info_path, -} -#[test] -fn bindgen_test_layout_proc_vnodepathinfo() { - assert_eq!( - ::std::mem::size_of::(), - 2352usize, - concat!("Size of: ", stringify!(proc_vnodepathinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_vnodepathinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pvi_cdir as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_vnodepathinfo), - "::", - stringify!(pvi_cdir) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pvi_rdir as *const _ - as usize - }, - 1176usize, - concat!( - "Offset of field: ", - stringify!(proc_vnodepathinfo), - "::", - stringify!(pvi_rdir) - ) - ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub struct proc_threadwithpathinfo { - pub pt: proc_threadinfo, - pub pvip: vnode_info_path, -} -#[test] -fn bindgen_test_layout_proc_threadwithpathinfo() { - assert_eq!( - ::std::mem::size_of::(), - 1288usize, - concat!("Size of: ", stringify!(proc_threadwithpathinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(proc_threadwithpathinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pt as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_threadwithpathinfo), - "::", - stringify!(pt) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).pvip as *const _ - as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(proc_threadwithpathinfo), - "::", - stringify!(pvip) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_fdinfo { - pub proc_fd: i32, - pub proc_fdtype: u32, -} -#[test] -fn bindgen_test_layout_proc_fdinfo() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(proc_fdinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_fdinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).proc_fd as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_fdinfo), - "::", - stringify!(proc_fd) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).proc_fdtype as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_fdinfo), - "::", - stringify!(proc_fdtype) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_fileportinfo { - pub proc_fileport: u32, - pub proc_fdtype: u32, -} -#[test] -fn bindgen_test_layout_proc_fileportinfo() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(proc_fileportinfo)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_fileportinfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).proc_fileport - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_fileportinfo), - "::", - stringify!(proc_fileport) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).proc_fdtype - as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_fileportinfo), - "::", - stringify!(proc_fdtype) - ) - ); -} -pub type rusage_info_t = *mut ::std::os::raw::c_void; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct rusage_info_v0 { - pub ri_uuid: [u8; 16usize], - pub ri_user_time: u64, - pub ri_system_time: u64, - pub ri_pkg_idle_wkups: u64, - pub ri_interrupt_wkups: u64, - pub ri_pageins: u64, - pub ri_wired_size: u64, - pub ri_resident_size: u64, - pub ri_phys_footprint: u64, - pub ri_proc_start_abstime: u64, - pub ri_proc_exit_abstime: u64, -} -#[test] -fn bindgen_test_layout_rusage_info_v0() { - assert_eq!( - ::std::mem::size_of::(), - 96usize, - concat!("Size of: ", stringify!(rusage_info_v0)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(rusage_info_v0)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_uuid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_uuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_user_time as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_system_time - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pageins as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_wired_size as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_wired_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_resident_size - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_proc_start_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v0), - "::", - stringify!(ri_proc_exit_abstime) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct rusage_info_v1 { - pub ri_uuid: [u8; 16usize], - pub ri_user_time: u64, - pub ri_system_time: u64, - pub ri_pkg_idle_wkups: u64, - pub ri_interrupt_wkups: u64, - pub ri_pageins: u64, - pub ri_wired_size: u64, - pub ri_resident_size: u64, - pub ri_phys_footprint: u64, - pub ri_proc_start_abstime: u64, - pub ri_proc_exit_abstime: u64, - pub ri_child_user_time: u64, - pub ri_child_system_time: u64, - pub ri_child_pkg_idle_wkups: u64, - pub ri_child_interrupt_wkups: u64, - pub ri_child_pageins: u64, - pub ri_child_elapsed_abstime: u64, -} -#[test] -fn bindgen_test_layout_rusage_info_v1() { - assert_eq!( - ::std::mem::size_of::(), - 144usize, - concat!("Size of: ", stringify!(rusage_info_v1)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(rusage_info_v1)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_uuid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_uuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_user_time as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_system_time - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pageins as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_wired_size as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_wired_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_resident_size - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_proc_start_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_proc_exit_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time - as *const _ as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups - as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups - as *const _ as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pageins - as *const _ as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime - as *const _ as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v1), - "::", - stringify!(ri_child_elapsed_abstime) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct rusage_info_v2 { - pub ri_uuid: [u8; 16usize], - pub ri_user_time: u64, - pub ri_system_time: u64, - pub ri_pkg_idle_wkups: u64, - pub ri_interrupt_wkups: u64, - pub ri_pageins: u64, - pub ri_wired_size: u64, - pub ri_resident_size: u64, - pub ri_phys_footprint: u64, - pub ri_proc_start_abstime: u64, - pub ri_proc_exit_abstime: u64, - pub ri_child_user_time: u64, - pub ri_child_system_time: u64, - pub ri_child_pkg_idle_wkups: u64, - pub ri_child_interrupt_wkups: u64, - pub ri_child_pageins: u64, - pub ri_child_elapsed_abstime: u64, - pub ri_diskio_bytesread: u64, - pub ri_diskio_byteswritten: u64, -} -#[test] -fn bindgen_test_layout_rusage_info_v2() { - assert_eq!( - ::std::mem::size_of::(), - 160usize, - concat!("Size of: ", stringify!(rusage_info_v2)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(rusage_info_v2)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_uuid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_uuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_user_time as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_system_time - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pageins as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_wired_size as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_wired_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_resident_size - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_proc_start_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_proc_exit_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time - as *const _ as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups - as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups - as *const _ as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pageins - as *const _ as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime - as *const _ as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_child_elapsed_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread - as *const _ as usize - }, - 144usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_diskio_bytesread) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten - as *const _ as usize - }, - 152usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v2), - "::", - stringify!(ri_diskio_byteswritten) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct rusage_info_v3 { - pub ri_uuid: [u8; 16usize], - pub ri_user_time: u64, - pub ri_system_time: u64, - pub ri_pkg_idle_wkups: u64, - pub ri_interrupt_wkups: u64, - pub ri_pageins: u64, - pub ri_wired_size: u64, - pub ri_resident_size: u64, - pub ri_phys_footprint: u64, - pub ri_proc_start_abstime: u64, - pub ri_proc_exit_abstime: u64, - pub ri_child_user_time: u64, - pub ri_child_system_time: u64, - pub ri_child_pkg_idle_wkups: u64, - pub ri_child_interrupt_wkups: u64, - pub ri_child_pageins: u64, - pub ri_child_elapsed_abstime: u64, - pub ri_diskio_bytesread: u64, - pub ri_diskio_byteswritten: u64, - pub ri_cpu_time_qos_default: u64, - pub ri_cpu_time_qos_maintenance: u64, - pub ri_cpu_time_qos_background: u64, - pub ri_cpu_time_qos_utility: u64, - pub ri_cpu_time_qos_legacy: u64, - pub ri_cpu_time_qos_user_initiated: u64, - pub ri_cpu_time_qos_user_interactive: u64, - pub ri_billed_system_time: u64, - pub ri_serviced_system_time: u64, -} -#[test] -fn bindgen_test_layout_rusage_info_v3() { - assert_eq!( - ::std::mem::size_of::(), - 232usize, - concat!("Size of: ", stringify!(rusage_info_v3)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(rusage_info_v3)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_uuid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_uuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_user_time as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_system_time - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pageins as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_wired_size as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_wired_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_resident_size - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_proc_start_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_proc_exit_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time - as *const _ as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups - as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups - as *const _ as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pageins - as *const _ as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime - as *const _ as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_child_elapsed_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread - as *const _ as usize - }, - 144usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_diskio_bytesread) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten - as *const _ as usize - }, - 152usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_diskio_byteswritten) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_default - as *const _ as usize - }, - 160usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_default) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_maintenance as *const _ as usize - }, - 168usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_maintenance) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_background as *const _ as usize - }, - 176usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_background) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_utility - as *const _ as usize - }, - 184usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_utility) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy - as *const _ as usize - }, - 192usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_legacy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_user_initiated as *const _ as usize - }, - 200usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_user_initiated) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_user_interactive as *const _ - as usize - }, - 208usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_cpu_time_qos_user_interactive) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_system_time - as *const _ as usize - }, - 216usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_billed_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_system_time - as *const _ as usize - }, - 224usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v3), - "::", - stringify!(ri_serviced_system_time) - ) - ); -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct rusage_info_v4 { - pub ri_uuid: [u8; 16usize], - pub ri_user_time: u64, - pub ri_system_time: u64, - pub ri_pkg_idle_wkups: u64, - pub ri_interrupt_wkups: u64, - pub ri_pageins: u64, - pub ri_wired_size: u64, - pub ri_resident_size: u64, - pub ri_phys_footprint: u64, - pub ri_proc_start_abstime: u64, - pub ri_proc_exit_abstime: u64, - pub ri_child_user_time: u64, - pub ri_child_system_time: u64, - pub ri_child_pkg_idle_wkups: u64, - pub ri_child_interrupt_wkups: u64, - pub ri_child_pageins: u64, - pub ri_child_elapsed_abstime: u64, - pub ri_diskio_bytesread: u64, - pub ri_diskio_byteswritten: u64, - pub ri_cpu_time_qos_default: u64, - pub ri_cpu_time_qos_maintenance: u64, - pub ri_cpu_time_qos_background: u64, - pub ri_cpu_time_qos_utility: u64, - pub ri_cpu_time_qos_legacy: u64, - pub ri_cpu_time_qos_user_initiated: u64, - pub ri_cpu_time_qos_user_interactive: u64, - pub ri_billed_system_time: u64, - pub ri_serviced_system_time: u64, - pub ri_logical_writes: u64, - pub ri_lifetime_max_phys_footprint: u64, - pub ri_instructions: u64, - pub ri_cycles: u64, - pub ri_billed_energy: u64, - pub ri_serviced_energy: u64, - pub ri_unused: [u64; 2usize], -} -#[test] -fn bindgen_test_layout_rusage_info_v4() { - assert_eq!( - ::std::mem::size_of::(), - 296usize, - concat!("Size of: ", stringify!(rusage_info_v4)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(rusage_info_v4)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_uuid as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_uuid) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_user_time as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_system_time - as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pkg_idle_wkups - as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_interrupt_wkups - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_pageins as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_wired_size as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_wired_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_resident_size - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_resident_size) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_phys_footprint - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_start_abstime - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_proc_start_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_proc_exit_abstime - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_proc_exit_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_user_time - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_user_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_system_time - as *const _ as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pkg_idle_wkups - as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_pkg_idle_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_interrupt_wkups - as *const _ as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_interrupt_wkups) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_pageins - as *const _ as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_pageins) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_child_elapsed_abstime - as *const _ as usize - }, - 136usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_child_elapsed_abstime) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_bytesread - as *const _ as usize - }, - 144usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_diskio_bytesread) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_diskio_byteswritten - as *const _ as usize - }, - 152usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_diskio_byteswritten) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_default - as *const _ as usize - }, - 160usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_default) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_maintenance as *const _ as usize - }, - 168usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_maintenance) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_background as *const _ as usize - }, - 176usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_background) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_utility - as *const _ as usize - }, - 184usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_utility) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cpu_time_qos_legacy - as *const _ as usize - }, - 192usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_legacy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_user_initiated as *const _ as usize - }, - 200usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_user_initiated) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_cpu_time_qos_user_interactive as *const _ - as usize - }, - 208usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cpu_time_qos_user_interactive) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_system_time - as *const _ as usize - }, - 216usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_billed_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_system_time - as *const _ as usize - }, - 224usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_serviced_system_time) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_logical_writes - as *const _ as usize - }, - 232usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_logical_writes) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())) - .ri_lifetime_max_phys_footprint as *const _ as usize - }, - 240usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_lifetime_max_phys_footprint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_instructions - as *const _ as usize - }, - 248usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_instructions) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_cycles as *const _ - as usize - }, - 256usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_cycles) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_billed_energy - as *const _ as usize - }, - 264usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_billed_energy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_serviced_energy - as *const _ as usize - }, - 272usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_serviced_energy) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).ri_unused as *const _ - as usize - }, - 280usize, - concat!( - "Offset of field: ", - stringify!(rusage_info_v4), - "::", - stringify!(ri_unused) - ) - ); -} -pub type rusage_info_current = rusage_info_v4; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct proc_rlimit_control_wakeupmon { - pub wm_flags: u32, - pub wm_rate: i32, -} -#[test] -fn bindgen_test_layout_proc_rlimit_control_wakeupmon() { - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(proc_rlimit_control_wakeupmon)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(proc_rlimit_control_wakeupmon)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).wm_flags - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(proc_rlimit_control_wakeupmon), - "::", - stringify!(wm_flags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::())).wm_rate - as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(proc_rlimit_control_wakeupmon), - "::", - stringify!(wm_rate) - ) - ); -} -extern "C" { - #[doc = "@function proc_listpidspath"] - #[doc = "@discussion A function which will search through the current"] - #[doc = "processes looking for open file references which match"] - #[doc = "a specified path or volume."] - #[doc = "@param type types of processes to be searched (see proc_listpids)"] - #[doc = "@param typeinfo adjunct information for type"] - #[doc = "@param path file or volume path"] - #[doc = "@param pathflags flags to control which files should be considered"] - #[doc = "during the process search."] - #[doc = "@param buffer a C array of int-sized values to be filled with"] - #[doc = "process identifiers that hold an open file reference"] - #[doc = "matching the specified path or volume. Pass NULL to"] - #[doc = "obtain the minimum buffer size needed to hold the"] - #[doc = "currently active processes."] - #[doc = "@param buffersize the size (in bytes) of the provided buffer."] - #[doc = "@result the number of bytes of data returned in the provided buffer;"] - #[doc = "-1 if an error was encountered;"] - pub fn proc_listpidspath( - type_: u32, - typeinfo: u32, - path: *const ::std::os::raw::c_char, - pathflags: u32, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_listpids( - type_: u32, - typeinfo: u32, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_listallpids( - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_listpgrppids( - pgrpid: pid_t, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_listchildpids( - ppid: pid_t, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_pidinfo( - pid: ::std::os::raw::c_int, - flavor: ::std::os::raw::c_int, - arg: u64, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_pidfdinfo( - pid: ::std::os::raw::c_int, - fd: ::std::os::raw::c_int, - flavor: ::std::os::raw::c_int, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_pidfileportinfo( - pid: ::std::os::raw::c_int, - fileport: u32, - flavor: ::std::os::raw::c_int, - buffer: *mut ::std::os::raw::c_void, - buffersize: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_name( - pid: ::std::os::raw::c_int, - buffer: *mut ::std::os::raw::c_void, - buffersize: u32, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_regionfilename( - pid: ::std::os::raw::c_int, - address: u64, - buffer: *mut ::std::os::raw::c_void, - buffersize: u32, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_kmsgbuf( - buffer: *mut ::std::os::raw::c_void, - buffersize: u32, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_pidpath( - pid: ::std::os::raw::c_int, - buffer: *mut ::std::os::raw::c_void, - buffersize: u32, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_libversion( - major: *mut ::std::os::raw::c_int, - minor: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_pid_rusage( - pid: ::std::os::raw::c_int, - flavor: ::std::os::raw::c_int, - buffer: *mut rusage_info_t, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_setpcontrol( - control: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_track_dirty(pid: pid_t, flags: u32) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_set_dirty(pid: pid_t, dirty: bool) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_get_dirty(pid: pid_t, flags: *mut u32) - -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_clear_dirty(pid: pid_t, flags: u32) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn proc_terminate( - pid: pid_t, - sig: *mut ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; -} diff --git a/darwin-libproc-sys/src/lib.rs b/darwin-libproc-sys/src/lib.rs index f0136bf..b4d15fd 100644 --- a/darwin-libproc-sys/src/lib.rs +++ b/darwin-libproc-sys/src/lib.rs @@ -1,4 +1,3 @@ #![cfg(any(target_os = "macos", target_os = "ios"))] #![allow(non_upper_case_globals, non_camel_case_types, non_snake_case)] - -include!("generated.rs"); +include!(concat!(env!("OUT_DIR"), "/bindings.rs")); diff --git a/darwin-libproc-sys/wrapper.h b/darwin-libproc-sys/wrapper.h index 4abbcba..9183b4f 100644 --- a/darwin-libproc-sys/wrapper.h +++ b/darwin-libproc-sys/wrapper.h @@ -1,6 +1,6 @@ /** * This file is used in combination with `bindgen` tool, - * see `build.sh` file for details. + * see `build.rs` file for details. */ #define __APPLE__ 1