Skip to content

Commit

Permalink
vxWorks adding few errnoLib related constants.
Browse files Browse the repository at this point in the history
(backport <rust-lang#3780>)
(cherry picked from commit 73a6a03)
  • Loading branch information
devnexen authored and tgross35 committed Aug 12, 2024
1 parent 59890b5 commit a286321
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions src/vxworks/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ pub type SEM_ID_KERNEL = ::OBJ_HANDLE;
pub type RTP_ID = ::OBJ_HANDLE;
pub type SD_ID = ::OBJ_HANDLE;
pub type CONDVAR_ID = ::OBJ_HANDLE;
pub type STATUS = ::OBJ_HANDLE;

// From vxTypes.h
pub type _Vx_usr_arg_t = isize;
Expand Down Expand Up @@ -613,6 +614,7 @@ pub const PTHREAD_STACK_MIN: usize = 4096;
pub const _PTHREAD_SHARED_SEM_NAME_MAX: usize = 30;

// ERRNO STUFF
pub const ERROR: ::c_int = -1;
pub const OK: ::c_int = 0;
pub const EPERM: ::c_int = 1; /* Not owner */
pub const ENOENT: ::c_int = 2; /* No such file or directory */
Expand Down Expand Up @@ -720,6 +722,33 @@ pub const S_nfsLib_NFSERR_SERVERFAULT: ::c_int = EIO;
pub const S_nfsLib_NFSERR_BADTYPE: ::c_int = M_nfsStat | nfsstat::NFSERR_BADTYPE as ::c_int;
pub const S_nfsLib_NFSERR_JUKEBOX: ::c_int = M_nfsStat | nfsstat::NFSERR_JUKEBOX as ::c_int;

// internal offset values for below constants
const taskErrorBase: ::c_int = 0x00030000;
const semErrorBase: ::c_int = 0x00160000;
const objErrorBase: ::c_int = 0x003d0000;

// taskLibCommon.h
pub const S_taskLib_NAME_NOT_FOUND: ::c_int = taskErrorBase + 0x0065;
pub const S_taskLib_TASK_HOOK_TABLE_FULL: ::c_int = taskErrorBase + 0x0066;
pub const S_taskLib_TASK_HOOK_NOT_FOUND: ::c_int = taskErrorBase + 0x0067;
pub const S_taskLib_ILLEGAL_PRIORITY: ::c_int = taskErrorBase + 0x0068;

// FIXME: could also be useful for TASK_DESC type
pub const VX_TASK_NAME_LENGTH: ::c_int = 31;

// semLibCommon.h
pub const S_semLib_INVALID_STATE: ::c_int = semErrorBase + 0x0065;
pub const S_semLib_INVALID_OPTION: ::c_int = semErrorBase + 0x0066;
pub const S_semLib_INVALID_QUEUE_TYPE: ::c_int = semErrorBase + 0x0067;
pub const S_semLib_INVALID_OPERATION: ::c_int = semErrorBase + 0x0068;

// objLibCommon.h
pub const S_objLib_OBJ_ID_ERROR: ::c_int = objErrorBase + 0x0001;
pub const S_objLib_OBJ_UNAVAILABLE: ::c_int = objErrorBase + 0x0002;
pub const S_objLib_OBJ_DELETED: ::c_int = objErrorBase + 0x0003;
pub const S_objLib_OBJ_TIMEOUT: ::c_int = objErrorBase + 0x0004;
pub const S_objLib_OBJ_NO_METHOD: ::c_int = objErrorBase + 0x0005;

// in.h
pub const IPPROTO_IP: ::c_int = 0;
pub const IPPROTO_IPV6: ::c_int = 41;
Expand Down

0 comments on commit a286321

Please sign in to comment.