From 8af965ecc9bc092b798d0e34f46e4d975cb25ef6 Mon Sep 17 00:00:00 2001 From: Phantomical Date: Sun, 26 May 2024 21:42:39 -0700 Subject: [PATCH] Avoid generating bindings for non-perf types and constants The current way of generating bindings via bindgen creates entries for any type or constant that is reachable when including the headers listed in wrapper.h. In addition to the perf-related structs we care about, this includes: - A variety of unrelated kernel API types - A bunch of constants used as implementation details for making ioctls - A constant for every single syscall number - ... and more besides There is no reason to include these in the generated bindings. Once present, however, removing or changing them becomes a breaking change. This is a one-shot change that changes the generation to only keep the relevant structs. This is a breaking change and would require a perf-event-open-sys2 v6.0.0. --- perf-event-open-sys/regenerate.sh | 11 + perf-event-open-sys/src/bindings_aarch64.rs | 463 ------------------ perf-event-open-sys/src/bindings_header.rs | 1 - perf-event-open-sys/src/bindings_x86_64.rs | 507 -------------------- 4 files changed, 11 insertions(+), 971 deletions(-) diff --git a/perf-event-open-sys/regenerate.sh b/perf-event-open-sys/regenerate.sh index 8a8f270..972d9f8 100755 --- a/perf-event-open-sys/regenerate.sh +++ b/perf-event-open-sys/regenerate.sh @@ -93,6 +93,17 @@ function gen_bindings { --impl-debug --with-derive-default --no-prepend-enum-name + + # This ends up being a needless changed line when updating bindgen + # versions. + --disable-header-comment + + --allowlist-var 'PERF_.*' + --allowlist-var '__NR_perf_event_open' + --allowlist-var '[A-Z]+_NS_INDEX' + --allowlist-var 'HW_BREAKPOINT_[A-Z0-9_]+' + + --allowlist-type 'perf_.*' ) bindgen "${BINDGEN_ARGS[@]}" \ diff --git a/perf-event-open-sys/src/bindings_aarch64.rs b/perf-event-open-sys/src/bindings_aarch64.rs index f146c2f..0a28d9d 100644 --- a/perf-event-open-sys/src/bindings_aarch64.rs +++ b/perf-event-open-sys/src/bindings_aarch64.rs @@ -20,9 +20,6 @@ #![allow(non_snake_case)] #![allow(deref_nullptr)] // `bindgen_test_layout` tests use bogus code #![allow(clippy::all)] - -/* automatically generated by rust-bindgen 0.65.1 */ - #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { @@ -133,30 +130,6 @@ impl ::std::fmt::Debug for __IncompleteArrayField { fmt.write_str("__IncompleteArrayField") } } -pub const __BITS_PER_LONG: u32 = 64; -pub const __BITS_PER_LONG_LONG: u32 = 64; -pub const __FD_SETSIZE: u32 = 1024; -pub const _IOC_NRBITS: u32 = 8; -pub const _IOC_TYPEBITS: u32 = 8; -pub const _IOC_SIZEBITS: u32 = 14; -pub const _IOC_DIRBITS: u32 = 2; -pub const _IOC_NRMASK: u32 = 255; -pub const _IOC_TYPEMASK: u32 = 255; -pub const _IOC_SIZEMASK: u32 = 16383; -pub const _IOC_DIRMASK: u32 = 3; -pub const _IOC_NRSHIFT: u32 = 0; -pub const _IOC_TYPESHIFT: u32 = 8; -pub const _IOC_SIZESHIFT: u32 = 16; -pub const _IOC_DIRSHIFT: u32 = 30; -pub const _IOC_NONE: u32 = 0; -pub const _IOC_WRITE: u32 = 1; -pub const _IOC_READ: u32 = 2; -pub const IOC_IN: u32 = 1073741824; -pub const IOC_OUT: u32 = 2147483648; -pub const IOC_INOUT: u32 = 3221225472; -pub const IOCSIZE_MASK: u32 = 1073676288; -pub const IOCSIZE_SHIFT: u32 = 16; -pub const __LITTLE_ENDIAN: u32 = 1234; pub const PERF_PMU_TYPE_SHIFT: u32 = 32; pub const PERF_HW_EVENT_MASK: u32 = 4294967295; pub const PERF_ATTR_SIZE_VER0: u32 = 64; @@ -264,448 +237,13 @@ pub const PERF_MEM_HOPS_2: u32 = 3; pub const PERF_MEM_HOPS_3: u32 = 4; pub const PERF_MEM_HOPS_SHIFT: u32 = 43; pub const PERF_BRANCH_ENTRY_INFO_BITS_MAX: u32 = 33; -pub const __NR_io_setup: u32 = 0; -pub const __NR_io_destroy: u32 = 1; -pub const __NR_io_submit: u32 = 2; -pub const __NR_io_cancel: u32 = 3; -pub const __NR_io_getevents: u32 = 4; -pub const __NR_setxattr: u32 = 5; -pub const __NR_lsetxattr: u32 = 6; -pub const __NR_fsetxattr: u32 = 7; -pub const __NR_getxattr: u32 = 8; -pub const __NR_lgetxattr: u32 = 9; -pub const __NR_fgetxattr: u32 = 10; -pub const __NR_listxattr: u32 = 11; -pub const __NR_llistxattr: u32 = 12; -pub const __NR_flistxattr: u32 = 13; -pub const __NR_removexattr: u32 = 14; -pub const __NR_lremovexattr: u32 = 15; -pub const __NR_fremovexattr: u32 = 16; -pub const __NR_getcwd: u32 = 17; -pub const __NR_lookup_dcookie: u32 = 18; -pub const __NR_eventfd2: u32 = 19; -pub const __NR_epoll_create1: u32 = 20; -pub const __NR_epoll_ctl: u32 = 21; -pub const __NR_epoll_pwait: u32 = 22; -pub const __NR_dup: u32 = 23; -pub const __NR_dup3: u32 = 24; -pub const __NR3264_fcntl: u32 = 25; -pub const __NR_inotify_init1: u32 = 26; -pub const __NR_inotify_add_watch: u32 = 27; -pub const __NR_inotify_rm_watch: u32 = 28; -pub const __NR_ioctl: u32 = 29; -pub const __NR_ioprio_set: u32 = 30; -pub const __NR_ioprio_get: u32 = 31; -pub const __NR_flock: u32 = 32; -pub const __NR_mknodat: u32 = 33; -pub const __NR_mkdirat: u32 = 34; -pub const __NR_unlinkat: u32 = 35; -pub const __NR_symlinkat: u32 = 36; -pub const __NR_linkat: u32 = 37; -pub const __NR_renameat: u32 = 38; -pub const __NR_umount2: u32 = 39; -pub const __NR_mount: u32 = 40; -pub const __NR_pivot_root: u32 = 41; -pub const __NR_nfsservctl: u32 = 42; -pub const __NR3264_statfs: u32 = 43; -pub const __NR3264_fstatfs: u32 = 44; -pub const __NR3264_truncate: u32 = 45; -pub const __NR3264_ftruncate: u32 = 46; -pub const __NR_fallocate: u32 = 47; -pub const __NR_faccessat: u32 = 48; -pub const __NR_chdir: u32 = 49; -pub const __NR_fchdir: u32 = 50; -pub const __NR_chroot: u32 = 51; -pub const __NR_fchmod: u32 = 52; -pub const __NR_fchmodat: u32 = 53; -pub const __NR_fchownat: u32 = 54; -pub const __NR_fchown: u32 = 55; -pub const __NR_openat: u32 = 56; -pub const __NR_close: u32 = 57; -pub const __NR_vhangup: u32 = 58; -pub const __NR_pipe2: u32 = 59; -pub const __NR_quotactl: u32 = 60; -pub const __NR_getdents64: u32 = 61; -pub const __NR3264_lseek: u32 = 62; -pub const __NR_read: u32 = 63; -pub const __NR_write: u32 = 64; -pub const __NR_readv: u32 = 65; -pub const __NR_writev: u32 = 66; -pub const __NR_pread64: u32 = 67; -pub const __NR_pwrite64: u32 = 68; -pub const __NR_preadv: u32 = 69; -pub const __NR_pwritev: u32 = 70; -pub const __NR3264_sendfile: u32 = 71; -pub const __NR_pselect6: u32 = 72; -pub const __NR_ppoll: u32 = 73; -pub const __NR_signalfd4: u32 = 74; -pub const __NR_vmsplice: u32 = 75; -pub const __NR_splice: u32 = 76; -pub const __NR_tee: u32 = 77; -pub const __NR_readlinkat: u32 = 78; -pub const __NR3264_fstatat: u32 = 79; -pub const __NR3264_fstat: u32 = 80; -pub const __NR_sync: u32 = 81; -pub const __NR_fsync: u32 = 82; -pub const __NR_fdatasync: u32 = 83; -pub const __NR_sync_file_range: u32 = 84; -pub const __NR_timerfd_create: u32 = 85; -pub const __NR_timerfd_settime: u32 = 86; -pub const __NR_timerfd_gettime: u32 = 87; -pub const __NR_utimensat: u32 = 88; -pub const __NR_acct: u32 = 89; -pub const __NR_capget: u32 = 90; -pub const __NR_capset: u32 = 91; -pub const __NR_personality: u32 = 92; -pub const __NR_exit: u32 = 93; -pub const __NR_exit_group: u32 = 94; -pub const __NR_waitid: u32 = 95; -pub const __NR_set_tid_address: u32 = 96; -pub const __NR_unshare: u32 = 97; -pub const __NR_futex: u32 = 98; -pub const __NR_set_robust_list: u32 = 99; -pub const __NR_get_robust_list: u32 = 100; -pub const __NR_nanosleep: u32 = 101; -pub const __NR_getitimer: u32 = 102; -pub const __NR_setitimer: u32 = 103; -pub const __NR_kexec_load: u32 = 104; -pub const __NR_init_module: u32 = 105; -pub const __NR_delete_module: u32 = 106; -pub const __NR_timer_create: u32 = 107; -pub const __NR_timer_gettime: u32 = 108; -pub const __NR_timer_getoverrun: u32 = 109; -pub const __NR_timer_settime: u32 = 110; -pub const __NR_timer_delete: u32 = 111; -pub const __NR_clock_settime: u32 = 112; -pub const __NR_clock_gettime: u32 = 113; -pub const __NR_clock_getres: u32 = 114; -pub const __NR_clock_nanosleep: u32 = 115; -pub const __NR_syslog: u32 = 116; -pub const __NR_ptrace: u32 = 117; -pub const __NR_sched_setparam: u32 = 118; -pub const __NR_sched_setscheduler: u32 = 119; -pub const __NR_sched_getscheduler: u32 = 120; -pub const __NR_sched_getparam: u32 = 121; -pub const __NR_sched_setaffinity: u32 = 122; -pub const __NR_sched_getaffinity: u32 = 123; -pub const __NR_sched_yield: u32 = 124; -pub const __NR_sched_get_priority_max: u32 = 125; -pub const __NR_sched_get_priority_min: u32 = 126; -pub const __NR_sched_rr_get_interval: u32 = 127; -pub const __NR_restart_syscall: u32 = 128; -pub const __NR_kill: u32 = 129; -pub const __NR_tkill: u32 = 130; -pub const __NR_tgkill: u32 = 131; -pub const __NR_sigaltstack: u32 = 132; -pub const __NR_rt_sigsuspend: u32 = 133; -pub const __NR_rt_sigaction: u32 = 134; -pub const __NR_rt_sigprocmask: u32 = 135; -pub const __NR_rt_sigpending: u32 = 136; -pub const __NR_rt_sigtimedwait: u32 = 137; -pub const __NR_rt_sigqueueinfo: u32 = 138; -pub const __NR_rt_sigreturn: u32 = 139; -pub const __NR_setpriority: u32 = 140; -pub const __NR_getpriority: u32 = 141; -pub const __NR_reboot: u32 = 142; -pub const __NR_setregid: u32 = 143; -pub const __NR_setgid: u32 = 144; -pub const __NR_setreuid: u32 = 145; -pub const __NR_setuid: u32 = 146; -pub const __NR_setresuid: u32 = 147; -pub const __NR_getresuid: u32 = 148; -pub const __NR_setresgid: u32 = 149; -pub const __NR_getresgid: u32 = 150; -pub const __NR_setfsuid: u32 = 151; -pub const __NR_setfsgid: u32 = 152; -pub const __NR_times: u32 = 153; -pub const __NR_setpgid: u32 = 154; -pub const __NR_getpgid: u32 = 155; -pub const __NR_getsid: u32 = 156; -pub const __NR_setsid: u32 = 157; -pub const __NR_getgroups: u32 = 158; -pub const __NR_setgroups: u32 = 159; -pub const __NR_uname: u32 = 160; -pub const __NR_sethostname: u32 = 161; -pub const __NR_setdomainname: u32 = 162; -pub const __NR_getrlimit: u32 = 163; -pub const __NR_setrlimit: u32 = 164; -pub const __NR_getrusage: u32 = 165; -pub const __NR_umask: u32 = 166; -pub const __NR_prctl: u32 = 167; -pub const __NR_getcpu: u32 = 168; -pub const __NR_gettimeofday: u32 = 169; -pub const __NR_settimeofday: u32 = 170; -pub const __NR_adjtimex: u32 = 171; -pub const __NR_getpid: u32 = 172; -pub const __NR_getppid: u32 = 173; -pub const __NR_getuid: u32 = 174; -pub const __NR_geteuid: u32 = 175; -pub const __NR_getgid: u32 = 176; -pub const __NR_getegid: u32 = 177; -pub const __NR_gettid: u32 = 178; -pub const __NR_sysinfo: u32 = 179; -pub const __NR_mq_open: u32 = 180; -pub const __NR_mq_unlink: u32 = 181; -pub const __NR_mq_timedsend: u32 = 182; -pub const __NR_mq_timedreceive: u32 = 183; -pub const __NR_mq_notify: u32 = 184; -pub const __NR_mq_getsetattr: u32 = 185; -pub const __NR_msgget: u32 = 186; -pub const __NR_msgctl: u32 = 187; -pub const __NR_msgrcv: u32 = 188; -pub const __NR_msgsnd: u32 = 189; -pub const __NR_semget: u32 = 190; -pub const __NR_semctl: u32 = 191; -pub const __NR_semtimedop: u32 = 192; -pub const __NR_semop: u32 = 193; -pub const __NR_shmget: u32 = 194; -pub const __NR_shmctl: u32 = 195; -pub const __NR_shmat: u32 = 196; -pub const __NR_shmdt: u32 = 197; -pub const __NR_socket: u32 = 198; -pub const __NR_socketpair: u32 = 199; -pub const __NR_bind: u32 = 200; -pub const __NR_listen: u32 = 201; -pub const __NR_accept: u32 = 202; -pub const __NR_connect: u32 = 203; -pub const __NR_getsockname: u32 = 204; -pub const __NR_getpeername: u32 = 205; -pub const __NR_sendto: u32 = 206; -pub const __NR_recvfrom: u32 = 207; -pub const __NR_setsockopt: u32 = 208; -pub const __NR_getsockopt: u32 = 209; -pub const __NR_shutdown: u32 = 210; -pub const __NR_sendmsg: u32 = 211; -pub const __NR_recvmsg: u32 = 212; -pub const __NR_readahead: u32 = 213; -pub const __NR_brk: u32 = 214; -pub const __NR_munmap: u32 = 215; -pub const __NR_mremap: u32 = 216; -pub const __NR_add_key: u32 = 217; -pub const __NR_request_key: u32 = 218; -pub const __NR_keyctl: u32 = 219; -pub const __NR_clone: u32 = 220; -pub const __NR_execve: u32 = 221; -pub const __NR3264_mmap: u32 = 222; -pub const __NR3264_fadvise64: u32 = 223; -pub const __NR_swapon: u32 = 224; -pub const __NR_swapoff: u32 = 225; -pub const __NR_mprotect: u32 = 226; -pub const __NR_msync: u32 = 227; -pub const __NR_mlock: u32 = 228; -pub const __NR_munlock: u32 = 229; -pub const __NR_mlockall: u32 = 230; -pub const __NR_munlockall: u32 = 231; -pub const __NR_mincore: u32 = 232; -pub const __NR_madvise: u32 = 233; -pub const __NR_remap_file_pages: u32 = 234; -pub const __NR_mbind: u32 = 235; -pub const __NR_get_mempolicy: u32 = 236; -pub const __NR_set_mempolicy: u32 = 237; -pub const __NR_migrate_pages: u32 = 238; -pub const __NR_move_pages: u32 = 239; -pub const __NR_rt_tgsigqueueinfo: u32 = 240; pub const __NR_perf_event_open: u32 = 241; -pub const __NR_accept4: u32 = 242; -pub const __NR_recvmmsg: u32 = 243; -pub const __NR_arch_specific_syscall: u32 = 244; -pub const __NR_wait4: u32 = 260; -pub const __NR_prlimit64: u32 = 261; -pub const __NR_fanotify_init: u32 = 262; -pub const __NR_fanotify_mark: u32 = 263; -pub const __NR_name_to_handle_at: u32 = 264; -pub const __NR_open_by_handle_at: u32 = 265; -pub const __NR_clock_adjtime: u32 = 266; -pub const __NR_syncfs: u32 = 267; -pub const __NR_setns: u32 = 268; -pub const __NR_sendmmsg: u32 = 269; -pub const __NR_process_vm_readv: u32 = 270; -pub const __NR_process_vm_writev: u32 = 271; -pub const __NR_kcmp: u32 = 272; -pub const __NR_finit_module: u32 = 273; -pub const __NR_sched_setattr: u32 = 274; -pub const __NR_sched_getattr: u32 = 275; -pub const __NR_renameat2: u32 = 276; -pub const __NR_seccomp: u32 = 277; -pub const __NR_getrandom: u32 = 278; -pub const __NR_memfd_create: u32 = 279; -pub const __NR_bpf: u32 = 280; -pub const __NR_execveat: u32 = 281; -pub const __NR_userfaultfd: u32 = 282; -pub const __NR_membarrier: u32 = 283; -pub const __NR_mlock2: u32 = 284; -pub const __NR_copy_file_range: u32 = 285; -pub const __NR_preadv2: u32 = 286; -pub const __NR_pwritev2: u32 = 287; -pub const __NR_pkey_mprotect: u32 = 288; -pub const __NR_pkey_alloc: u32 = 289; -pub const __NR_pkey_free: u32 = 290; -pub const __NR_statx: u32 = 291; -pub const __NR_io_pgetevents: u32 = 292; -pub const __NR_rseq: u32 = 293; -pub const __NR_kexec_file_load: u32 = 294; -pub const __NR_pidfd_send_signal: u32 = 424; -pub const __NR_io_uring_setup: u32 = 425; -pub const __NR_io_uring_enter: u32 = 426; -pub const __NR_io_uring_register: u32 = 427; -pub const __NR_open_tree: u32 = 428; -pub const __NR_move_mount: u32 = 429; -pub const __NR_fsopen: u32 = 430; -pub const __NR_fsconfig: u32 = 431; -pub const __NR_fsmount: u32 = 432; -pub const __NR_fspick: u32 = 433; -pub const __NR_pidfd_open: u32 = 434; -pub const __NR_clone3: u32 = 435; -pub const __NR_close_range: u32 = 436; -pub const __NR_openat2: u32 = 437; -pub const __NR_pidfd_getfd: u32 = 438; -pub const __NR_faccessat2: u32 = 439; -pub const __NR_process_madvise: u32 = 440; -pub const __NR_epoll_pwait2: u32 = 441; -pub const __NR_mount_setattr: u32 = 442; -pub const __NR_quotactl_fd: u32 = 443; -pub const __NR_landlock_create_ruleset: u32 = 444; -pub const __NR_landlock_add_rule: u32 = 445; -pub const __NR_landlock_restrict_self: u32 = 446; -pub const __NR_memfd_secret: u32 = 447; -pub const __NR_process_mrelease: u32 = 448; -pub const __NR_futex_waitv: u32 = 449; -pub const __NR_set_mempolicy_home_node: u32 = 450; -pub const __NR_cachestat: u32 = 451; -pub const __NR_fchmodat2: u32 = 452; -pub const __NR_map_shadow_stack: u32 = 453; -pub const __NR_futex_wake: u32 = 454; -pub const __NR_futex_wait: u32 = 455; -pub const __NR_futex_requeue: u32 = 456; -pub const __NR_statmount: u32 = 457; -pub const __NR_listmount: u32 = 458; -pub const __NR_lsm_get_self_attr: u32 = 459; -pub const __NR_lsm_set_self_attr: u32 = 460; -pub const __NR_lsm_list_modules: u32 = 461; -pub const __NR_syscalls: u32 = 462; -pub const __NR_fcntl: u32 = 25; -pub const __NR_statfs: u32 = 43; -pub const __NR_fstatfs: u32 = 44; -pub const __NR_truncate: u32 = 45; -pub const __NR_ftruncate: u32 = 46; -pub const __NR_lseek: u32 = 62; -pub const __NR_sendfile: u32 = 71; -pub const __NR_newfstatat: u32 = 79; -pub const __NR_fstat: u32 = 80; -pub const __NR_mmap: u32 = 222; -pub const __NR_fadvise64: u32 = 223; -pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; -pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __kernel_fd_set { - pub fds_bits: [::std::os::raw::c_ulong; 16usize], -} -#[test] -fn bindgen_test_layout___kernel_fd_set() { - const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__kernel_fd_set>(), - 128usize, - concat!("Size of: ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fd_set>(), - 8usize, - concat!("Alignment of ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__kernel_fd_set), - "::", - stringify!(fds_bits) - ) - ); -} -pub type __kernel_sighandler_t = - ::std::option::Option; -pub type __kernel_key_t = ::std::os::raw::c_int; -pub type __kernel_mqd_t = ::std::os::raw::c_int; -pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; -pub type __kernel_long_t = ::std::os::raw::c_long; -pub type __kernel_ulong_t = ::std::os::raw::c_ulong; -pub type __kernel_ino_t = __kernel_ulong_t; -pub type __kernel_mode_t = ::std::os::raw::c_uint; -pub type __kernel_pid_t = ::std::os::raw::c_int; -pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; -pub type __kernel_uid_t = ::std::os::raw::c_uint; -pub type __kernel_gid_t = ::std::os::raw::c_uint; -pub type __kernel_suseconds_t = __kernel_long_t; -pub type __kernel_daddr_t = ::std::os::raw::c_int; -pub type __kernel_uid32_t = ::std::os::raw::c_uint; -pub type __kernel_gid32_t = ::std::os::raw::c_uint; -pub type __kernel_old_dev_t = ::std::os::raw::c_uint; -pub type __kernel_size_t = __kernel_ulong_t; -pub type __kernel_ssize_t = __kernel_long_t; -pub type __kernel_ptrdiff_t = __kernel_long_t; -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __kernel_fsid_t { - pub val: [::std::os::raw::c_int; 2usize], -} -#[test] -fn bindgen_test_layout___kernel_fsid_t() { - const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__kernel_fsid_t>(), - 8usize, - concat!("Size of: ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fsid_t>(), - 4usize, - concat!("Alignment of ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__kernel_fsid_t), - "::", - stringify!(val) - ) - ); -} -pub type __kernel_off_t = __kernel_long_t; -pub type __kernel_loff_t = ::std::os::raw::c_longlong; -pub type __kernel_old_time_t = __kernel_long_t; -pub type __kernel_time_t = __kernel_long_t; -pub type __kernel_time64_t = ::std::os::raw::c_longlong; -pub type __kernel_clock_t = __kernel_long_t; -pub type __kernel_timer_t = ::std::os::raw::c_int; -pub type __kernel_clockid_t = ::std::os::raw::c_int; -pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; -pub type __kernel_uid16_t = ::std::os::raw::c_ushort; -pub type __kernel_gid16_t = ::std::os::raw::c_ushort; -pub type __s128 = i128; -pub type __u128 = u128; -pub type __le16 = __u16; -pub type __be16 = __u16; -pub type __le32 = __u32; -pub type __be32 = __u32; -pub type __le64 = __u64; -pub type __be64 = __u64; -pub type __sum16 = __u16; -pub type __wsum = __u32; -pub type __poll_t = ::std::os::raw::c_uint; pub const PERF_TYPE_HARDWARE: perf_type_id = 0; pub const PERF_TYPE_SOFTWARE: perf_type_id = 1; pub const PERF_TYPE_TRACEPOINT: perf_type_id = 2; @@ -2108,7 +1646,6 @@ pub union perf_event_mmap_page__bindgen_ty_1 { pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1, } #[repr(C)] -#[repr(align(8))] #[derive(Debug, Default, Copy, Clone)] #[non_exhaustive] pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 { diff --git a/perf-event-open-sys/src/bindings_header.rs b/perf-event-open-sys/src/bindings_header.rs index 2c09bec..cb01089 100644 --- a/perf-event-open-sys/src/bindings_header.rs +++ b/perf-event-open-sys/src/bindings_header.rs @@ -20,4 +20,3 @@ #![allow(non_snake_case)] #![allow(deref_nullptr)] // `bindgen_test_layout` tests use bogus code #![allow(clippy::all)] - diff --git a/perf-event-open-sys/src/bindings_x86_64.rs b/perf-event-open-sys/src/bindings_x86_64.rs index d6e19e7..b427c58 100644 --- a/perf-event-open-sys/src/bindings_x86_64.rs +++ b/perf-event-open-sys/src/bindings_x86_64.rs @@ -20,9 +20,6 @@ #![allow(non_snake_case)] #![allow(deref_nullptr)] // `bindgen_test_layout` tests use bogus code #![allow(clippy::all)] - -/* automatically generated by rust-bindgen 0.65.1 */ - #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit { @@ -133,30 +130,6 @@ impl ::std::fmt::Debug for __IncompleteArrayField { fmt.write_str("__IncompleteArrayField") } } -pub const __BITS_PER_LONG: u32 = 64; -pub const __BITS_PER_LONG_LONG: u32 = 64; -pub const __FD_SETSIZE: u32 = 1024; -pub const _IOC_NRBITS: u32 = 8; -pub const _IOC_TYPEBITS: u32 = 8; -pub const _IOC_SIZEBITS: u32 = 14; -pub const _IOC_DIRBITS: u32 = 2; -pub const _IOC_NRMASK: u32 = 255; -pub const _IOC_TYPEMASK: u32 = 255; -pub const _IOC_SIZEMASK: u32 = 16383; -pub const _IOC_DIRMASK: u32 = 3; -pub const _IOC_NRSHIFT: u32 = 0; -pub const _IOC_TYPESHIFT: u32 = 8; -pub const _IOC_SIZESHIFT: u32 = 16; -pub const _IOC_DIRSHIFT: u32 = 30; -pub const _IOC_NONE: u32 = 0; -pub const _IOC_WRITE: u32 = 1; -pub const _IOC_READ: u32 = 2; -pub const IOC_IN: u32 = 1073741824; -pub const IOC_OUT: u32 = 2147483648; -pub const IOC_INOUT: u32 = 3221225472; -pub const IOCSIZE_MASK: u32 = 1073676288; -pub const IOCSIZE_SHIFT: u32 = 16; -pub const __LITTLE_ENDIAN: u32 = 1234; pub const PERF_PMU_TYPE_SHIFT: u32 = 32; pub const PERF_HW_EVENT_MASK: u32 = 4294967295; pub const PERF_ATTR_SIZE_VER0: u32 = 64; @@ -264,492 +237,13 @@ pub const PERF_MEM_HOPS_2: u32 = 3; pub const PERF_MEM_HOPS_3: u32 = 4; pub const PERF_MEM_HOPS_SHIFT: u32 = 43; pub const PERF_BRANCH_ENTRY_INFO_BITS_MAX: u32 = 33; -pub const __X32_SYSCALL_BIT: u32 = 1073741824; -pub const __NR_read: u32 = 0; -pub const __NR_write: u32 = 1; -pub const __NR_open: u32 = 2; -pub const __NR_close: u32 = 3; -pub const __NR_stat: u32 = 4; -pub const __NR_fstat: u32 = 5; -pub const __NR_lstat: u32 = 6; -pub const __NR_poll: u32 = 7; -pub const __NR_lseek: u32 = 8; -pub const __NR_mmap: u32 = 9; -pub const __NR_mprotect: u32 = 10; -pub const __NR_munmap: u32 = 11; -pub const __NR_brk: u32 = 12; -pub const __NR_rt_sigaction: u32 = 13; -pub const __NR_rt_sigprocmask: u32 = 14; -pub const __NR_rt_sigreturn: u32 = 15; -pub const __NR_ioctl: u32 = 16; -pub const __NR_pread64: u32 = 17; -pub const __NR_pwrite64: u32 = 18; -pub const __NR_readv: u32 = 19; -pub const __NR_writev: u32 = 20; -pub const __NR_access: u32 = 21; -pub const __NR_pipe: u32 = 22; -pub const __NR_select: u32 = 23; -pub const __NR_sched_yield: u32 = 24; -pub const __NR_mremap: u32 = 25; -pub const __NR_msync: u32 = 26; -pub const __NR_mincore: u32 = 27; -pub const __NR_madvise: u32 = 28; -pub const __NR_shmget: u32 = 29; -pub const __NR_shmat: u32 = 30; -pub const __NR_shmctl: u32 = 31; -pub const __NR_dup: u32 = 32; -pub const __NR_dup2: u32 = 33; -pub const __NR_pause: u32 = 34; -pub const __NR_nanosleep: u32 = 35; -pub const __NR_getitimer: u32 = 36; -pub const __NR_alarm: u32 = 37; -pub const __NR_setitimer: u32 = 38; -pub const __NR_getpid: u32 = 39; -pub const __NR_sendfile: u32 = 40; -pub const __NR_socket: u32 = 41; -pub const __NR_connect: u32 = 42; -pub const __NR_accept: u32 = 43; -pub const __NR_sendto: u32 = 44; -pub const __NR_recvfrom: u32 = 45; -pub const __NR_sendmsg: u32 = 46; -pub const __NR_recvmsg: u32 = 47; -pub const __NR_shutdown: u32 = 48; -pub const __NR_bind: u32 = 49; -pub const __NR_listen: u32 = 50; -pub const __NR_getsockname: u32 = 51; -pub const __NR_getpeername: u32 = 52; -pub const __NR_socketpair: u32 = 53; -pub const __NR_setsockopt: u32 = 54; -pub const __NR_getsockopt: u32 = 55; -pub const __NR_clone: u32 = 56; -pub const __NR_fork: u32 = 57; -pub const __NR_vfork: u32 = 58; -pub const __NR_execve: u32 = 59; -pub const __NR_exit: u32 = 60; -pub const __NR_wait4: u32 = 61; -pub const __NR_kill: u32 = 62; -pub const __NR_uname: u32 = 63; -pub const __NR_semget: u32 = 64; -pub const __NR_semop: u32 = 65; -pub const __NR_semctl: u32 = 66; -pub const __NR_shmdt: u32 = 67; -pub const __NR_msgget: u32 = 68; -pub const __NR_msgsnd: u32 = 69; -pub const __NR_msgrcv: u32 = 70; -pub const __NR_msgctl: u32 = 71; -pub const __NR_fcntl: u32 = 72; -pub const __NR_flock: u32 = 73; -pub const __NR_fsync: u32 = 74; -pub const __NR_fdatasync: u32 = 75; -pub const __NR_truncate: u32 = 76; -pub const __NR_ftruncate: u32 = 77; -pub const __NR_getdents: u32 = 78; -pub const __NR_getcwd: u32 = 79; -pub const __NR_chdir: u32 = 80; -pub const __NR_fchdir: u32 = 81; -pub const __NR_rename: u32 = 82; -pub const __NR_mkdir: u32 = 83; -pub const __NR_rmdir: u32 = 84; -pub const __NR_creat: u32 = 85; -pub const __NR_link: u32 = 86; -pub const __NR_unlink: u32 = 87; -pub const __NR_symlink: u32 = 88; -pub const __NR_readlink: u32 = 89; -pub const __NR_chmod: u32 = 90; -pub const __NR_fchmod: u32 = 91; -pub const __NR_chown: u32 = 92; -pub const __NR_fchown: u32 = 93; -pub const __NR_lchown: u32 = 94; -pub const __NR_umask: u32 = 95; -pub const __NR_gettimeofday: u32 = 96; -pub const __NR_getrlimit: u32 = 97; -pub const __NR_getrusage: u32 = 98; -pub const __NR_sysinfo: u32 = 99; -pub const __NR_times: u32 = 100; -pub const __NR_ptrace: u32 = 101; -pub const __NR_getuid: u32 = 102; -pub const __NR_syslog: u32 = 103; -pub const __NR_getgid: u32 = 104; -pub const __NR_setuid: u32 = 105; -pub const __NR_setgid: u32 = 106; -pub const __NR_geteuid: u32 = 107; -pub const __NR_getegid: u32 = 108; -pub const __NR_setpgid: u32 = 109; -pub const __NR_getppid: u32 = 110; -pub const __NR_getpgrp: u32 = 111; -pub const __NR_setsid: u32 = 112; -pub const __NR_setreuid: u32 = 113; -pub const __NR_setregid: u32 = 114; -pub const __NR_getgroups: u32 = 115; -pub const __NR_setgroups: u32 = 116; -pub const __NR_setresuid: u32 = 117; -pub const __NR_getresuid: u32 = 118; -pub const __NR_setresgid: u32 = 119; -pub const __NR_getresgid: u32 = 120; -pub const __NR_getpgid: u32 = 121; -pub const __NR_setfsuid: u32 = 122; -pub const __NR_setfsgid: u32 = 123; -pub const __NR_getsid: u32 = 124; -pub const __NR_capget: u32 = 125; -pub const __NR_capset: u32 = 126; -pub const __NR_rt_sigpending: u32 = 127; -pub const __NR_rt_sigtimedwait: u32 = 128; -pub const __NR_rt_sigqueueinfo: u32 = 129; -pub const __NR_rt_sigsuspend: u32 = 130; -pub const __NR_sigaltstack: u32 = 131; -pub const __NR_utime: u32 = 132; -pub const __NR_mknod: u32 = 133; -pub const __NR_uselib: u32 = 134; -pub const __NR_personality: u32 = 135; -pub const __NR_ustat: u32 = 136; -pub const __NR_statfs: u32 = 137; -pub const __NR_fstatfs: u32 = 138; -pub const __NR_sysfs: u32 = 139; -pub const __NR_getpriority: u32 = 140; -pub const __NR_setpriority: u32 = 141; -pub const __NR_sched_setparam: u32 = 142; -pub const __NR_sched_getparam: u32 = 143; -pub const __NR_sched_setscheduler: u32 = 144; -pub const __NR_sched_getscheduler: u32 = 145; -pub const __NR_sched_get_priority_max: u32 = 146; -pub const __NR_sched_get_priority_min: u32 = 147; -pub const __NR_sched_rr_get_interval: u32 = 148; -pub const __NR_mlock: u32 = 149; -pub const __NR_munlock: u32 = 150; -pub const __NR_mlockall: u32 = 151; -pub const __NR_munlockall: u32 = 152; -pub const __NR_vhangup: u32 = 153; -pub const __NR_modify_ldt: u32 = 154; -pub const __NR_pivot_root: u32 = 155; -pub const __NR__sysctl: u32 = 156; -pub const __NR_prctl: u32 = 157; -pub const __NR_arch_prctl: u32 = 158; -pub const __NR_adjtimex: u32 = 159; -pub const __NR_setrlimit: u32 = 160; -pub const __NR_chroot: u32 = 161; -pub const __NR_sync: u32 = 162; -pub const __NR_acct: u32 = 163; -pub const __NR_settimeofday: u32 = 164; -pub const __NR_mount: u32 = 165; -pub const __NR_umount2: u32 = 166; -pub const __NR_swapon: u32 = 167; -pub const __NR_swapoff: u32 = 168; -pub const __NR_reboot: u32 = 169; -pub const __NR_sethostname: u32 = 170; -pub const __NR_setdomainname: u32 = 171; -pub const __NR_iopl: u32 = 172; -pub const __NR_ioperm: u32 = 173; -pub const __NR_create_module: u32 = 174; -pub const __NR_init_module: u32 = 175; -pub const __NR_delete_module: u32 = 176; -pub const __NR_get_kernel_syms: u32 = 177; -pub const __NR_query_module: u32 = 178; -pub const __NR_quotactl: u32 = 179; -pub const __NR_nfsservctl: u32 = 180; -pub const __NR_getpmsg: u32 = 181; -pub const __NR_putpmsg: u32 = 182; -pub const __NR_afs_syscall: u32 = 183; -pub const __NR_tuxcall: u32 = 184; -pub const __NR_security: u32 = 185; -pub const __NR_gettid: u32 = 186; -pub const __NR_readahead: u32 = 187; -pub const __NR_setxattr: u32 = 188; -pub const __NR_lsetxattr: u32 = 189; -pub const __NR_fsetxattr: u32 = 190; -pub const __NR_getxattr: u32 = 191; -pub const __NR_lgetxattr: u32 = 192; -pub const __NR_fgetxattr: u32 = 193; -pub const __NR_listxattr: u32 = 194; -pub const __NR_llistxattr: u32 = 195; -pub const __NR_flistxattr: u32 = 196; -pub const __NR_removexattr: u32 = 197; -pub const __NR_lremovexattr: u32 = 198; -pub const __NR_fremovexattr: u32 = 199; -pub const __NR_tkill: u32 = 200; -pub const __NR_time: u32 = 201; -pub const __NR_futex: u32 = 202; -pub const __NR_sched_setaffinity: u32 = 203; -pub const __NR_sched_getaffinity: u32 = 204; -pub const __NR_set_thread_area: u32 = 205; -pub const __NR_io_setup: u32 = 206; -pub const __NR_io_destroy: u32 = 207; -pub const __NR_io_getevents: u32 = 208; -pub const __NR_io_submit: u32 = 209; -pub const __NR_io_cancel: u32 = 210; -pub const __NR_get_thread_area: u32 = 211; -pub const __NR_lookup_dcookie: u32 = 212; -pub const __NR_epoll_create: u32 = 213; -pub const __NR_epoll_ctl_old: u32 = 214; -pub const __NR_epoll_wait_old: u32 = 215; -pub const __NR_remap_file_pages: u32 = 216; -pub const __NR_getdents64: u32 = 217; -pub const __NR_set_tid_address: u32 = 218; -pub const __NR_restart_syscall: u32 = 219; -pub const __NR_semtimedop: u32 = 220; -pub const __NR_fadvise64: u32 = 221; -pub const __NR_timer_create: u32 = 222; -pub const __NR_timer_settime: u32 = 223; -pub const __NR_timer_gettime: u32 = 224; -pub const __NR_timer_getoverrun: u32 = 225; -pub const __NR_timer_delete: u32 = 226; -pub const __NR_clock_settime: u32 = 227; -pub const __NR_clock_gettime: u32 = 228; -pub const __NR_clock_getres: u32 = 229; -pub const __NR_clock_nanosleep: u32 = 230; -pub const __NR_exit_group: u32 = 231; -pub const __NR_epoll_wait: u32 = 232; -pub const __NR_epoll_ctl: u32 = 233; -pub const __NR_tgkill: u32 = 234; -pub const __NR_utimes: u32 = 235; -pub const __NR_vserver: u32 = 236; -pub const __NR_mbind: u32 = 237; -pub const __NR_set_mempolicy: u32 = 238; -pub const __NR_get_mempolicy: u32 = 239; -pub const __NR_mq_open: u32 = 240; -pub const __NR_mq_unlink: u32 = 241; -pub const __NR_mq_timedsend: u32 = 242; -pub const __NR_mq_timedreceive: u32 = 243; -pub const __NR_mq_notify: u32 = 244; -pub const __NR_mq_getsetattr: u32 = 245; -pub const __NR_kexec_load: u32 = 246; -pub const __NR_waitid: u32 = 247; -pub const __NR_add_key: u32 = 248; -pub const __NR_request_key: u32 = 249; -pub const __NR_keyctl: u32 = 250; -pub const __NR_ioprio_set: u32 = 251; -pub const __NR_ioprio_get: u32 = 252; -pub const __NR_inotify_init: u32 = 253; -pub const __NR_inotify_add_watch: u32 = 254; -pub const __NR_inotify_rm_watch: u32 = 255; -pub const __NR_migrate_pages: u32 = 256; -pub const __NR_openat: u32 = 257; -pub const __NR_mkdirat: u32 = 258; -pub const __NR_mknodat: u32 = 259; -pub const __NR_fchownat: u32 = 260; -pub const __NR_futimesat: u32 = 261; -pub const __NR_newfstatat: u32 = 262; -pub const __NR_unlinkat: u32 = 263; -pub const __NR_renameat: u32 = 264; -pub const __NR_linkat: u32 = 265; -pub const __NR_symlinkat: u32 = 266; -pub const __NR_readlinkat: u32 = 267; -pub const __NR_fchmodat: u32 = 268; -pub const __NR_faccessat: u32 = 269; -pub const __NR_pselect6: u32 = 270; -pub const __NR_ppoll: u32 = 271; -pub const __NR_unshare: u32 = 272; -pub const __NR_set_robust_list: u32 = 273; -pub const __NR_get_robust_list: u32 = 274; -pub const __NR_splice: u32 = 275; -pub const __NR_tee: u32 = 276; -pub const __NR_sync_file_range: u32 = 277; -pub const __NR_vmsplice: u32 = 278; -pub const __NR_move_pages: u32 = 279; -pub const __NR_utimensat: u32 = 280; -pub const __NR_epoll_pwait: u32 = 281; -pub const __NR_signalfd: u32 = 282; -pub const __NR_timerfd_create: u32 = 283; -pub const __NR_eventfd: u32 = 284; -pub const __NR_fallocate: u32 = 285; -pub const __NR_timerfd_settime: u32 = 286; -pub const __NR_timerfd_gettime: u32 = 287; -pub const __NR_accept4: u32 = 288; -pub const __NR_signalfd4: u32 = 289; -pub const __NR_eventfd2: u32 = 290; -pub const __NR_epoll_create1: u32 = 291; -pub const __NR_dup3: u32 = 292; -pub const __NR_pipe2: u32 = 293; -pub const __NR_inotify_init1: u32 = 294; -pub const __NR_preadv: u32 = 295; -pub const __NR_pwritev: u32 = 296; -pub const __NR_rt_tgsigqueueinfo: u32 = 297; pub const __NR_perf_event_open: u32 = 298; -pub const __NR_recvmmsg: u32 = 299; -pub const __NR_fanotify_init: u32 = 300; -pub const __NR_fanotify_mark: u32 = 301; -pub const __NR_prlimit64: u32 = 302; -pub const __NR_name_to_handle_at: u32 = 303; -pub const __NR_open_by_handle_at: u32 = 304; -pub const __NR_clock_adjtime: u32 = 305; -pub const __NR_syncfs: u32 = 306; -pub const __NR_sendmmsg: u32 = 307; -pub const __NR_setns: u32 = 308; -pub const __NR_getcpu: u32 = 309; -pub const __NR_process_vm_readv: u32 = 310; -pub const __NR_process_vm_writev: u32 = 311; -pub const __NR_kcmp: u32 = 312; -pub const __NR_finit_module: u32 = 313; -pub const __NR_sched_setattr: u32 = 314; -pub const __NR_sched_getattr: u32 = 315; -pub const __NR_renameat2: u32 = 316; -pub const __NR_seccomp: u32 = 317; -pub const __NR_getrandom: u32 = 318; -pub const __NR_memfd_create: u32 = 319; -pub const __NR_kexec_file_load: u32 = 320; -pub const __NR_bpf: u32 = 321; -pub const __NR_execveat: u32 = 322; -pub const __NR_userfaultfd: u32 = 323; -pub const __NR_membarrier: u32 = 324; -pub const __NR_mlock2: u32 = 325; -pub const __NR_copy_file_range: u32 = 326; -pub const __NR_preadv2: u32 = 327; -pub const __NR_pwritev2: u32 = 328; -pub const __NR_pkey_mprotect: u32 = 329; -pub const __NR_pkey_alloc: u32 = 330; -pub const __NR_pkey_free: u32 = 331; -pub const __NR_statx: u32 = 332; -pub const __NR_io_pgetevents: u32 = 333; -pub const __NR_rseq: u32 = 334; -pub const __NR_pidfd_send_signal: u32 = 424; -pub const __NR_io_uring_setup: u32 = 425; -pub const __NR_io_uring_enter: u32 = 426; -pub const __NR_io_uring_register: u32 = 427; -pub const __NR_open_tree: u32 = 428; -pub const __NR_move_mount: u32 = 429; -pub const __NR_fsopen: u32 = 430; -pub const __NR_fsconfig: u32 = 431; -pub const __NR_fsmount: u32 = 432; -pub const __NR_fspick: u32 = 433; -pub const __NR_pidfd_open: u32 = 434; -pub const __NR_clone3: u32 = 435; -pub const __NR_close_range: u32 = 436; -pub const __NR_openat2: u32 = 437; -pub const __NR_pidfd_getfd: u32 = 438; -pub const __NR_faccessat2: u32 = 439; -pub const __NR_process_madvise: u32 = 440; -pub const __NR_epoll_pwait2: u32 = 441; -pub const __NR_mount_setattr: u32 = 442; -pub const __NR_quotactl_fd: u32 = 443; -pub const __NR_landlock_create_ruleset: u32 = 444; -pub const __NR_landlock_add_rule: u32 = 445; -pub const __NR_landlock_restrict_self: u32 = 446; -pub const __NR_memfd_secret: u32 = 447; -pub const __NR_process_mrelease: u32 = 448; -pub const __NR_futex_waitv: u32 = 449; -pub const __NR_set_mempolicy_home_node: u32 = 450; -pub const __NR_cachestat: u32 = 451; -pub const __NR_fchmodat2: u32 = 452; -pub const __NR_map_shadow_stack: u32 = 453; -pub const __NR_futex_wake: u32 = 454; -pub const __NR_futex_wait: u32 = 455; -pub const __NR_futex_requeue: u32 = 456; -pub const __NR_statmount: u32 = 457; -pub const __NR_listmount: u32 = 458; -pub const __NR_lsm_get_self_attr: u32 = 459; -pub const __NR_lsm_set_self_attr: u32 = 460; -pub const __NR_lsm_list_modules: u32 = 461; -pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; -pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __kernel_fd_set { - pub fds_bits: [::std::os::raw::c_ulong; 16usize], -} -#[test] -fn bindgen_test_layout___kernel_fd_set() { - const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__kernel_fd_set>(), - 128usize, - concat!("Size of: ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fd_set>(), - 8usize, - concat!("Alignment of ", stringify!(__kernel_fd_set)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__kernel_fd_set), - "::", - stringify!(fds_bits) - ) - ); -} -pub type __kernel_sighandler_t = - ::std::option::Option; -pub type __kernel_key_t = ::std::os::raw::c_int; -pub type __kernel_mqd_t = ::std::os::raw::c_int; -pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; -pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; -pub type __kernel_long_t = ::std::os::raw::c_long; -pub type __kernel_ulong_t = ::std::os::raw::c_ulong; -pub type __kernel_ino_t = __kernel_ulong_t; -pub type __kernel_mode_t = ::std::os::raw::c_uint; -pub type __kernel_pid_t = ::std::os::raw::c_int; -pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; -pub type __kernel_uid_t = ::std::os::raw::c_uint; -pub type __kernel_gid_t = ::std::os::raw::c_uint; -pub type __kernel_suseconds_t = __kernel_long_t; -pub type __kernel_daddr_t = ::std::os::raw::c_int; -pub type __kernel_uid32_t = ::std::os::raw::c_uint; -pub type __kernel_gid32_t = ::std::os::raw::c_uint; -pub type __kernel_size_t = __kernel_ulong_t; -pub type __kernel_ssize_t = __kernel_long_t; -pub type __kernel_ptrdiff_t = __kernel_long_t; -#[repr(C)] -#[derive(Debug, Default, Copy, Clone)] -pub struct __kernel_fsid_t { - pub val: [::std::os::raw::c_int; 2usize], -} -#[test] -fn bindgen_test_layout___kernel_fsid_t() { - const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__kernel_fsid_t>(), - 8usize, - concat!("Size of: ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - ::std::mem::align_of::<__kernel_fsid_t>(), - 4usize, - concat!("Alignment of ", stringify!(__kernel_fsid_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__kernel_fsid_t), - "::", - stringify!(val) - ) - ); -} -pub type __kernel_off_t = __kernel_long_t; -pub type __kernel_loff_t = ::std::os::raw::c_longlong; -pub type __kernel_old_time_t = __kernel_long_t; -pub type __kernel_time_t = __kernel_long_t; -pub type __kernel_time64_t = ::std::os::raw::c_longlong; -pub type __kernel_clock_t = __kernel_long_t; -pub type __kernel_timer_t = ::std::os::raw::c_int; -pub type __kernel_clockid_t = ::std::os::raw::c_int; -pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; -pub type __kernel_uid16_t = ::std::os::raw::c_ushort; -pub type __kernel_gid16_t = ::std::os::raw::c_ushort; -pub type __s128 = i128; -pub type __u128 = u128; -pub type __le16 = __u16; -pub type __be16 = __u16; -pub type __le32 = __u32; -pub type __be32 = __u32; -pub type __le64 = __u64; -pub type __be64 = __u64; -pub type __sum16 = __u16; -pub type __wsum = __u32; -pub type __poll_t = ::std::os::raw::c_uint; pub const PERF_TYPE_HARDWARE: perf_type_id = 0; pub const PERF_TYPE_SOFTWARE: perf_type_id = 1; pub const PERF_TYPE_TRACEPOINT: perf_type_id = 2; @@ -2152,7 +1646,6 @@ pub union perf_event_mmap_page__bindgen_ty_1 { pub __bindgen_anon_1: perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1, } #[repr(C)] -#[repr(align(8))] #[derive(Debug, Default, Copy, Clone)] #[non_exhaustive] pub struct perf_event_mmap_page__bindgen_ty_1__bindgen_ty_1 {