blob: 8d4bbd59b093d3d38a5a99f747ed096247b18d59 [file] [log] [blame]
gnzlbga17a91c2019-02-07 11:37:21 +01001macro_rules! expand_align {
Sebastian Humenda2c180252019-03-02 19:09:17 +01002 () => {
gnzlbga17a91c2019-02-07 11:37:21 +01003 s! {
4 #[cfg_attr(target_pointer_width = "32",
5 repr(align(4)))]
6 #[cfg_attr(target_pointer_width = "64",
7 repr(align(8)))]
8 pub struct sem_t { // ToDo
9 #[cfg(target_pointer_width = "32")]
10 __size: [::c_char; 16],
11 #[cfg(target_pointer_width = "64")]
12 __size: [::c_char; 32],
13 }
14
gnzlbga17a91c2019-02-07 11:37:21 +010015 #[cfg_attr(any(target_pointer_width = "32",
16 target_arch = "x86_64",
17 target_arch = "powerpc64",
18 target_arch = "mips64",
19 target_arch = "s390x",
20 target_arch = "sparc64"),
21 repr(align(4)))]
22 #[cfg_attr(not(any(target_pointer_width = "32",
23 target_arch = "x86_64",
24 target_arch = "powerpc64",
25 target_arch = "mips64",
26 target_arch = "s390x",
27 target_arch = "sparc64")),
28 repr(align(8)))]
29 pub struct pthread_mutexattr_t { // ToDo
30 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T],
31 }
32
gnzlbga17a91c2019-02-07 11:37:21 +010033 #[repr(align(4))]
34 pub struct pthread_condattr_t { // ToDo
35 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T],
36 }
gnzlbg183c51b2019-03-03 20:00:02 +010037 }
38
39 s_no_extra_traits! {
40 #[cfg_attr(all(target_pointer_width = "32",
41 any(target_arch = "mips",
42 target_arch = "arm",
43 target_arch = "powerpc")),
44 repr(align(4)))]
45 #[cfg_attr(all(any(target_pointer_width = "64",
46 not(any(target_arch = "mips",
47 target_arch = "arm",
48 target_arch = "powerpc")))),
49 repr(align(8)))]
50 #[allow(missing_debug_implementations)]
51 pub struct pthread_mutex_t { // ToDo
52 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T],
53 }
54
55 #[repr(align(8))]
56 #[allow(missing_debug_implementations)]
57 pub struct pthread_cond_t { // ToDo
58 size: [u8; ::__SIZEOF_PTHREAD_COND_T],
59 }
gnzlbga17a91c2019-02-07 11:37:21 +010060
61 #[cfg_attr(all(target_pointer_width = "32",
62 any(target_arch = "mips",
63 target_arch = "arm",
64 target_arch = "powerpc")),
65 repr(align(4)))]
66 #[cfg_attr(any(target_pointer_width = "64",
67 not(any(target_arch = "mips",
68 target_arch = "arm",
69 target_arch = "powerpc"))),
70 repr(align(8)))]
gnzlbg183c51b2019-03-03 20:00:02 +010071 #[allow(missing_debug_implementations)]
gnzlbga17a91c2019-02-07 11:37:21 +010072 pub struct pthread_rwlock_t { // ToDo
73 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T],
74 }
75 }
76 }
77}