• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 macro_rules! expand_align {
2     () => {
3         s! {
4             pub struct pthread_mutexattr_t {
5                 #[cfg(any(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 = "riscv64",
12                           target_arch = "riscv32",
13                           target_arch = "loongarch64",
14                           all(target_arch = "aarch64",
15                               any(target_env = "musl", target_env = "ohos"))))]
16                 __align: [::c_int; 0],
17                 #[cfg(not(any(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 = "riscv64",
24                               target_arch = "riscv32",
25                               target_arch = "loongarch64",
26                               all(target_arch = "aarch64",
27                                   any(target_env = "musl", target_env = "ohos")))))]
28                 __align: [::c_long; 0],
29                 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T],
30             }
31 
32             pub struct pthread_rwlockattr_t {
33                 #[cfg(any(target_env = "musl", target_env = "ohos"))]
34                 __align: [::c_int; 0],
35                 #[cfg(not(any(target_env = "musl", target_env = "ohos")))]
36                 __align: [::c_long; 0],
37                 size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T],
38             }
39 
40             pub struct pthread_condattr_t {
41                 __align: [::c_int; 0],
42                 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T],
43             }
44 
45             pub struct pthread_barrierattr_t {
46                 __align: [::c_int; 0],
47                 size: [u8; ::__SIZEOF_PTHREAD_BARRIERATTR_T],
48             }
49 
50             pub struct fanotify_event_metadata {
51                 __align: [::c_long; 0],
52                 pub event_len: __u32,
53                 pub vers: __u8,
54                 pub reserved: __u8,
55                 pub metadata_len: __u16,
56                 pub mask: __u64,
57                 pub fd: ::c_int,
58                 pub pid: ::c_int,
59             }
60         }
61 
62         s_no_extra_traits! {
63             pub struct pthread_cond_t {
64                 #[cfg(any(target_env = "musl", target_env = "ohos"))]
65                 __align: [*const ::c_void; 0],
66                 #[cfg(not(any(target_env = "musl", target_env = "ohos")))]
67                 __align: [::c_longlong; 0],
68                 size: [u8; ::__SIZEOF_PTHREAD_COND_T],
69             }
70 
71             pub struct pthread_mutex_t {
72                 #[cfg(any(target_arch = "mips",
73                           target_arch = "mips32r6",
74                           target_arch = "arm",
75                           target_arch = "m68k",
76                           target_arch = "csky",
77                           target_arch = "powerpc",
78                           target_arch = "sparc",
79                           all(target_arch = "x86_64",
80                               target_pointer_width = "32")))]
81                 __align: [::c_long; 0],
82                 #[cfg(not(any(target_arch = "mips",
83                               target_arch = "mips32r6",
84                               target_arch = "arm",
85                               target_arch = "m68k",
86                               target_arch = "csky",
87                               target_arch = "powerpc",
88                               target_arch = "sparc",
89                               all(target_arch = "x86_64",
90                                   target_pointer_width = "32"))))]
91                 __align: [::c_longlong; 0],
92                 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T],
93             }
94 
95             pub struct pthread_rwlock_t {
96                 #[cfg(any(target_arch = "mips",
97                           target_arch = "mips32r6",
98                           target_arch = "arm",
99                           target_arch = "m68k",
100                           target_arch = "csky",
101                           target_arch = "powerpc",
102                           target_arch = "sparc",
103                           all(target_arch = "x86_64",
104                               target_pointer_width = "32")))]
105                 __align: [::c_long; 0],
106                 #[cfg(not(any(target_arch = "mips",
107                               target_arch = "mips32r6",
108                               target_arch = "arm",
109                               target_arch = "m68k",
110                               target_arch = "csky",
111                               target_arch = "powerpc",
112                               target_arch = "sparc",
113                               all(target_arch = "x86_64",
114                                   target_pointer_width = "32"))))]
115                 __align: [::c_longlong; 0],
116                 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T],
117             }
118 
119             pub struct pthread_barrier_t {
120                 #[cfg(any(target_arch = "mips",
121                           target_arch = "mips32r6",
122                           target_arch = "arm",
123                           target_arch = "m68k",
124                           target_arch = "csky",
125                           target_arch = "powerpc",
126                           target_arch = "sparc",
127                           all(target_arch = "x86_64",
128                               target_pointer_width = "32")))]
129                 __align: [::c_long; 0],
130                 #[cfg(not(any(target_arch = "mips",
131                               target_arch = "mips32r6",
132                               target_arch = "arm",
133                               target_arch = "m68k",
134                               target_arch = "csky",
135                               target_arch = "powerpc",
136                               target_arch = "sparc",
137                               all(target_arch = "x86_64",
138                                   target_pointer_width = "32"))))]
139                 __align: [::c_longlong; 0],
140                 size: [u8; ::__SIZEOF_PTHREAD_BARRIER_T],
141             }
142         }
143     };
144 }
145