Skip to content

Commit

Permalink
Added vxworks libc references - worked on by danielmccormick and taeh…
Browse files Browse the repository at this point in the history
…yun-lee
  • Loading branch information
th133 authored and bpangWR committed Aug 9, 2019
1 parent 231ac68 commit 636d86a
Show file tree
Hide file tree
Showing 7 changed files with 2,215 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/lib.rs
Expand Up @@ -114,6 +114,9 @@ cfg_if! {

mod switch;
pub use switch::*;
} else if #[cfg(target_os = "vxworks")] {
mod vxworks;
pub use vxworks::*;
} else if #[cfg(unix)] {
mod fixed_width_ints;
pub use fixed_width_ints::*;
Expand Down
38 changes: 38 additions & 0 deletions src/vxworks/aarch64.rs
@@ -0,0 +1,38 @@
pub type c_long = i64;
pub type c_ulong = u64;

#[cfg(feature = "_WRS_KERNEL")]
pub type _Vx_TASK_ID = *mut ::windTcb;

#[cfg(feature = "_WRS_KERNEL")]
s! {
pub struct OBJ_CORE {
pub handle : ::HANDLE,
pub ownerList : ::DL_LIST,
pub ownerNode : ::DL_NODE,
pub classNode : ::DL_NODE,
pub ownerId : *mut ::OBJ_CORE,
pub ownerRtpId : ::RTP_ID,
pub name : *mut ::c_char,
pub pObjClass : *mut ::wind_class,
pub objHandleList : ::DL_LIST,
pub refCnt : u16,
pub accessCnt : u16,
pub padding : u32, // There is a chance that Rust automatically pads, but
// no point in risking it
}

// semLibP.h
pub struct semaphore {
#[repr(align(16))]
pub magic : ::OBJ_CORE,
pub semType : u8,
pub options : u8,
pub recurse : u16,
pub priInheritFlag : ::BOOL,
pub qHead : ::Q_HEAD,
pub state : ::size_t, //state is union of UINT and struct pointer
pub events : ::EVENTS_RSRC,
}

}
35 changes: 35 additions & 0 deletions src/vxworks/armv7.rs
@@ -0,0 +1,35 @@
pub type c_long = i32;
pub type c_ulong = u32;

#[cfg(feature = "_WRS_KERNEL")]
pub type _Vx_TASK_ID = ::c_int;

#[cfg(feature = "_WRS_KERNEL")]
s! {
pub struct OBJ_CORE {
pub handle : ::HANDLE,
pub ownerList : ::DL_LIST,
pub ownerNode : ::DL_NODE,
pub classNode : ::DL_NODE,
pub ownerId : *mut ::OBJ_CORE,
pub ownerRtpId : ::RTP_ID,
pub name : *mut ::c_char,
pub pObjClass : *mut ::wind_class,
pub objHandleList : ::DL_LIST,
pub refCnt : u16,
pub accessCnt : u16,
}

// semLibP.h
pub struct semaphore {
#[repr(align(8))]
pub magic : ::OBJ_CORE,
pub semType : u8,
pub options : u8,
pub recurse : u16,
pub priInheritFlag : ::BOOL,
pub qHead : ::Q_HEAD,
pub state : ::size_t, //state is union of UINT and struct pointer
pub events : ::EVENTS_RSRC,
}
}
Empty file added src/vxworks/armv7le.rs
Empty file.

0 comments on commit 636d86a

Please sign in to comment.