1 | macro_rules! expand_align { |
2 | () => { |
3 | s! { |
4 | #[cfg_attr(any(target_pointer_width = "32" , |
5 | target_arch = "x86_64" , |
6 | target_arch = "powerpc64" , |
7 | target_arch = "mips64" , |
8 | target_arch = "mips64r6" , |
9 | target_arch = "s390x" , |
10 | target_arch = "sparc64" , |
11 | target_arch = "aarch64" , |
12 | target_arch = "riscv64" , |
13 | target_arch = "riscv32" , |
14 | target_arch = "loongarch64" ), |
15 | repr(align(4)))] |
16 | #[cfg_attr(not(any(target_pointer_width = "32" , |
17 | target_arch = "x86_64" , |
18 | target_arch = "powerpc64" , |
19 | target_arch = "mips64" , |
20 | target_arch = "mips64r6" , |
21 | target_arch = "s390x" , |
22 | target_arch = "sparc64" , |
23 | target_arch = "aarch64" , |
24 | target_arch = "riscv64" , |
25 | target_arch = "riscv32" , |
26 | target_arch = "loongarch64" )), |
27 | repr(align(8)))] |
28 | pub struct pthread_mutexattr_t { |
29 | #[doc(hidden)] |
30 | size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], |
31 | } |
32 | |
33 | #[cfg_attr(any(target_env = "musl" , target_env = "ohos" , target_pointer_width = "32" ), |
34 | repr(align(4)))] |
35 | #[cfg_attr(all(not(target_env = "musl" ), |
36 | not(target_env = "ohos" ), |
37 | target_pointer_width = "64" ), |
38 | repr(align(8)))] |
39 | pub struct pthread_rwlockattr_t { |
40 | #[doc(hidden)] |
41 | size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], |
42 | } |
43 | |
44 | #[repr(align(4))] |
45 | pub struct pthread_condattr_t { |
46 | #[doc(hidden)] |
47 | size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], |
48 | } |
49 | |
50 | #[repr(align(4))] |
51 | pub struct pthread_barrierattr_t { |
52 | #[doc(hidden)] |
53 | size: [u8; ::__SIZEOF_PTHREAD_BARRIERATTR_T], |
54 | } |
55 | |
56 | #[repr(align(8))] |
57 | pub struct fanotify_event_metadata { |
58 | pub event_len: __u32, |
59 | pub vers: __u8, |
60 | pub reserved: __u8, |
61 | pub metadata_len: __u16, |
62 | pub mask: __u64, |
63 | pub fd: ::c_int, |
64 | pub pid: ::c_int, |
65 | } |
66 | } |
67 | |
68 | s_no_extra_traits! { |
69 | #[cfg_attr(all(any(target_env = "musl" , target_env = "ohos" ), |
70 | target_pointer_width = "32" ), |
71 | repr(align(4)))] |
72 | #[cfg_attr(all(any(target_env = "musl" , target_env = "ohos" ), |
73 | target_pointer_width = "64" ), |
74 | repr(align(8)))] |
75 | #[cfg_attr(all(not(any(target_env = "musl" , target_env = "ohos" )), |
76 | target_arch = "x86" ), |
77 | repr(align(4)))] |
78 | #[cfg_attr(all(not(any(target_env = "musl" , target_env = "ohos" )), |
79 | not(target_arch = "x86" )), |
80 | repr(align(8)))] |
81 | pub struct pthread_cond_t { |
82 | #[doc(hidden)] |
83 | size: [u8; ::__SIZEOF_PTHREAD_COND_T], |
84 | } |
85 | |
86 | #[cfg_attr(all(target_pointer_width = "32" , |
87 | any(target_arch = "mips" , |
88 | target_arch = "mips32r6" , |
89 | target_arch = "arm" , |
90 | target_arch = "hexagon" , |
91 | target_arch = "m68k" , |
92 | target_arch = "csky" , |
93 | target_arch = "powerpc" , |
94 | target_arch = "sparc" , |
95 | target_arch = "x86_64" , |
96 | target_arch = "x86" )), |
97 | repr(align(4)))] |
98 | #[cfg_attr(any(target_pointer_width = "64" , |
99 | not(any(target_arch = "mips" , |
100 | target_arch = "mips32r6" , |
101 | target_arch = "arm" , |
102 | target_arch = "hexagon" , |
103 | target_arch = "m68k" , |
104 | target_arch = "csky" , |
105 | target_arch = "powerpc" , |
106 | target_arch = "sparc" , |
107 | target_arch = "x86_64" , |
108 | target_arch = "x86" ))), |
109 | repr(align(8)))] |
110 | pub struct pthread_mutex_t { |
111 | #[doc(hidden)] |
112 | size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], |
113 | } |
114 | |
115 | #[cfg_attr(all(target_pointer_width = "32" , |
116 | any(target_arch = "mips" , |
117 | target_arch = "mips32r6" , |
118 | target_arch = "arm" , |
119 | target_arch = "hexagon" , |
120 | target_arch = "m68k" , |
121 | target_arch = "csky" , |
122 | target_arch = "powerpc" , |
123 | target_arch = "sparc" , |
124 | target_arch = "x86_64" , |
125 | target_arch = "x86" )), |
126 | repr(align(4)))] |
127 | #[cfg_attr(any(target_pointer_width = "64" , |
128 | not(any(target_arch = "mips" , |
129 | target_arch = "mips32r6" , |
130 | target_arch = "arm" , |
131 | target_arch = "hexagon" , |
132 | target_arch = "m68k" , |
133 | target_arch = "powerpc" , |
134 | target_arch = "sparc" , |
135 | target_arch = "x86_64" , |
136 | target_arch = "x86" ))), |
137 | repr(align(8)))] |
138 | pub struct pthread_rwlock_t { |
139 | size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], |
140 | } |
141 | |
142 | #[cfg_attr(all(target_pointer_width = "32" , |
143 | any(target_arch = "mips" , |
144 | target_arch = "mips32r6" , |
145 | target_arch = "arm" , |
146 | target_arch = "hexagon" , |
147 | target_arch = "m68k" , |
148 | target_arch = "csky" , |
149 | target_arch = "powerpc" , |
150 | target_arch = "sparc" , |
151 | target_arch = "x86_64" , |
152 | target_arch = "x86" )), |
153 | repr(align(4)))] |
154 | #[cfg_attr(any(target_pointer_width = "64" , |
155 | not(any(target_arch = "mips" , |
156 | target_arch = "mips32r6" , |
157 | target_arch = "arm" , |
158 | target_arch = "hexagon" , |
159 | target_arch = "m68k" , |
160 | target_arch = "csky" , |
161 | target_arch = "powerpc" , |
162 | target_arch = "sparc" , |
163 | target_arch = "x86_64" , |
164 | target_arch = "x86" ))), |
165 | repr(align(8)))] |
166 | pub struct pthread_barrier_t { |
167 | size: [u8; ::__SIZEOF_PTHREAD_BARRIER_T], |
168 | } |
169 | |
170 | // linux/can.h |
171 | #[repr(align(8))] |
172 | #[allow(missing_debug_implementations)] |
173 | pub struct can_frame { |
174 | pub can_id: canid_t, |
175 | pub can_dlc: u8, |
176 | __pad: u8, |
177 | __res0: u8, |
178 | __res1: u8, |
179 | pub data: [u8; CAN_MAX_DLEN], |
180 | } |
181 | |
182 | #[repr(align(8))] |
183 | #[allow(missing_debug_implementations)] |
184 | pub struct canfd_frame { |
185 | pub can_id: canid_t, |
186 | pub len: u8, |
187 | pub flags: u8, |
188 | __res0: u8, |
189 | __res1: u8, |
190 | pub data: [u8; CANFD_MAX_DLEN], |
191 | } |
192 | |
193 | #[repr(align(8))] |
194 | #[allow(missing_debug_implementations)] |
195 | pub struct canxl_frame { |
196 | pub prio: canid_t, |
197 | pub flags: u8, |
198 | pub sdt: u8, |
199 | pub len: u16, |
200 | pub af: u32, |
201 | pub data: [u8; CANXL_MAX_DLEN], |
202 | } |
203 | } |
204 | }; |
205 | } |
206 | |