pub type nto_job_t = ::sync_t; s! { pub struct intrspin { pub value: ::c_uint, // volatile } pub struct iov_t { pub iov_base: *mut ::c_void, // union pub iov_len: ::size_t, } pub struct _itimer { pub nsec: u64, pub interval_nsec: u64, } pub struct _msg_info64 { pub nd: u32, pub srcnd: u32, pub pid: ::pid_t, pub tid: i32, pub chid: i32, pub scoid: i32, pub coid: i32, pub priority: i16, pub flags: i16, pub msglen: isize, pub srcmsglen: isize, pub dstmsglen: isize, pub type_id: u32, reserved: u32, } pub struct _cred_info { pub ruid: ::uid_t, pub euid: ::uid_t, pub suid: ::uid_t, pub rgid: ::gid_t, pub egid: ::gid_t, pub sgid: ::gid_t, pub ngroups: u32, pub grouplist: [::gid_t; 8], } pub struct _client_info { pub nd: u32, pub pid: ::pid_t, pub sid: ::pid_t, pub flags: u32, pub cred: ::_cred_info, } pub struct _client_able { pub ability: u32, pub flags: u32, pub range_lo: u64, pub range_hi: u64, } pub struct nto_channel_config { pub event: ::sigevent, pub num_pulses: ::c_uint, pub rearm_threshold: ::c_uint, pub options: ::c_uint, reserved: [::c_uint; 3], } // TODO: The following structures are defined in a header file which doesn't // appear as part of the default headers found in a standard installation // of Neutrino 7.1 SDP. Commented out for now. //pub struct _asyncmsg_put_header { // pub err: ::c_int, // pub iov: *mut ::iov_t, // pub parts: ::c_int, // pub handle: ::c_uint, // pub cb: ::Option< // unsafe extern "C" fn( // err: ::c_int, // buf: *mut ::c_void, // handle: ::c_uint, // ) -> ::c_int>, // pub put_hdr_flags: ::c_uint, //} //pub struct _asyncmsg_connection_attr { // pub call_back: ::Option< // unsafe extern "C" fn( // err: ::c_int, // buff: *mut ::c_void, // handle: ::c_uint, // ) -> ::c_int>, // pub buffer_size: ::size_t, // pub max_num_buffer: ::c_uint, // pub trigger_num_msg: ::c_uint, // pub trigger_time: ::_itimer, // reserve: ::c_uint, //} //pub struct _asyncmsg_connection_descriptor { // pub flags: ::c_uint, // pub sendq_size: ::c_uint, // pub sendq_head: ::c_uint, // pub sendq_tail: ::c_uint, // pub sendq_free: ::c_uint, // pub err: ::c_int, // pub ev: ::sigevent, // pub num_curmsg: ::c_uint, // pub ttimer: ::timer_t, // pub block_con: ::pthread_cond_t, // pub mu: ::pthread_mutex_t, // reserved: ::c_uint, // pub attr: ::_asyncmsg_connection_attr, // pub reserves: [::c_uint; 3], // pub sendq: [::_asyncmsg_put_header; 1], // flexarray //} pub struct __c_anonymous_struct_ev { pub event: ::sigevent, pub coid: ::c_int, } pub struct _channel_connect_attr { // union pub ev: ::__c_anonymous_struct_ev, } pub struct _sighandler_info { pub siginfo: ::siginfo_t, pub handler: ::Option, pub context: *mut ::c_void, } pub struct __c_anonymous_struct_time { pub length: ::c_uint, pub scale: ::c_uint, } pub struct _idle_hook { pub hook_size: ::c_uint, pub cmd: ::c_uint, pub mode: ::c_uint, pub latency: ::c_uint, pub next_fire: u64, pub curr_time: u64, pub tod_adjust: u64, pub resp: ::c_uint, pub time: __c_anonymous_struct_time, pub trigger: ::sigevent, pub intrs: *mut ::c_uint, pub block_stack_size: ::c_uint, } pub struct _clockadjust { pub tick_count: u32, pub tick_nsec_inc: i32, } pub struct qtime_entry { pub cycles_per_sec: u64, pub nsec_tod_adjust: u64, // volatile pub nsec: u64, // volatile pub nsec_inc: u32, pub boot_time: u32, pub adjust: _clockadjust, pub timer_rate: u32, pub timer_scale: i32, pub timer_load: u32, pub intr: i32, pub epoch: u32, pub flags: u32, pub rr_interval_mul: u32, pub timer_load_hi: u32, pub nsec_stable: u64, // volatile pub timer_load_max: u64, pub timer_prog_time: u32, spare: [u32; 7], } pub struct _sched_info { pub priority_min: ::c_int, pub priority_max: ::c_int, pub interval: u64, pub priority_priv: ::c_int, reserved: [::c_int; 11], } pub struct _timer_info { pub itime: ::_itimer, pub otime: ::_itimer, pub flags: u32, pub tid: i32, pub notify: i32, pub clockid: ::clockid_t, pub overruns: u32, pub event: ::sigevent, // union } pub struct _clockperiod { pub nsec: u32, pub fract: i32, } } s_no_extra_traits! { pub struct syspage_entry_info { pub entry_off: u16, pub entry_size: u16, } pub struct syspage_array_info { entry_off: u16, entry_size: u16, element_size: u16, } #[repr(align(8))] pub struct syspage_entry { pub size: u16, pub total_size: u16, pub type_: u16, pub num_cpu: u16, pub system_private: syspage_entry_info, pub old_asinfo: syspage_entry_info, pub __mangle_name_to_cause_compilation_errs_meminfo: syspage_entry_info, pub hwinfo: syspage_entry_info, pub old_cpuinfo: syspage_entry_info, pub old_cacheattr: syspage_entry_info, pub qtime: syspage_entry_info, pub callout: syspage_entry_info, pub callin: syspage_entry_info, pub typed_strings: syspage_entry_info, pub strings: syspage_entry_info, pub old_intrinfo: syspage_entry_info, pub smp: syspage_entry_info, pub pminfo: syspage_entry_info, pub old_mdriver: syspage_entry_info, spare0: [u32; 1], __reserved: [u8; 160], // anonymous union with architecture dependent structs pub new_asinfo: syspage_array_info, pub new_cpuinfo: syspage_array_info, pub new_cacheattr: syspage_array_info, pub new_intrinfo: syspage_array_info, pub new_mdriver: syspage_array_info, } } pub const SYSMGR_PID: u32 = 1; pub const SYSMGR_CHID: u32 = 1; pub const SYSMGR_COID: u32 = _NTO_SIDE_CHANNEL; pub const SYSMGR_HANDLE: u32 = 0; pub const STATE_DEAD: ::c_int = 0x00; pub const STATE_RUNNING: ::c_int = 0x01; pub const STATE_READY: ::c_int = 0x02; pub const STATE_STOPPED: ::c_int = 0x03; pub const STATE_SEND: ::c_int = 0x04; pub const STATE_RECEIVE: ::c_int = 0x05; pub const STATE_REPLY: ::c_int = 0x06; pub const STATE_STACK: ::c_int = 0x07; pub const STATE_WAITTHREAD: ::c_int = 0x08; pub const STATE_WAITPAGE: ::c_int = 0x09; pub const STATE_SIGSUSPEND: ::c_int = 0x0a; pub const STATE_SIGWAITINFO: ::c_int = 0x0b; pub const STATE_NANOSLEEP: ::c_int = 0x0c; pub const STATE_MUTEX: ::c_int = 0x0d; pub const STATE_CONDVAR: ::c_int = 0x0e; pub const STATE_JOIN: ::c_int = 0x0f; pub const STATE_INTR: ::c_int = 0x10; pub const STATE_SEM: ::c_int = 0x11; pub const STATE_WAITCTX: ::c_int = 0x12; pub const STATE_NET_SEND: ::c_int = 0x13; pub const STATE_NET_REPLY: ::c_int = 0x14; pub const STATE_MAX: ::c_int = 0x18; pub const _NTO_TIMEOUT_RECEIVE: i32 = 1 << STATE_RECEIVE; pub const _NTO_TIMEOUT_SEND: i32 = 1 << STATE_SEND; pub const _NTO_TIMEOUT_REPLY: i32 = 1 << STATE_REPLY; pub const _NTO_TIMEOUT_SIGSUSPEND: i32 = 1 << STATE_SIGSUSPEND; pub const _NTO_TIMEOUT_SIGWAITINFO: i32 = 1 << STATE_SIGWAITINFO; pub const _NTO_TIMEOUT_NANOSLEEP: i32 = 1 << STATE_NANOSLEEP; pub const _NTO_TIMEOUT_MUTEX: i32 = 1 << STATE_MUTEX; pub const _NTO_TIMEOUT_CONDVAR: i32 = 1 << STATE_CONDVAR; pub const _NTO_TIMEOUT_JOIN: i32 = 1 << STATE_JOIN; pub const _NTO_TIMEOUT_INTR: i32 = 1 << STATE_INTR; pub const _NTO_TIMEOUT_SEM: i32 = 1 << STATE_SEM; pub const _NTO_MI_ENDIAN_BIG: u32 = 1; pub const _NTO_MI_ENDIAN_DIFF: u32 = 2; pub const _NTO_MI_UNBLOCK_REQ: u32 = 256; pub const _NTO_MI_NET_CRED_DIRTY: u32 = 512; pub const _NTO_MI_CONSTRAINED: u32 = 1024; pub const _NTO_MI_CHROOT: u32 = 2048; pub const _NTO_MI_BITS_64: u32 = 4096; pub const _NTO_MI_BITS_DIFF: u32 = 8192; pub const _NTO_MI_SANDBOX: u32 = 16384; pub const _NTO_CI_ENDIAN_BIG: u32 = 1; pub const _NTO_CI_BKGND_PGRP: u32 = 4; pub const _NTO_CI_ORPHAN_PGRP: u32 = 8; pub const _NTO_CI_STOPPED: u32 = 128; pub const _NTO_CI_UNABLE: u32 = 256; pub const _NTO_CI_TYPE_ID: u32 = 512; pub const _NTO_CI_CHROOT: u32 = 2048; pub const _NTO_CI_BITS_64: u32 = 4096; pub const _NTO_CI_SANDBOX: u32 = 16384; pub const _NTO_CI_LOADER: u32 = 32768; pub const _NTO_CI_FULL_GROUPS: u32 = 2147483648; pub const _NTO_TI_ACTIVE: u32 = 1; pub const _NTO_TI_ABSOLUTE: u32 = 2; pub const _NTO_TI_EXPIRED: u32 = 4; pub const _NTO_TI_TOD_BASED: u32 = 8; pub const _NTO_TI_TARGET_PROCESS: u32 = 16; pub const _NTO_TI_REPORT_TOLERANCE: u32 = 32; pub const _NTO_TI_PRECISE: u32 = 64; pub const _NTO_TI_TOLERANT: u32 = 128; pub const _NTO_TI_WAKEUP: u32 = 256; pub const _NTO_TI_PROCESS_TOLERANT: u32 = 512; pub const _NTO_TI_HIGH_RESOLUTION: u32 = 1024; pub const _PULSE_TYPE: u32 = 0; pub const _PULSE_SUBTYPE: u32 = 0; pub const _PULSE_CODE_UNBLOCK: i32 = -32; pub const _PULSE_CODE_DISCONNECT: i32 = -33; pub const _PULSE_CODE_THREADDEATH: i32 = -34; pub const _PULSE_CODE_COIDDEATH: i32 = -35; pub const _PULSE_CODE_NET_ACK: i32 = -36; pub const _PULSE_CODE_NET_UNBLOCK: i32 = -37; pub const _PULSE_CODE_NET_DETACH: i32 = -38; pub const _PULSE_CODE_RESTART: i32 = -39; pub const _PULSE_CODE_NORESTART: i32 = -40; pub const _PULSE_CODE_UNBLOCK_RESTART: i32 = -41; pub const _PULSE_CODE_UNBLOCK_TIMER: i32 = -42; pub const _PULSE_CODE_MINAVAIL: u32 = 0; pub const _PULSE_CODE_MAXAVAIL: u32 = 127; pub const _NTO_HARD_FLAGS_END: u32 = 1; pub const _NTO_PULSE_IF_UNIQUE: u32 = 4096; pub const _NTO_PULSE_REPLACE: u32 = 8192; pub const _NTO_PF_NOCLDSTOP: u32 = 1; pub const _NTO_PF_LOADING: u32 = 2; pub const _NTO_PF_TERMING: u32 = 4; pub const _NTO_PF_ZOMBIE: u32 = 8; pub const _NTO_PF_NOZOMBIE: u32 = 16; pub const _NTO_PF_FORKED: u32 = 32; pub const _NTO_PF_ORPHAN_PGRP: u32 = 64; pub const _NTO_PF_STOPPED: u32 = 128; pub const _NTO_PF_DEBUG_STOPPED: u32 = 256; pub const _NTO_PF_BKGND_PGRP: u32 = 512; pub const _NTO_PF_NOISYNC: u32 = 1024; pub const _NTO_PF_CONTINUED: u32 = 2048; pub const _NTO_PF_CHECK_INTR: u32 = 4096; pub const _NTO_PF_COREDUMP: u32 = 8192; pub const _NTO_PF_RING0: u32 = 32768; pub const _NTO_PF_SLEADER: u32 = 65536; pub const _NTO_PF_WAITINFO: u32 = 131072; pub const _NTO_PF_DESTROYALL: u32 = 524288; pub const _NTO_PF_NOCOREDUMP: u32 = 1048576; pub const _NTO_PF_WAITDONE: u32 = 4194304; pub const _NTO_PF_TERM_WAITING: u32 = 8388608; pub const _NTO_PF_ASLR: u32 = 16777216; pub const _NTO_PF_EXECED: u32 = 33554432; pub const _NTO_PF_APP_STOPPED: u32 = 67108864; pub const _NTO_PF_64BIT: u32 = 134217728; pub const _NTO_PF_NET: u32 = 268435456; pub const _NTO_PF_NOLAZYSTACK: u32 = 536870912; pub const _NTO_PF_NOEXEC_STACK: u32 = 1073741824; pub const _NTO_PF_LOADER_PERMS: u32 = 2147483648; pub const _NTO_TF_INTR_PENDING: u32 = 65536; pub const _NTO_TF_DETACHED: u32 = 131072; pub const _NTO_TF_SHR_MUTEX: u32 = 262144; pub const _NTO_TF_SHR_MUTEX_EUID: u32 = 524288; pub const _NTO_TF_THREADS_HOLD: u32 = 1048576; pub const _NTO_TF_UNBLOCK_REQ: u32 = 4194304; pub const _NTO_TF_ALIGN_FAULT: u32 = 16777216; pub const _NTO_TF_SSTEP: u32 = 33554432; pub const _NTO_TF_ALLOCED_STACK: u32 = 67108864; pub const _NTO_TF_NOMULTISIG: u32 = 134217728; pub const _NTO_TF_LOW_LATENCY: u32 = 268435456; pub const _NTO_TF_IOPRIV: u32 = 2147483648; pub const _NTO_TCTL_IO_PRIV: u32 = 1; pub const _NTO_TCTL_THREADS_HOLD: u32 = 2; pub const _NTO_TCTL_THREADS_CONT: u32 = 3; pub const _NTO_TCTL_RUNMASK: u32 = 4; pub const _NTO_TCTL_ALIGN_FAULT: u32 = 5; pub const _NTO_TCTL_RUNMASK_GET_AND_SET: u32 = 6; pub const _NTO_TCTL_PERFCOUNT: u32 = 7; pub const _NTO_TCTL_ONE_THREAD_HOLD: u32 = 8; pub const _NTO_TCTL_ONE_THREAD_CONT: u32 = 9; pub const _NTO_TCTL_RUNMASK_GET_AND_SET_INHERIT: u32 = 10; pub const _NTO_TCTL_NAME: u32 = 11; pub const _NTO_TCTL_RCM_GET_AND_SET: u32 = 12; pub const _NTO_TCTL_SHR_MUTEX: u32 = 13; pub const _NTO_TCTL_IO: u32 = 14; pub const _NTO_TCTL_NET_KIF_GET_AND_SET: u32 = 15; pub const _NTO_TCTL_LOW_LATENCY: u32 = 16; pub const _NTO_TCTL_ADD_EXIT_EVENT: u32 = 17; pub const _NTO_TCTL_DEL_EXIT_EVENT: u32 = 18; pub const _NTO_TCTL_IO_LEVEL: u32 = 19; pub const _NTO_TCTL_RESERVED: u32 = 2147483648; pub const _NTO_TCTL_IO_LEVEL_INHERIT: u32 = 1073741824; pub const _NTO_IO_LEVEL_NONE: u32 = 1; pub const _NTO_IO_LEVEL_1: u32 = 2; pub const _NTO_IO_LEVEL_2: u32 = 3; pub const _NTO_THREAD_NAME_MAX: u32 = 100; pub const _NTO_CHF_FIXED_PRIORITY: u32 = 1; pub const _NTO_CHF_UNBLOCK: u32 = 2; pub const _NTO_CHF_THREAD_DEATH: u32 = 4; pub const _NTO_CHF_DISCONNECT: u32 = 8; pub const _NTO_CHF_NET_MSG: u32 = 16; pub const _NTO_CHF_SENDER_LEN: u32 = 32; pub const _NTO_CHF_COID_DISCONNECT: u32 = 64; pub const _NTO_CHF_REPLY_LEN: u32 = 128; pub const _NTO_CHF_PULSE_POOL: u32 = 256; pub const _NTO_CHF_ASYNC_NONBLOCK: u32 = 512; pub const _NTO_CHF_ASYNC: u32 = 1024; pub const _NTO_CHF_GLOBAL: u32 = 2048; pub const _NTO_CHF_PRIVATE: u32 = 4096; pub const _NTO_CHF_MSG_PAUSING: u32 = 8192; pub const _NTO_CHF_INHERIT_RUNMASK: u32 = 16384; pub const _NTO_CHF_UNBLOCK_TIMER: u32 = 32768; pub const _NTO_CHO_CUSTOM_EVENT: u32 = 1; pub const _NTO_COF_CLOEXEC: u32 = 1; pub const _NTO_COF_DEAD: u32 = 2; pub const _NTO_COF_NOSHARE: u32 = 64; pub const _NTO_COF_NETCON: u32 = 128; pub const _NTO_COF_NONBLOCK: u32 = 256; pub const _NTO_COF_ASYNC: u32 = 512; pub const _NTO_COF_GLOBAL: u32 = 1024; pub const _NTO_COF_NOEVENT: u32 = 2048; pub const _NTO_COF_INSECURE: u32 = 4096; pub const _NTO_COF_REG_EVENTS: u32 = 8192; pub const _NTO_COF_UNREG_EVENTS: u32 = 16384; pub const _NTO_COF_MASK: u32 = 65535; pub const _NTO_SIDE_CHANNEL: u32 = 1073741824; pub const _NTO_CONNECTION_SCOID: u32 = 65536; pub const _NTO_GLOBAL_CHANNEL: u32 = 1073741824; pub const _NTO_TIMEOUT_MASK: u32 = (1 << STATE_MAX) - 1; pub const _NTO_TIMEOUT_ACTIVE: u32 = 1 << STATE_MAX; pub const _NTO_TIMEOUT_IMMEDIATE: u32 = 1 << (STATE_MAX + 1); pub const _NTO_IC_LATENCY: u32 = 0; pub const _NTO_INTR_FLAGS_END: u32 = 1; pub const _NTO_INTR_FLAGS_NO_UNMASK: u32 = 2; pub const _NTO_INTR_FLAGS_PROCESS: u32 = 4; pub const _NTO_INTR_FLAGS_TRK_MSK: u32 = 8; pub const _NTO_INTR_FLAGS_ARRAY: u32 = 16; pub const _NTO_INTR_FLAGS_EXCLUSIVE: u32 = 32; pub const _NTO_INTR_FLAGS_FPU: u32 = 64; pub const _NTO_INTR_CLASS_EXTERNAL: u32 = 0; pub const _NTO_INTR_CLASS_SYNTHETIC: u32 = 2147418112; pub const _NTO_INTR_SPARE: u32 = 2147483647; pub const _NTO_HOOK_IDLE: u32 = 2147418113; pub const _NTO_HOOK_OVERDRIVE: u32 = 2147418114; pub const _NTO_HOOK_LAST: u32 = 2147418114; pub const _NTO_HOOK_IDLE2_FLAG: u32 = 32768; pub const _NTO_IH_CMD_SLEEP_SETUP: u32 = 1; pub const _NTO_IH_CMD_SLEEP_BLOCK: u32 = 2; pub const _NTO_IH_CMD_SLEEP_WAKEUP: u32 = 4; pub const _NTO_IH_CMD_SLEEP_ONLINE: u32 = 8; pub const _NTO_IH_RESP_NEEDS_BLOCK: u32 = 1; pub const _NTO_IH_RESP_NEEDS_WAKEUP: u32 = 2; pub const _NTO_IH_RESP_NEEDS_ONLINE: u32 = 4; pub const _NTO_IH_RESP_SYNC_TIME: u32 = 16; pub const _NTO_IH_RESP_SYNC_TLB: u32 = 32; pub const _NTO_IH_RESP_SUGGEST_OFFLINE: u32 = 256; pub const _NTO_IH_RESP_SLEEP_MODE_REACHED: u32 = 512; pub const _NTO_IH_RESP_DELIVER_INTRS: u32 = 1024; pub const _NTO_READIOV_SEND: u32 = 0; pub const _NTO_READIOV_REPLY: u32 = 1; pub const _NTO_KEYDATA_VTID: u32 = 2147483648; pub const _NTO_KEYDATA_PATHSIGN: u32 = 32768; pub const _NTO_KEYDATA_OP_MASK: u32 = 255; pub const _NTO_KEYDATA_VERIFY: u32 = 0; pub const _NTO_KEYDATA_CALCULATE: u32 = 1; pub const _NTO_KEYDATA_CALCULATE_REUSE: u32 = 2; pub const _NTO_KEYDATA_PATHSIGN_VERIFY: u32 = 32768; pub const _NTO_KEYDATA_PATHSIGN_CALCULATE: u32 = 32769; pub const _NTO_KEYDATA_PATHSIGN_CALCULATE_REUSE: u32 = 32770; pub const _NTO_SCTL_SETPRIOCEILING: u32 = 1; pub const _NTO_SCTL_GETPRIOCEILING: u32 = 2; pub const _NTO_SCTL_SETEVENT: u32 = 3; pub const _NTO_SCTL_MUTEX_WAKEUP: u32 = 4; pub const _NTO_SCTL_MUTEX_CONSISTENT: u32 = 5; pub const _NTO_SCTL_SEM_VALUE: u32 = 6; pub const _NTO_CLIENTINFO_GETGROUPS: u32 = 1; pub const _NTO_CLIENTINFO_GETTYPEID: u32 = 2; extern "C" { pub fn ChannelCreate(__flags: ::c_uint) -> ::c_int; pub fn ChannelCreate_r(__flags: ::c_uint) -> ::c_int; pub fn ChannelCreatePulsePool( __flags: ::c_uint, __config: *const nto_channel_config, ) -> ::c_int; pub fn ChannelCreateExt( __flags: ::c_uint, __mode: ::mode_t, __bufsize: usize, __maxnumbuf: ::c_uint, __ev: *const ::sigevent, __cred: *mut _cred_info, ) -> ::c_int; pub fn ChannelDestroy(__chid: ::c_int) -> ::c_int; pub fn ChannelDestroy_r(__chid: ::c_int) -> ::c_int; pub fn ConnectAttach( __nd: u32, __pid: ::pid_t, __chid: ::c_int, __index: ::c_uint, __flags: ::c_int, ) -> ::c_int; pub fn ConnectAttach_r( __nd: u32, __pid: ::pid_t, __chid: ::c_int, __index: ::c_uint, __flags: ::c_int, ) -> ::c_int; // TODO: The following function uses a structure defined in a header file // which doesn't appear as part of the default headers found in a // standard installation of Neutrino 7.1 SDP. Commented out for now. //pub fn ConnectAttachExt( // __nd: u32, // __pid: ::pid_t, // __chid: ::c_int, // __index: ::c_uint, // __flags: ::c_int, // __cd: *mut _asyncmsg_connection_descriptor, //) -> ::c_int; pub fn ConnectDetach(__coid: ::c_int) -> ::c_int; pub fn ConnectDetach_r(__coid: ::c_int) -> ::c_int; pub fn ConnectServerInfo(__pid: ::pid_t, __coid: ::c_int, __info: *mut _msg_info64) -> ::c_int; pub fn ConnectServerInfo_r( __pid: ::pid_t, __coid: ::c_int, __info: *mut _msg_info64, ) -> ::c_int; pub fn ConnectClientInfoExtraArgs( __scoid: ::c_int, __info_pp: *mut _client_info, __ngroups: ::c_int, __abilities: *mut _client_able, __nable: ::c_int, __type_id: *mut ::c_uint, ) -> ::c_int; pub fn ConnectClientInfoExtraArgs_r( __scoid: ::c_int, __info_pp: *mut _client_info, __ngroups: ::c_int, __abilities: *mut _client_able, __nable: ::c_int, __type_id: *mut ::c_uint, ) -> ::c_int; pub fn ConnectClientInfo( __scoid: ::c_int, __info: *mut _client_info, __ngroups: ::c_int, ) -> ::c_int; pub fn ConnectClientInfo_r( __scoid: ::c_int, __info: *mut _client_info, __ngroups: ::c_int, ) -> ::c_int; pub fn ConnectClientInfoExt( __scoid: ::c_int, __info_pp: *mut *mut _client_info, flags: ::c_int, ) -> ::c_int; pub fn ClientInfoExtFree(__info_pp: *mut *mut _client_info) -> ::c_int; pub fn ConnectClientInfoAble( __scoid: ::c_int, __info_pp: *mut *mut _client_info, flags: ::c_int, abilities: *mut _client_able, nable: ::c_int, ) -> ::c_int; pub fn ConnectFlags( __pid: ::pid_t, __coid: ::c_int, __mask: ::c_uint, __bits: ::c_uint, ) -> ::c_int; pub fn ConnectFlags_r( __pid: ::pid_t, __coid: ::c_int, __mask: ::c_uint, __bits: ::c_uint, ) -> ::c_int; pub fn ChannelConnectAttr( __id: ::c_uint, __old_attr: *mut _channel_connect_attr, __new_attr: *mut _channel_connect_attr, __flags: ::c_uint, ) -> ::c_int; pub fn MsgSend( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSend_r( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendnc( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendnc_r( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendsv( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendsv_r( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendsvnc( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendsvnc_r( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendvs( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendvs_r( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendvsnc( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendvsnc_r( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __rmsg: *mut ::c_void, __rbytes: usize, ) -> ::c_long; pub fn MsgSendv( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendv_r( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendvnc( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgSendvnc_r( __coid: ::c_int, __siov: *const ::iovec, __sparts: usize, __riov: *const ::iovec, __rparts: usize, ) -> ::c_long; pub fn MsgReceive( __chid: ::c_int, __msg: *mut ::c_void, __bytes: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceive_r( __chid: ::c_int, __msg: *mut ::c_void, __bytes: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivev( __chid: ::c_int, __iov: *const ::iovec, __parts: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivev_r( __chid: ::c_int, __iov: *const ::iovec, __parts: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivePulse( __chid: ::c_int, __pulse: *mut ::c_void, __bytes: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivePulse_r( __chid: ::c_int, __pulse: *mut ::c_void, __bytes: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivePulsev( __chid: ::c_int, __iov: *const ::iovec, __parts: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReceivePulsev_r( __chid: ::c_int, __iov: *const ::iovec, __parts: usize, __info: *mut _msg_info64, ) -> ::c_int; pub fn MsgReply( __rcvid: ::c_int, __status: ::c_long, __msg: *const ::c_void, __bytes: usize, ) -> ::c_int; pub fn MsgReply_r( __rcvid: ::c_int, __status: ::c_long, __msg: *const ::c_void, __bytes: usize, ) -> ::c_int; pub fn MsgReplyv( __rcvid: ::c_int, __status: ::c_long, __iov: *const ::iovec, __parts: usize, ) -> ::c_int; pub fn MsgReplyv_r( __rcvid: ::c_int, __status: ::c_long, __iov: *const ::iovec, __parts: usize, ) -> ::c_int; pub fn MsgReadiov( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, __flags: ::c_int, ) -> isize; pub fn MsgReadiov_r( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, __flags: ::c_int, ) -> isize; pub fn MsgRead( __rcvid: ::c_int, __msg: *mut ::c_void, __bytes: usize, __offset: usize, ) -> isize; pub fn MsgRead_r( __rcvid: ::c_int, __msg: *mut ::c_void, __bytes: usize, __offset: usize, ) -> isize; pub fn MsgReadv( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, ) -> isize; pub fn MsgReadv_r( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, ) -> isize; pub fn MsgWrite( __rcvid: ::c_int, __msg: *const ::c_void, __bytes: usize, __offset: usize, ) -> isize; pub fn MsgWrite_r( __rcvid: ::c_int, __msg: *const ::c_void, __bytes: usize, __offset: usize, ) -> isize; pub fn MsgWritev( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, ) -> isize; pub fn MsgWritev_r( __rcvid: ::c_int, __iov: *const ::iovec, __parts: usize, __offset: usize, ) -> isize; pub fn MsgSendPulse( __coid: ::c_int, __priority: ::c_int, __code: ::c_int, __value: ::c_int, ) -> ::c_int; pub fn MsgSendPulse_r( __coid: ::c_int, __priority: ::c_int, __code: ::c_int, __value: ::c_int, ) -> ::c_int; pub fn MsgSendPulsePtr( __coid: ::c_int, __priority: ::c_int, __code: ::c_int, __value: *mut ::c_void, ) -> ::c_int; pub fn MsgSendPulsePtr_r( __coid: ::c_int, __priority: ::c_int, __code: ::c_int, __value: *mut ::c_void, ) -> ::c_int; pub fn MsgDeliverEvent(__rcvid: ::c_int, __event: *const ::sigevent) -> ::c_int; pub fn MsgDeliverEvent_r(__rcvid: ::c_int, __event: *const ::sigevent) -> ::c_int; pub fn MsgVerifyEvent(__rcvid: ::c_int, __event: *const ::sigevent) -> ::c_int; pub fn MsgVerifyEvent_r(__rcvid: ::c_int, __event: *const ::sigevent) -> ::c_int; pub fn MsgRegisterEvent(__event: *mut ::sigevent, __coid: ::c_int) -> ::c_int; pub fn MsgRegisterEvent_r(__event: *mut ::sigevent, __coid: ::c_int) -> ::c_int; pub fn MsgUnregisterEvent(__event: *const ::sigevent) -> ::c_int; pub fn MsgUnregisterEvent_r(__event: *const ::sigevent) -> ::c_int; pub fn MsgInfo(__rcvid: ::c_int, __info: *mut _msg_info64) -> ::c_int; pub fn MsgInfo_r(__rcvid: ::c_int, __info: *mut _msg_info64) -> ::c_int; pub fn MsgKeyData( __rcvid: ::c_int, __oper: ::c_int, __key: u32, __newkey: *mut u32, __iov: *const ::iovec, __parts: ::c_int, ) -> ::c_int; pub fn MsgKeyData_r( __rcvid: ::c_int, __oper: ::c_int, __key: u32, __newkey: *mut u32, __iov: *const ::iovec, __parts: ::c_int, ) -> ::c_int; pub fn MsgError(__rcvid: ::c_int, __err: ::c_int) -> ::c_int; pub fn MsgError_r(__rcvid: ::c_int, __err: ::c_int) -> ::c_int; pub fn MsgCurrent(__rcvid: ::c_int) -> ::c_int; pub fn MsgCurrent_r(__rcvid: ::c_int) -> ::c_int; pub fn MsgSendAsyncGbl( __coid: ::c_int, __smsg: *const ::c_void, __sbytes: usize, __msg_prio: ::c_uint, ) -> ::c_int; pub fn MsgSendAsync(__coid: ::c_int) -> ::c_int; pub fn MsgReceiveAsyncGbl( __chid: ::c_int, __rmsg: *mut ::c_void, __rbytes: usize, __info: *mut _msg_info64, __coid: ::c_int, ) -> ::c_int; pub fn MsgReceiveAsync(__chid: ::c_int, __iov: *const ::iovec, __parts: ::c_uint) -> ::c_int; pub fn MsgPause(__rcvid: ::c_int, __cookie: ::c_uint) -> ::c_int; pub fn MsgPause_r(__rcvid: ::c_int, __cookie: ::c_uint) -> ::c_int; pub fn SignalKill( __nd: u32, __pid: ::pid_t, __tid: ::c_int, __signo: ::c_int, __code: ::c_int, __value: ::c_int, ) -> ::c_int; pub fn SignalKill_r( __nd: u32, __pid: ::pid_t, __tid: ::c_int, __signo: ::c_int, __code: ::c_int, __value: ::c_int, ) -> ::c_int; pub fn SignalKillSigval( __nd: u32, __pid: ::pid_t, __tid: ::c_int, __signo: ::c_int, __code: ::c_int, __value: *const ::sigval, ) -> ::c_int; pub fn SignalKillSigval_r( __nd: u32, __pid: ::pid_t, __tid: ::c_int, __signo: ::c_int, __code: ::c_int, __value: *const ::sigval, ) -> ::c_int; pub fn SignalReturn(__info: *mut _sighandler_info) -> ::c_int; pub fn SignalFault(__sigcode: ::c_uint, __regs: *mut ::c_void, __refaddr: usize) -> ::c_int; pub fn SignalAction( __pid: ::pid_t, __sigstub: unsafe extern "C" fn(), __signo: ::c_int, __act: *const ::sigaction, __oact: *mut ::sigaction, ) -> ::c_int; pub fn SignalAction_r( __pid: ::pid_t, __sigstub: unsafe extern "C" fn(), __signo: ::c_int, __act: *const ::sigaction, __oact: *mut ::sigaction, ) -> ::c_int; pub fn SignalProcmask( __pid: ::pid_t, __tid: ::c_int, __how: ::c_int, __set: *const ::sigset_t, __oldset: *mut ::sigset_t, ) -> ::c_int; pub fn SignalProcmask_r( __pid: ::pid_t, __tid: ::c_int, __how: ::c_int, __set: *const ::sigset_t, __oldset: *mut ::sigset_t, ) -> ::c_int; pub fn SignalSuspend(__set: *const ::sigset_t) -> ::c_int; pub fn SignalSuspend_r(__set: *const ::sigset_t) -> ::c_int; pub fn SignalWaitinfo(__set: *const ::sigset_t, __info: *mut ::siginfo_t) -> ::c_int; pub fn SignalWaitinfo_r(__set: *const ::sigset_t, __info: *mut ::siginfo_t) -> ::c_int; pub fn SignalWaitinfoMask( __set: *const ::sigset_t, __info: *mut ::siginfo_t, __mask: *const ::sigset_t, ) -> ::c_int; pub fn SignalWaitinfoMask_r( __set: *const ::sigset_t, __info: *mut ::siginfo_t, __mask: *const ::sigset_t, ) -> ::c_int; pub fn ThreadCreate( __pid: ::pid_t, __func: unsafe extern "C" fn(__arg: *mut ::c_void) -> *mut ::c_void, __arg: *mut ::c_void, __attr: *const ::_thread_attr, ) -> ::c_int; pub fn ThreadCreate_r( __pid: ::pid_t, __func: unsafe extern "C" fn(__arg: *mut ::c_void) -> *mut ::c_void, __arg: *mut ::c_void, __attr: *const ::_thread_attr, ) -> ::c_int; pub fn ThreadDestroy(__tid: ::c_int, __priority: ::c_int, __status: *mut ::c_void) -> ::c_int; pub fn ThreadDestroy_r(__tid: ::c_int, __priority: ::c_int, __status: *mut ::c_void) -> ::c_int; pub fn ThreadDetach(__tid: ::c_int) -> ::c_int; pub fn ThreadDetach_r(__tid: ::c_int) -> ::c_int; pub fn ThreadJoin(__tid: ::c_int, __status: *mut *mut ::c_void) -> ::c_int; pub fn ThreadJoin_r(__tid: ::c_int, __status: *mut *mut ::c_void) -> ::c_int; pub fn ThreadCancel(__tid: ::c_int, __canstub: unsafe extern "C" fn()) -> ::c_int; pub fn ThreadCancel_r(__tid: ::c_int, __canstub: unsafe extern "C" fn()) -> ::c_int; pub fn ThreadCtl(__cmd: ::c_int, __data: *mut ::c_void) -> ::c_int; pub fn ThreadCtl_r(__cmd: ::c_int, __data: *mut ::c_void) -> ::c_int; pub fn ThreadCtlExt( __pid: ::pid_t, __tid: ::c_int, __cmd: ::c_int, __data: *mut ::c_void, ) -> ::c_int; pub fn ThreadCtlExt_r( __pid: ::pid_t, __tid: ::c_int, __cmd: ::c_int, __data: *mut ::c_void, ) -> ::c_int; pub fn InterruptHookTrace( __handler: ::Option *const ::sigevent>, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptHookIdle( __handler: ::Option, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptHookIdle2( __handler: ::Option< unsafe extern "C" fn(arg1: ::c_uint, arg2: *mut syspage_entry, arg3: *mut _idle_hook), >, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptHookOverdriveEvent(__event: *const ::sigevent, __flags: ::c_uint) -> ::c_int; pub fn InterruptAttachEvent( __intr: ::c_int, __event: *const ::sigevent, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptAttachEvent_r( __intr: ::c_int, __event: *const ::sigevent, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptAttach( __intr: ::c_int, __handler: ::Option< unsafe extern "C" fn(__area: *mut ::c_void, __id: ::c_int) -> *const ::sigevent, >, __area: *const ::c_void, __size: ::c_int, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptAttach_r( __intr: ::c_int, __handler: ::Option< unsafe extern "C" fn(__area: *mut ::c_void, __id: ::c_int) -> *const ::sigevent, >, __area: *const ::c_void, __size: ::c_int, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptAttachArray( __intr: ::c_int, __handler: ::Option< unsafe extern "C" fn(__area: *mut ::c_void, __id: ::c_int) -> *const *const ::sigevent, >, __area: *const ::c_void, __size: ::c_int, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptAttachArray_r( __intr: ::c_int, __handler: ::Option< unsafe extern "C" fn(__area: *mut ::c_void, __id: ::c_int) -> *const *const ::sigevent, >, __area: *const ::c_void, __size: ::c_int, __flags: ::c_uint, ) -> ::c_int; pub fn InterruptDetach(__id: ::c_int) -> ::c_int; pub fn InterruptDetach_r(__id: ::c_int) -> ::c_int; pub fn InterruptWait(__flags: ::c_int, __timeout: *const u64) -> ::c_int; pub fn InterruptWait_r(__flags: ::c_int, __timeout: *const u64) -> ::c_int; pub fn InterruptCharacteristic( __type: ::c_int, __id: ::c_int, __new: *mut ::c_uint, __old: *mut ::c_uint, ) -> ::c_int; pub fn InterruptCharacteristic_r( __type: ::c_int, __id: ::c_int, __new: *mut ::c_uint, __old: *mut ::c_uint, ) -> ::c_int; pub fn SchedGet(__pid: ::pid_t, __tid: ::c_int, __param: *mut ::sched_param) -> ::c_int; pub fn SchedGet_r(__pid: ::pid_t, __tid: ::c_int, __param: *mut ::sched_param) -> ::c_int; pub fn SchedGetCpuNum() -> ::c_uint; pub fn SchedSet( __pid: ::pid_t, __tid: ::c_int, __algorithm: ::c_int, __param: *const ::sched_param, ) -> ::c_int; pub fn SchedSet_r( __pid: ::pid_t, __tid: ::c_int, __algorithm: ::c_int, __param: *const ::sched_param, ) -> ::c_int; pub fn SchedInfo(__pid: ::pid_t, __algorithm: ::c_int, __info: *mut ::_sched_info) -> ::c_int; pub fn SchedInfo_r(__pid: ::pid_t, __algorithm: ::c_int, __info: *mut ::_sched_info) -> ::c_int; pub fn SchedYield() -> ::c_int; pub fn SchedYield_r() -> ::c_int; pub fn SchedCtl(__cmd: ::c_int, __data: *mut ::c_void, __length: usize) -> ::c_int; pub fn SchedCtl_r(__cmd: ::c_int, __data: *mut ::c_void, __length: usize) -> ::c_int; pub fn SchedJobCreate(__job: *mut nto_job_t) -> ::c_int; pub fn SchedJobCreate_r(__job: *mut nto_job_t) -> ::c_int; pub fn SchedJobDestroy(__job: *mut nto_job_t) -> ::c_int; pub fn SchedJobDestroy_r(__job: *mut nto_job_t) -> ::c_int; pub fn SchedWaypoint( __job: *mut nto_job_t, __new: *const i64, __max: *const i64, __old: *mut i64, ) -> ::c_int; pub fn SchedWaypoint_r( __job: *mut nto_job_t, __new: *const i64, __max: *const i64, __old: *mut i64, ) -> ::c_int; pub fn TimerCreate(__id: ::clockid_t, __notify: *const ::sigevent) -> ::c_int; pub fn TimerCreate_r(__id: ::clockid_t, __notify: *const ::sigevent) -> ::c_int; pub fn TimerDestroy(__id: ::timer_t) -> ::c_int; pub fn TimerDestroy_r(__id: ::timer_t) -> ::c_int; pub fn TimerSettime( __id: ::timer_t, __flags: ::c_int, __itime: *const ::_itimer, __oitime: *mut ::_itimer, ) -> ::c_int; pub fn TimerSettime_r( __id: ::timer_t, __flags: ::c_int, __itime: *const ::_itimer, __oitime: *mut ::_itimer, ) -> ::c_int; pub fn TimerInfo( __pid: ::pid_t, __id: ::timer_t, __flags: ::c_int, __info: *mut ::_timer_info, ) -> ::c_int; pub fn TimerInfo_r( __pid: ::pid_t, __id: ::timer_t, __flags: ::c_int, __info: *mut ::_timer_info, ) -> ::c_int; pub fn TimerAlarm( __id: ::clockid_t, __itime: *const ::_itimer, __otime: *mut ::_itimer, ) -> ::c_int; pub fn TimerAlarm_r( __id: ::clockid_t, __itime: *const ::_itimer, __otime: *mut ::_itimer, ) -> ::c_int; pub fn TimerTimeout( __id: ::clockid_t, __flags: ::c_int, __notify: *const ::sigevent, __ntime: *const u64, __otime: *mut u64, ) -> ::c_int; pub fn TimerTimeout_r( __id: ::clockid_t, __flags: ::c_int, __notify: *const ::sigevent, __ntime: *const u64, __otime: *mut u64, ) -> ::c_int; pub fn SyncTypeCreate( __type: ::c_uint, __sync: *mut ::sync_t, __attr: *const ::_sync_attr, ) -> ::c_int; pub fn SyncTypeCreate_r( __type: ::c_uint, __sync: *mut ::sync_t, __attr: *const ::_sync_attr, ) -> ::c_int; pub fn SyncDestroy(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncDestroy_r(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncCtl(__cmd: ::c_int, __sync: *mut ::sync_t, __data: *mut ::c_void) -> ::c_int; pub fn SyncCtl_r(__cmd: ::c_int, __sync: *mut ::sync_t, __data: *mut ::c_void) -> ::c_int; pub fn SyncMutexEvent(__sync: *mut ::sync_t, event: *const ::sigevent) -> ::c_int; pub fn SyncMutexEvent_r(__sync: *mut ::sync_t, event: *const ::sigevent) -> ::c_int; pub fn SyncMutexLock(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncMutexLock_r(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncMutexUnlock(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncMutexUnlock_r(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncMutexRevive(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncMutexRevive_r(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncCondvarWait(__sync: *mut ::sync_t, __mutex: *mut ::sync_t) -> ::c_int; pub fn SyncCondvarWait_r(__sync: *mut ::sync_t, __mutex: *mut ::sync_t) -> ::c_int; pub fn SyncCondvarSignal(__sync: *mut ::sync_t, __all: ::c_int) -> ::c_int; pub fn SyncCondvarSignal_r(__sync: *mut ::sync_t, __all: ::c_int) -> ::c_int; pub fn SyncSemPost(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncSemPost_r(__sync: *mut ::sync_t) -> ::c_int; pub fn SyncSemWait(__sync: *mut ::sync_t, __tryto: ::c_int) -> ::c_int; pub fn SyncSemWait_r(__sync: *mut ::sync_t, __tryto: ::c_int) -> ::c_int; pub fn ClockTime(__id: ::clockid_t, _new: *const u64, __old: *mut u64) -> ::c_int; pub fn ClockTime_r(__id: ::clockid_t, _new: *const u64, __old: *mut u64) -> ::c_int; pub fn ClockAdjust( __id: ::clockid_t, _new: *const ::_clockadjust, __old: *mut ::_clockadjust, ) -> ::c_int; pub fn ClockAdjust_r( __id: ::clockid_t, _new: *const ::_clockadjust, __old: *mut ::_clockadjust, ) -> ::c_int; pub fn ClockPeriod( __id: ::clockid_t, _new: *const ::_clockperiod, __old: *mut ::_clockperiod, __reserved: ::c_int, ) -> ::c_int; pub fn ClockPeriod_r( __id: ::clockid_t, _new: *const ::_clockperiod, __old: *mut ::_clockperiod, __reserved: ::c_int, ) -> ::c_int; pub fn ClockId(__pid: ::pid_t, __tid: ::c_int) -> ::c_int; pub fn ClockId_r(__pid: ::pid_t, __tid: ::c_int) -> ::c_int; // //TODO: The following commented out functions are implemented in assembly. // We can implmement them either via a C stub or rust's inline assembly. // //pub fn InterruptEnable(); //pub fn InterruptDisable(); pub fn InterruptMask(__intr: ::c_int, __id: ::c_int) -> ::c_int; pub fn InterruptUnmask(__intr: ::c_int, __id: ::c_int) -> ::c_int; //pub fn InterruptLock(__spin: *mut ::intrspin); //pub fn InterruptUnlock(__spin: *mut ::intrspin); //pub fn InterruptStatus() -> ::c_uint; }