File tree Expand file tree Collapse file tree 7 files changed +2215
-0
lines changed Expand file tree Collapse file tree 7 files changed +2215
-0
lines changed Original file line number Diff line number Diff line change @@ -114,6 +114,9 @@ cfg_if! {
114
114
115
115
mod switch;
116
116
pub use switch:: * ;
117
+ } else if #[ cfg( target_os = "vxworks" ) ] {
118
+ mod vxworks;
119
+ pub use vxworks:: * ;
117
120
} else if #[ cfg( unix) ] {
118
121
mod fixed_width_ints;
119
122
pub use fixed_width_ints:: * ;
Original file line number Diff line number Diff line change
1
+ pub type c_long = i64 ;
2
+ pub type c_ulong = u64 ;
3
+
4
+ #[ cfg( feature = "_WRS_KERNEL" ) ]
5
+ pub type _Vx_TASK_ID = * mut :: windTcb ;
6
+
7
+ #[ cfg( feature = "_WRS_KERNEL" ) ]
8
+ s ! {
9
+ pub struct OBJ_CORE {
10
+ pub handle : :: HANDLE ,
11
+ pub ownerList : :: DL_LIST ,
12
+ pub ownerNode : :: DL_NODE ,
13
+ pub classNode : :: DL_NODE ,
14
+ pub ownerId : * mut :: OBJ_CORE ,
15
+ pub ownerRtpId : :: RTP_ID ,
16
+ pub name : * mut :: c_char,
17
+ pub pObjClass : * mut :: wind_class,
18
+ pub objHandleList : :: DL_LIST ,
19
+ pub refCnt : u16 ,
20
+ pub accessCnt : u16 ,
21
+ pub padding : u32 , // There is a chance that Rust automatically pads, but
22
+ // no point in risking it
23
+ }
24
+
25
+ // semLibP.h
26
+ pub struct semaphore {
27
+ #[ repr( align( 16 ) ) ]
28
+ pub magic : :: OBJ_CORE ,
29
+ pub semType : u8 ,
30
+ pub options : u8 ,
31
+ pub recurse : u16 ,
32
+ pub priInheritFlag : :: BOOL ,
33
+ pub qHead : :: Q_HEAD ,
34
+ pub state : :: size_t, //state is union of UINT and struct pointer
35
+ pub events : :: EVENTS_RSRC ,
36
+ }
37
+
38
+ }
Original file line number Diff line number Diff line change
1
+ pub type c_long = i32 ;
2
+ pub type c_ulong = u32 ;
3
+
4
+ #[ cfg( feature = "_WRS_KERNEL" ) ]
5
+ pub type _Vx_TASK_ID = :: c_int ;
6
+
7
+ #[ cfg( feature = "_WRS_KERNEL" ) ]
8
+ s ! {
9
+ pub struct OBJ_CORE {
10
+ pub handle : :: HANDLE ,
11
+ pub ownerList : :: DL_LIST ,
12
+ pub ownerNode : :: DL_NODE ,
13
+ pub classNode : :: DL_NODE ,
14
+ pub ownerId : * mut :: OBJ_CORE ,
15
+ pub ownerRtpId : :: RTP_ID ,
16
+ pub name : * mut :: c_char,
17
+ pub pObjClass : * mut :: wind_class,
18
+ pub objHandleList : :: DL_LIST ,
19
+ pub refCnt : u16 ,
20
+ pub accessCnt : u16 ,
21
+ }
22
+
23
+ // semLibP.h
24
+ pub struct semaphore {
25
+ #[ repr( align( 8 ) ) ]
26
+ pub magic : :: OBJ_CORE ,
27
+ pub semType : u8 ,
28
+ pub options : u8 ,
29
+ pub recurse : u16 ,
30
+ pub priInheritFlag : :: BOOL ,
31
+ pub qHead : :: Q_HEAD ,
32
+ pub state : :: size_t, //state is union of UINT and struct pointer
33
+ pub events : :: EVENTS_RSRC ,
34
+ }
35
+ }
You can’t perform that action at this time.
0 commit comments