Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vxWorks adding few errnoLib related constants. #3780

Merged
merged 1 commit into from
Aug 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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;
Comment on lines +740 to +743
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are defined in semLibCommon.h


// 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;
Comment on lines +746 to +750
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These in objLibCommon.h


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