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 all(target_arch = "aarch64", 11 target_env = "musl")))] 12 __align: [::c_int; 0], 13 #[cfg(not(any(target_arch = "x86_64", 14 target_arch = "powerpc64", 15 target_arch = "mips64", 16 target_arch = "s390x", 17 target_arch = "sparc64", 18 all(target_arch = "aarch64", 19 target_env = "musl"))))] 20 __align: [::c_long; 0], 21 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], 22 } 23 24 pub struct pthread_rwlockattr_t { 25 #[cfg(target_env = "musl")] 26 __align: [::c_int; 0], 27 #[cfg(not(target_env = "musl"))] 28 __align: [::c_long; 0], 29 size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], 30 } 31 32 pub struct pthread_condattr_t { 33 __align: [::c_int; 0], 34 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], 35 } 36 } 37 38 s_no_extra_traits! { 39 pub struct pthread_cond_t { 40 #[cfg(target_env = "musl")] 41 __align: [*const ::c_void; 0], 42 #[cfg(not(target_env = "musl"))] 43 __align: [::c_longlong; 0], 44 size: [u8; ::__SIZEOF_PTHREAD_COND_T], 45 } 46 47 pub struct pthread_mutex_t { 48 #[cfg(any(target_arch = "mips", 49 target_arch = "arm", 50 target_arch = "powerpc", 51 all(target_arch = "x86_64", 52 target_pointer_width = "32")))] 53 __align: [::c_long; 0], 54 #[cfg(not(any(target_arch = "mips", 55 target_arch = "arm", 56 target_arch = "powerpc", 57 all(target_arch = "x86_64", 58 target_pointer_width = "32"))))] 59 __align: [::c_longlong; 0], 60 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], 61 } 62 63 pub struct pthread_rwlock_t { 64 #[cfg(any(target_arch = "mips", 65 target_arch = "arm", 66 target_arch = "powerpc", 67 all(target_arch = "x86_64", 68 target_pointer_width = "32")))] 69 __align: [::c_long; 0], 70 #[cfg(not(any(target_arch = "mips", 71 target_arch = "arm", 72 target_arch = "powerpc", 73 all(target_arch = "x86_64", 74 target_pointer_width = "32"))))] 75 __align: [::c_longlong; 0], 76 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], 77 } 78 } 79 } 80 } 81