From e75fae06d5cb403a62c670f19949a5de75e146a3 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: use `Padding` in public padding fields Change public padding fields to be both private and use the `Padding` type. This has already been the norm for some time now, but there was still some cruft left. This patch finishes up the work, though this comes at the cost of breaking changes. --- src/fuchsia/mod.rs | 6 +-- src/new/apple/xnu/mach/arm/_structs.rs | 3 +- src/new/apple/xnu/mach/i386/_structs.rs | 10 ++-- src/new/apple/xnu/net/bpf.rs | 2 +- src/new/glibc/sysdeps/unix/linux/net/route.rs | 11 ++--- src/new/linux_uapi/linux/if_packet.rs | 6 +-- src/new/musl/sys/socket.rs | 4 +- 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 | 44 +++++++++--------- src/unix/bsd/freebsdlike/dragonfly/mod.rs | 4 +- 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 | 12 ++--- .../bsd/freebsdlike/freebsd/freebsd12/mod.rs | 14 +++--- .../bsd/freebsdlike/freebsd/freebsd13/mod.rs | 14 +++--- .../bsd/freebsdlike/freebsd/freebsd14/mod.rs | 14 +++--- .../bsd/freebsdlike/freebsd/freebsd15/mod.rs | 14 +++--- src/unix/bsd/freebsdlike/freebsd/mod.rs | 40 ++++++++-------- 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/mod.rs | 4 +- 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 | 8 ++-- src/unix/linux_like/android/mod.rs | 8 ++-- src/unix/linux_like/emscripten/mod.rs | 8 ++-- .../linux_like/l4re/uclibc/aarch64/mod.rs | 14 +++--- src/unix/linux_like/l4re/uclibc/mod.rs | 20 ++++---- src/unix/linux_like/l4re/uclibc/x86_64/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b32/arm/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b32/csky/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b32/m68k/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b32/mips/mod.rs | 4 +- src/unix/linux_like/linux/gnu/b32/mod.rs | 46 +++++++++---------- src/unix/linux_like/linux/gnu/b32/powerpc.rs | 2 +- .../linux_like/linux/gnu/b32/riscv32/mod.rs | 12 ++--- .../linux_like/linux/gnu/b32/sparc/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b32/x86/mod.rs | 2 +- .../linux_like/linux/gnu/b64/aarch64/mod.rs | 2 +- .../linux/gnu/b64/loongarch64/mod.rs | 10 ++-- .../linux_like/linux/gnu/b64/mips64/mod.rs | 2 +- src/unix/linux_like/linux/gnu/b64/mod.rs | 26 +++++------ .../linux_like/linux/gnu/b64/powerpc64/mod.rs | 4 +- .../linux_like/linux/gnu/b64/riscv64/mod.rs | 18 ++++---- src/unix/linux_like/linux/gnu/b64/s390x.rs | 2 +- .../linux_like/linux/gnu/b64/sparc64/mod.rs | 2 +- .../linux_like/linux/gnu/b64/x86_64/mod.rs | 4 +- src/unix/linux_like/linux/gnu/mod.rs | 10 ++-- src/unix/linux_like/linux/mod.rs | 26 +++++------ .../linux_like/linux/musl/b32/mips/mod.rs | 4 +- .../linux_like/linux/musl/b32/riscv32/mod.rs | 4 +- .../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 | 24 +++++----- src/unix/linux_like/linux/uclibc/arm/mod.rs | 14 +++--- .../linux/uclibc/mips/mips32/mod.rs | 14 +++--- .../linux/uclibc/mips/mips64/mod.rs | 4 +- src/unix/linux_like/linux/uclibc/mod.rs | 10 ++-- .../linux_like/linux/uclibc/x86_64/mod.rs | 14 +++--- src/unix/newlib/mod.rs | 2 +- src/unix/newlib/vita/mod.rs | 2 +- src/unix/nto/mod.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 | 6 +-- src/unix/solarish/x86_64.rs | 6 +-- 77 files changed, 326 insertions(+), 328 deletions(-) diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 60f0a2f45e740..6513002ca96d2 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -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..fd7de380c8de0 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, @@ -87,6 +87,6 @@ s! { // 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_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/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/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/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 9cbf2c807a350..522ab44b4670e 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 { @@ -350,10 +350,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 { @@ -363,7 +363,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, } @@ -422,7 +422,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 { @@ -476,7 +476,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")] @@ -505,7 +505,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, @@ -724,7 +724,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 { @@ -895,14 +895,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, } @@ -1074,7 +1074,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, @@ -1244,7 +1244,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, } @@ -1300,10 +1300,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))] @@ -1317,7 +1317,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")] @@ -1352,7 +1352,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 { @@ -1473,7 +1473,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, @@ -1598,7 +1598,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..b35afe5fd38fa 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 { 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..dafb4dd3b67bd 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. diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs index ab1de57b051a1..33f1e2d004d10 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 { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs index 27f24faa3e197..7dbabfda9ee8d 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 { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs index 0ac28e8771dda..1090c0aa27e87 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 { diff --git a/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs b/src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs index 94f01c3786c31..d3f9290988ea7 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 { diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 2d9e00c49a638..e4522043e931f 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -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], } 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/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 8b7bfd24824c9..a61d262d53951 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 { @@ -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 { 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..c7ae025fb5d53 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 diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index 3173c04a13438..e245d6b1ba6a0 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..78e3b75b7ef42 100644 --- a/src/unix/linux_like/emscripten/mod.rs +++ b/src/unix/linux_like/emscripten/mod.rs @@ -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 5d819e0212a68..0a512fb111213 100644 --- a/src/unix/linux_like/l4re/uclibc/mod.rs +++ b/src/unix/linux_like/l4re/uclibc/mod.rs @@ -60,7 +60,7 @@ s! { pub f_namelen: __sword_type, pub f_frsize: __sword_type, pub f_flags: __sword_type, - pub f_spare: [__sword_type; 4], + f_spare: Padding<[__sword_type; 4]>, } pub struct statfs64 { @@ -75,7 +75,7 @@ s! { pub f_namelen: __sword_type, pub f_frsize: __sword_type, pub f_flags: __sword_type, - pub f_spare: [__sword_type; 4], + f_spare: Padding<[__sword_type; 4]>, } pub struct ipc_perm { @@ -142,14 +142,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 { @@ -164,19 +164,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/l4re/uclibc/x86_64/mod.rs b/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs index b6ae57d870571..a37b7769546a5 100644 --- a/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs +++ b/src/unix/linux_like/l4re/uclibc/x86_64/mod.rs @@ -86,7 +86,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..99e57260fe551 100644 --- a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs @@ -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 { 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..043cf16a1ee02 100644 --- a/src/unix/linux_like/linux/gnu/b32/csky/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/csky/mod.rs @@ -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 { 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..e61186ea52962 100644 --- a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs @@ -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 { 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..3c5e2a61b6c0b 100644 --- a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs @@ -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 { @@ -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..b2bacc5277a4b 100644 --- a/src/unix/linux_like/linux/gnu/b32/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/mod.rs @@ -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..ca38c9de3488a 100644 --- a/src/unix/linux_like/linux/gnu/b32/powerpc.rs +++ b/src/unix/linux_like/linux/gnu/b32/powerpc.rs @@ -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 { 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..a47fbd6b7a1f5 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,7 +87,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 siginfo_t { @@ -225,7 +225,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..c8714b8fa40c5 100644 --- a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs @@ -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 { 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..38ff7fef3a6ad 100644 --- a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs @@ -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 { 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..90a42108355f9 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs @@ -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 { 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..fdd96d99f315f 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 { @@ -187,7 +187,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..d4aa447b7515f 100644 --- a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs @@ -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 { 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..54a66f6646a13 100644 --- a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs @@ -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 { @@ -240,7 +240,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..5931a2800c3e8 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,7 +120,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 siginfo_t { @@ -273,7 +273,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..f59b07bc3dfa7 100644 --- a/src/unix/linux_like/linux/gnu/b64/s390x.rs +++ b/src/unix/linux_like/linux/gnu/b64/s390x.rs @@ -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 { 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..536d6487e2ba5 100644 --- a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs @@ -122,7 +122,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 { 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..5e02710e166e1 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 @@ -120,7 +120,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 { @@ -259,7 +259,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/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 5202303d196c9..67f2206e16004 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..26a04171c8d81 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,7 +382,7 @@ 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 { @@ -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/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/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..d0224504bae2b 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, @@ -256,19 +256,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 +283,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 +315,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 +401,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 +419,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 +432,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 { diff --git a/src/unix/linux_like/linux/uclibc/arm/mod.rs b/src/unix/linux_like/linux/uclibc/arm/mod.rs index 9d255b7388fcd..ef3757f197171 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 { @@ -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..697d68aa93dad 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 { @@ -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..c562b6c543cdb 100644 --- a/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs @@ -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..3ae8892a27629 100644 --- a/src/unix/linux_like/linux/uclibc/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mod.rs @@ -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..9071e0f05d0db 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], } @@ -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 { @@ -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..66c88d7aca40e 100644 --- a/src/unix/nto/mod.rs +++ b/src/unix/nto/mod.rs @@ -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/redox/mod.rs b/src/unix/redox/mod.rs index d092f0eee9041..fd2957247a9dd 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -85,7 +85,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..11359b676438f 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], } 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]>, } }