From 7b8c9ca7909d65b1d69653444f14bdb1bcea16b0 Mon Sep 17 00:00:00 2001 From: Adam Martinez <149513579+dybucc@users.noreply.github.com> Date: Fri, 21 Aug 2026 10:13:59 +0200 Subject: [PATCH] crate: change padding fields to use `Padding` Change padding fields that were still using raw types to be wrapped instead in the `Padding` type. The following command was used to search across the codebase, alongside manually checking each of the files where some such result came up. ``` rg -g "src/**/*.rs" -s -n -e "pad|res(erve(d)?)?|unuse(d)?|fill(er)?|spare" ``` --- src/fuchsia/mod.rs | 12 ++-- src/new/apple/xnu/mach/arm/_structs.rs | 3 +- src/new/apple/xnu/mach/i386/_structs.rs | 12 ++-- src/new/apple/xnu/net/bpf.rs | 2 +- .../sysdeps/unix/linux/mips/bits/sigaction.rs | 2 +- src/new/glibc/sysdeps/unix/linux/net/route.rs | 11 ++- src/new/linux_uapi/linux/can.rs | 6 +- src/new/linux_uapi/linux/if_packet.rs | 6 +- src/new/musl/sys/socket.rs | 4 +- src/new/netbsd/sys/statvfs.rs | 2 +- src/unix/aix/mod.rs | 10 +-- src/unix/aix/powerpc64.rs | 2 +- src/unix/bsd/apple/b32/mod.rs | 8 +-- src/unix/bsd/apple/b64/mod.rs | 8 +-- src/unix/bsd/apple/mod.rs | 46 ++++++------ src/unix/bsd/freebsdlike/dragonfly/mod.rs | 14 ++-- src/unix/bsd/freebsdlike/freebsd/aarch64.rs | 8 +-- src/unix/bsd/freebsdlike/freebsd/arm.rs | 2 +- .../bsd/freebsdlike/freebsd/freebsd11/b32.rs | 2 +- .../bsd/freebsdlike/freebsd/freebsd11/b64.rs | 2 +- .../bsd/freebsdlike/freebsd/freebsd11/mod.rs | 16 ++--- .../bsd/freebsdlike/freebsd/freebsd12/mod.rs | 18 ++--- .../bsd/freebsdlike/freebsd/freebsd13/mod.rs | 18 ++--- .../bsd/freebsdlike/freebsd/freebsd14/mod.rs | 18 ++--- .../bsd/freebsdlike/freebsd/freebsd15/mod.rs | 18 ++--- src/unix/bsd/freebsdlike/freebsd/mod.rs | 70 +++++++++---------- src/unix/bsd/freebsdlike/freebsd/riscv64.rs | 6 +- src/unix/bsd/freebsdlike/freebsd/x86.rs | 2 +- .../bsd/freebsdlike/freebsd/x86_64/mod.rs | 10 +-- src/unix/bsd/netbsdlike/netbsd/aarch64.rs | 2 +- src/unix/bsd/netbsdlike/netbsd/mod.rs | 10 +-- src/unix/bsd/netbsdlike/netbsd/riscv64.rs | 2 +- src/unix/bsd/netbsdlike/openbsd/mod.rs | 4 +- src/unix/cygwin/mod.rs | 2 +- src/unix/hurd/mod.rs | 2 +- src/unix/linux_like/android/b32/mod.rs | 8 +-- src/unix/linux_like/android/b64/mod.rs | 10 +-- src/unix/linux_like/android/mod.rs | 8 +-- src/unix/linux_like/emscripten/mod.rs | 10 +-- .../linux_like/l4re/uclibc/aarch64/mod.rs | 14 ++-- src/unix/linux_like/l4re/uclibc/mod.rs | 46 ++++++------ src/unix/linux_like/l4re/uclibc/x86_64/mod.rs | 10 +-- src/unix/linux_like/linux/gnu/b32/arm/mod.rs | 15 ++-- src/unix/linux_like/linux/gnu/b32/csky/mod.rs | 15 ++-- src/unix/linux_like/linux/gnu/b32/m68k/mod.rs | 6 +- src/unix/linux_like/linux/gnu/b32/mips/mod.rs | 8 +-- src/unix/linux_like/linux/gnu/b32/mod.rs | 48 ++++++------- src/unix/linux_like/linux/gnu/b32/powerpc.rs | 15 ++-- .../linux_like/linux/gnu/b32/riscv32/mod.rs | 21 ++---- .../linux_like/linux/gnu/b32/sparc/mod.rs | 6 +- src/unix/linux_like/linux/gnu/b32/x86/mod.rs | 15 ++-- .../linux_like/linux/gnu/b64/aarch64/mod.rs | 17 ++--- .../linux/gnu/b64/loongarch64/mod.rs | 23 +++--- .../linux_like/linux/gnu/b64/mips64/mod.rs | 8 +-- src/unix/linux_like/linux/gnu/b64/mod.rs | 26 +++---- .../linux_like/linux/gnu/b64/powerpc64/mod.rs | 19 ++--- .../linux_like/linux/gnu/b64/riscv64/mod.rs | 27 +++---- src/unix/linux_like/linux/gnu/b64/s390x.rs | 8 +-- .../linux_like/linux/gnu/b64/sparc64/mod.rs | 17 ++--- .../linux_like/linux/gnu/b64/x86_64/mod.rs | 17 ++--- .../linux/gnu/b64/x86_64/not_x32.rs | 2 +- .../linux_like/linux/gnu/b64/x86_64/x32.rs | 2 +- src/unix/linux_like/linux/gnu/mod.rs | 10 +-- src/unix/linux_like/linux/mod.rs | 28 ++++---- src/unix/linux_like/linux/musl/b32/arm/mod.rs | 2 +- .../linux_like/linux/musl/b32/mips/mod.rs | 4 +- .../linux_like/linux/musl/b32/riscv32/mod.rs | 4 +- src/unix/linux_like/linux/musl/b32/x86/mod.rs | 2 +- .../linux/musl/b64/loongarch64/mod.rs | 2 +- src/unix/linux_like/linux/musl/b64/mips64.rs | 4 +- .../linux_like/linux/musl/b64/riscv64/mod.rs | 2 +- src/unix/linux_like/linux/musl/b64/s390x.rs | 2 +- src/unix/linux_like/linux/musl/mod.rs | 34 ++++----- src/unix/linux_like/linux/uclibc/arm/mod.rs | 16 ++--- .../linux/uclibc/mips/mips32/mod.rs | 16 ++--- .../linux/uclibc/mips/mips64/mod.rs | 6 +- src/unix/linux_like/linux/uclibc/mod.rs | 12 ++-- .../linux_like/linux/uclibc/x86_64/mod.rs | 22 +++--- src/unix/newlib/mod.rs | 2 +- src/unix/newlib/vita/mod.rs | 2 +- src/unix/nto/mod.rs | 6 +- src/unix/nto/neutrino.rs | 4 +- src/unix/redox/mod.rs | 2 +- src/unix/solarish/illumos.rs | 6 +- src/unix/solarish/mod.rs | 10 +-- src/unix/solarish/solaris.rs | 8 +-- src/unix/solarish/x86_64.rs | 6 +- 87 files changed, 454 insertions(+), 539 deletions(-) diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 60f0a2f45e740..98f438d6b1654 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -310,9 +310,9 @@ s! { __next: *mut c_void, __prev: *mut c_void, #[cfg(target_pointer_width = "32")] - __dummy4: [c_char; 24], + __dummy4: Padding<[c_char; 24]>, #[cfg(target_pointer_width = "64")] - __dummy4: [c_char; 16], + __dummy4: Padding<[c_char; 16]>, } // FIXME(1.0): This should not implement `PartialEq` @@ -777,7 +777,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct stack_t { @@ -841,7 +841,7 @@ s! { pub f_namelen: c_ulong, pub f_frsize: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 4], + f_spare: Padding<[c_ulong; 4]>, } pub struct msghdr { @@ -858,7 +858,7 @@ s! { pub struct cmsghdr { pub cmsg_len: crate::socklen_t, - pub __pad1: c_int, + __pad1: Padding, pub cmsg_level: c_int, pub cmsg_type: c_int, } @@ -924,7 +924,7 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, diff --git a/src/new/apple/xnu/mach/arm/_structs.rs b/src/new/apple/xnu/mach/arm/_structs.rs index 6160e773fd33b..7ecd67e76a88a 100644 --- a/src/new/apple/xnu/mach/arm/_structs.rs +++ b/src/new/apple/xnu/mach/arm/_structs.rs @@ -2,7 +2,6 @@ //! //! -#[cfg(target_arch = "arm")] use crate::prelude::*; s! { @@ -19,7 +18,7 @@ s! { pub __sp: u64, pub __pc: u64, pub __cpsr: u32, - pub __pad: u32, + __pad: Padding, } #[cfg(target_arch = "aarch64")] diff --git a/src/new/apple/xnu/mach/i386/_structs.rs b/src/new/apple/xnu/mach/i386/_structs.rs index 15822f7710de8..bda4112e7a8ef 100644 --- a/src/new/apple/xnu/mach/i386/_structs.rs +++ b/src/new/apple/xnu/mach/i386/_structs.rs @@ -46,18 +46,18 @@ s! { } pub struct __darwin_x86_float_state64 { - pub __fpu_reserved: [c_int; 2], + __fpu_reserved: Padding<[c_int; 2]>, __fpu_fcw: c_short, __fpu_fsw: c_short, pub __fpu_ftw: u8, - pub __fpu_rsrv1: u8, + __fpu_rsrv1: Padding, pub __fpu_fop: u16, pub __fpu_ip: u32, pub __fpu_cs: u16, - pub __fpu_rsrv2: u16, + __fpu_rsrv2: Padding, pub __fpu_dp: u32, pub __fpu_ds: u16, - pub __fpu_rsrv3: u16, + __fpu_rsrv3: Padding, pub __fpu_mxcsr: u32, pub __fpu_mxcsrmask: u32, pub __fpu_stmm0: __darwin_mmst_reg, @@ -86,7 +86,7 @@ s! { pub __fpu_xmm15: __darwin_xmm_reg, // FIXME(apple): this field is actually [u8; 96], but defining it with a bigger type allows // us to auto-implement traits for it since the length of the array is less than 32 - __fpu_rsrv4: [u32; 24], - pub __fpu_reserved1: c_int, + __fpu_rsrv4: Padding<[u32; 24]>, + __fpu_reserved1: Padding, } } diff --git a/src/new/apple/xnu/net/bpf.rs b/src/new/apple/xnu/net/bpf.rs index 2f938c577088e..3580190c9d7fc 100644 --- a/src/new/apple/xnu/net/bpf.rs +++ b/src/new/apple/xnu/net/bpf.rs @@ -28,7 +28,7 @@ s_no_extra_traits! { pub union __c_anonymous_bfl_u { pub bflu_list: *mut u32, - pub bflu_pad: u64, + bflu_pad: Padding, } } diff --git a/src/new/glibc/sysdeps/unix/linux/mips/bits/sigaction.rs b/src/new/glibc/sysdeps/unix/linux/mips/bits/sigaction.rs index 408da96204e41..344b386acf4b5 100644 --- a/src/new/glibc/sysdeps/unix/linux/mips/bits/sigaction.rs +++ b/src/new/glibc/sysdeps/unix/linux/mips/bits/sigaction.rs @@ -12,7 +12,7 @@ s! { pub sa_mask: crate::sigset_t, pub sa_restorer: Option, #[cfg(target_pointer_width = "32")] - _resv: [c_int; 1], + _resv: Padding<[c_int; 1]>, } } diff --git a/src/new/glibc/sysdeps/unix/linux/net/route.rs b/src/new/glibc/sysdeps/unix/linux/net/route.rs index 1da2b47ebbb4a..ea3755743b067 100644 --- a/src/new/glibc/sysdeps/unix/linux/net/route.rs +++ b/src/new/glibc/sysdeps/unix/linux/net/route.rs @@ -7,20 +7,19 @@ use crate::prelude::*; s! { pub struct rtentry { - pub rt_pad1: c_ulong, + rt_pad1: Padding, pub rt_dst: crate::sockaddr, pub rt_gateway: crate::sockaddr, pub rt_genmask: crate::sockaddr, pub rt_flags: c_ushort, - pub rt_pad2: c_short, - pub rt_pad3: c_ulong, + rt_pad2: Padding, + rt_pad3: Padding, pub rt_tos: c_uchar, pub rt_class: c_uchar, - // FIXME(1.0): private padding fields #[cfg(target_pointer_width = "64")] - pub rt_pad4: [c_short; 3usize], + rt_pad4: Padding<[c_short; 3usize]>, #[cfg(not(target_pointer_width = "64"))] - pub rt_pad4: c_short, + rt_pad4: Padding, pub rt_metric: c_short, pub rt_dev: *mut c_char, pub rt_mtu: c_ulong, diff --git a/src/new/linux_uapi/linux/can.rs b/src/new/linux_uapi/linux/can.rs index c2631bd55fa4b..cc20118338174 100644 --- a/src/new/linux_uapi/linux/can.rs +++ b/src/new/linux_uapi/linux/can.rs @@ -44,7 +44,7 @@ s_with_default! { // FIXME(1.0): this field was renamed to `len` in Linux 5.11 pub can_dlc: u8, __pad: Padding, - __res0: u8, + __res0: Padding, pub len8_dlc: u8, pub data: [u8; CAN_MAX_DLEN], } @@ -60,8 +60,8 @@ s_with_default! { pub can_id: canid_t, pub len: u8, pub flags: u8, - __res0: u8, - __res1: u8, + __res0: Padding, + __res1: Padding, #[custom_default([0; CANFD_MAX_DLEN])] pub data: [u8; CANFD_MAX_DLEN], } diff --git a/src/new/linux_uapi/linux/if_packet.rs b/src/new/linux_uapi/linux/if_packet.rs index 56e4a9d4dfb9e..fac2c65b4506c 100644 --- a/src/new/linux_uapi/linux/if_packet.rs +++ b/src/new/linux_uapi/linux/if_packet.rs @@ -141,14 +141,14 @@ s! { pub tp_nsec: u32, pub tp_vlan_tci: u16, pub tp_vlan_tpid: u16, - pub tp_padding: [u8; 4], + tp_padding: Padding<[u8; 4]>, } pub struct tpacket_hdr_variant1 { pub tp_rxhash: u32, pub tp_vlan_tci: u32, pub tp_vlan_tpid: u16, - pub tp_padding: u16, + tp_padding: Padding, } pub struct tpacket3_hdr { @@ -161,7 +161,7 @@ s! { pub tp_mac: u16, pub tp_net: u16, pub hv1: tpacket_hdr_variant1, - pub tp_padding: [u8; 8], + tp_padding: Padding<[u8; 8]>, } pub struct tpacket_bd_ts { diff --git a/src/new/musl/sys/socket.rs b/src/new/musl/sys/socket.rs index 8083ddc2a7dc4..ab01080ca4076 100644 --- a/src/new/musl/sys/socket.rs +++ b/src/new/musl/sys/socket.rs @@ -26,10 +26,10 @@ s! { pub struct cmsghdr { #[cfg(all(target_pointer_width = "64", target_endian = "big"))] - pub __pad1: c_int, + __pad1: Padding, pub cmsg_len: crate::socklen_t, #[cfg(all(target_pointer_width = "64", target_endian = "little"))] - pub __pad1: c_int, + __pad1: Padding, pub cmsg_level: c_int, pub cmsg_type: c_int, } diff --git a/src/new/netbsd/sys/statvfs.rs b/src/new/netbsd/sys/statvfs.rs index eee3766300ce6..2e8fe5e202164 100644 --- a/src/new/netbsd/sys/statvfs.rs +++ b/src/new/netbsd/sys/statvfs.rs @@ -36,7 +36,7 @@ s! { pub f_owner: crate::uid_t, // This type is updated in a future version - f_spare: [u32; 4], + f_spare: Padding<[u32; 4]>, pub f_fstypename: [c_char; _VFS_NAMELEN], pub f_mntonname: [c_char; _VFS_MNAMELEN], diff --git a/src/unix/aix/mod.rs b/src/unix/aix/mod.rs index b593c11cce0ff..eccf47efa3ea1 100644 --- a/src/unix/aix/mod.rs +++ b/src/unix/aix/mod.rs @@ -154,7 +154,7 @@ s! { pub f_flag: c_ulong, pub f_namemax: c_ulong, pub f_fstr: [c_char; 32], - pub f_filler: [c_ulong; 16], + f_filler: Padding<[c_ulong; 16]>, } pub struct lconv { @@ -373,7 +373,7 @@ s! { pub ss_sp: *mut c_void, pub ss_size: size_t, pub ss_flags: c_int, - pub __pad: [c_int; 4], + __pad: Padding<[c_int; 4]>, } pub struct posix_spawnattr_t { @@ -420,9 +420,9 @@ s! { pub ut_time: time64_t, pub ut_exit: exit_status, pub ut_host: [c_char; 256], - pub __dbl_word_pad: c_int, - pub __reservedA: [c_int; 2], - pub __reservedV: [c_int; 6], + __dbl_word_pad: Padding, + __reservedA: Padding<[c_int; 2]>, + __reservedV: Padding<[c_int; 6]>, } pub struct regmatch_t { diff --git a/src/unix/aix/powerpc64.rs b/src/unix/aix/powerpc64.rs index 37f0d0f743cbe..5aa45145a9547 100644 --- a/src/unix/aix/powerpc64.rs +++ b/src/unix/aix/powerpc64.rs @@ -40,7 +40,7 @@ s! { pub f_flag: c_ulong, pub f_namemax: c_ulong, pub f_fstr: [c_char; 32], - pub f_filler: [c_ulong; 16], + f_filler: Padding<[c_ulong; 16]>, } pub struct pthread_rwlock_t { diff --git a/src/unix/bsd/apple/b32/mod.rs b/src/unix/bsd/apple/b32/mod.rs index f6e861abc3434..37ef55c0f8e0b 100644 --- a/src/unix/bsd/apple/b32/mod.rs +++ b/src/unix/bsd/apple/b32/mod.rs @@ -13,7 +13,7 @@ s! { pub ifi_hdrlen: c_uchar, pub ifi_recvquota: c_uchar, pub ifi_xmitquota: c_uchar, - pub ifi_unused1: c_uchar, + ifi_unused1: Padding, pub ifi_mtu: u32, pub ifi_metric: u32, pub ifi_baudrate: u32, @@ -31,10 +31,10 @@ s! { pub ifi_recvtiming: u32, pub ifi_xmittiming: u32, pub ifi_lastchange: crate::timeval, - pub ifi_unused2: u32, + ifi_unused2: Padding, pub ifi_hwassist: u32, - pub ifi_reserved1: u32, - pub ifi_reserved2: u32, + ifi_reserved1: Padding, + ifi_reserved2: Padding, } #[cfg(target_os = "macos")] diff --git a/src/unix/bsd/apple/b64/mod.rs b/src/unix/bsd/apple/b64/mod.rs index 541d16e3e5608..a938cf1a2b3e4 100644 --- a/src/unix/bsd/apple/b64/mod.rs +++ b/src/unix/bsd/apple/b64/mod.rs @@ -17,7 +17,7 @@ s! { pub ifi_hdrlen: c_uchar, pub ifi_recvquota: c_uchar, pub ifi_xmitquota: c_uchar, - pub ifi_unused1: c_uchar, + ifi_unused1: Padding, pub ifi_mtu: u32, pub ifi_metric: u32, pub ifi_baudrate: u32, @@ -35,10 +35,10 @@ s! { pub ifi_recvtiming: u32, pub ifi_xmittiming: u32, pub ifi_lastchange: timeval32, - pub ifi_unused2: u32, + ifi_unused2: Padding, pub ifi_hwassist: u32, - pub ifi_reserved1: u32, - pub ifi_reserved2: u32, + ifi_reserved1: Padding, + ifi_reserved2: Padding, } #[cfg(target_os = "macos")] diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 8aa5085ad311a..fe598f80f7946 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -309,8 +309,8 @@ s! { pub st_blksize: blksize_t, pub st_flags: u32, pub st_gen: u32, - pub st_lspare: i32, - pub st_qspare: [i64; 2], + st_lspare: Padding, + st_qspare: Padding<[i64; 2]>, } pub struct siginfo_t { @@ -348,10 +348,10 @@ s! { } pub struct fpunchhole_t { - pub fp_flags: c_uint, /* unused */ - pub reserved: c_uint, /* (to maintain 8-byte alignment) */ - pub fp_offset: off_t, /* IN: start of the region */ - pub fp_length: off_t, /* IN: size of the region */ + pub fp_flags: c_uint, /* unused */ + reserved: Padding, /* (to maintain 8-byte alignment) */ + pub fp_offset: off_t, /* IN: start of the region */ + pub fp_length: off_t, /* IN: size of the region */ } pub struct ftrimactivefile_t { @@ -361,7 +361,7 @@ s! { pub struct fspecread_t { pub fsr_flags: c_uint, - pub reserved: c_uint, + reserved: Padding, pub fsr_offset: off_t, pub fsr_length: off_t, } @@ -420,7 +420,7 @@ s! { pub dqb_btime: u32, pub dqb_itime: u32, pub dqb_id: u32, - pub dqb_spare: [u32; 4], + dqb_spare: Padding<[u32; 4]>, } pub struct if_msghdr { @@ -474,7 +474,7 @@ s! { pub rmx_rtt: u32, pub rmx_rttvar: u32, pub rmx_pksent: u32, - pub rmx_filler: [u32; 4], + rmx_filler: Padding<[u32; 4]>, } #[cfg(target_os = "macos")] @@ -503,7 +503,7 @@ s! { pub rtm_addrs: c_int, pub rtm_refcnt: i32, pub rtm_parentflags: c_int, - pub rtm_reserved: c_int, + rtm_reserved: Padding, pub rtm_use: c_int, pub rtm_inits: u32, pub rtm_rmx: rt_metrics, @@ -636,7 +636,7 @@ s! { /// Current SVGID on process. pub pbsi_svgid: crate::gid_t, /// Reserved for future use. - pbsi_rfu: u32, + pbsi_rfu: Padding, } #[cfg(target_os = "macos")] @@ -722,7 +722,7 @@ s! { pub ss_sysaddr: u16, pub sc_id: u32, pub sc_unit: u32, - pub sc_reserved: [u32; 5], + sc_reserved: Padding<[u32; 5]>, } pub struct in_pktinfo { @@ -893,14 +893,14 @@ s! { pub vst_flags: u32, pub vst_gen: u32, pub vst_rdev: u32, - pub vst_qspare: [i64; 2], + vst_qspare: Padding<[i64; 2]>, } #[cfg(target_os = "macos")] pub struct vnode_info { pub vi_stat: vinfo_stat, pub vi_type: c_int, - pub vi_pad: c_int, + vi_pad: Padding, pub vi_fsid: crate::fsid_t, } @@ -1072,7 +1072,7 @@ s! { pub struct attrlist { pub bitmapcount: c_ushort, - pub reserved: u16, + reserved: Padding, pub commonattr: attrgroup_t, pub volattr: attrgroup_t, pub dirattr: attrgroup_t, @@ -1242,7 +1242,7 @@ s! { /// Number of drops in send queue pub ifmd_snd_drops: c_uint, /// For future expansion - pub ifmd_filler: [c_uint; 4], + ifmd_filler: Padding<[c_uint; 4]>, /// Generic information and statistics pub ifmd_data: if_data64, } @@ -1298,10 +1298,10 @@ s! { pub sem_base: i32, pub sem_nsems: c_ushort, pub sem_otime: crate::time_t, - pub sem_pad1: i32, + sem_pad1: Padding, pub sem_ctime: crate::time_t, - pub sem_pad2: i32, - pub sem_pad3: [i32; 4], + sem_pad2: Padding, + sem_pad3: Padding<[i32; 4]>, } #[repr(packed(4))] @@ -1315,7 +1315,7 @@ s! { pub shm_dtime: crate::time_t, // FIXME(macos): 64-bit wrong align => wrong offset pub shm_ctime: crate::time_t, // FIXME(macos): 64-bit wrong align => wrong offset // FIXME: 64-bit wrong align => wrong offset: - pub shm_internal: *mut c_void, + shm_internal: Padding<*mut c_void>, } #[cfg(target_os = "macos")] @@ -1350,7 +1350,7 @@ s! { pub f_mntonname: [c_char; 1024], pub f_mntfromname: [c_char; 1024], pub f_flags_ext: u32, - pub f_reserved: [u32; 7], + f_reserved: Padding<[u32; 7]>, } pub struct dirent { @@ -1471,7 +1471,7 @@ s! { pub ifi_hdrlen: c_uchar, pub ifi_recvquota: c_uchar, pub ifi_xmitquota: c_uchar, - pub ifi_unused1: c_uchar, + ifi_unused1: Padding, pub ifi_mtu: u32, pub ifi_metric: u32, pub ifi_baudrate: u64, @@ -1596,7 +1596,7 @@ s! { pub struct sockaddr_vm { pub svm_len: c_uchar, pub svm_family: crate::sa_family_t, - pub svm_reserved1: c_ushort, + svm_reserved1: Padding, pub svm_port: c_uint, pub svm_cid: c_uint, } diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index 17610214e5e60..ca523839ef57d 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -152,9 +152,9 @@ s! { pub __old_st_blksize: u32, pub st_flags: u32, pub st_gen: u32, - pub st_lspare: i32, + st_lspare: Padding, pub st_blksize: i64, - pub st_qspare2: i64, + st_qspare2: Padding, } pub struct if_data { @@ -339,7 +339,7 @@ s! { pub kp_auxflags: c_int, pub kp_lwp: crate::kinfo_lwp, pub kp_ktaddr: crate::uintptr_t, - kp_spare: [c_int; 2], + kp_spare: Padding<[c_int; 2]>, } pub struct cpuctl_msr_args_t { @@ -397,7 +397,7 @@ s! { } pub struct statfs { - __spare2: c_long, + __spare2: Padding, pub f_bsize: c_long, pub f_iosize: c_long, pub f_blocks: c_long, @@ -415,10 +415,10 @@ s! { pub f_mntonname: [c_char; 80], pub f_syncreads: c_long, pub f_asyncreads: c_long, - __spares1: c_short, + __spares1: Padding, pub f_mntfromname: [c_char; 80], - __spares2: c_short, - __spare: [c_long; 2], + __spares2: Padding, + __spare: Padding<[c_long; 2]>, } pub struct sigevent { diff --git a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs index 232770f6e00fa..d0296698064d7 100644 --- a/src/unix/bsd/freebsdlike/freebsd/aarch64.rs +++ b/src/unix/bsd/freebsdlike/freebsd/aarch64.rs @@ -13,7 +13,7 @@ s! { pub gp_sp: crate::register_t, pub gp_elr: crate::register_t, pub gp_spsr: u32, - pub gp_pad: c_int, + gp_pad: Padding, } pub struct fpregs { @@ -21,15 +21,15 @@ s! { pub fp_sr: u32, pub fp_cr: u32, pub fp_flags: c_int, - pub fp_pad: c_int, + fp_pad: Padding, } pub struct mcontext_t { pub mc_gpregs: gpregs, pub mc_fpregs: fpregs, pub mc_flags: c_int, - pub mc_pad: c_int, - pub mc_spare: [u64; 8], + mc_pad: Padding, + mc_spare: Padding<[u64; 8]>, } } diff --git a/src/unix/bsd/freebsdlike/freebsd/arm.rs b/src/unix/bsd/freebsdlike/freebsd/arm.rs index a0f51834d45dd..4aa0f69455f92 100644 --- a/src/unix/bsd/freebsdlike/freebsd/arm.rs +++ b/src/unix/bsd/freebsdlike/freebsd/arm.rs @@ -13,7 +13,7 @@ s! { pub __gregs: crate::__gregset_t, pub mc_vfp_size: usize, pub mc_vfp_ptr: *mut c_void, - pub mc_spare: [c_uint; 33], + mc_spare: Padding<[c_uint; 33]>, } } diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs index cd0c3e071012f..76de5d946ec72 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b32.rs @@ -21,7 +21,7 @@ s! { pub st_blksize: crate::blksize_t, pub st_flags: crate::fflags_t, pub st_gen: u32, - pub st_lspare: i32, + st_lspare: Padding, pub st_birthtime: crate::time_t, pub st_birthtime_nsec: c_long, __unused: Padding<[u8; 8]>, diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs index 9e80a792a8c7b..b7ee3bbc19000 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs @@ -21,7 +21,7 @@ s! { pub st_blksize: crate::blksize_t, pub st_flags: crate::fflags_t, pub st_gen: u32, - pub st_lspare: i32, + st_lspare: Padding, pub st_birthtime: crate::time_t, pub st_birthtime_nsec: c_long, } diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs index 87b9ac9fcf810..0155b0d019cf0 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs @@ -73,7 +73,7 @@ s! { /// Job control counter. pub ki_jobc: c_short, /// Unused (just here for alignment). - pub ki_spare_short1: c_short, + ki_spare_short1: Padding, /// Controlling tty dev. pub ki_tdev: crate::dev_t, /// Signals arrived but not delivered. @@ -97,7 +97,7 @@ s! { /// Number of groups. pub ki_ngroups: c_short, /// Unused (just here for alignment). - pub ki_spare_short2: c_short, + ki_spare_short2: Padding, /// Groups. pub ki_groups: [crate::gid_t; crate::KI_NGROUPS], /// Virtual size. @@ -167,9 +167,9 @@ s! { /// More thread name. pub ki_moretdname: [c_char; crate::MAXCOMLEN - crate::TDNAMLEN + 1], /// Spare string space. - pub ki_sparestrings: [c_char; 46], + ki_sparestrings: Padding<[c_char; 46]>, /// Spare room for growth. - pub ki_spareints: [c_int; crate::KI_NSPARE_INT], + ki_spareints: Padding<[c_int; crate::KI_NSPARE_INT]>, /// Which cpu we are on. pub ki_oncpu: c_int, /// Last cpu we were on. @@ -203,8 +203,8 @@ s! { pub ki_udata: *mut c_void, // This is normally "struct thread". pub ki_tdaddr: *mut c_void, - pub ki_spareptrs: [*mut c_void; crate::KI_NSPARE_PTR], - pub ki_sparelongs: [c_long; crate::KI_NSPARE_LONG], + ki_spareptrs: Padding<[*mut c_void; crate::KI_NSPARE_PTR]>, + ki_sparelongs: Padding<[c_long; crate::KI_NSPARE_LONG]>, /// PS_* flags. pub ki_sflag: c_long, /// kthread flag. @@ -234,11 +234,11 @@ s! { pub f_asyncwrites: u64, pub f_syncreads: u64, pub f_asyncreads: u64, - f_spare: [u64; 10], + f_spare: Padding<[u64; 10]>, pub f_namemax: u32, pub f_owner: crate::uid_t, pub f_fsid: crate::fsid_t, - f_charspare: [c_char; 80], + f_charspare: Padding<[c_char; 80]>, pub f_fstypename: [c_char; 16], // Array length changed from 88 to 1024 in FreeBSD 12: pub f_mntfromname: [c_char; 88], diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index ab1de57b051a1..7451a0285f5de 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs @@ -81,7 +81,7 @@ s! { /// Job control counter. pub ki_jobc: c_short, /// Unused (just here for alignment). - pub ki_spare_short1: c_short, + ki_spare_short1: Padding, /// Controlling tty dev. pub ki_tdev_freebsd11: u32, /// Signals arrived but not delivered. @@ -105,7 +105,7 @@ s! { /// Number of groups. pub ki_ngroups: c_short, /// Unused (just here for alignment). - pub ki_spare_short2: c_short, + ki_spare_short2: Padding, /// Groups. pub ki_groups: [crate::gid_t; crate::KI_NGROUPS], /// Virtual size. @@ -175,9 +175,9 @@ s! { /// More thread name. pub ki_moretdname: [c_char; crate::MAXCOMLEN - crate::TDNAMLEN + 1], /// Spare string space. - pub ki_sparestrings: [c_char; 46], + ki_sparestrings: Padding<[c_char; 46]>, /// Spare room for growth. - pub ki_spareints: [c_int; crate::KI_NSPARE_INT], + ki_spareints: Padding<[c_int; crate::KI_NSPARE_INT]>, /// Controlling tty dev. pub ki_tdev: crate::dev_t, /// Which cpu we are on. @@ -213,8 +213,8 @@ s! { pub ki_udata: *mut c_void, // This is normally "struct thread". pub ki_tdaddr: *mut c_void, - pub ki_spareptrs: [*mut c_void; crate::KI_NSPARE_PTR], - pub ki_sparelongs: [c_long; crate::KI_NSPARE_LONG], + ki_spareptrs: Padding<[*mut c_void; crate::KI_NSPARE_PTR]>, + ki_sparelongs: Padding<[c_long; crate::KI_NSPARE_LONG]>, /// PS_* flags. pub ki_sflag: c_long, /// kthread flag. @@ -252,7 +252,7 @@ s! { pub st_blksize: crate::blksize_t, pub st_flags: crate::fflags_t, pub st_gen: u64, - pub st_spare: [u64; 10], + st_spare: Padding<[u64; 10]>, } pub struct dirent { @@ -281,11 +281,11 @@ s! { pub f_asyncwrites: u64, pub f_syncreads: u64, pub f_asyncreads: u64, - f_spare: [u64; 10], + f_spare: Padding<[u64; 10]>, pub f_namemax: u32, pub f_owner: crate::uid_t, pub f_fsid: crate::fsid_t, - f_charspare: [c_char; 80], + f_charspare: Padding<[c_char; 80]>, pub f_fstypename: [c_char; 16], pub f_mntfromname: [c_char; 1024], pub f_mntonname: [c_char; 1024], diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index 27f24faa3e197..bf6221810a520 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs @@ -91,7 +91,7 @@ s! { /// Job control counter. pub ki_jobc: c_short, /// Unused (just here for alignment). - pub ki_spare_short1: c_short, + ki_spare_short1: Padding, /// Controlling tty dev. pub ki_tdev_freebsd11: u32, /// Signals arrived but not delivered. @@ -115,7 +115,7 @@ s! { /// Number of groups. pub ki_ngroups: c_short, /// Unused (just here for alignment). - pub ki_spare_short2: c_short, + ki_spare_short2: Padding, /// Groups. pub ki_groups: [crate::gid_t; crate::KI_NGROUPS], /// Virtual size. @@ -185,9 +185,9 @@ s! { /// More thread name. pub ki_moretdname: [c_char; crate::MAXCOMLEN - crate::TDNAMLEN + 1], /// Spare string space. - pub ki_sparestrings: [c_char; 46], + ki_sparestrings: Padding<[c_char; 46]>, /// Spare room for growth. - pub ki_spareints: [c_int; crate::KI_NSPARE_INT], + ki_spareints: Padding<[c_int; crate::KI_NSPARE_INT]>, /// Controlling tty dev. pub ki_tdev: u64, /// Which cpu we are on. @@ -226,8 +226,8 @@ s! { // This is normally "struct pwddesc". /// Pointer to process paths info. pub ki_pd: *mut c_void, - pub ki_spareptrs: [*mut c_void; crate::KI_NSPARE_PTR], - pub ki_sparelongs: [c_long; crate::KI_NSPARE_LONG], + ki_spareptrs: Padding<[*mut c_void; crate::KI_NSPARE_PTR]>, + ki_sparelongs: Padding<[c_long; crate::KI_NSPARE_LONG]>, /// PS_* flags. pub ki_sflag: c_long, /// kthread flag. @@ -265,7 +265,7 @@ s! { pub st_blksize: crate::blksize_t, pub st_flags: crate::fflags_t, pub st_gen: u64, - pub st_spare: [u64; 10], + st_spare: Padding<[u64; 10]>, } pub struct dirent { @@ -294,11 +294,11 @@ s! { pub f_asyncwrites: u64, pub f_syncreads: u64, pub f_asyncreads: u64, - f_spare: [u64; 10], + f_spare: Padding<[u64; 10]>, pub f_namemax: u32, pub f_owner: crate::uid_t, pub f_fsid: crate::fsid_t, - f_charspare: [c_char; 80], + f_charspare: Padding<[c_char; 80]>, pub f_fstypename: [c_char; 16], pub f_mntfromname: [c_char; 1024], pub f_mntonname: [c_char; 1024], diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs index 0ac28e8771dda..9b721d8325902 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs @@ -91,7 +91,7 @@ s! { /// Job control counter. pub ki_jobc: c_short, /// Unused (just here for alignment). - pub ki_spare_short1: c_short, + ki_spare_short1: Padding, /// Controlling tty dev. pub ki_tdev_freebsd11: u32, /// Signals arrived but not delivered. @@ -115,7 +115,7 @@ s! { /// Number of groups. pub ki_ngroups: c_short, /// Unused (just here for alignment). - pub ki_spare_short2: c_short, + ki_spare_short2: Padding, /// Groups. pub ki_groups: [crate::gid_t; crate::KI_NGROUPS], /// Virtual size. @@ -185,9 +185,9 @@ s! { /// More thread name. pub ki_moretdname: [c_char; crate::MAXCOMLEN - crate::TDNAMLEN + 1], /// Spare string space. - pub ki_sparestrings: [c_char; 46], + ki_sparestrings: Padding<[c_char; 46]>, /// Spare room for growth. - pub ki_spareints: [c_int; crate::KI_NSPARE_INT], + ki_spareints: Padding<[c_int; crate::KI_NSPARE_INT]>, /// Controlling tty dev. pub ki_tdev: u64, /// Which cpu we are on. @@ -226,8 +226,8 @@ s! { // This is normally "struct pwddesc". /// Pointer to process paths info. pub ki_pd: *mut c_void, - pub ki_spareptrs: [*mut c_void; crate::KI_NSPARE_PTR], - pub ki_sparelongs: [c_long; crate::KI_NSPARE_LONG], + ki_spareptrs: Padding<[*mut c_void; crate::KI_NSPARE_PTR]>, + ki_sparelongs: Padding<[c_long; crate::KI_NSPARE_LONG]>, /// PS_* flags. pub ki_sflag: c_long, /// kthread flag. @@ -267,7 +267,7 @@ s! { pub st_flags: crate::fflags_t, pub st_gen: u64, pub st_filerev: u64, - pub st_spare: [u64; 9], + st_spare: Padding<[u64; 9]>, } pub struct dirent { @@ -296,11 +296,11 @@ s! { pub f_asyncwrites: u64, pub f_syncreads: u64, pub f_asyncreads: u64, - f_spare: [u64; 10], + f_spare: Padding<[u64; 10]>, pub f_namemax: u32, pub f_owner: crate::uid_t, pub f_fsid: crate::fsid_t, - f_charspare: [c_char; 80], + f_charspare: Padding<[c_char; 80]>, pub f_fstypename: [c_char; 16], pub f_mntfromname: [c_char; 1024], pub f_mntonname: [c_char; 1024], diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs index 94f01c3786c31..dbd9231c439fe 100644 --- a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs @@ -92,7 +92,7 @@ s! { /// Job control counter. pub ki_jobc: c_short, /// Unused (just here for alignment). - pub ki_spare_short1: c_short, + ki_spare_short1: Padding, /// Controlling tty dev. pub ki_tdev_freebsd11: u32, /// Signals arrived but not delivered. @@ -116,7 +116,7 @@ s! { /// Number of groups. pub ki_ngroups: c_short, /// Unused (just here for alignment). - pub ki_spare_short2: c_short, + ki_spare_short2: Padding, /// Groups. pub ki_groups: [crate::gid_t; crate::KI_NGROUPS], /// Virtual size. @@ -186,9 +186,9 @@ s! { /// More thread name. pub ki_moretdname: [c_char; crate::MAXCOMLEN - crate::TDNAMLEN + 1], /// Spare string space. - pub ki_sparestrings: [c_char; 46], + ki_sparestrings: Padding<[c_char; 46]>, /// Spare room for growth. - pub ki_spareints: [c_int; crate::KI_NSPARE_INT], + ki_spareints: Padding<[c_int; crate::KI_NSPARE_INT]>, /// Controlling tty dev. pub ki_tdev: u64, /// Which cpu we are on. @@ -229,8 +229,8 @@ s! { pub ki_pd: *mut c_void, /// Address of the ext err msg place pub ki_uerrmsg: *mut c_void, - pub ki_spareptrs: [*mut c_void; crate::KI_NSPARE_PTR], - pub ki_sparelongs: [c_long; crate::KI_NSPARE_LONG], + ki_spareptrs: Padding<[*mut c_void; crate::KI_NSPARE_PTR]>, + ki_sparelongs: Padding<[c_long; crate::KI_NSPARE_LONG]>, /// PS_* flags. pub ki_sflag: c_long, /// kthread flag. @@ -269,7 +269,7 @@ s! { pub st_flags: crate::fflags_t, pub st_gen: u64, pub st_filerev: u64, - pub st_spare: [u64; 9], + st_spare: Padding<[u64; 9]>, } pub struct dirent { @@ -298,11 +298,11 @@ s! { pub f_asyncwrites: u64, pub f_syncreads: u64, pub f_asyncreads: u64, - f_spare: [u64; 10], + f_spare: Padding<[u64; 10]>, pub f_namemax: u32, pub f_owner: crate::uid_t, pub f_fsid: crate::fsid_t, - f_charspare: [c_char; 80], + f_charspare: Padding<[c_char; 80]>, pub f_fstypename: [c_char; 16], pub f_mntfromname: [c_char; 1024], pub f_mntonname: [c_char; 1024], diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 2d9e00c49a638..634366e0848d2 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -367,14 +367,14 @@ s! { m_rb_link: crate::uintptr_t, #[cfg(target_pointer_width = "32")] m_pad: Padding, - m_spare: [u32; 2], + m_spare: Padding<[u32; 2]>, } pub struct ucond { c_has_waiters: u32, c_flags: u32, c_clockid: u32, - c_spare: [u32; 1], + c_spare: Padding<[u32; 1]>, } pub struct uuid { @@ -434,9 +434,9 @@ s! { #[cfg(not(freebsd11))] pub kve_vn_rdev: u64, #[cfg(not(freebsd11))] - _kve_is_spare: [c_int; 8], + _kve_is_spare: Padding<[c_int; 8]>, #[cfg(freebsd11)] - _kve_is_spare: [c_int; 12], + _kve_is_spare: Padding<[c_int; 12]>, pub kve_path: [c_char; crate::PATH_MAX as usize], } @@ -557,7 +557,7 @@ s! { pub t_pw: i16, pub t_sl: i16, pub t_sw: i16, - pub t_pad: [u16; 3], + t_pad: Padding<[u16; 3]>, } pub struct sockstat { @@ -620,7 +620,7 @@ s! { pub ifm_flags: c_int, /// index for associated ifp pub ifm_index: c_ushort, - pub _ifm_spare1: c_ushort, + _ifm_spare1: Padding, /// statistics and other data about if pub ifm_data: if_data, } @@ -639,12 +639,12 @@ s! { /// index for associated ifp pub ifm_index: c_ushort, /// spare space to grow if_index, see if_var.h - pub _ifm_spare1: c_ushort, + _ifm_spare1: Padding, /// length of if_msghdrl incl. if_data pub ifm_len: c_ushort, /// offset of if_data from beginning pub ifm_data_off: c_ushort, - pub _ifm_spare2: c_int, + _ifm_spare2: Padding, /// statistics and other data about if pub ifm_data: if_data, } @@ -662,7 +662,7 @@ s! { pub ifam_flags: c_int, /// index for associated ifp pub ifam_index: c_ushort, - pub _ifam_spare1: c_ushort, + _ifam_spare1: Padding, /// value of ifa_ifp->if_metric pub ifam_metric: c_int, } @@ -681,7 +681,7 @@ s! { /// index for associated ifp pub ifam_index: c_ushort, /// spare space to grow if_index, see if_var.h - pub _ifam_spare1: c_ushort, + _ifam_spare1: Padding, /// length of ifa_msghdrl incl. if_data pub ifam_len: c_ushort, /// offset of if_data from beginning @@ -705,7 +705,7 @@ s! { pub ifmam_flags: c_int, /// index for associated ifp pub ifmam_index: c_ushort, - pub _ifmam_spare1: c_ushort, + _ifmam_spare1: Padding, } pub struct if_announcemsghdr { @@ -778,8 +778,8 @@ s! { pub offset: u8, /// read length pub len: u8, - pub spare0: u8, - pub spare1: u32, + spare0: Padding, + spare1: Padding, /// read buffer pub data: [u8; 8], } @@ -789,8 +789,8 @@ s! { pub ifrh_name: [c_char; crate::IFNAMSIZ as usize], /// RSS_FUNC_ pub ifrh_func: u8, - pub ifrh_spare0: u8, - pub ifrh_spare1: u16, + ifrh_spare0: Padding, + ifrh_spare1: Padding, /// RSS_TYPE_ pub ifrh_types: u32, } @@ -809,7 +809,7 @@ s! { /// number of drops in send queue pub ifmd_snd_drops: c_int, /// for future expansion - pub ifmd_filler: [c_int; 4], + ifmd_filler: Padding<[c_int; 4]>, /// generic information and statistics pub ifmd_data: if_data, } @@ -859,7 +859,7 @@ s! { pub hz: c_int, /// micro-seconds per hz tick pub tick: c_int, - pub spare: c_int, + spare: Padding, /// statistics clock frequency pub stathz: c_int, /// profiling clock frequency @@ -1060,11 +1060,11 @@ s! { #[cfg(any(freebsd15, freebsd14, freebsd13))] pub tcpi_dupacks: u32, #[cfg(any(freebsd14, freebsd13))] - pub __tcpi_pad: [u32; 10], + __tcpi_pad: Padding<[u32; 10]>, #[cfg(freebsd15)] - pub __tcpi_pad: [u32; 14], + __tcpi_pad: Padding<[u32; 14]>, #[cfg(not(any(freebsd15, freebsd14, freebsd13)))] - pub __tcpi_pad: [u32; 26], + __tcpi_pad: Padding<[u32; 26]>, } pub struct _umtx_time { @@ -1132,7 +1132,7 @@ s! { pub sinfo_assoc_id: crate::sctp_assoc_t, pub sinfo_keynumber: u16, pub sinfo_keynumber_valid: u16, - pub __reserve_pad: [u8; SCTP_ALIGN_RESV_PAD], + __reserve_pad: Padding<[u8; SCTP_ALIGN_RESV_PAD]>, } pub struct sctp_extrcvinfo { @@ -1152,7 +1152,7 @@ s! { pub serinfo_next_ppid: u32, pub sinfo_keynumber: u16, pub sinfo_keynumber_valid: u16, - pub __reserve_pad: [u8; SCTP_ALIGN_RESV_PAD_SHORT], + __reserve_pad: Padding<[u8; SCTP_ALIGN_RESV_PAD_SHORT]>, } pub struct sctp_sndinfo { @@ -1384,7 +1384,7 @@ s! { pub ut_user: [c_char; 32], pub ut_line: [c_char; 16], pub ut_host: [c_char; 128], - pub __ut_spare: [c_char; 64], + __ut_spare: Padding<[c_char; 64]>, } pub struct xucred { @@ -1496,7 +1496,7 @@ s! { pub ifrk_name: [c_char; crate::IFNAMSIZ as usize], /// RSS_FUNC_ pub ifrk_func: u8, - pub ifrk_spare0: u8, + ifrk_spare0: Padding, pub ifrk_keylen: u16, pub ifrk_key: [u8; crate::RSS_KEYLEN as usize], } @@ -1601,9 +1601,9 @@ s! { _priv: [u8; 304], // FIXME(freebsd): this is really a giant union pub kf_status: u16, _kf_pad1: Padding, - _kf_ispare0: c_int, + _kf_ispare0: Padding, pub kf_cap_rights: crate::cap_rights_t, - _kf_cap_spare: u64, + _kf_cap_spare: Padding, pub kf_path: [c_char; crate::PATH_MAX as usize], } } @@ -1612,7 +1612,7 @@ s_no_extra_traits! { pub struct __aiocb_private { status: c_long, error: c_long, - spare: *mut c_void, + spare: Padding<*mut c_void>, } pub struct aiocb { @@ -1620,8 +1620,8 @@ s_no_extra_traits! { pub aio_offset: off_t, pub aio_buf: *mut c_void, pub aio_nbytes: size_t, - __spare__: [c_int; 2], - __spare2__: *mut c_void, + __spare__: Padding<[c_int; 2]>, + __spare2__: Padding<*mut c_void>, pub aio_lio_opcode: c_int, pub aio_reqprio: c_int, _aiocb_private: __aiocb_private, @@ -1632,7 +1632,7 @@ s_no_extra_traits! { pub _threadid: crate::__lwpid_t, pub _sigev_thread: __c_anonymous_sigev_thread, pub _kevent_flags: c_ushort, - __spare__: [c_long; 8], + __spare__: Padding<[c_long; 8]>, } pub union __c_anonymous_cr_pid { @@ -1690,17 +1690,17 @@ s_no_extra_traits! { pub uc_link: *mut crate::ucontext_t, pub uc_stack: crate::stack_t, pub uc_flags: c_int, - __spare__: [c_int; 4], + __spare__: Padding<[c_int; 4]>, } #[repr(align(8))] pub struct xinpgen { pub xig_len: ksize_t, pub xig_count: u32, - _xig_spare32: u32, + _xig_spare32: Padding, pub xig_gen: inp_gen_t, pub xig_sogen: so_gen_t, - _xig_spare64: [u64; 4], + _xig_spare64: Padding<[u64; 4]>, } pub struct in_addr_4in6 { @@ -1732,8 +1732,8 @@ s_no_extra_traits! { // Note: this field is called `gen` in upstream FreeBSD, but `gen` is // reserved keyword in Rust since the 2024 Edition, hence `gennum`. pub gennum: u64, - _rsrv1: [u64; 8], - _rsrv2: [u32; 8], + _rsrv1: Padding<[u64; 8]>, + _rsrv2: Padding<[u32; 8]>, pub iv: [u8; 32], pub cipher_algorithm: i32, pub auth_algorithm: i32, diff --git a/src/unix/bsd/freebsdlike/freebsd/riscv64.rs b/src/unix/bsd/freebsdlike/freebsd/riscv64.rs index e2d7920541d9a..be951d71f5807 100644 --- a/src/unix/bsd/freebsdlike/freebsd/riscv64.rs +++ b/src/unix/bsd/freebsdlike/freebsd/riscv64.rs @@ -23,15 +23,15 @@ s! { pub fp_x: [[u64; 2]; 32], pub fp_fcsr: u64, pub fp_flags: c_int, - pub pad: c_int, + pad: Padding, } pub struct mcontext_t { pub mc_gpregs: gpregs, pub mc_fpregs: fpregs, pub mc_flags: c_int, - pub mc_pad: c_int, - pub mc_spare: [u64; 8], + mc_pad: Padding, + mc_spare: Padding<[u64; 8]>, } } diff --git a/src/unix/bsd/freebsdlike/freebsd/x86.rs b/src/unix/bsd/freebsdlike/freebsd/x86.rs index a95914d8a49a2..4047509ad66a5 100644 --- a/src/unix/bsd/freebsdlike/freebsd/x86.rs +++ b/src/unix/bsd/freebsdlike/freebsd/x86.rs @@ -38,7 +38,7 @@ s! { pub mc_gsbase: register_t, pub mc_xfpustate: register_t, pub mc_xfpustate_len: register_t, - pub mc_spare2: [c_int; 4], + mc_spare2: Padding<[c_int; 4]>, } } diff --git a/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs b/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs index 984854261d764..72813a4ff0d8e 100644 --- a/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs @@ -62,21 +62,21 @@ s! { pub fpr_env: [u32; 7], pub fpr_acc: [[u8; 10]; 8], pub fpr_ex_sw: u32, - pub fpr_pad: [u8; 64], + fpr_pad: Padding<[u8; 64]>, } pub struct fpreg { pub fpr_env: [u64; 4], pub fpr_acc: [[u8; 16]; 8], pub fpr_xacc: [[u8; 16]; 16], - pub fpr_spare: [u64; 12], + fpr_spare: Padding<[u64; 12]>, } pub struct xmmreg { pub xmm_env: [u32; 8], pub xmm_acc: [[u8; 16]; 8], pub xmm_reg: [[u8; 16]; 8], - pub xmm_pad: [u8; 224], + xmm_pad: Padding<[u8; 224]>, } #[repr(align(16))] #[cfg_attr(not(any(freebsd11, freebsd12, freebsd13, freebsd14)), non_exhaustive)] @@ -120,12 +120,12 @@ s! { pub mc_xfpustate_len: register_t, // freebsd < 15 #[cfg(any(freebsd11, freebsd12, freebsd13))] - pub mc_spare: [c_long; 4], + mc_spare: Padding<[c_long; 4]>, // freebsd >= 15 #[cfg(not(any(freebsd11, freebsd12, freebsd13)))] pub mc_tlsbase: register_t, #[cfg(not(any(freebsd11, freebsd12, freebsd13)))] - pub mc_spare: [c_long; 3], + mc_spare: Padding<[c_long; 3]>, } } diff --git a/src/unix/bsd/netbsdlike/netbsd/aarch64.rs b/src/unix/bsd/netbsdlike/netbsd/aarch64.rs index e0206af04f8f1..c429dd78c0f1f 100644 --- a/src/unix/bsd/netbsdlike/netbsd/aarch64.rs +++ b/src/unix/bsd/netbsdlike/netbsd/aarch64.rs @@ -14,7 +14,7 @@ s! { pub struct mcontext_t { pub __gregs: [crate::greg_t; 32], pub __fregs: __fregset, - __spare: [crate::greg_t; 8], + __spare: Padding<[crate::greg_t; 8]>, } pub struct ucontext_t { diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 8b7bfd24824c9..8e30a2de5cd39 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -207,7 +207,7 @@ s! { pub st_blksize: crate::blksize_t, pub st_flags: u32, pub st_gen: u32, - pub st_spare: [u32; 2], + st_spare: Padding<[u32; 2]>, } pub struct addrinfo { @@ -262,7 +262,7 @@ s! { ptm_owner: crate::pthread_t, ptm_waiters: *mut u8, ptm_recursed: c_uint, - ptm_spare2: *mut c_void, + ptm_spare2: Padding<*mut c_void>, } pub struct pthread_mutexattr_t { @@ -739,7 +739,7 @@ s! { pub tcpi_snd_rexmitpack: u32, pub tcpi_rcv_ooopack: u32, pub tcpi_snd_zerowin: u32, - pub __tcpi_pad: [u32; 26], + __tcpi_pad: Padding<[u32; 26]>, } pub struct in_pktinfo { @@ -1333,7 +1333,7 @@ cfg_if! { ptm_waiters: ptr::null_mut(), ptm_owner: 0, ptm_recursed: 0, - ptm_spare2: ptr::null_mut(), + ptm_spare2: Padding::new(ptr::null_mut()), }; } else { pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { @@ -1343,7 +1343,7 @@ cfg_if! { ptm_waiters: ptr::null_mut(), ptm_owner: 0, ptm_recursed: 0, - ptm_spare2: ptr::null_mut(), + ptm_spare2: Padding::new(ptr::null_mut()), }; } } diff --git a/src/unix/bsd/netbsdlike/netbsd/riscv64.rs b/src/unix/bsd/netbsdlike/netbsd/riscv64.rs index 05c0cd55cb80d..d4832b0883484 100644 --- a/src/unix/bsd/netbsdlike/netbsd/riscv64.rs +++ b/src/unix/bsd/netbsdlike/netbsd/riscv64.rs @@ -17,7 +17,7 @@ s! { pub struct mcontext_t { pub __gregs: __gregset_t, pub __fregs: __fregset_t, - __spare: [crate::__greg_t; 7], + __spare: Padding<[crate::__greg_t; 7]>, } } diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 89348d7ec1560..7012414d0ed29 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -346,8 +346,8 @@ s! { pub ifm_hdrlen: c_ushort, pub ifm_index: c_ushort, pub ifm_tableid: c_ushort, - pub ifm_pad1: c_uchar, - pub ifm_pad2: c_uchar, + ifm_pad1: Padding, + ifm_pad2: Padding, pub ifm_addrs: c_int, pub ifm_flags: c_int, pub ifm_xflags: c_int, diff --git a/src/unix/cygwin/mod.rs b/src/unix/cygwin/mod.rs index 5645bdd2b2dcf..f69b0e6ee9c76 100644 --- a/src/unix/cygwin/mod.rs +++ b/src/unix/cygwin/mod.rs @@ -438,7 +438,7 @@ s! { pub f_ffree: c_long, pub f_fsid: c_long, pub f_namelen: c_long, - pub f_spare: [c_long; 6], + f_spare: Padding<[c_long; 6]>, } pub struct sockaddr_un { diff --git a/src/unix/hurd/mod.rs b/src/unix/hurd/mod.rs index 3335786cd2be5..11867f8129811 100644 --- a/src/unix/hurd/mod.rs +++ b/src/unix/hurd/mod.rs @@ -581,7 +581,7 @@ s! { pub struct statx_timestamp { pub tv_sec: i64, pub tv_nsec: u32, - pub __statx_timestamp_pad1: [i32; 1], + __statx_timestamp_pad1: Padding<[i32; 1]>, } pub struct statfs { diff --git a/src/unix/linux_like/android/b32/mod.rs b/src/unix/linux_like/android/b32/mod.rs index 4f298d7041801..13593fe741b38 100644 --- a/src/unix/linux_like/android/b32/mod.rs +++ b/src/unix/linux_like/android/b32/mod.rs @@ -64,7 +64,7 @@ s! { pub f_namelen: u32, pub f_frsize: u32, pub f_flags: u32, - pub f_spare: [u32; 4], + f_spare: Padding<[u32; 4]>, } pub struct statvfs64 { @@ -138,7 +138,7 @@ s! { pub f_namelen: u32, pub f_frsize: u32, pub f_flags: u32, - pub f_spare: [u32; 4], + f_spare: Padding<[u32; 4]>, } pub struct sysinfo { @@ -151,11 +151,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 8], + _f: Padding<[c_char; 8]>, } } diff --git a/src/unix/linux_like/android/b64/mod.rs b/src/unix/linux_like/android/b64/mod.rs index c8df732d5a2b6..dd7c0165d8ba8 100644 --- a/src/unix/linux_like/android/b64/mod.rs +++ b/src/unix/linux_like/android/b64/mod.rs @@ -60,7 +60,7 @@ s! { pub f_namelen: u64, pub f_frsize: u64, pub f_flags: u64, - pub f_spare: [u64; 4], + f_spare: Padding<[u64; 4]>, } pub struct sysinfo { @@ -73,11 +73,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 0], + _f: Padding<[c_char; 0]>, } // FIXME(1.0,deprecate): lfs binding to be removed @@ -93,7 +93,7 @@ s! { pub f_namelen: u64, pub f_frsize: u64, pub f_flags: u64, - pub f_spare: [u64; 4], + f_spare: Padding<[u64; 4]>, } // FIXME(1.0,deprecate): lfs binding to be removed @@ -109,7 +109,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_barrier_t { diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index a73fb71a32a77..95486e34f1c62 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -191,7 +191,7 @@ s! { pub struct genlmsghdr { pub cmd: u8, pub version: u8, - pub reserved: u16, + reserved: Padding, } pub struct nlmsghdr { @@ -249,7 +249,7 @@ s! { pub ee_origin: u8, pub ee_type: u8, pub ee_code: u8, - pub ee_pad: u8, + ee_pad: Padding, pub ee_info: u32, pub ee_data: u32, } @@ -268,7 +268,7 @@ s! { pub struct sockaddr_vm { pub svm_family: crate::sa_family_t, - pub svm_reserved1: c_ushort, + svm_reserved1: Padding, pub svm_port: c_uint, pub svm_cid: c_uint, pub svm_zero: [u8; 4], @@ -549,7 +549,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/emscripten/mod.rs b/src/unix/linux_like/emscripten/mod.rs index 73b6cf71f11b3..fb0fc010ccdaf 100644 --- a/src/unix/linux_like/emscripten/mod.rs +++ b/src/unix/linux_like/emscripten/mod.rs @@ -112,7 +112,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct signalfd_siginfo { @@ -309,14 +309,14 @@ s! { pub f_namelen: c_ulong, pub f_frsize: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 4], + f_spare: Padding<[c_ulong; 4]>, } pub struct siginfo_t { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } @@ -372,11 +372,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub __reserved: [c_char; 256], + __reserved: Padding<[c_char; 256]>, } pub struct mq_attr { diff --git a/src/unix/linux_like/l4re/uclibc/aarch64/mod.rs b/src/unix/linux_like/l4re/uclibc/aarch64/mod.rs index 23421f036c701..1b2be8ddac9f0 100644 --- a/src/unix/linux_like/l4re/uclibc/aarch64/mod.rs +++ b/src/unix/linux_like/l4re/uclibc/aarch64/mod.rs @@ -22,34 +22,34 @@ pub type __u64 = c_ulong; s! { pub struct stat { pub st_dev: c_ulong, - pub __pad1: c_ushort, + __pad1: Padding, pub st_ino: crate::ino_t, pub st_mode: crate::mode_t, pub st_nlink: nlink_t, pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: c_ulong, - pub __pad2: c_ushort, + __pad2: Padding, pub st_size: crate::off64_t, pub st_blksize: blksize_t, pub st_blocks: crate::blkcnt64_t, pub st_atim: crate::timespec, pub st_mtim: crate::timespec, pub st_ctim: crate::timespec, - pub __uclibc_unused4: c_ulong, - pub __uclibc_unused5: c_ulong, + __uclibc_unused4: Padding, + __uclibc_unused5: Padding, } pub struct stat64 { pub st_dev: c_ulong, - pub __pad1: c_uint, + __pad1: Padding, pub __st_ino: crate::ino_t, pub st_mode: crate::mode_t, pub st_nlink: nlink_t, pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: c_ulong, - pub __pad2: c_uint, + __pad2: Padding, pub st_size: crate::off64_t, pub st_blksize: blksize_t, pub st_blocks: crate::blkcnt64_t, @@ -76,7 +76,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - pub _pad: [c_int; 28], + _pad: Padding<[c_int; 28]>, } pub struct stack_t { diff --git a/src/unix/linux_like/l4re/uclibc/mod.rs b/src/unix/linux_like/l4re/uclibc/mod.rs index 79cfa555903a5..76530a2f90d4e 100644 --- a/src/unix/linux_like/l4re/uclibc/mod.rs +++ b/src/unix/linux_like/l4re/uclibc/mod.rs @@ -55,7 +55,7 @@ s! { pub f_namelen: fsword_t, pub f_frsize: fsword_t, pub f_flags: fsword_t, - pub f_spare: [fsword_t; 4], + f_spare: Padding<[fsword_t; 4]>, } pub struct statfs64 { @@ -70,7 +70,7 @@ s! { pub f_namelen: fsword_t, pub f_frsize: fsword_t, pub f_flags: fsword_t, - pub f_spare: [fsword_t; 4], + f_spare: Padding<[fsword_t; 4]>, } pub struct statvfs64 { @@ -85,7 +85,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - pub __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct ipc_perm { @@ -99,11 +99,11 @@ s! { #[cfg(target_pointer_width = "64")] pub mode: c_uint, #[cfg(target_pointer_width = "32")] - __pad1: c_ushort, + __pad1: Padding, pub __seq: c_ushort, - __pad2: c_ushort, - __unused1: c_ulong, - __unused2: c_ulong, + __pad2: Padding, + __unused1: Padding, + __unused2: Padding, } pub struct statvfs { @@ -119,12 +119,12 @@ s! { #[cfg(target_endian = "little")] pub f_fsid: c_ulong, #[cfg(target_pointer_width = "32")] - __f_unused: c_int, + __f_unused: Padding, #[cfg(target_endian = "big")] pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct sysinfo { @@ -137,14 +137,14 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, #[cfg(target_pointer_width = "32")] - pub _f: [c_char; 8], + _f: Padding<[c_char; 8]>, #[cfg(target_pointer_width = "64")] - pub _f: [c_char; 0], + _f: Padding<[c_char; 0]>, } pub struct regex_t { @@ -159,19 +159,19 @@ s! { } pub struct rtentry { - pub rt_pad1: c_ulong, + rt_pad1: Padding, pub rt_dst: crate::sockaddr, pub rt_gateway: crate::sockaddr, pub rt_genmask: crate::sockaddr, pub rt_flags: c_ushort, - pub rt_pad2: c_short, - pub rt_pad3: c_ulong, + rt_pad2: Padding, + rt_pad3: Padding, pub rt_tos: c_uchar, pub rt_class: c_uchar, #[cfg(target_pointer_width = "64")] - pub rt_pad4: [c_short; 3usize], + rt_pad4: Padding<[c_short; 3usize]>, #[cfg(not(target_pointer_width = "64"))] - pub rt_pad4: c_short, + rt_pad4: Padding, pub rt_metric: c_short, pub rt_dev: *mut c_char, pub rt_mtu: c_ulong, @@ -232,7 +232,7 @@ s! { pub struct pthread_cond_t { __c_lock: _pthread_fastlock, __c_waiting: _pthread_descr, - __padding: [u8; PTHREAD_COND_PADDING_SIZE], + __padding: Padding<[u8; PTHREAD_COND_PADDING_SIZE]>, __align: __pthread_cond_align_t, } @@ -241,7 +241,7 @@ s! { } pub struct pthread_mutex_t { - __m_reserved: c_int, + __m_reserved: Padding, __m_count: c_int, __m_owner: _pthread_descr, __m_kind: c_int, @@ -300,8 +300,8 @@ s! { pub shm_cpid: crate::pid_t, pub shm_lpid: crate::pid_t, pub shm_nattch: crate::shmatt_t, - __unused4: c_ulong, - __unused5: c_ulong, + __unused4: Padding, + __unused5: Padding, } } @@ -479,7 +479,7 @@ pub const __LOCK_INITIALIZER: _pthread_fastlock = _pthread_fastlock { }; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { - __m_reserved: 0, + __m_reserved: Padding::new(0), __m_count: 0, __m_owner: ptr::null_mut(), __m_kind: PTHREAD_MUTEX_TIMED_NP, @@ -494,7 +494,7 @@ const PTHREAD_COND_PADDING_SIZE: usize = 48 pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { __c_lock: __LOCK_INITIALIZER, __c_waiting: ptr::null_mut(), - __padding: [0; PTHREAD_COND_PADDING_SIZE], + __padding: Padding::new([0; PTHREAD_COND_PADDING_SIZE]), __align: 0, }; diff --git a/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs b/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs index ed62740e99ed6..e96f933b20595 100644 --- a/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs +++ b/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs @@ -33,7 +33,7 @@ s! { pub st_mode: crate::mode_t, pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, - __pad0: c_int, + __pad0: Padding, pub st_rdev: c_ulong, pub st_size: crate::off_t, pub st_blksize: crate::blksize_t, @@ -41,7 +41,7 @@ s! { pub st_atim: crate::timespec, pub st_mtim: crate::timespec, pub st_ctim: crate::timespec, - __uclibc_unused: [c_long; 3], + __uclibc_unused: Padding<[c_long; 3]>, } pub struct stat64 { @@ -51,7 +51,7 @@ s! { pub st_mode: crate::mode_t, pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, - __pad0: c_int, + __pad0: Padding, pub st_rdev: c_ulong, pub st_size: crate::off_t, pub st_blksize: crate::blksize_t, @@ -59,7 +59,7 @@ s! { pub st_atim: crate::timespec, pub st_mtim: crate::timespec, pub st_ctim: crate::timespec, - st_pad4: [c_long; 3], + st_pad4: Padding<[c_long; 3]>, } #[allow(unpredictable_function_pointer_comparisons)] @@ -79,7 +79,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - pub _pad: [c_int; 28], + _pad: Padding<[c_int; 28]>, } pub struct stack_t { diff --git a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs index 5b5cfeca22271..a038c71766855 100644 --- a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs @@ -21,7 +21,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct flock { @@ -100,7 +100,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -116,7 +116,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct shmid_ds { @@ -162,14 +162,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/linux/gnu/b32/csky/mod.rs b/src/unix/linux_like/linux/gnu/b32/csky/mod.rs index b0afd57333998..1c47d53e186d9 100644 --- a/src/unix/linux_like/linux/gnu/b32/csky/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/csky/mod.rs @@ -20,7 +20,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, - f_spare: [crate::__fsword_t; 5], + f_spare: Padding<[crate::__fsword_t; 5]>, } pub struct flock { @@ -87,7 +87,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -103,7 +103,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct shmid_ds { @@ -143,14 +143,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs index f3940f4be51c4..8d8cc8c11862c 100644 --- a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs @@ -21,7 +21,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct flock { @@ -87,7 +87,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -103,7 +103,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct shmid_ds { diff --git a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs index b05ae5c2ebbf3..a9c4287655ca7 100644 --- a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs @@ -132,7 +132,7 @@ s! { pub f_namelen: c_long, pub f_flags: c_long, - f_spare: [c_long; 5], + f_spare: Padding<[c_long; 5]>, } pub struct statfs64 { @@ -147,7 +147,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 5], + f_spare: Padding<[c_long; 5]>, } pub struct statvfs64 { @@ -163,7 +163,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct stack_t { @@ -176,7 +176,7 @@ s! { pub si_signo: c_int, pub si_code: c_int, pub si_errno: c_int, - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, } pub struct ipc_perm { diff --git a/src/unix/linux_like/linux/gnu/b32/mod.rs b/src/unix/linux_like/linux/gnu/b32/mod.rs index 2b2efb1e18131..47083121f3863 100644 --- a/src/unix/linux_like/linux/gnu/b32/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/mod.rs @@ -138,7 +138,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -163,7 +163,7 @@ s! { pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 8], + _f: Padding<[c_char; 8]>, } pub struct semid_ds { @@ -229,17 +229,17 @@ s! { pub errcnt: c_longlong, pub stbcnt: c_longlong, pub tai: c_int, - pub __unused1: i32, - pub __unused2: i32, - pub __unused3: i32, - pub __unused4: i32, - pub __unused5: i32, - pub __unused6: i32, - pub __unused7: i32, - pub __unused8: i32, - pub __unused9: i32, - pub __unused10: i32, - pub __unused11: i32, + __unused1: Padding, + __unused2: Padding, + __unused3: Padding, + __unused4: Padding, + __unused5: Padding, + __unused6: Padding, + __unused7: Padding, + __unused8: Padding, + __unused9: Padding, + __unused10: Padding, + __unused11: Padding, } #[cfg(not(gnu_time_bits64))] @@ -264,17 +264,17 @@ s! { pub errcnt: c_long, pub stbcnt: c_long, pub tai: c_int, - pub __unused1: i32, - pub __unused2: i32, - pub __unused3: i32, - pub __unused4: i32, - pub __unused5: i32, - pub __unused6: i32, - pub __unused7: i32, - pub __unused8: i32, - pub __unused9: i32, - pub __unused10: i32, - pub __unused11: i32, + __unused1: Padding, + __unused2: Padding, + __unused3: Padding, + __unused4: Padding, + __unused5: Padding, + __unused6: Padding, + __unused7: Padding, + __unused8: Padding, + __unused9: Padding, + __unused10: Padding, + __unused11: Padding, } } diff --git a/src/unix/linux_like/linux/gnu/b32/powerpc.rs b/src/unix/linux_like/linux/gnu/b32/powerpc.rs index b63be98ecaeb2..0bde642c7d203 100644 --- a/src/unix/linux_like/linux/gnu/b32/powerpc.rs +++ b/src/unix/linux_like/linux/gnu/b32/powerpc.rs @@ -21,7 +21,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct flock { @@ -129,7 +129,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -145,7 +145,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct shmid_ds { @@ -196,14 +196,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs index 8a9c597ea0606..c8fe6cf486bfc 100644 --- a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs @@ -31,10 +31,10 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub __pad1: crate::dev_t, + __pad1: Padding, pub st_size: off64_t, pub st_blksize: crate::blksize_t, - pub __pad2: c_int, + __pad2: Padding, pub st_blocks: crate::blkcnt64_t, pub st_atime: crate::time_t, pub st_atime_nsec: c_long, @@ -57,7 +57,7 @@ s! { pub f_namelen: c_long, pub f_frsize: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 4], + f_spare: Padding<[c_long; 4]>, } pub struct statfs64 { @@ -72,7 +72,7 @@ s! { pub f_namelen: c_long, pub f_frsize: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 4], + f_spare: Padding<[c_long; 4]>, } pub struct statvfs64 { @@ -87,21 +87,14 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - pub __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct siginfo_t { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [u64; 0], } @@ -225,7 +218,7 @@ s_no_extra_traits! { pub struct __riscv_mc_q_ext_state { pub __f: [c_ulonglong; 64], pub __fcsr: c_uint, - pub __glibc_reserved: [c_uint; 3], + __glibc_reserved: Padding<[c_uint; 3]>, } } diff --git a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs index f29605ba51e2b..bb39ba0ea3bfa 100644 --- a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs @@ -23,7 +23,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct siginfo_t { @@ -115,7 +115,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -131,7 +131,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct ipc_perm { diff --git a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs index 1bed38e18fcfd..48fd07c3d3c76 100644 --- a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs @@ -22,7 +22,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct flock { @@ -174,7 +174,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -190,7 +190,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct shmid_ds { @@ -236,14 +236,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs index f863aa4357685..79d036de50709 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs @@ -25,7 +25,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, - f_spare: [crate::__fsword_t; 5], + f_spare: Padding<[crate::__fsword_t; 5]>, } pub struct flock { @@ -100,7 +100,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs { @@ -115,7 +115,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -130,7 +130,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -174,14 +174,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } diff --git a/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs index add1256ac6d2e..7d99fd42084a5 100644 --- a/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs @@ -41,10 +41,10 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub __pad1: crate::dev_t, + __pad1: Padding, pub st_size: off64_t, pub st_blksize: crate::blksize_t, - pub __pad2: c_int, + __pad2: Padding, pub st_blocks: crate::blkcnt_t, pub st_atime: crate::time_t, pub st_atime_nsec: c_long, @@ -67,7 +67,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statfs64 { @@ -82,7 +82,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct flock { @@ -113,7 +113,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -128,7 +128,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -145,14 +145,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [u64; 0], } @@ -187,7 +180,7 @@ s! { pub orig_a0: u64, pub csr_era: u64, pub csr_badv: u64, - pub reserved: [u64; 10], + reserved: Padding<[u64; 10]>, } pub struct user_fp_struct { diff --git a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs index df2b8f9745a74..cc54064863029 100644 --- a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs @@ -46,7 +46,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, - f_spare: [c_long; 6], + f_spare: Padding<[c_long; 6]>, } pub struct flock { @@ -100,7 +100,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 5], + f_spare: Padding<[c_long; 5]>, } pub struct statvfs { @@ -115,7 +115,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -130,7 +130,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { diff --git a/src/unix/linux_like/linux/gnu/b64/mod.rs b/src/unix/linux_like/linux/gnu/b64/mod.rs index 16b7bef085fe0..393a4535da7d3 100644 --- a/src/unix/linux_like/linux/gnu/b64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/mod.rs @@ -46,11 +46,11 @@ s! { pub totalswap: u64, pub freeswap: u64, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: u64, pub freehigh: u64, pub mem_unit: c_uint, - pub _f: [c_char; 0], + _f: Padding<[c_char; 0]>, } pub struct msqid_ds { @@ -175,17 +175,17 @@ s! { #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub stbcnt: c_long, pub tai: c_int, - pub __unused1: i32, - pub __unused2: i32, - pub __unused3: i32, - pub __unused4: i32, - pub __unused5: i32, - pub __unused6: i32, - pub __unused7: i32, - pub __unused8: i32, - pub __unused9: i32, - pub __unused10: i32, - pub __unused11: i32, + __unused1: Padding, + __unused2: Padding, + __unused3: Padding, + __unused4: Padding, + __unused5: Padding, + __unused6: Padding, + __unused7: Padding, + __unused8: Padding, + __unused9: Padding, + __unused10: Padding, + __unused11: Padding, } } diff --git a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs index 0f7e065c8532c..dc42ddee9b87b 100644 --- a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs @@ -27,7 +27,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, - f_spare: [crate::__fsword_t; 5], + f_spare: Padding<[crate::__fsword_t; 5]>, } pub struct flock { @@ -100,7 +100,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs { @@ -115,7 +115,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -130,7 +130,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -167,14 +167,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } @@ -240,7 +233,7 @@ s_no_extra_traits! { pub gp_regs: crate::gregset_t, pub fp_regs: crate::fpregset_t, pub v_regs: *mut vrregset_t, - pub vmx_reserve: [c_long; __NVRREG + __NVRREG + 1], + vmx_reserve: Padding<[c_long; __NVRREG + __NVRREG + 1]>, } #[repr(align(16))] diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs index f473f8c7338c9..b38a50275a173 100644 --- a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs @@ -27,10 +27,10 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub __pad1: crate::dev_t, + __pad1: Padding, pub st_size: off_t, pub st_blksize: crate::blksize_t, - pub __pad2: c_int, + __pad2: Padding, pub st_blocks: crate::blkcnt_t, pub st_atime: crate::time_t, pub st_atime_nsec: c_long, @@ -49,10 +49,10 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub __pad1: crate::dev_t, + __pad1: Padding, pub st_size: off64_t, pub st_blksize: crate::blksize_t, - pub __pad2: c_int, + __pad2: Padding, pub st_blocks: crate::blkcnt_t, pub st_atime: crate::time_t, pub st_atime_nsec: c_long, @@ -75,7 +75,7 @@ s! { pub f_namelen: c_long, pub f_frsize: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 4], + f_spare: Padding<[c_long; 4]>, } pub struct statfs64 { @@ -90,7 +90,7 @@ s! { pub f_namelen: c_long, pub f_frsize: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 4], + f_spare: Padding<[c_long; 4]>, } pub struct statvfs { @@ -105,7 +105,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - pub __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -120,21 +120,14 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - pub __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct siginfo_t { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [u64; 0], } @@ -273,7 +266,7 @@ s_no_extra_traits! { pub struct __riscv_mc_q_ext_state { pub __f: [c_ulonglong; 64], pub __fcsr: c_uint, - pub __glibc_reserved: [c_uint; 3], + __glibc_reserved: Padding<[c_uint; 3]>, } #[repr(align(16))] diff --git a/src/unix/linux_like/linux/gnu/b64/s390x.rs b/src/unix/linux_like/linux/gnu/b64/s390x.rs index eae7b7124e6b5..b5c6b93edfaf5 100644 --- a/src/unix/linux_like/linux/gnu/b64/s390x.rs +++ b/src/unix/linux_like/linux/gnu/b64/s390x.rs @@ -25,7 +25,7 @@ s! { pub f_namelen: c_uint, pub f_frsize: c_uint, pub f_flags: c_uint, - f_spare: [c_uint; 4], + f_spare: Padding<[c_uint; 4]>, } pub struct flock { @@ -142,7 +142,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct __psw_t { @@ -183,7 +183,7 @@ s! { pub f_namelen: c_uint, pub f_frsize: c_uint, pub f_flags: c_uint, - pub f_spare: [c_uint; 4], + f_spare: Padding<[c_uint; 4]>, } pub struct statvfs64 { @@ -198,7 +198,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } } diff --git a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs index dcfc7c442fa0e..862bec0109ea2 100644 --- a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs @@ -25,21 +25,14 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, - f_spare: [crate::__fsword_t; 5], + f_spare: Padding<[crate::__fsword_t; 5]>, } pub struct siginfo_t { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } @@ -122,7 +115,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs { @@ -137,7 +130,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct statvfs64 { @@ -152,7 +145,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs index 98506315c3712..050662993b5ed 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs @@ -26,7 +26,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, - f_spare: [crate::__fsword_t; 5], + f_spare: Padding<[crate::__fsword_t; 5]>, } pub struct flock { @@ -49,14 +49,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on \ - https://github.com/rust-lang/libc/pull/1316 if you're using \ - this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [u64; 0], } @@ -120,7 +113,7 @@ s! { pub f_namelen: crate::__fsword_t, pub f_frsize: crate::__fsword_t, pub f_flags: crate::__fsword_t, - pub f_spare: [crate::__fsword_t; 4], + f_spare: Padding<[crate::__fsword_t; 4]>, } pub struct statvfs64 { @@ -135,7 +128,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -259,7 +252,7 @@ s! { pub rseq_abi_size: crate::__u32, pub signature: crate::__u32, pub flags: crate::__u32, - pub pad: crate::__u32, + pad: Padding, } #[repr(align(8))] diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs index 4c179540436b6..4d833e649c175 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs @@ -13,7 +13,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } } diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs index 183eccc43f5e0..1ead9e4383953 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs @@ -13,7 +13,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } } diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index a5af6aceaf652..0fe2d696d1bf6 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -117,10 +117,10 @@ s! { pub maxerror: c_long, pub esterror: c_long, pub tai: c_long, - pub __glibc_reserved1: c_long, - pub __glibc_reserved2: c_long, - pub __glibc_reserved3: c_long, - pub __glibc_reserved4: c_long, + __glibc_reserved1: Padding, + __glibc_reserved2: Padding, + __glibc_reserved3: Padding, + __glibc_reserved4: Padding, } pub struct regex_t { @@ -136,7 +136,7 @@ s! { pub struct Elf64_Chdr { pub ch_type: crate::Elf64_Word, - pub ch_reserved: crate::Elf64_Word, + ch_reserved: Padding, pub ch_size: crate::Elf64_Xword, pub ch_addralign: crate::Elf64_Xword, } diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 37956affc2d7d..535cb3fb933e3 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -262,7 +262,7 @@ s! { pub struct genlmsghdr { pub cmd: u8, pub version: u8, - pub reserved: u16, + reserved: Padding, } pub struct inotify_event { @@ -279,7 +279,7 @@ s! { pub struct fanotify_event_info_header { pub info_type: __u8, - pub pad: __u8, + pad: Padding<__u8>, pub len: __u16, } @@ -291,7 +291,7 @@ s! { pub struct sockaddr_vm { pub svm_family: crate::sa_family_t, - pub svm_reserved1: c_ushort, + svm_reserved1: Padding, pub svm_port: c_uint, pub svm_cid: c_uint, pub svm_flags: u8, @@ -303,7 +303,7 @@ s! { pub ee_origin: u8, pub ee_type: u8, pub ee_code: u8, - pub ee_pad: u8, + ee_pad: Padding, pub ee_info: u32, pub ee_data: u32, } @@ -362,19 +362,19 @@ s! { pub struct ptp_clock_time { pub sec: crate::__s64, pub nsec: __u32, - pub reserved: __u32, + reserved: Padding<__u32>, } pub struct ptp_extts_request { pub index: c_uint, pub flags: c_uint, - pub rsv: [c_uint; 2], + rsv: Padding<[c_uint; 2]>, } pub struct ptp_sys_offset_extended { pub n_samples: c_uint, pub clockid: __kernel_clockid_t, - pub rsv: [c_uint; 2], + rsv: Padding<[c_uint; 2]>, pub ts: [[ptp_clock_time; 3]; PTP_MAX_SAMPLES as usize], } @@ -382,14 +382,14 @@ s! { pub device: ptp_clock_time, pub sys_realtime: ptp_clock_time, pub sys_monoraw: ptp_clock_time, - pub rsv: [c_uint; 4], + rsv: Padding<[c_uint; 4]>, } pub struct ptp_extts_event { pub t: ptp_clock_time, index: c_uint, flags: c_uint, - rsv: [c_uint; 2], + rsv: Padding<[c_uint; 2]>, } // linux/wireless.h @@ -533,7 +533,7 @@ s! { pub busy_poll_usecs: u32, pub busy_poll_budget: u16, pub prefer_busy_poll: u8, - pub __pad: u8, // Must be zero + __pad: Padding, // Must be zero } #[cfg_attr( @@ -613,7 +613,7 @@ s! { pub struct fanotify_event_metadata { pub event_len: __u32, pub vers: __u8, - pub reserved: __u8, + reserved: Padding<__u8>, pub metadata_len: __u16, pub mask: __u64, pub fd: c_int, @@ -624,7 +624,7 @@ s! { pub struct ptp_sys_offset { pub n_samples: c_uint, - pub rsv: [c_uint; 3], + rsv: Padding<[c_uint; 3]>, // FIXME(garando): replace length with `2 * PTP_MAX_SAMPLES + 1` when supported pub ts: [ptp_clock_time; 51], } @@ -634,7 +634,7 @@ s! { pub index: c_uint, pub func: c_uint, pub chan: c_uint, - pub rsv: [c_uint; 5], + rsv: Padding<[c_uint; 5]>, } pub struct ptp_clock_caps { @@ -647,7 +647,7 @@ s! { pub cross_timestamping: c_int, pub adjust_phase: c_int, pub max_phase_adj: c_int, - pub rsv: [c_int; 11], + rsv: Padding<[c_int; 11]>, } // linux/if_xdp.h diff --git a/src/unix/linux_like/linux/musl/b32/arm/mod.rs b/src/unix/linux_like/linux/musl/b32/arm/mod.rs index 953e82cfd628c..d27b82c7d8fcc 100644 --- a/src/unix/linux_like/linux/musl/b32/arm/mod.rs +++ b/src/unix/linux_like/linux/musl/b32/arm/mod.rs @@ -116,7 +116,7 @@ s! { __pad2: Padding, #[cfg(musl32_time64)] - __pad3: c_ulong, + __pad3: Padding, #[cfg(musl32_time64)] shm_atime: crate::time_t, #[cfg(musl32_time64)] diff --git a/src/unix/linux_like/linux/musl/b32/mips/mod.rs b/src/unix/linux_like/linux/musl/b32/mips/mod.rs index 45c51cbcaef1c..8c55ba928a469 100644 --- a/src/unix/linux_like/linux/musl/b32/mips/mod.rs +++ b/src/unix/linux_like/linux/musl/b32/mips/mod.rs @@ -135,7 +135,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 5], + f_spare: Padding<[c_ulong; 5]>, } // FIXME(1.0,deprecate): lfs binding to be removed @@ -151,7 +151,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 5], + f_spare: Padding<[c_ulong; 5]>, } } diff --git a/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs b/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs index f4e67535754b7..8d3161f740109 100644 --- a/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs +++ b/src/unix/linux_like/linux/musl/b32/riscv32/mod.rs @@ -14,10 +14,10 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub __pad1: crate::dev_t, + __pad1: Padding, pub st_size: off_t, pub st_blksize: crate::blksize_t, - pub __pad2: c_int, + __pad2: Padding, pub st_blocks: crate::blkcnt_t, #[cfg(not(musl_v1_2))] diff --git a/src/unix/linux_like/linux/musl/b32/x86/mod.rs b/src/unix/linux_like/linux/musl/b32/x86/mod.rs index fbbd5609dd459..0db64037e38e0 100644 --- a/src/unix/linux_like/linux/musl/b32/x86/mod.rs +++ b/src/unix/linux_like/linux/musl/b32/x86/mod.rs @@ -120,7 +120,7 @@ s! { __pad2: Padding, #[cfg(musl32_time64)] - __pad3: c_ulong, + __pad3: Padding, #[cfg(musl32_time64)] shm_atime: crate::time_t, #[cfg(musl32_time64)] diff --git a/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs b/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs index 9e257f5f1d3e1..bad64fdd62b8b 100644 --- a/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs +++ b/src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs @@ -63,7 +63,7 @@ s! { pub orig_a0: u64, pub csr_era: u64, pub csr_badv: u64, - pub reserved: [u64; 10], + reserved: Padding<[u64; 10]>, } pub struct user_fp_struct { diff --git a/src/unix/linux_like/linux/musl/b64/mips64.rs b/src/unix/linux_like/linux/musl/b64/mips64.rs index 487668f0dce79..f10059043d60d 100644 --- a/src/unix/linux_like/linux/musl/b64/mips64.rs +++ b/src/unix/linux_like/linux/musl/b64/mips64.rs @@ -84,7 +84,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 5], + f_spare: Padding<[c_ulong; 5]>, } // FIXME(1.0,deprecate): lfs binding to be removed @@ -100,7 +100,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 5], + f_spare: Padding<[c_ulong; 5]>, } } diff --git a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs index 9495102fc48fc..31f388d5c8338 100644 --- a/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs +++ b/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs @@ -111,7 +111,7 @@ s_no_extra_traits! { pub struct __riscv_mc_q_ext_state { pub __f: [c_ulonglong; 64], pub __fcsr: c_uint, - pub __glibc_reserved: [c_uint; 3], + __glibc_reserved: Padding<[c_uint; 3]>, } } diff --git a/src/unix/linux_like/linux/musl/b64/s390x.rs b/src/unix/linux_like/linux/musl/b64/s390x.rs index ed0eee2db617a..efab13d3de875 100644 --- a/src/unix/linux_like/linux/musl/b64/s390x.rs +++ b/src/unix/linux_like/linux/musl/b64/s390x.rs @@ -77,7 +77,7 @@ s! { pub f_namelen: c_uint, pub f_frsize: c_uint, pub f_flags: c_uint, - pub f_spare: [c_uint; 4], + f_spare: Padding<[c_uint; 4]>, } pub struct __psw_t { diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index fa071954fd65c..b0f844635e862 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -139,7 +139,7 @@ s! { pub struct fanotify_event_metadata { pub event_len: c_uint, pub vers: c_uchar, - pub reserved: c_uchar, + reserved: Padding, pub metadata_len: c_ushort, pub mask: c_ulonglong, pub fd: c_int, @@ -166,13 +166,7 @@ s! { pub si_code: c_int, #[cfg(any(target_arch = "mips", target_arch = "mips64"))] pub si_errno: c_int, - #[doc(hidden)] - #[deprecated( - since = "0.2.54", - note = "Please leave a comment on https://github.com/rust-lang/libc/pull/1316 \ - if you're using this field" - )] - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, _align: [usize; 0], } @@ -256,19 +250,19 @@ s! { } pub struct rtentry { - pub rt_pad1: c_ulong, + rt_pad1: Padding, pub rt_dst: crate::sockaddr, pub rt_gateway: crate::sockaddr, pub rt_genmask: crate::sockaddr, pub rt_flags: c_ushort, - pub rt_pad2: c_short, - pub rt_pad3: c_ulong, + rt_pad2: Padding, + rt_pad3: Padding, pub rt_tos: c_uchar, pub rt_class: c_uchar, #[cfg(target_pointer_width = "64")] - pub rt_pad4: [c_short; 3usize], + rt_pad4: Padding<[c_short; 3usize]>, #[cfg(not(target_pointer_width = "64"))] - pub rt_pad4: [c_short; 1usize], + rt_pad4: Padding<[c_short; 1usize]>, pub rt_metric: c_short, pub rt_dev: *mut c_char, pub rt_mtu: c_ulong, @@ -283,7 +277,7 @@ s! { pub struct Elf64_Chdr { pub ch_type: crate::Elf64_Word, - pub ch_reserved: crate::Elf64_Word, + ch_reserved: Padding, pub ch_size: crate::Elf64_Xword, pub ch_addralign: crate::Elf64_Xword, } @@ -315,7 +309,7 @@ s! { pub errcnt: c_long, pub stbcnt: c_long, pub tai: c_int, - pub __padding: [c_int; 11], + __padding: Padding<[c_int; 11]>, } pub struct ntptimeval { @@ -401,7 +395,7 @@ s! { pub f_namelen: c_ulong, pub f_frsize: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 4], + f_spare: Padding<[c_ulong; 4]>, } // MIPS/s390x implementation is special (see arch folders) @@ -419,7 +413,7 @@ s! { pub f_namelen: c_ulong, pub f_frsize: c_ulong, pub f_flags: c_ulong, - pub f_spare: [c_ulong; 4], + f_spare: Padding<[c_ulong; 4]>, } pub struct sysinfo { @@ -432,11 +426,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub __reserved: [c_char; 256], + __reserved: Padding<[c_char; 256]>, } pub struct utmpx { @@ -489,7 +483,7 @@ s_no_extra_traits! { pub aio_offset: off_t, __next: *mut c_void, __prev: *mut c_void, - __dummy4: [c_char; 32 - 2 * size_of::<*const ()>()], + __dummy4: Padding<[c_char; 32 - 2 * size_of::<*const ()>()]>, } } diff --git a/src/unix/linux_like/linux/uclibc/arm/mod.rs b/src/unix/linux_like/linux/uclibc/arm/mod.rs index 9d255b7388fcd..b1c1bc3711a2b 100644 --- a/src/unix/linux_like/linux/uclibc/arm/mod.rs +++ b/src/unix/linux_like/linux/uclibc/arm/mod.rs @@ -63,14 +63,14 @@ s! { pub struct stat64 { pub st_dev: c_ulonglong, - pub __pad1: c_uint, + __pad1: Padding, pub __st_ino: crate::ino_t, pub st_mode: crate::mode_t, pub st_nlink: crate::nlink_t, pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: c_ulonglong, - pub __pad2: c_uint, + __pad2: Padding, pub st_size: off64_t, pub st_blksize: crate::blksize_t, pub st_blocks: crate::blkcnt64_t, @@ -101,11 +101,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 8], + _f: Padding<[c_char; 8]>, } pub struct statfs { @@ -121,7 +121,7 @@ s! { pub f_namelen: c_int, pub f_frsize: c_int, pub f_flags: c_int, - pub f_spare: [c_int; 4], + f_spare: Padding<[c_int; 4]>, } pub struct statfs64 { @@ -136,7 +136,7 @@ s! { pub f_namelen: c_int, pub f_frsize: c_int, pub f_flags: c_int, - pub f_spare: [c_int; 4], + f_spare: Padding<[c_int; 4]>, } pub struct statvfs64 { @@ -152,7 +152,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct sigset_t { @@ -183,7 +183,7 @@ s! { pub si_signo: c_int, pub si_errno: c_int, pub si_code: c_int, - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, } pub struct stack_t { diff --git a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs index 2c253f0164f11..475f85b9cf7e9 100644 --- a/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs @@ -23,7 +23,7 @@ s! { pub st_uid: crate::uid_t, pub st_gid: crate::gid_t, pub st_rdev: crate::dev_t, - pub st_pad2: [c_long; 1], + st_pad2: Padding<[c_long; 1]>, pub st_size: off_t, st_pad3: Padding, pub st_atime: crate::time_t, @@ -70,10 +70,10 @@ s! { pub f_ffree: crate::fsfilcnt64_t, pub f_favail: crate::fsfilcnt64_t, pub f_fsid: c_ulong, - pub __f_unused: c_int, + __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - pub __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct pthread_attr_t { @@ -101,7 +101,7 @@ s! { pub si_signo: c_int, pub si_code: c_int, pub si_errno: c_int, - pub _pad: [c_int; 29], + _pad: Padding<[c_int; 29]>, } pub struct glob64_t { @@ -181,7 +181,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, - f_spare: [c_long; 6], + f_spare: Padding<[c_long; 6]>, } pub struct statfs64 { @@ -196,7 +196,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, pub f_flags: c_long, - pub f_spare: [c_long; 5], + f_spare: Padding<[c_long; 5]>, } pub struct msghdr { @@ -244,11 +244,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 8], + _f: Padding<[c_char; 8]>, } // FIXME(1.0): this is actually a union diff --git a/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs b/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs index a6a63a33a93b3..72fc2d3ff959d 100644 --- a/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs @@ -139,7 +139,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: c_long, - f_spare: [c_long; 6], + f_spare: Padding<[c_long; 6]>, } pub struct msghdr { @@ -177,11 +177,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 0], + _f: Padding<[c_char; 0]>, } // FIXME(1.0): this is actually a union diff --git a/src/unix/linux_like/linux/uclibc/mod.rs b/src/unix/linux_like/linux/uclibc/mod.rs index dd54a15e25fb0..28e4751e2bc1b 100644 --- a/src/unix/linux_like/linux/uclibc/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mod.rs @@ -52,7 +52,7 @@ s! { pub f_fsid: c_ulong, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct regex_t { @@ -67,19 +67,19 @@ s! { } pub struct rtentry { - pub rt_pad1: c_ulong, + rt_pad1: Padding, pub rt_dst: crate::sockaddr, pub rt_gateway: crate::sockaddr, pub rt_genmask: crate::sockaddr, pub rt_flags: c_ushort, - pub rt_pad2: c_short, - pub rt_pad3: c_ulong, + rt_pad2: Padding, + rt_pad3: Padding, pub rt_tos: c_uchar, pub rt_class: c_uchar, #[cfg(target_pointer_width = "64")] - pub rt_pad4: [c_short; 3usize], + rt_pad4: Padding<[c_short; 3usize]>, #[cfg(not(target_pointer_width = "64"))] - pub rt_pad4: c_short, + rt_pad4: Padding, pub rt_metric: c_short, pub rt_dev: *mut c_char, pub rt_mtu: c_ulong, diff --git a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs index af4bedbc082cc..8007556c8fecd 100644 --- a/src/unix/linux_like/linux/uclibc/x86_64/mod.rs +++ b/src/unix/linux_like/linux/uclibc/x86_64/mod.rs @@ -52,10 +52,10 @@ s! { } pub struct siginfo_t { - si_signo: c_int, // signal number - si_errno: c_int, // if not zero: error value of signal, see errno.h - si_code: c_int, // signal code - pub _pad: [c_int; 28], // unported union + si_signo: c_int, // signal number + si_errno: c_int, // if not zero: error value of signal, see errno.h + si_code: c_int, // signal code + _pad: Padding<[c_int; 28]>, // unported union _align: [usize; 0], } @@ -82,8 +82,8 @@ s! { pub msg_qbytes: crate::msglen_t, pub msg_lspid: crate::pid_t, pub msg_lrpid: crate::pid_t, - __ignored1: c_ulong, - __ignored2: c_ulong, + __ignored1: Padding, + __ignored2: Padding, } pub struct sockaddr { @@ -156,7 +156,7 @@ s! { pub f_fsid: crate::fsid_t, pub f_namelen: fsword_t, pub f_frsize: fsword_t, - f_spare: [fsword_t; 5], + f_spare: Padding<[fsword_t; 5]>, } pub struct statfs64 { @@ -171,7 +171,7 @@ s! { pub f_namelen: c_int, pub f_frsize: c_int, pub f_flags: c_int, - pub f_spare: [c_int; 4], + f_spare: Padding<[c_int; 4]>, } pub struct statvfs64 { @@ -187,7 +187,7 @@ s! { __f_unused: Padding, pub f_flag: c_ulong, pub f_namemax: c_ulong, - __f_spare: [c_int; 6], + __f_spare: Padding<[c_int; 6]>, } pub struct msghdr { @@ -227,11 +227,11 @@ s! { pub totalswap: c_ulong, pub freeswap: c_ulong, pub procs: c_ushort, - pub pad: c_ushort, + pad: Padding, pub totalhigh: c_ulong, pub freehigh: c_ulong, pub mem_unit: c_uint, - pub _f: [c_char; 0], + _f: Padding<[c_char; 0]>, } pub struct cpu_set_t { diff --git a/src/unix/newlib/mod.rs b/src/unix/newlib/mod.rs index f5c7396d67d94..3620294981c40 100644 --- a/src/unix/newlib/mod.rs +++ b/src/unix/newlib/mod.rs @@ -344,7 +344,7 @@ s! { pub st_ctim: crate::timespec, pub st_blksize: crate::blksize_t, pub st_blocks: crate::blkcnt_t, - pub st_spare4: [c_long; 2usize], + st_spare4: Padding<[c_long; 2usize]>, } #[cfg(not(target_os = "vita"))] diff --git a/src/unix/newlib/vita/mod.rs b/src/unix/newlib/vita/mod.rs index 14cf95a15f9f8..5986da84910b6 100644 --- a/src/unix/newlib/vita/mod.rs +++ b/src/unix/newlib/vita/mod.rs @@ -74,7 +74,7 @@ s! { pub st_ctime: crate::time_t, pub st_blksize: crate::blksize_t, pub st_blocks: crate::blkcnt_t, - pub st_spare4: [c_long; 2usize], + st_spare4: Padding<[c_long; 2usize]>, } #[repr(align(8))] diff --git a/src/unix/nto/mod.rs b/src/unix/nto/mod.rs index 3fe3f7579b892..b1e299ee2c596 100644 --- a/src/unix/nto/mod.rs +++ b/src/unix/nto/mod.rs @@ -511,7 +511,7 @@ s! { pub f_basetype: [c_char; 16], pub f_flag: c_ulong, pub f_namemax: c_ulong, - f_filler: [c_uint; 21], + f_filler: Padding<[c_uint; 21]>, } pub struct aiocb { @@ -755,7 +755,7 @@ s_no_extra_traits! { pub __rcond: crate::pthread_cond_t, // union pub __wcond: crate::pthread_cond_t, // union pub __owner: c_uint, - pub __spare: c_uint, + __spare: Padding, } // There is no canonical definition of c_longdouble in Rust. For both AArch64 and x86_64, @@ -2315,7 +2315,7 @@ pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { __rcond: PTHREAD_COND_INITIALIZER, __wcond: PTHREAD_COND_INITIALIZER, __owner: -2i32 as c_uint, - __spare: 0, + __spare: Padding::new(0), }; #[cfg(target_os = "qnx")] pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { __u: 0, __owner: 0 }; diff --git a/src/unix/nto/neutrino.rs b/src/unix/nto/neutrino.rs index 00793f0b8c9d7..b2603f8b1a1fc 100644 --- a/src/unix/nto/neutrino.rs +++ b/src/unix/nto/neutrino.rs @@ -191,7 +191,7 @@ s! { pub nsec_stable: u64, // volatile pub timer_load_max: u64, pub timer_prog_time: u32, - spare: [u32; 7], + spare: Padding<[u32; 7]>, } #[cfg(target_os = "qnx")] @@ -261,7 +261,7 @@ s_no_extra_traits! { pub smp: syspage_entry_info, pub pminfo: syspage_entry_info, pub old_mdriver: syspage_entry_info, - spare0: [u32; 1], + spare0: Padding<[u32; 1]>, __reserved: Padding<[u64; 20]>, // anonymous union with architecture dependent structs pub new_asinfo: syspage_array_info, pub new_cpuinfo: syspage_array_info, diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index e5001f9c7e400..8c221214408bd 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -86,7 +86,7 @@ s! { pub struct epoll_event { pub events: u32, pub u64: u64, - pub _pad: u64, + _pad: Padding, } pub struct fd_set { diff --git a/src/unix/solarish/illumos.rs b/src/unix/solarish/illumos.rs index 4898b4b5a451b..0f4ddc28953ea 100644 --- a/src/unix/solarish/illumos.rs +++ b/src/unix/solarish/illumos.rs @@ -24,7 +24,7 @@ s! { pub aio_lio_opcode: c_int, pub aio_resultp: crate::aio_result_t, pub aio_state: c_int, - pub aio__pad: [c_int; 1], + aio__pad: Padding<[c_int; 1]>, } pub struct shmid_ds { @@ -39,7 +39,7 @@ s! { pub shm_atime: crate::time_t, pub shm_dtime: crate::time_t, pub shm_ctime: crate::time_t, - pub shm_pad4: [i64; 4], + shm_pad4: Padding<[i64; 4]>, } pub struct fil_info { @@ -57,7 +57,7 @@ s! { pub ut_exit: exit_status, pub ut_tv: crate::timeval, pub ut_session: c_int, - pub ut_pad: [c_int; _UTX_PADSIZE], + ut_pad: Padding<[c_int; _UTX_PADSIZE]>, pub ut_syslen: c_short, pub ut_host: [c_char; _UTX_HOSTSIZE], } diff --git a/src/unix/solarish/mod.rs b/src/unix/solarish/mod.rs index b54de0f0d3d8b..a423ce6f55a48 100644 --- a/src/unix/solarish/mod.rs +++ b/src/unix/solarish/mod.rs @@ -369,8 +369,8 @@ s! { pub sem_count: u32, pub sem_type: u16, pub sem_magic: u16, - pub sem_pad1: [u64; 3], - pub sem_pad2: [u64; 2], + sem_pad1: Padding<[u64; 3]>, + sem_pad2: Padding<[u64; 2]>, } pub struct flock { @@ -380,7 +380,7 @@ s! { pub l_len: off_t, pub l_sysid: c_int, pub l_pid: crate::pid_t, - pub l_pad: [c_long; 4], + l_pad: Padding<[c_long; 4]>, } pub struct if_nameindex { @@ -399,7 +399,7 @@ s! { pub struct port_event { pub portev_events: c_int, pub portev_source: c_ushort, - pub portev_pad: c_ushort, + portev_pad: Padding, pub portev_object: crate::uintptr_t, pub portev_user: *mut c_void, } @@ -539,7 +539,7 @@ s_no_extra_traits! { pub si_code: c_int, pub si_errno: c_int, #[cfg(target_pointer_width = "64")] - pub si_pad: c_int, + si_pad: Padding, __data_pad: [c_int; SIGINFO_DATA_SIZE], } diff --git a/src/unix/solarish/solaris.rs b/src/unix/solarish/solaris.rs index 6217cee1ec49e..da8664ea79e05 100644 --- a/src/unix/solarish/solaris.rs +++ b/src/unix/solarish/solaris.rs @@ -36,7 +36,7 @@ s! { pub aio_resultp: crate::aio_result_t, pub aio_state: c_char, pub aio_returned: c_char, - pub aio__pad1: [c_char; 2], + aio__pad1: Padding<[c_char; 2]>, pub aio_flags: c_int, } @@ -55,7 +55,7 @@ s! { pub shm_amp: *mut c_void, pub shm_gransize: u64, pub shm_allocated: u64, - pub shm_pad4: [i64; 1], + shm_pad4: Padding<[i64; 1]>, } pub struct xrs_t { @@ -72,7 +72,7 @@ s! { pub ut_exit: exit_status, pub ut_tv: crate::timeval, pub ut_session: c_int, - pub pad: [c_int; 5], + pad: Padding<[c_int; 5]>, pub ut_syslen: c_short, pub ut_host: [c_char; 257], } @@ -87,7 +87,7 @@ s_no_extra_traits! { pub union door_desc_t__d_data { pub d_desc: door_desc_t__d_data__d_desc, - d_resv: [c_int; 5], /* Check out /usr/include/sys/door.h */ + d_resv: Padding<[c_int; 5]>, /* Check out /usr/include/sys/door.h */ } pub struct door_desc_t { diff --git a/src/unix/solarish/x86_64.rs b/src/unix/solarish/x86_64.rs index a4c48064aaaa9..377fe41ca9dee 100644 --- a/src/unix/solarish/x86_64.rs +++ b/src/unix/solarish/x86_64.rs @@ -76,17 +76,17 @@ s! { pub uc_stack: crate::stack_t, pub uc_mcontext: mcontext_t, #[cfg(target_os = "illumos")] - pub uc_brand_data: [*mut c_void; 3], + uc_filler3: Padding<[c_long; 3]>, #[cfg(target_os = "illumos")] pub uc_xsave: c_long, #[cfg(target_os = "illumos")] - pub uc_filler: c_long, + uc_filler1: Padding, #[cfg(target_os = "solaris")] pub uc_xrs: solaris::xrs_t, #[cfg(target_os = "solaris")] pub uc_lwpid: c_uint, #[cfg(target_os = "solaris")] - pub uc_filler: [c_long; 2], + uc_filler: Padding<[c_long; 2]>, } }