• 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 = "s390x",
9                           target_arch = "sparc64",
10                           target_arch = "riscv64",
11                           target_arch = "riscv32",
12                           all(target_arch = "aarch64",
13                               target_env = "musl")))]
14                 __align: [::c_int; 0],
15                 #[cfg(not(any(target_arch = "x86_64",
16                               target_arch = "powerpc64",
17                               target_arch = "mips64",
18                               target_arch = "s390x",
19                               target_arch = "sparc64",
20                               target_arch = "riscv64",
21                               target_arch = "riscv32",
22                               all(target_arch = "aarch64",
23                                   target_env = "musl"))))]
24                 __align: [::c_long; 0],
25                 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T],
26             }
27 
28             pub struct pthread_rwlockattr_t {
29                 #[cfg(target_env = "musl")]
30                 __align: [::c_int; 0],
31                 #[cfg(not(target_env = "musl"))]
32                 __align: [::c_long; 0],
33                 size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T],
34             }
35 
36             pub struct pthread_condattr_t {
37                 __align: [::c_int; 0],
38                 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T],
39             }
40 
41             pub struct fanotify_event_metadata {
42                 __align: [::c_long; 0],
43                 pub event_len: __u32,
44                 pub vers: __u8,
45                 pub reserved: __u8,
46                 pub metadata_len: __u16,
47                 pub mask: __u64,
48                 pub fd: ::c_int,
49                 pub pid: ::c_int,
50             }
51         }
52 
53         s_no_extra_traits! {
54             pub struct pthread_cond_t {
55                 #[cfg(target_env = "musl")]
56                 __align: [*const ::c_void; 0],
57                 #[cfg(not(target_env = "musl"))]
58                 __align: [::c_longlong; 0],
59                 size: [u8; ::__SIZEOF_PTHREAD_COND_T],
60             }
61 
62             pub struct pthread_mutex_t {
63                 #[cfg(any(target_arch = "mips",
64                           target_arch = "arm",
65                           target_arch = "m68k",
66                           target_arch = "powerpc",
67                           target_arch = "sparc",
68                           all(target_arch = "x86_64",
69                               target_pointer_width = "32")))]
70                 __align: [::c_long; 0],
71                 #[cfg(not(any(target_arch = "mips",
72                               target_arch = "arm",
73                               target_arch = "m68k",
74                               target_arch = "powerpc",
75                               target_arch = "sparc",
76                               all(target_arch = "x86_64",
77                                   target_pointer_width = "32"))))]
78                 __align: [::c_longlong; 0],
79                 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T],
80             }
81 
82             pub struct pthread_rwlock_t {
83                 #[cfg(any(target_arch = "mips",
84                           target_arch = "arm",
85                           target_arch = "m68k",
86                           target_arch = "powerpc",
87                           target_arch = "sparc",
88                           all(target_arch = "x86_64",
89                               target_pointer_width = "32")))]
90                 __align: [::c_long; 0],
91                 #[cfg(not(any(target_arch = "mips",
92                               target_arch = "arm",
93                               target_arch = "m68k",
94                               target_arch = "powerpc",
95                               target_arch = "sparc",
96                               all(target_arch = "x86_64",
97                                   target_pointer_width = "32"))))]
98                 __align: [::c_longlong; 0],
99                 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T],
100             }
101         }
102     };
103 }
104