Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  neutrino.rs   Sprache: unbekannt

 
pub type nto_job_t = ::sync_t;

s! {
    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,
    }

    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<unsafe extern "C" fn(value: ::c_int)>,
        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! {

    #[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<unsafe extern "C" fn(arg1: ::c_int) -> *const ::sigevent>,
        __flags: ::c_uint,
    ) -> ::c_int;
    pub fn InterruptHookIdle(
        __handler: ::Option<unsafe extern "C" fn(arg1: *mut u64, arg2: *mut qtime_entry)>,
        __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;
}

[ Dauer der Verarbeitung: 0.23 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge