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