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 target_arch = "sparc", 52 all(target_arch = "x86_64", 53 target_pointer_width = "32")))] 54 __align: [::c_long; 0], 55 #[cfg(not(any(target_arch = "mips", 56 target_arch = "arm", 57 target_arch = "powerpc", 58 target_arch = "sparc", 59 all(target_arch = "x86_64", 60 target_pointer_width = "32"))))] 61 __align: [::c_longlong; 0], 62 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], 63 } 64 65 pub struct pthread_rwlock_t { 66 #[cfg(any(target_arch = "mips", 67 target_arch = "arm", 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 = "powerpc", 76 target_arch = "sparc", 77 all(target_arch = "x86_64", 78 target_pointer_width = "32"))))] 79 __align: [::c_longlong; 0], 80 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], 81 } 82 } 83 }; 84 } 85