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