1 macro_rules! expand_align { 2 () => { 3 s! { 4 #[cfg_attr(any(target_pointer_width = "32", 5 target_arch = "x86_64", 6 target_arch = "powerpc64", 7 target_arch = "mips64", 8 target_arch = "s390x", 9 target_arch = "sparc64", 10 target_arch = "aarch64", 11 target_arch = "riscv64", 12 target_arch = "riscv32"), 13 repr(align(4)))] 14 #[cfg_attr(not(any(target_pointer_width = "32", 15 target_arch = "x86_64", 16 target_arch = "powerpc64", 17 target_arch = "mips64", 18 target_arch = "s390x", 19 target_arch = "sparc64", 20 target_arch = "aarch64", 21 target_arch = "riscv64", 22 target_arch = "riscv32")), 23 repr(align(8)))] 24 pub struct pthread_mutexattr_t { 25 #[doc(hidden)] 26 size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], 27 } 28 29 #[cfg_attr(any(target_env = "musl", target_pointer_width = "32"), 30 repr(align(4)))] 31 #[cfg_attr(all(not(target_env = "musl"), 32 target_pointer_width = "64"), 33 repr(align(8)))] 34 pub struct pthread_rwlockattr_t { 35 #[doc(hidden)] 36 size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], 37 } 38 39 #[repr(align(4))] 40 pub struct pthread_condattr_t { 41 #[doc(hidden)] 42 size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], 43 } 44 45 #[repr(align(8))] 46 pub struct fanotify_event_metadata { 47 pub event_len: __u32, 48 pub vers: __u8, 49 pub reserved: __u8, 50 pub metadata_len: __u16, 51 pub mask: __u64, 52 pub fd: ::c_int, 53 pub pid: ::c_int, 54 } 55 } 56 57 s_no_extra_traits! { 58 #[cfg_attr(all(target_env = "musl", 59 target_pointer_width = "32"), 60 repr(align(4)))] 61 #[cfg_attr(all(target_env = "musl", 62 target_pointer_width = "64"), 63 repr(align(8)))] 64 #[cfg_attr(all(not(target_env = "musl"), 65 target_arch = "x86"), 66 repr(align(4)))] 67 #[cfg_attr(all(not(target_env = "musl"), 68 not(target_arch = "x86")), 69 repr(align(8)))] 70 pub struct pthread_cond_t { 71 #[doc(hidden)] 72 size: [u8; ::__SIZEOF_PTHREAD_COND_T], 73 } 74 75 #[cfg_attr(all(target_pointer_width = "32", 76 any(target_arch = "mips", 77 target_arch = "arm", 78 target_arch = "hexagon", 79 target_arch = "powerpc", 80 target_arch = "sparc", 81 target_arch = "x86_64", 82 target_arch = "x86")), 83 repr(align(4)))] 84 #[cfg_attr(any(target_pointer_width = "64", 85 not(any(target_arch = "mips", 86 target_arch = "arm", 87 target_arch = "hexagon", 88 target_arch = "powerpc", 89 target_arch = "sparc", 90 target_arch = "x86_64", 91 target_arch = "x86"))), 92 repr(align(8)))] 93 pub struct pthread_mutex_t { 94 #[doc(hidden)] 95 size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], 96 } 97 98 #[cfg_attr(all(target_pointer_width = "32", 99 any(target_arch = "mips", 100 target_arch = "arm", 101 target_arch = "hexagon", 102 target_arch = "powerpc", 103 target_arch = "sparc", 104 target_arch = "x86_64", 105 target_arch = "x86")), 106 repr(align(4)))] 107 #[cfg_attr(any(target_pointer_width = "64", 108 not(any(target_arch = "mips", 109 target_arch = "arm", 110 target_arch = "hexagon", 111 target_arch = "powerpc", 112 target_arch = "sparc", 113 target_arch = "x86_64", 114 target_arch = "x86"))), 115 repr(align(8)))] 116 pub struct pthread_rwlock_t { 117 size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], 118 } 119 120 // linux/can.h 121 #[repr(align(8))] 122 #[allow(missing_debug_implementations)] 123 pub struct can_frame { 124 pub can_id: canid_t, 125 pub can_dlc: u8, 126 __pad: u8, 127 __res0: u8, 128 __res1: u8, 129 pub data: [u8; CAN_MAX_DLEN], 130 } 131 132 #[repr(align(8))] 133 #[allow(missing_debug_implementations)] 134 pub struct canfd_frame { 135 pub can_id: canid_t, 136 pub len: u8, 137 pub flags: u8, 138 __res0: u8, 139 __res1: u8, 140 pub data: [u8; CANFD_MAX_DLEN], 141 } 142 } 143 }; 144 } 145