+++ /dev/null
-#![allow(non_camel_case_types, unused)]
-
-use libc::{self, c_int, size_t, c_char, BOOL, RTP_DESC, RTP_ID, TASK_ID};
-
-
-// Copied directly from rtpLibCommon.h, rtpLib.h, signal.h and taskLibCommon.h (for task options)
-
-// **** definitions for rtpLibCommon.h ****
-
-pub const RTP_GLOBAL_SYMBOLS : c_int = 0x01; // register global symbols for RTP
-pub const RTP_LOCAL_SYMBOLS : c_int = 0x02; // idem for local symbols
-pub const RTP_ALL_SYMBOLS : c_int = (RTP_GLOBAL_SYMBOLS | RTP_LOCAL_SYMBOLS);
-pub const RTP_DEBUG : c_int = 0x10; // set RTP in debug mode when created
-pub const RTP_BUFFER_VAL_OFF : c_int = 0x20; // disable buffer validation for all
- // system calls issued from the RTP
-pub const RTP_LOADED_WAIT : c_int = 0x40; // Wait until the RTP is loaded
-pub const RTP_CPU_AFFINITY_NONE : c_int = 0x80; // Remove any CPU affinity (SMP)
-
-// Error Status codes
-
-pub const M_rtpLib : c_int = 178 << 16;
-
-pub const S_rtpLib_INVALID_FILE : c_int = (M_rtpLib | 1);
-pub const S_rtpLib_INVALID_OPTION : c_int = (M_rtpLib | 2);
-pub const S_rtpLib_ACCESS_DENIED : c_int = (M_rtpLib | 3);
-pub const S_rtpLib_INVALID_RTP_ID : c_int = (M_rtpLib | 4);
-pub const S_rtpLib_NO_SYMBOL_TABLE : c_int = (M_rtpLib | 5);
-pub const S_rtpLib_INVALID_SEGMENT_START_ADDRESS : c_int = (M_rtpLib | 6);
-pub const S_rtpLib_INVALID_SYMBOL_REGISTR_POLICY : c_int = (M_rtpLib | 7);
-pub const S_rtpLib_INSTANTIATE_FAILED : c_int = (M_rtpLib | 8);
-pub const S_rtpLib_INVALID_TASK_OPTION : c_int = (M_rtpLib | 9);
-pub const S_rtpLib_RTP_NAME_LENGTH_EXCEEDED : c_int = (M_rtpLib | 10); // rtpInfoGet
-
-pub const VX_RTP_NAME_LENGTH : c_int = 255; // max name length for diplay
-
-
-// The 'status' field (32 bit integer) of a RTP holds the RTP state and status.
-//
-// NOTE: RTP_STATE_GET() : read the RTP state(s)
-// RTP_STATE_PUT() : write the RTP state(s)
-// RTP_STATE_SET() : set a RTP state
-// RTP_STATE_UNSET() : unset a RTP state
-//
-// RTP_STATUS_GET() : read the RTP status
-// RTP_STATUS_PUT() : write the RTP status
-// RTP_STATUS_SET() : set a RTP status
-// RTP_STATUS_UNSET() : unset a RTP status
-//
-// The PUT/SET/UNSET macros are available only in the kernel headers.
-
-
-// RTP states
-
-pub const RTP_STATE_CREATE : c_int = 0x0001; // RrtpStructTP is under construction
-pub const RTP_STATE_NORMAL : c_int = 0x0002; // RrtpStructTP is ready
-pub const RTP_STATE_DELETE : c_int = 0x0004; // RrtpStructTP is being deleted
-
-pub const RTP_STATUS_STOP : c_int = 0x0100; // RTP hrtpStructas recieved stopped signal
-pub const RTP_STATUS_ELECTED_DELETER : c_int = 0x0200; // RTP drtpStructelete has started
-
-pub const RTP_STATE_MASK : c_int = (RTP_STATE_CREATE | RTP_STATE_NORMAL |
- RTP_STATE_DELETE);
-pub const RTP_STATUS_MASK : c_int = (RTP_STATUS_STOP | RTP_STATUS_ELECTED_DELETER);
-
-pub fn RTP_STATE_GET (value : c_int) -> c_int {
- value & RTP_STATE_MASK
-}
-pub fn RTP_STATUS_GET (value : c_int) -> c_int {
- value & RTP_STATUS_MASK
-}
-
-// Indicates that the RTP_ID returned is not valid.
-
-// RTP_ID_ERROR is supposed to be set to -1, but you can't set
-// an unsigned value to a negative without casting, and you
-// can't cast unless the size of the integer types are the same,
-// but the size of RTP_ID may differ between kernel and user space.
-// Bitwise or-ing min and max should get the same result.
-pub const RTP_ID_ERROR : RTP_ID = RTP_ID::min_value() | RTP_ID::max_value();
-
-// IS_RTP_ C macros
-
-pub fn IS_RTP_STATE_NORMAL (value : c_int) -> bool {
- (RTP_STATE_GET(value) & RTP_STATE_NORMAL) == RTP_STATE_NORMAL
-}
-pub fn IS_RTP_STATE_CREATE (value : c_int) -> bool {
- (RTP_STATE_GET(value) & RTP_STATE_CREATE) == RTP_STATE_CREATE
-}
-pub fn IS_RTP_STATE_DELETE (value : c_int) -> bool {
- (RTP_STATE_GET(value) & RTP_STATE_DELETE) == RTP_STATE_DELETE
-}
-pub fn IS_RTP_STATUS_STOP (value : c_int) -> bool {
- (RTP_STATUS_GET(value) & RTP_STATUS_STOP ) == RTP_STATUS_STOP
-}
-pub fn IS_RTP_STATUS_ELECTED_DELETER (value : c_int) -> bool {
- (RTP_STATUS_GET(value) & RTP_STATUS_ELECTED_DELETER) == RTP_STATUS_ELECTED_DELETER
-}
-
-// **** end of definitions for rtpLibCommon.h ****
-
-
-
-
-// **** definitions for rtpLib.h ****
-
-pub fn rtpExit(exitCode : c_int) -> ! {
- unsafe{ libc::exit (exitCode) }
-}
-
-/* rtpLib.h in the kernel
-pub const RTP_DEL_VIA_TASK_DELETE : c_int = 0x1; // rtpDelete() via taskDestroy()
-pub const RTP_DEL_FORCE : c_int = 0x2; // Forceful rtpDelete()
-pub const RTP_ID_ANY : RTP_ID = 0; // used for when a kernel task
- // wants to wait for the next
- // RTP to finish
-
-
-// Function pointers
-
-pub type RTP_PRE_CREATE_HOOK = size_t;
-pub type RTP_POST_CREATE_HOOK = size_t;
-pub type RTP_INIT_COMPLETE_HOOK = size_t;
-pub type RTP_DELETE_HOOK = size_t;
-*/
-
-// **** end of definitions for rtpLib.h ****
-
-
-
-
-
-// **** definitions for signal.h ****
-pub fn rtpKill(rtpId : RTP_ID, signo : c_int) -> c_int {
- unsafe{ libc::kill(rtpId as c_int, signo) }
-}
-
-pub fn rtpSigqueue(rtpId : RTP_ID, signo : c_int, value : size_t) -> c_int {
- unsafe{ libc::sigqueue(rtpId as c_int, signo, value) }
-}
-
-pub fn _rtpSigqueue(rtpId : RTP_ID, signo : c_int, value : *mut size_t, code : c_int) -> c_int {
- unsafe{ libc::_sigqueue(rtpId, signo, value, code) }
-}
-
-pub fn taskRaise(signo : c_int) -> c_int {
- unsafe{ libc::taskKill(libc::taskIdSelf(), signo) }
-}
-pub fn rtpRaise(signo : c_int) -> c_int {
- unsafe{ libc::raise(signo) }
-}
-
-// **** end of definitions for signal.h ****
-
-
-
-// **** definitions for taskLibCommon.h ****
-pub const VX_PRIVATE_ENV : c_int = 0x0080; // 1 = private environment variables
-pub const VX_NO_STACK_FILL : c_int = 0x0100; // 1 = avoid stack fill of 0xee
-pub const VX_PRIVATE_UMASK : c_int = 0x0400; // 1 = private file creation mode mask
-pub const VX_TASK_NOACTIVATE : c_int = 0x2000; // taskOpen() does not taskActivate()
-pub const VX_NO_STACK_PROTECT : c_int = 0x4000; // no over/underflow stack protection,
- // stack space remains executable
-
-// define for all valid user task options
-
-pub const VX_USR_TASK_OPTIONS_BASE: c_int = (VX_PRIVATE_ENV |
- VX_NO_STACK_FILL |
- VX_TASK_NOACTIVATE |
- VX_NO_STACK_PROTECT |
- VX_PRIVATE_UMASK);
-
-// **** end of definitions for taskLibCommon.h ****
-
-
-
-extern "C" {
-// functions in rtpLibCommon.h
-
-// forward declarations
- pub fn rtpSpawn (
- pubrtpFileName : *const c_char,
- argv : *const *const c_char,
- envp : *const *const c_char,
- priority : c_int,
- uStackSize : size_t,
- options : c_int,
- taskOptions : c_int,
- ) -> RTP_ID;
-
- pub fn rtpInfoGet (
- rtpId : RTP_ID,
- rtpStruct : *mut RTP_DESC,
- ) -> c_int;
-
-/* functions in rtpLib.h for kernel
-
-
- // function declarations
-
- pub fn rtpDelete (
- id : RTP_ID,
- options : c_int,
- status : c_int,
- ) -> c_int;
-
- pub fn rtpDeleteForce (
- rtpId : RTP_ID
- ) -> c_int;
-
- pub fn rtpShow (
- rtpNameOrId : *mut c_char,
- level : c_int,
- ) -> BOOL;
-
- // RTP signals are always present when RTPs are included. The public RTP
- // signal APIs are declared here.
-
-
- pub fn rtpKill (
- rtpId : RTP_ID,
- signo : c_int,
- ) -> c_int;
-
- pub fn rtpSigqueue (
- rtpId : RTP_ID,
- signo : c_int,
- value : size_t, // Actual type is const union sigval value,
- // which is a union of int and void *
- ) -> c_int;
-
- pub fn rtpTaskKill (
- tid : TASK_ID,
- signo : c_int,
- ) -> c_int;
-
- pub fn rtpTaskSigqueue (
- tid : TASK_ID,
- signo : c_int,
- value : const size_t, // Actual type is const union sigval,
- // which is a union of int and void *
- ) -> c_int;
-
- pub fn rtpWait (
- rtpWaitId : RTP_ID,
- timeout : libc::alloc_jemalloc_Vx_ticks_t,
- pRtpId : *mut RTP_ID,
- pStatus : *mut c_int,
- ) -> c_int;
-
- // Other public functions
-
-
- pub fn rtpPreCreateHookAdd (
- hook : RTP_PRE_CREATE_HOOK,
- addToHead : BOOL,
- ) -> c_int;
-
- pub fn rtpPreCreateHookDelete (
- hook : RTP_POST_CREATE_HOOK,
- ) -> c_int;
-
- pub fn rtpPostCreateHookAdd (
- hook : RTP_POST_CREATE_HOOK,
- addToHead : BOOL,
- ) -> c_int;
-
- pub fn rtpPostCreateHookDelete (
- hook : RTP_POST_CREATE_HOOK,
- ) -> c_int;
-
- pub fn rtpInitCompleteHookAdd (
- hook : RTP_INIT_COMPLETE_HOOK,
- addToHead : BOOL,
- ) -> c_int;
-
- pub fn rtpInitCompleteHookDelete (
- hook : RTP_INIT_COMPLETE_HOOK,
- ) -> c_int;
-
- pub fn rtpDeleteHookAdd (
- hook : RTP_DELETE_HOOK,
- addToHead : BOOL,
- ) -> c_int;
-
- pub fn rtpDeleteHookDelete (
- hook : RTP_DELETE_HOOK,
- ) -> c_int;
-
- pub fn rtpMemShow (
- rtpNameOrId : *mut c_char,
- level : c_int,
- ) -> c_int;
-
- pub fn rtpHookShow (
-
- );
-*/
-}