summaryrefslogtreecommitdiffstats
path: root/vendor/linux-raw-sys/src/riscv32
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:47:55 +0000
commit2aadc03ef15cb5ca5cc2af8a7c08e070742f0ac4 (patch)
tree033cc839730fda84ff08db877037977be94e5e3a /vendor/linux-raw-sys/src/riscv32
parentInitial commit. (diff)
downloadcargo-upstream.tar.xz
cargo-upstream.zip
Adding upstream version 0.70.1+ds1.upstream/0.70.1+ds1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/linux-raw-sys/src/riscv32')
-rw-r--r--vendor/linux-raw-sys/src/riscv32/errno.rs135
-rw-r--r--vendor/linux-raw-sys/src/riscv32/general.rs2834
-rw-r--r--vendor/linux-raw-sys/src/riscv32/if_ether.rs167
-rw-r--r--vendor/linux-raw-sys/src/riscv32/io_uring.rs1083
-rw-r--r--vendor/linux-raw-sys/src/riscv32/ioctl.rs3
-rw-r--r--vendor/linux-raw-sys/src/riscv32/net.rs2427
-rw-r--r--vendor/linux-raw-sys/src/riscv32/netlink.rs2854
-rw-r--r--vendor/linux-raw-sys/src/riscv32/prctl.rs221
-rw-r--r--vendor/linux-raw-sys/src/riscv32/system.rs99
9 files changed, 9823 insertions, 0 deletions
diff --git a/vendor/linux-raw-sys/src/riscv32/errno.rs b/vendor/linux-raw-sys/src/riscv32/errno.rs
new file mode 100644
index 0000000..fc8d7b4
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/errno.rs
@@ -0,0 +1,135 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub const EPERM: u32 = 1;
+pub const ENOENT: u32 = 2;
+pub const ESRCH: u32 = 3;
+pub const EINTR: u32 = 4;
+pub const EIO: u32 = 5;
+pub const ENXIO: u32 = 6;
+pub const E2BIG: u32 = 7;
+pub const ENOEXEC: u32 = 8;
+pub const EBADF: u32 = 9;
+pub const ECHILD: u32 = 10;
+pub const EAGAIN: u32 = 11;
+pub const ENOMEM: u32 = 12;
+pub const EACCES: u32 = 13;
+pub const EFAULT: u32 = 14;
+pub const ENOTBLK: u32 = 15;
+pub const EBUSY: u32 = 16;
+pub const EEXIST: u32 = 17;
+pub const EXDEV: u32 = 18;
+pub const ENODEV: u32 = 19;
+pub const ENOTDIR: u32 = 20;
+pub const EISDIR: u32 = 21;
+pub const EINVAL: u32 = 22;
+pub const ENFILE: u32 = 23;
+pub const EMFILE: u32 = 24;
+pub const ENOTTY: u32 = 25;
+pub const ETXTBSY: u32 = 26;
+pub const EFBIG: u32 = 27;
+pub const ENOSPC: u32 = 28;
+pub const ESPIPE: u32 = 29;
+pub const EROFS: u32 = 30;
+pub const EMLINK: u32 = 31;
+pub const EPIPE: u32 = 32;
+pub const EDOM: u32 = 33;
+pub const ERANGE: u32 = 34;
+pub const EDEADLK: u32 = 35;
+pub const ENAMETOOLONG: u32 = 36;
+pub const ENOLCK: u32 = 37;
+pub const ENOSYS: u32 = 38;
+pub const ENOTEMPTY: u32 = 39;
+pub const ELOOP: u32 = 40;
+pub const EWOULDBLOCK: u32 = 11;
+pub const ENOMSG: u32 = 42;
+pub const EIDRM: u32 = 43;
+pub const ECHRNG: u32 = 44;
+pub const EL2NSYNC: u32 = 45;
+pub const EL3HLT: u32 = 46;
+pub const EL3RST: u32 = 47;
+pub const ELNRNG: u32 = 48;
+pub const EUNATCH: u32 = 49;
+pub const ENOCSI: u32 = 50;
+pub const EL2HLT: u32 = 51;
+pub const EBADE: u32 = 52;
+pub const EBADR: u32 = 53;
+pub const EXFULL: u32 = 54;
+pub const ENOANO: u32 = 55;
+pub const EBADRQC: u32 = 56;
+pub const EBADSLT: u32 = 57;
+pub const EDEADLOCK: u32 = 35;
+pub const EBFONT: u32 = 59;
+pub const ENOSTR: u32 = 60;
+pub const ENODATA: u32 = 61;
+pub const ETIME: u32 = 62;
+pub const ENOSR: u32 = 63;
+pub const ENONET: u32 = 64;
+pub const ENOPKG: u32 = 65;
+pub const EREMOTE: u32 = 66;
+pub const ENOLINK: u32 = 67;
+pub const EADV: u32 = 68;
+pub const ESRMNT: u32 = 69;
+pub const ECOMM: u32 = 70;
+pub const EPROTO: u32 = 71;
+pub const EMULTIHOP: u32 = 72;
+pub const EDOTDOT: u32 = 73;
+pub const EBADMSG: u32 = 74;
+pub const EOVERFLOW: u32 = 75;
+pub const ENOTUNIQ: u32 = 76;
+pub const EBADFD: u32 = 77;
+pub const EREMCHG: u32 = 78;
+pub const ELIBACC: u32 = 79;
+pub const ELIBBAD: u32 = 80;
+pub const ELIBSCN: u32 = 81;
+pub const ELIBMAX: u32 = 82;
+pub const ELIBEXEC: u32 = 83;
+pub const EILSEQ: u32 = 84;
+pub const ERESTART: u32 = 85;
+pub const ESTRPIPE: u32 = 86;
+pub const EUSERS: u32 = 87;
+pub const ENOTSOCK: u32 = 88;
+pub const EDESTADDRREQ: u32 = 89;
+pub const EMSGSIZE: u32 = 90;
+pub const EPROTOTYPE: u32 = 91;
+pub const ENOPROTOOPT: u32 = 92;
+pub const EPROTONOSUPPORT: u32 = 93;
+pub const ESOCKTNOSUPPORT: u32 = 94;
+pub const EOPNOTSUPP: u32 = 95;
+pub const EPFNOSUPPORT: u32 = 96;
+pub const EAFNOSUPPORT: u32 = 97;
+pub const EADDRINUSE: u32 = 98;
+pub const EADDRNOTAVAIL: u32 = 99;
+pub const ENETDOWN: u32 = 100;
+pub const ENETUNREACH: u32 = 101;
+pub const ENETRESET: u32 = 102;
+pub const ECONNABORTED: u32 = 103;
+pub const ECONNRESET: u32 = 104;
+pub const ENOBUFS: u32 = 105;
+pub const EISCONN: u32 = 106;
+pub const ENOTCONN: u32 = 107;
+pub const ESHUTDOWN: u32 = 108;
+pub const ETOOMANYREFS: u32 = 109;
+pub const ETIMEDOUT: u32 = 110;
+pub const ECONNREFUSED: u32 = 111;
+pub const EHOSTDOWN: u32 = 112;
+pub const EHOSTUNREACH: u32 = 113;
+pub const EALREADY: u32 = 114;
+pub const EINPROGRESS: u32 = 115;
+pub const ESTALE: u32 = 116;
+pub const EUCLEAN: u32 = 117;
+pub const ENOTNAM: u32 = 118;
+pub const ENAVAIL: u32 = 119;
+pub const EISNAM: u32 = 120;
+pub const EREMOTEIO: u32 = 121;
+pub const EDQUOT: u32 = 122;
+pub const ENOMEDIUM: u32 = 123;
+pub const EMEDIUMTYPE: u32 = 124;
+pub const ECANCELED: u32 = 125;
+pub const ENOKEY: u32 = 126;
+pub const EKEYEXPIRED: u32 = 127;
+pub const EKEYREVOKED: u32 = 128;
+pub const EKEYREJECTED: u32 = 129;
+pub const EOWNERDEAD: u32 = 130;
+pub const ENOTRECOVERABLE: u32 = 131;
+pub const ERFKILL: u32 = 132;
+pub const EHWPOISON: u32 = 133;
diff --git a/vendor/linux-raw-sys/src/riscv32/general.rs b/vendor/linux-raw-sys/src/riscv32/general.rs
new file mode 100644
index 0000000..2384ac2
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/general.rs
@@ -0,0 +1,2834 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_sighandler_t = ::core::option::Option<unsafe extern "C" fn(arg1: crate::ctypes::c_int)>;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+pub type cap_user_header_t = *mut __user_cap_header_struct;
+pub type cap_user_data_t = *mut __user_cap_data_struct;
+pub type __kernel_rwf_t = crate::ctypes::c_int;
+pub type old_sigset_t = crate::ctypes::c_ulong;
+pub type __signalfn_t = ::core::option::Option<unsafe extern "C" fn(arg1: crate::ctypes::c_int)>;
+pub type __sighandler_t = __signalfn_t;
+pub type __restorefn_t = ::core::option::Option<unsafe extern "C" fn()>;
+pub type __sigrestore_t = __restorefn_t;
+pub type stack_t = sigaltstack;
+pub type sigval_t = sigval;
+pub type siginfo_t = siginfo;
+pub type sigevent_t = sigevent;
+pub type cc_t = crate::ctypes::c_uchar;
+pub type speed_t = crate::ctypes::c_uint;
+pub type tcflag_t = crate::ctypes::c_uint;
+pub type __fsword_t = __u32;
+#[repr(C)]
+#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub struct __BindgenBitfieldUnit<Storage> {
+storage: Storage,
+}
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_fd_set {
+pub fds_bits: [crate::ctypes::c_ulong; 32usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_fsid_t {
+pub val: [crate::ctypes::c_int; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __user_cap_header_struct {
+pub version: __u32,
+pub pid: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __user_cap_data_struct {
+pub effective: __u32,
+pub permitted: __u32,
+pub inheritable: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vfs_cap_data {
+pub magic_etc: __le32,
+pub data: [vfs_cap_data__bindgen_ty_1; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vfs_cap_data__bindgen_ty_1 {
+pub permitted: __le32,
+pub inheritable: __le32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vfs_ns_cap_data {
+pub magic_etc: __le32,
+pub data: [vfs_ns_cap_data__bindgen_ty_1; 2usize],
+pub rootid: __le32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vfs_ns_cap_data__bindgen_ty_1 {
+pub permitted: __le32,
+pub inheritable: __le32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct f_owner_ex {
+pub type_: crate::ctypes::c_int,
+pub pid: __kernel_pid_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct flock {
+pub l_type: crate::ctypes::c_short,
+pub l_whence: crate::ctypes::c_short,
+pub l_start: __kernel_off_t,
+pub l_len: __kernel_off_t,
+pub l_pid: __kernel_pid_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct flock64 {
+pub l_type: crate::ctypes::c_short,
+pub l_whence: crate::ctypes::c_short,
+pub l_start: __kernel_loff_t,
+pub l_len: __kernel_loff_t,
+pub l_pid: __kernel_pid_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct open_how {
+pub flags: __u64,
+pub mode: __u64,
+pub resolve: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct epoll_event {
+pub events: __poll_t,
+pub data: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_policy_v1 {
+pub version: __u8,
+pub contents_encryption_mode: __u8,
+pub filenames_encryption_mode: __u8,
+pub flags: __u8,
+pub master_key_descriptor: [__u8; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_key {
+pub mode: __u32,
+pub raw: [__u8; 64usize],
+pub size: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_policy_v2 {
+pub version: __u8,
+pub contents_encryption_mode: __u8,
+pub filenames_encryption_mode: __u8,
+pub flags: __u8,
+pub __reserved: [__u8; 4usize],
+pub master_key_identifier: [__u8; 16usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_get_policy_ex_arg {
+pub policy_size: __u64,
+pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_key_specifier {
+pub type_: __u32,
+pub __reserved: __u32,
+pub u: fscrypt_key_specifier__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct fscrypt_provisioning_key_payload {
+pub type_: __u32,
+pub __reserved: __u32,
+pub raw: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+pub struct fscrypt_add_key_arg {
+pub key_spec: fscrypt_key_specifier,
+pub raw_size: __u32,
+pub key_id: __u32,
+pub __reserved: [__u32; 8usize],
+pub raw: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_remove_key_arg {
+pub key_spec: fscrypt_key_specifier,
+pub removal_status_flags: __u32,
+pub __reserved: [__u32; 5usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_get_key_status_arg {
+pub key_spec: fscrypt_key_specifier,
+pub __reserved: [__u32; 6usize],
+pub status: __u32,
+pub status_flags: __u32,
+pub user_count: __u32,
+pub __out_reserved: [__u32; 13usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct mount_attr {
+pub attr_set: __u64,
+pub attr_clr: __u64,
+pub propagation: __u64,
+pub userns_fd: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct file_clone_range {
+pub src_fd: __s64,
+pub src_offset: __u64,
+pub src_length: __u64,
+pub dest_offset: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fstrim_range {
+pub start: __u64,
+pub len: __u64,
+pub minlen: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct file_dedupe_range_info {
+pub dest_fd: __s64,
+pub dest_offset: __u64,
+pub bytes_deduped: __u64,
+pub status: __s32,
+pub reserved: __u32,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct file_dedupe_range {
+pub src_offset: __u64,
+pub src_length: __u64,
+pub dest_count: __u16,
+pub reserved1: __u16,
+pub reserved2: __u32,
+pub info: __IncompleteArrayField<file_dedupe_range_info>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct files_stat_struct {
+pub nr_files: crate::ctypes::c_ulong,
+pub nr_free_files: crate::ctypes::c_ulong,
+pub max_files: crate::ctypes::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct inodes_stat_t {
+pub nr_inodes: crate::ctypes::c_long,
+pub nr_unused: crate::ctypes::c_long,
+pub dummy: [crate::ctypes::c_long; 5usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fsxattr {
+pub fsx_xflags: __u32,
+pub fsx_extsize: __u32,
+pub fsx_nextents: __u32,
+pub fsx_projid: __u32,
+pub fsx_cowextsize: __u32,
+pub fsx_pad: [crate::ctypes::c_uchar; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct futex_waitv {
+pub val: __u64,
+pub uaddr: __u64,
+pub flags: __u32,
+pub __reserved: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct robust_list {
+pub next: *mut robust_list,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct robust_list_head {
+pub list: robust_list,
+pub futex_offset: crate::ctypes::c_long,
+pub list_op_pending: *mut robust_list,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct inotify_event {
+pub wd: __s32,
+pub mask: __u32,
+pub cookie: __u32,
+pub len: __u32,
+pub name: __IncompleteArrayField<crate::ctypes::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pollfd {
+pub fd: crate::ctypes::c_int,
+pub events: crate::ctypes::c_short,
+pub revents: crate::ctypes::c_short,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct rand_pool_info {
+pub entropy_count: crate::ctypes::c_int,
+pub buf_size: crate::ctypes::c_int,
+pub buf: __IncompleteArrayField<__u32>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_timespec {
+pub tv_sec: __kernel_time64_t,
+pub tv_nsec: crate::ctypes::c_longlong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_itimerspec {
+pub it_interval: __kernel_timespec,
+pub it_value: __kernel_timespec,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_timeval {
+pub tv_sec: __kernel_long_t,
+pub tv_usec: __kernel_long_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_timespec {
+pub tv_sec: __kernel_old_time_t,
+pub tv_nsec: crate::ctypes::c_long,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_itimerval {
+pub it_interval: __kernel_old_timeval,
+pub it_value: __kernel_old_timeval,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_sock_timeval {
+pub tv_sec: __s64,
+pub tv_usec: __s64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct timespec {
+pub tv_sec: __kernel_old_time_t,
+pub tv_nsec: crate::ctypes::c_long,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct timeval {
+pub tv_sec: __kernel_old_time_t,
+pub tv_usec: __kernel_suseconds_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct itimerspec {
+pub it_interval: timespec,
+pub it_value: timespec,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct itimerval {
+pub it_interval: timeval,
+pub it_value: timeval,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct timezone {
+pub tz_minuteswest: crate::ctypes::c_int,
+pub tz_dsttime: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rusage {
+pub ru_utime: __kernel_old_timeval,
+pub ru_stime: __kernel_old_timeval,
+pub ru_maxrss: __kernel_long_t,
+pub ru_ixrss: __kernel_long_t,
+pub ru_idrss: __kernel_long_t,
+pub ru_isrss: __kernel_long_t,
+pub ru_minflt: __kernel_long_t,
+pub ru_majflt: __kernel_long_t,
+pub ru_nswap: __kernel_long_t,
+pub ru_inblock: __kernel_long_t,
+pub ru_oublock: __kernel_long_t,
+pub ru_msgsnd: __kernel_long_t,
+pub ru_msgrcv: __kernel_long_t,
+pub ru_nsignals: __kernel_long_t,
+pub ru_nvcsw: __kernel_long_t,
+pub ru_nivcsw: __kernel_long_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rlimit {
+pub rlim_cur: __kernel_ulong_t,
+pub rlim_max: __kernel_ulong_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rlimit64 {
+pub rlim_cur: __u64,
+pub rlim_max: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct clone_args {
+pub flags: __u64,
+pub pidfd: __u64,
+pub child_tid: __u64,
+pub parent_tid: __u64,
+pub exit_signal: __u64,
+pub stack: __u64,
+pub stack_size: __u64,
+pub tls: __u64,
+pub set_tid: __u64,
+pub set_tid_size: __u64,
+pub cgroup: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sigset_t {
+pub sig: [crate::ctypes::c_ulong; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sigaction {
+pub sa_handler: __sighandler_t,
+pub sa_flags: crate::ctypes::c_ulong,
+pub sa_mask: sigset_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sigaltstack {
+pub ss_sp: *mut crate::ctypes::c_void,
+pub ss_flags: crate::ctypes::c_int,
+pub ss_size: __kernel_size_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_1 {
+pub _pid: __kernel_pid_t,
+pub _uid: __kernel_uid32_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_2 {
+pub _tid: __kernel_timer_t,
+pub _overrun: crate::ctypes::c_int,
+pub _sigval: sigval_t,
+pub _sys_private: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_3 {
+pub _pid: __kernel_pid_t,
+pub _uid: __kernel_uid32_t,
+pub _sigval: sigval_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_4 {
+pub _pid: __kernel_pid_t,
+pub _uid: __kernel_uid32_t,
+pub _status: crate::ctypes::c_int,
+pub _utime: __kernel_clock_t,
+pub _stime: __kernel_clock_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_5 {
+pub _addr: *mut crate::ctypes::c_void,
+pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
+pub _dummy_bnd: [crate::ctypes::c_char; 4usize],
+pub _lower: *mut crate::ctypes::c_void,
+pub _upper: *mut crate::ctypes::c_void,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
+pub _dummy_pkey: [crate::ctypes::c_char; 4usize],
+pub _pkey: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
+pub _data: crate::ctypes::c_ulong,
+pub _type: __u32,
+pub _flags: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_6 {
+pub _band: crate::ctypes::c_long,
+pub _fd: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_7 {
+pub _call_addr: *mut crate::ctypes::c_void,
+pub _syscall: crate::ctypes::c_int,
+pub _arch: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct siginfo {
+pub __bindgen_anon_1: siginfo__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
+pub si_signo: crate::ctypes::c_int,
+pub si_errno: crate::ctypes::c_int,
+pub si_code: crate::ctypes::c_int,
+pub _sifields: __sifields,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct sigevent {
+pub sigev_value: sigval_t,
+pub sigev_signo: crate::ctypes::c_int,
+pub sigev_notify: crate::ctypes::c_int,
+pub _sigev_un: sigevent__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
+pub _function: ::core::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
+pub _attribute: *mut crate::ctypes::c_void,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct statx_timestamp {
+pub tv_sec: __s64,
+pub tv_nsec: __u32,
+pub __reserved: __s32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct statx {
+pub stx_mask: __u32,
+pub stx_blksize: __u32,
+pub stx_attributes: __u64,
+pub stx_nlink: __u32,
+pub stx_uid: __u32,
+pub stx_gid: __u32,
+pub stx_mode: __u16,
+pub __spare0: [__u16; 1usize],
+pub stx_ino: __u64,
+pub stx_size: __u64,
+pub stx_blocks: __u64,
+pub stx_attributes_mask: __u64,
+pub stx_atime: statx_timestamp,
+pub stx_btime: statx_timestamp,
+pub stx_ctime: statx_timestamp,
+pub stx_mtime: statx_timestamp,
+pub stx_rdev_major: __u32,
+pub stx_rdev_minor: __u32,
+pub stx_dev_major: __u32,
+pub stx_dev_minor: __u32,
+pub stx_mnt_id: __u64,
+pub stx_dio_mem_align: __u32,
+pub stx_dio_offset_align: __u32,
+pub __spare3: [__u64; 12usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct termios {
+pub c_iflag: tcflag_t,
+pub c_oflag: tcflag_t,
+pub c_cflag: tcflag_t,
+pub c_lflag: tcflag_t,
+pub c_line: cc_t,
+pub c_cc: [cc_t; 19usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct termios2 {
+pub c_iflag: tcflag_t,
+pub c_oflag: tcflag_t,
+pub c_cflag: tcflag_t,
+pub c_lflag: tcflag_t,
+pub c_line: cc_t,
+pub c_cc: [cc_t; 19usize],
+pub c_ispeed: speed_t,
+pub c_ospeed: speed_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ktermios {
+pub c_iflag: tcflag_t,
+pub c_oflag: tcflag_t,
+pub c_cflag: tcflag_t,
+pub c_lflag: tcflag_t,
+pub c_line: cc_t,
+pub c_cc: [cc_t; 19usize],
+pub c_ispeed: speed_t,
+pub c_ospeed: speed_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct winsize {
+pub ws_row: crate::ctypes::c_ushort,
+pub ws_col: crate::ctypes::c_ushort,
+pub ws_xpixel: crate::ctypes::c_ushort,
+pub ws_ypixel: crate::ctypes::c_ushort,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct termio {
+pub c_iflag: crate::ctypes::c_ushort,
+pub c_oflag: crate::ctypes::c_ushort,
+pub c_cflag: crate::ctypes::c_ushort,
+pub c_lflag: crate::ctypes::c_ushort,
+pub c_line: crate::ctypes::c_uchar,
+pub c_cc: [crate::ctypes::c_uchar; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iovec {
+pub iov_base: *mut crate::ctypes::c_void,
+pub iov_len: __kernel_size_t,
+}
+#[repr(C, packed)]
+#[derive(Copy, Clone)]
+pub struct uffd_msg {
+pub event: __u8,
+pub reserved1: __u8,
+pub reserved2: __u16,
+pub reserved3: __u32,
+pub arg: uffd_msg__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct uffd_msg__bindgen_ty_1__bindgen_ty_1 {
+pub flags: __u64,
+pub address: __u64,
+pub feat: uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffd_msg__bindgen_ty_1__bindgen_ty_2 {
+pub ufd: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffd_msg__bindgen_ty_1__bindgen_ty_3 {
+pub from: __u64,
+pub to: __u64,
+pub len: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffd_msg__bindgen_ty_1__bindgen_ty_4 {
+pub start: __u64,
+pub end: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffd_msg__bindgen_ty_1__bindgen_ty_5 {
+pub reserved1: __u64,
+pub reserved2: __u64,
+pub reserved3: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_api {
+pub api: __u64,
+pub features: __u64,
+pub ioctls: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_range {
+pub start: __u64,
+pub len: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_register {
+pub range: uffdio_range,
+pub mode: __u64,
+pub ioctls: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_copy {
+pub dst: __u64,
+pub src: __u64,
+pub len: __u64,
+pub mode: __u64,
+pub copy: __s64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_zeropage {
+pub range: uffdio_range,
+pub mode: __u64,
+pub zeropage: __s64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_writeprotect {
+pub range: uffdio_range,
+pub mode: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uffdio_continue {
+pub range: uffdio_range,
+pub mode: __u64,
+pub mapped: __s64,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct linux_dirent64 {
+pub d_ino: crate::ctypes::c_ulonglong,
+pub d_off: crate::ctypes::c_longlong,
+pub d_reclen: __u16,
+pub d_type: __u8,
+pub d_name: __IncompleteArrayField<crate::ctypes::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct stat {
+pub st_dev: crate::ctypes::c_ulong,
+pub st_ino: crate::ctypes::c_ulong,
+pub st_mode: crate::ctypes::c_uint,
+pub st_nlink: crate::ctypes::c_uint,
+pub st_uid: crate::ctypes::c_uint,
+pub st_gid: crate::ctypes::c_uint,
+pub st_rdev: crate::ctypes::c_ulong,
+pub __pad1: crate::ctypes::c_ulong,
+pub st_size: crate::ctypes::c_long,
+pub st_blksize: crate::ctypes::c_int,
+pub __pad2: crate::ctypes::c_int,
+pub st_blocks: crate::ctypes::c_long,
+pub st_atime: crate::ctypes::c_long,
+pub st_atime_nsec: crate::ctypes::c_ulong,
+pub st_mtime: crate::ctypes::c_long,
+pub st_mtime_nsec: crate::ctypes::c_ulong,
+pub st_ctime: crate::ctypes::c_long,
+pub st_ctime_nsec: crate::ctypes::c_ulong,
+pub __unused4: crate::ctypes::c_uint,
+pub __unused5: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct stat64 {
+pub st_dev: crate::ctypes::c_ulonglong,
+pub st_ino: crate::ctypes::c_ulonglong,
+pub st_mode: crate::ctypes::c_uint,
+pub st_nlink: crate::ctypes::c_uint,
+pub st_uid: crate::ctypes::c_uint,
+pub st_gid: crate::ctypes::c_uint,
+pub st_rdev: crate::ctypes::c_ulonglong,
+pub __pad1: crate::ctypes::c_ulonglong,
+pub st_size: crate::ctypes::c_longlong,
+pub st_blksize: crate::ctypes::c_int,
+pub __pad2: crate::ctypes::c_int,
+pub st_blocks: crate::ctypes::c_longlong,
+pub st_atime: crate::ctypes::c_int,
+pub st_atime_nsec: crate::ctypes::c_uint,
+pub st_mtime: crate::ctypes::c_int,
+pub st_mtime_nsec: crate::ctypes::c_uint,
+pub st_ctime: crate::ctypes::c_int,
+pub st_ctime_nsec: crate::ctypes::c_uint,
+pub __unused4: crate::ctypes::c_uint,
+pub __unused5: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct statfs {
+pub f_type: __u32,
+pub f_bsize: __u32,
+pub f_blocks: __u32,
+pub f_bfree: __u32,
+pub f_bavail: __u32,
+pub f_files: __u32,
+pub f_ffree: __u32,
+pub f_fsid: __kernel_fsid_t,
+pub f_namelen: __u32,
+pub f_frsize: __u32,
+pub f_flags: __u32,
+pub f_spare: [__u32; 4usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct statfs64 {
+pub f_type: __u32,
+pub f_bsize: __u32,
+pub f_blocks: __u64,
+pub f_bfree: __u64,
+pub f_bavail: __u64,
+pub f_files: __u64,
+pub f_ffree: __u64,
+pub f_fsid: __kernel_fsid_t,
+pub f_namelen: __u32,
+pub f_frsize: __u32,
+pub f_flags: __u32,
+pub f_spare: [__u32; 4usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct compat_statfs64 {
+pub f_type: __u32,
+pub f_bsize: __u32,
+pub f_blocks: __u64,
+pub f_bfree: __u64,
+pub f_bavail: __u64,
+pub f_files: __u64,
+pub f_ffree: __u64,
+pub f_fsid: __kernel_fsid_t,
+pub f_namelen: __u32,
+pub f_frsize: __u32,
+pub f_flags: __u32,
+pub f_spare: [__u32; 4usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct user_desc {
+pub entry_number: crate::ctypes::c_uint,
+pub base_addr: crate::ctypes::c_uint,
+pub limit: crate::ctypes::c_uint,
+pub _bitfield_align_1: [u8; 0],
+pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+pub __bindgen_padding_0: [u8; 3usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct kernel_sigset_t {
+pub sig: [crate::ctypes::c_ulong; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct kernel_sigaction {
+pub sa_handler_kernel: __kernel_sighandler_t,
+pub sa_flags: crate::ctypes::c_ulong,
+pub sa_mask: kernel_sigset_t,
+}
+pub const LINUX_VERSION_CODE: u32 = 393984;
+pub const LINUX_VERSION_MAJOR: u32 = 6;
+pub const LINUX_VERSION_PATCHLEVEL: u32 = 3;
+pub const LINUX_VERSION_SUBLEVEL: u32 = 0;
+pub const AT_SYSINFO_EHDR: u32 = 33;
+pub const AT_L1I_CACHESIZE: u32 = 40;
+pub const AT_L1I_CACHEGEOMETRY: u32 = 41;
+pub const AT_L1D_CACHESIZE: u32 = 42;
+pub const AT_L1D_CACHEGEOMETRY: u32 = 43;
+pub const AT_L2_CACHESIZE: u32 = 44;
+pub const AT_L2_CACHEGEOMETRY: u32 = 45;
+pub const AT_L3_CACHESIZE: u32 = 46;
+pub const AT_L3_CACHEGEOMETRY: u32 = 47;
+pub const AT_VECTOR_SIZE_ARCH: u32 = 9;
+pub const AT_NULL: u32 = 0;
+pub const AT_IGNORE: u32 = 1;
+pub const AT_EXECFD: u32 = 2;
+pub const AT_PHDR: u32 = 3;
+pub const AT_PHENT: u32 = 4;
+pub const AT_PHNUM: u32 = 5;
+pub const AT_PAGESZ: u32 = 6;
+pub const AT_BASE: u32 = 7;
+pub const AT_FLAGS: u32 = 8;
+pub const AT_ENTRY: u32 = 9;
+pub const AT_NOTELF: u32 = 10;
+pub const AT_UID: u32 = 11;
+pub const AT_EUID: u32 = 12;
+pub const AT_GID: u32 = 13;
+pub const AT_EGID: u32 = 14;
+pub const AT_PLATFORM: u32 = 15;
+pub const AT_HWCAP: u32 = 16;
+pub const AT_CLKTCK: u32 = 17;
+pub const AT_SECURE: u32 = 23;
+pub const AT_BASE_PLATFORM: u32 = 24;
+pub const AT_RANDOM: u32 = 25;
+pub const AT_HWCAP2: u32 = 26;
+pub const AT_RSEQ_FEATURE_SIZE: u32 = 27;
+pub const AT_RSEQ_ALIGN: u32 = 28;
+pub const AT_EXECFN: u32 = 31;
+pub const AT_MINSIGSTKSZ: u32 = 51;
+pub const __FD_SETSIZE: u32 = 1024;
+pub const _LINUX_CAPABILITY_VERSION_1: u32 = 429392688;
+pub const _LINUX_CAPABILITY_U32S_1: u32 = 1;
+pub const _LINUX_CAPABILITY_VERSION_2: u32 = 537333798;
+pub const _LINUX_CAPABILITY_U32S_2: u32 = 2;
+pub const _LINUX_CAPABILITY_VERSION_3: u32 = 537396514;
+pub const _LINUX_CAPABILITY_U32S_3: u32 = 2;
+pub const VFS_CAP_REVISION_MASK: u32 = 4278190080;
+pub const VFS_CAP_REVISION_SHIFT: u32 = 24;
+pub const VFS_CAP_FLAGS_MASK: i64 = -4278190081;
+pub const VFS_CAP_FLAGS_EFFECTIVE: u32 = 1;
+pub const VFS_CAP_REVISION_1: u32 = 16777216;
+pub const VFS_CAP_U32_1: u32 = 1;
+pub const VFS_CAP_REVISION_2: u32 = 33554432;
+pub const VFS_CAP_U32_2: u32 = 2;
+pub const VFS_CAP_REVISION_3: u32 = 50331648;
+pub const VFS_CAP_U32_3: u32 = 2;
+pub const VFS_CAP_U32: u32 = 2;
+pub const VFS_CAP_REVISION: u32 = 50331648;
+pub const _LINUX_CAPABILITY_VERSION: u32 = 429392688;
+pub const _LINUX_CAPABILITY_U32S: u32 = 1;
+pub const CAP_CHOWN: u32 = 0;
+pub const CAP_DAC_OVERRIDE: u32 = 1;
+pub const CAP_DAC_READ_SEARCH: u32 = 2;
+pub const CAP_FOWNER: u32 = 3;
+pub const CAP_FSETID: u32 = 4;
+pub const CAP_KILL: u32 = 5;
+pub const CAP_SETGID: u32 = 6;
+pub const CAP_SETUID: u32 = 7;
+pub const CAP_SETPCAP: u32 = 8;
+pub const CAP_LINUX_IMMUTABLE: u32 = 9;
+pub const CAP_NET_BIND_SERVICE: u32 = 10;
+pub const CAP_NET_BROADCAST: u32 = 11;
+pub const CAP_NET_ADMIN: u32 = 12;
+pub const CAP_NET_RAW: u32 = 13;
+pub const CAP_IPC_LOCK: u32 = 14;
+pub const CAP_IPC_OWNER: u32 = 15;
+pub const CAP_SYS_MODULE: u32 = 16;
+pub const CAP_SYS_RAWIO: u32 = 17;
+pub const CAP_SYS_CHROOT: u32 = 18;
+pub const CAP_SYS_PTRACE: u32 = 19;
+pub const CAP_SYS_PACCT: u32 = 20;
+pub const CAP_SYS_ADMIN: u32 = 21;
+pub const CAP_SYS_BOOT: u32 = 22;
+pub const CAP_SYS_NICE: u32 = 23;
+pub const CAP_SYS_RESOURCE: u32 = 24;
+pub const CAP_SYS_TIME: u32 = 25;
+pub const CAP_SYS_TTY_CONFIG: u32 = 26;
+pub const CAP_MKNOD: u32 = 27;
+pub const CAP_LEASE: u32 = 28;
+pub const CAP_AUDIT_WRITE: u32 = 29;
+pub const CAP_AUDIT_CONTROL: u32 = 30;
+pub const CAP_SETFCAP: u32 = 31;
+pub const CAP_MAC_OVERRIDE: u32 = 32;
+pub const CAP_MAC_ADMIN: u32 = 33;
+pub const CAP_SYSLOG: u32 = 34;
+pub const CAP_WAKE_ALARM: u32 = 35;
+pub const CAP_BLOCK_SUSPEND: u32 = 36;
+pub const CAP_AUDIT_READ: u32 = 37;
+pub const CAP_PERFMON: u32 = 38;
+pub const CAP_BPF: u32 = 39;
+pub const CAP_CHECKPOINT_RESTORE: u32 = 40;
+pub const CAP_LAST_CAP: u32 = 40;
+pub const O_ACCMODE: u32 = 3;
+pub const O_RDONLY: u32 = 0;
+pub const O_WRONLY: u32 = 1;
+pub const O_RDWR: u32 = 2;
+pub const O_CREAT: u32 = 64;
+pub const O_EXCL: u32 = 128;
+pub const O_NOCTTY: u32 = 256;
+pub const O_TRUNC: u32 = 512;
+pub const O_APPEND: u32 = 1024;
+pub const O_NONBLOCK: u32 = 2048;
+pub const O_DSYNC: u32 = 4096;
+pub const FASYNC: u32 = 8192;
+pub const O_DIRECT: u32 = 16384;
+pub const O_LARGEFILE: u32 = 32768;
+pub const O_DIRECTORY: u32 = 65536;
+pub const O_NOFOLLOW: u32 = 131072;
+pub const O_NOATIME: u32 = 262144;
+pub const O_CLOEXEC: u32 = 524288;
+pub const __O_SYNC: u32 = 1048576;
+pub const O_SYNC: u32 = 1052672;
+pub const O_PATH: u32 = 2097152;
+pub const __O_TMPFILE: u32 = 4194304;
+pub const O_TMPFILE: u32 = 4259840;
+pub const O_TMPFILE_MASK: u32 = 4259904;
+pub const O_NDELAY: u32 = 2048;
+pub const F_DUPFD: u32 = 0;
+pub const F_GETFD: u32 = 1;
+pub const F_SETFD: u32 = 2;
+pub const F_GETFL: u32 = 3;
+pub const F_SETFL: u32 = 4;
+pub const F_GETLK: u32 = 5;
+pub const F_SETLK: u32 = 6;
+pub const F_SETLKW: u32 = 7;
+pub const F_SETOWN: u32 = 8;
+pub const F_GETOWN: u32 = 9;
+pub const F_SETSIG: u32 = 10;
+pub const F_GETSIG: u32 = 11;
+pub const F_GETLK64: u32 = 12;
+pub const F_SETLK64: u32 = 13;
+pub const F_SETLKW64: u32 = 14;
+pub const F_SETOWN_EX: u32 = 15;
+pub const F_GETOWN_EX: u32 = 16;
+pub const F_GETOWNER_UIDS: u32 = 17;
+pub const F_OFD_GETLK: u32 = 36;
+pub const F_OFD_SETLK: u32 = 37;
+pub const F_OFD_SETLKW: u32 = 38;
+pub const F_OWNER_TID: u32 = 0;
+pub const F_OWNER_PID: u32 = 1;
+pub const F_OWNER_PGRP: u32 = 2;
+pub const FD_CLOEXEC: u32 = 1;
+pub const F_RDLCK: u32 = 0;
+pub const F_WRLCK: u32 = 1;
+pub const F_UNLCK: u32 = 2;
+pub const F_EXLCK: u32 = 4;
+pub const F_SHLCK: u32 = 8;
+pub const LOCK_SH: u32 = 1;
+pub const LOCK_EX: u32 = 2;
+pub const LOCK_NB: u32 = 4;
+pub const LOCK_UN: u32 = 8;
+pub const LOCK_MAND: u32 = 32;
+pub const LOCK_READ: u32 = 64;
+pub const LOCK_WRITE: u32 = 128;
+pub const LOCK_RW: u32 = 192;
+pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
+pub const RESOLVE_NO_XDEV: u32 = 1;
+pub const RESOLVE_NO_MAGICLINKS: u32 = 2;
+pub const RESOLVE_NO_SYMLINKS: u32 = 4;
+pub const RESOLVE_BENEATH: u32 = 8;
+pub const RESOLVE_IN_ROOT: u32 = 16;
+pub const RESOLVE_CACHED: u32 = 32;
+pub const F_SETLEASE: u32 = 1024;
+pub const F_GETLEASE: u32 = 1025;
+pub const F_CANCELLK: u32 = 1029;
+pub const F_DUPFD_CLOEXEC: u32 = 1030;
+pub const F_NOTIFY: u32 = 1026;
+pub const F_SETPIPE_SZ: u32 = 1031;
+pub const F_GETPIPE_SZ: u32 = 1032;
+pub const F_ADD_SEALS: u32 = 1033;
+pub const F_GET_SEALS: u32 = 1034;
+pub const F_SEAL_SEAL: u32 = 1;
+pub const F_SEAL_SHRINK: u32 = 2;
+pub const F_SEAL_GROW: u32 = 4;
+pub const F_SEAL_WRITE: u32 = 8;
+pub const F_SEAL_FUTURE_WRITE: u32 = 16;
+pub const F_SEAL_EXEC: u32 = 32;
+pub const F_GET_RW_HINT: u32 = 1035;
+pub const F_SET_RW_HINT: u32 = 1036;
+pub const F_GET_FILE_RW_HINT: u32 = 1037;
+pub const F_SET_FILE_RW_HINT: u32 = 1038;
+pub const RWH_WRITE_LIFE_NOT_SET: u32 = 0;
+pub const RWH_WRITE_LIFE_NONE: u32 = 1;
+pub const RWH_WRITE_LIFE_SHORT: u32 = 2;
+pub const RWH_WRITE_LIFE_MEDIUM: u32 = 3;
+pub const RWH_WRITE_LIFE_LONG: u32 = 4;
+pub const RWH_WRITE_LIFE_EXTREME: u32 = 5;
+pub const RWF_WRITE_LIFE_NOT_SET: u32 = 0;
+pub const DN_ACCESS: u32 = 1;
+pub const DN_MODIFY: u32 = 2;
+pub const DN_CREATE: u32 = 4;
+pub const DN_DELETE: u32 = 8;
+pub const DN_RENAME: u32 = 16;
+pub const DN_ATTRIB: u32 = 32;
+pub const DN_MULTISHOT: u32 = 2147483648;
+pub const AT_FDCWD: i32 = -100;
+pub const AT_SYMLINK_NOFOLLOW: u32 = 256;
+pub const AT_EACCESS: u32 = 512;
+pub const AT_REMOVEDIR: u32 = 512;
+pub const AT_SYMLINK_FOLLOW: u32 = 1024;
+pub const AT_NO_AUTOMOUNT: u32 = 2048;
+pub const AT_EMPTY_PATH: u32 = 4096;
+pub const AT_STATX_SYNC_TYPE: u32 = 24576;
+pub const AT_STATX_SYNC_AS_STAT: u32 = 0;
+pub const AT_STATX_FORCE_SYNC: u32 = 8192;
+pub const AT_STATX_DONT_SYNC: u32 = 16384;
+pub const AT_RECURSIVE: u32 = 32768;
+pub const EPOLL_CLOEXEC: u32 = 524288;
+pub const EPOLL_CTL_ADD: u32 = 1;
+pub const EPOLL_CTL_DEL: u32 = 2;
+pub const EPOLL_CTL_MOD: u32 = 3;
+pub const POSIX_FADV_NORMAL: u32 = 0;
+pub const POSIX_FADV_RANDOM: u32 = 1;
+pub const POSIX_FADV_SEQUENTIAL: u32 = 2;
+pub const POSIX_FADV_WILLNEED: u32 = 3;
+pub const POSIX_FADV_DONTNEED: u32 = 4;
+pub const POSIX_FADV_NOREUSE: u32 = 5;
+pub const FALLOC_FL_KEEP_SIZE: u32 = 1;
+pub const FALLOC_FL_PUNCH_HOLE: u32 = 2;
+pub const FALLOC_FL_NO_HIDE_STALE: u32 = 4;
+pub const FALLOC_FL_COLLAPSE_RANGE: u32 = 8;
+pub const FALLOC_FL_ZERO_RANGE: u32 = 16;
+pub const FALLOC_FL_INSERT_RANGE: u32 = 32;
+pub const FALLOC_FL_UNSHARE_RANGE: u32 = 64;
+pub const NR_OPEN: u32 = 1024;
+pub const NGROUPS_MAX: u32 = 65536;
+pub const ARG_MAX: u32 = 131072;
+pub const LINK_MAX: u32 = 127;
+pub const MAX_CANON: u32 = 255;
+pub const MAX_INPUT: u32 = 255;
+pub const NAME_MAX: u32 = 255;
+pub const PATH_MAX: u32 = 4096;
+pub const PIPE_BUF: u32 = 4096;
+pub const XATTR_NAME_MAX: u32 = 255;
+pub const XATTR_SIZE_MAX: u32 = 65536;
+pub const XATTR_LIST_MAX: u32 = 65536;
+pub const RTSIG_MAX: u32 = 32;
+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 FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0;
+pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1;
+pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2;
+pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3;
+pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3;
+pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4;
+pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8;
+pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16;
+pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1;
+pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4;
+pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5;
+pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6;
+pub const FSCRYPT_MODE_SM4_XTS: u32 = 7;
+pub const FSCRYPT_MODE_SM4_CTS: u32 = 8;
+pub const FSCRYPT_MODE_ADIANTUM: u32 = 9;
+pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10;
+pub const FSCRYPT_POLICY_V1: u32 = 0;
+pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8;
+pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
+pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8;
+pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64;
+pub const FSCRYPT_POLICY_V2: u32 = 2;
+pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16;
+pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1;
+pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2;
+pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1;
+pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2;
+pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1;
+pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2;
+pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3;
+pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1;
+pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8;
+pub const FS_POLICY_FLAGS_PAD_4: u32 = 0;
+pub const FS_POLICY_FLAGS_PAD_8: u32 = 1;
+pub const FS_POLICY_FLAGS_PAD_16: u32 = 2;
+pub const FS_POLICY_FLAGS_PAD_32: u32 = 3;
+pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3;
+pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4;
+pub const FS_POLICY_FLAGS_VALID: u32 = 7;
+pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0;
+pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1;
+pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2;
+pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3;
+pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4;
+pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5;
+pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6;
+pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9;
+pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
+pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8;
+pub const FS_MAX_KEY_SIZE: u32 = 64;
+pub const MS_RDONLY: u32 = 1;
+pub const MS_NOSUID: u32 = 2;
+pub const MS_NODEV: u32 = 4;
+pub const MS_NOEXEC: u32 = 8;
+pub const MS_SYNCHRONOUS: u32 = 16;
+pub const MS_REMOUNT: u32 = 32;
+pub const MS_MANDLOCK: u32 = 64;
+pub const MS_DIRSYNC: u32 = 128;
+pub const MS_NOSYMFOLLOW: u32 = 256;
+pub const MS_NOATIME: u32 = 1024;
+pub const MS_NODIRATIME: u32 = 2048;
+pub const MS_BIND: u32 = 4096;
+pub const MS_MOVE: u32 = 8192;
+pub const MS_REC: u32 = 16384;
+pub const MS_VERBOSE: u32 = 32768;
+pub const MS_SILENT: u32 = 32768;
+pub const MS_POSIXACL: u32 = 65536;
+pub const MS_UNBINDABLE: u32 = 131072;
+pub const MS_PRIVATE: u32 = 262144;
+pub const MS_SLAVE: u32 = 524288;
+pub const MS_SHARED: u32 = 1048576;
+pub const MS_RELATIME: u32 = 2097152;
+pub const MS_KERNMOUNT: u32 = 4194304;
+pub const MS_I_VERSION: u32 = 8388608;
+pub const MS_STRICTATIME: u32 = 16777216;
+pub const MS_LAZYTIME: u32 = 33554432;
+pub const MS_SUBMOUNT: u32 = 67108864;
+pub const MS_NOREMOTELOCK: u32 = 134217728;
+pub const MS_NOSEC: u32 = 268435456;
+pub const MS_BORN: u32 = 536870912;
+pub const MS_ACTIVE: u32 = 1073741824;
+pub const MS_NOUSER: u32 = 2147483648;
+pub const MS_RMT_MASK: u32 = 41943121;
+pub const MS_MGC_VAL: u32 = 3236757504;
+pub const MS_MGC_MSK: u32 = 4294901760;
+pub const OPEN_TREE_CLONE: u32 = 1;
+pub const OPEN_TREE_CLOEXEC: u32 = 524288;
+pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1;
+pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2;
+pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4;
+pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16;
+pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32;
+pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64;
+pub const MOVE_MOUNT_SET_GROUP: u32 = 256;
+pub const MOVE_MOUNT__MASK: u32 = 375;
+pub const FSOPEN_CLOEXEC: u32 = 1;
+pub const FSPICK_CLOEXEC: u32 = 1;
+pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2;
+pub const FSPICK_NO_AUTOMOUNT: u32 = 4;
+pub const FSPICK_EMPTY_PATH: u32 = 8;
+pub const FSMOUNT_CLOEXEC: u32 = 1;
+pub const MOUNT_ATTR_RDONLY: u32 = 1;
+pub const MOUNT_ATTR_NOSUID: u32 = 2;
+pub const MOUNT_ATTR_NODEV: u32 = 4;
+pub const MOUNT_ATTR_NOEXEC: u32 = 8;
+pub const MOUNT_ATTR__ATIME: u32 = 112;
+pub const MOUNT_ATTR_RELATIME: u32 = 0;
+pub const MOUNT_ATTR_NOATIME: u32 = 16;
+pub const MOUNT_ATTR_STRICTATIME: u32 = 32;
+pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
+pub const MOUNT_ATTR_IDMAP: u32 = 1048576;
+pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152;
+pub const MOUNT_ATTR_SIZE_VER0: u32 = 32;
+pub const INR_OPEN_CUR: u32 = 1024;
+pub const INR_OPEN_MAX: u32 = 4096;
+pub const BLOCK_SIZE_BITS: u32 = 10;
+pub const BLOCK_SIZE: u32 = 1024;
+pub const SEEK_SET: u32 = 0;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const SEEK_DATA: u32 = 3;
+pub const SEEK_HOLE: u32 = 4;
+pub const SEEK_MAX: u32 = 4;
+pub const RENAME_NOREPLACE: u32 = 1;
+pub const RENAME_EXCHANGE: u32 = 2;
+pub const RENAME_WHITEOUT: u32 = 4;
+pub const FILE_DEDUPE_RANGE_SAME: u32 = 0;
+pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1;
+pub const NR_FILE: u32 = 8192;
+pub const FS_XFLAG_REALTIME: u32 = 1;
+pub const FS_XFLAG_PREALLOC: u32 = 2;
+pub const FS_XFLAG_IMMUTABLE: u32 = 8;
+pub const FS_XFLAG_APPEND: u32 = 16;
+pub const FS_XFLAG_SYNC: u32 = 32;
+pub const FS_XFLAG_NOATIME: u32 = 64;
+pub const FS_XFLAG_NODUMP: u32 = 128;
+pub const FS_XFLAG_RTINHERIT: u32 = 256;
+pub const FS_XFLAG_PROJINHERIT: u32 = 512;
+pub const FS_XFLAG_NOSYMLINKS: u32 = 1024;
+pub const FS_XFLAG_EXTSIZE: u32 = 2048;
+pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096;
+pub const FS_XFLAG_NODEFRAG: u32 = 8192;
+pub const FS_XFLAG_FILESTREAM: u32 = 16384;
+pub const FS_XFLAG_DAX: u32 = 32768;
+pub const FS_XFLAG_COWEXTSIZE: u32 = 65536;
+pub const FS_XFLAG_HASATTR: u32 = 2147483648;
+pub const BMAP_IOCTL: u32 = 1;
+pub const FSLABEL_MAX: u32 = 256;
+pub const FS_SECRM_FL: u32 = 1;
+pub const FS_UNRM_FL: u32 = 2;
+pub const FS_COMPR_FL: u32 = 4;
+pub const FS_SYNC_FL: u32 = 8;
+pub const FS_IMMUTABLE_FL: u32 = 16;
+pub const FS_APPEND_FL: u32 = 32;
+pub const FS_NODUMP_FL: u32 = 64;
+pub const FS_NOATIME_FL: u32 = 128;
+pub const FS_DIRTY_FL: u32 = 256;
+pub const FS_COMPRBLK_FL: u32 = 512;
+pub const FS_NOCOMP_FL: u32 = 1024;
+pub const FS_ENCRYPT_FL: u32 = 2048;
+pub const FS_BTREE_FL: u32 = 4096;
+pub const FS_INDEX_FL: u32 = 4096;
+pub const FS_IMAGIC_FL: u32 = 8192;
+pub const FS_JOURNAL_DATA_FL: u32 = 16384;
+pub const FS_NOTAIL_FL: u32 = 32768;
+pub const FS_DIRSYNC_FL: u32 = 65536;
+pub const FS_TOPDIR_FL: u32 = 131072;
+pub const FS_HUGE_FILE_FL: u32 = 262144;
+pub const FS_EXTENT_FL: u32 = 524288;
+pub const FS_VERITY_FL: u32 = 1048576;
+pub const FS_EA_INODE_FL: u32 = 2097152;
+pub const FS_EOFBLOCKS_FL: u32 = 4194304;
+pub const FS_NOCOW_FL: u32 = 8388608;
+pub const FS_DAX_FL: u32 = 33554432;
+pub const FS_INLINE_DATA_FL: u32 = 268435456;
+pub const FS_PROJINHERIT_FL: u32 = 536870912;
+pub const FS_CASEFOLD_FL: u32 = 1073741824;
+pub const FS_RESERVED_FL: u32 = 2147483648;
+pub const FS_FL_USER_VISIBLE: u32 = 253951;
+pub const FS_FL_USER_MODIFIABLE: u32 = 229631;
+pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
+pub const SYNC_FILE_RANGE_WRITE: u32 = 2;
+pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4;
+pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7;
+pub const FUTEX_WAIT: u32 = 0;
+pub const FUTEX_WAKE: u32 = 1;
+pub const FUTEX_FD: u32 = 2;
+pub const FUTEX_REQUEUE: u32 = 3;
+pub const FUTEX_CMP_REQUEUE: u32 = 4;
+pub const FUTEX_WAKE_OP: u32 = 5;
+pub const FUTEX_LOCK_PI: u32 = 6;
+pub const FUTEX_UNLOCK_PI: u32 = 7;
+pub const FUTEX_TRYLOCK_PI: u32 = 8;
+pub const FUTEX_WAIT_BITSET: u32 = 9;
+pub const FUTEX_WAKE_BITSET: u32 = 10;
+pub const FUTEX_WAIT_REQUEUE_PI: u32 = 11;
+pub const FUTEX_CMP_REQUEUE_PI: u32 = 12;
+pub const FUTEX_LOCK_PI2: u32 = 13;
+pub const FUTEX_PRIVATE_FLAG: u32 = 128;
+pub const FUTEX_CLOCK_REALTIME: u32 = 256;
+pub const FUTEX_CMD_MASK: i32 = -385;
+pub const FUTEX_WAIT_PRIVATE: u32 = 128;
+pub const FUTEX_WAKE_PRIVATE: u32 = 129;
+pub const FUTEX_REQUEUE_PRIVATE: u32 = 131;
+pub const FUTEX_CMP_REQUEUE_PRIVATE: u32 = 132;
+pub const FUTEX_WAKE_OP_PRIVATE: u32 = 133;
+pub const FUTEX_LOCK_PI_PRIVATE: u32 = 134;
+pub const FUTEX_LOCK_PI2_PRIVATE: u32 = 141;
+pub const FUTEX_UNLOCK_PI_PRIVATE: u32 = 135;
+pub const FUTEX_TRYLOCK_PI_PRIVATE: u32 = 136;
+pub const FUTEX_WAIT_BITSET_PRIVATE: u32 = 137;
+pub const FUTEX_WAKE_BITSET_PRIVATE: u32 = 138;
+pub const FUTEX_WAIT_REQUEUE_PI_PRIVATE: u32 = 139;
+pub const FUTEX_CMP_REQUEUE_PI_PRIVATE: u32 = 140;
+pub const FUTEX_32: u32 = 2;
+pub const FUTEX_WAITV_MAX: u32 = 128;
+pub const FUTEX_WAITERS: u32 = 2147483648;
+pub const FUTEX_OWNER_DIED: u32 = 1073741824;
+pub const FUTEX_TID_MASK: u32 = 1073741823;
+pub const ROBUST_LIST_LIMIT: u32 = 2048;
+pub const FUTEX_BITSET_MATCH_ANY: u32 = 4294967295;
+pub const FUTEX_OP_SET: u32 = 0;
+pub const FUTEX_OP_ADD: u32 = 1;
+pub const FUTEX_OP_OR: u32 = 2;
+pub const FUTEX_OP_ANDN: u32 = 3;
+pub const FUTEX_OP_XOR: u32 = 4;
+pub const FUTEX_OP_OPARG_SHIFT: u32 = 8;
+pub const FUTEX_OP_CMP_EQ: u32 = 0;
+pub const FUTEX_OP_CMP_NE: u32 = 1;
+pub const FUTEX_OP_CMP_LT: u32 = 2;
+pub const FUTEX_OP_CMP_LE: u32 = 3;
+pub const FUTEX_OP_CMP_GT: u32 = 4;
+pub const FUTEX_OP_CMP_GE: u32 = 5;
+pub const IN_ACCESS: u32 = 1;
+pub const IN_MODIFY: u32 = 2;
+pub const IN_ATTRIB: u32 = 4;
+pub const IN_CLOSE_WRITE: u32 = 8;
+pub const IN_CLOSE_NOWRITE: u32 = 16;
+pub const IN_OPEN: u32 = 32;
+pub const IN_MOVED_FROM: u32 = 64;
+pub const IN_MOVED_TO: u32 = 128;
+pub const IN_CREATE: u32 = 256;
+pub const IN_DELETE: u32 = 512;
+pub const IN_DELETE_SELF: u32 = 1024;
+pub const IN_MOVE_SELF: u32 = 2048;
+pub const IN_UNMOUNT: u32 = 8192;
+pub const IN_Q_OVERFLOW: u32 = 16384;
+pub const IN_IGNORED: u32 = 32768;
+pub const IN_CLOSE: u32 = 24;
+pub const IN_MOVE: u32 = 192;
+pub const IN_ONLYDIR: u32 = 16777216;
+pub const IN_DONT_FOLLOW: u32 = 33554432;
+pub const IN_EXCL_UNLINK: u32 = 67108864;
+pub const IN_MASK_CREATE: u32 = 268435456;
+pub const IN_MASK_ADD: u32 = 536870912;
+pub const IN_ISDIR: u32 = 1073741824;
+pub const IN_ONESHOT: u32 = 2147483648;
+pub const IN_ALL_EVENTS: u32 = 4095;
+pub const IN_CLOEXEC: u32 = 524288;
+pub const IN_NONBLOCK: u32 = 2048;
+pub const ADFS_SUPER_MAGIC: u32 = 44533;
+pub const AFFS_SUPER_MAGIC: u32 = 44543;
+pub const AFS_SUPER_MAGIC: u32 = 1397113167;
+pub const AUTOFS_SUPER_MAGIC: u32 = 391;
+pub const CEPH_SUPER_MAGIC: u32 = 12805120;
+pub const CODA_SUPER_MAGIC: u32 = 1937076805;
+pub const CRAMFS_MAGIC: u32 = 684539205;
+pub const CRAMFS_MAGIC_WEND: u32 = 1161678120;
+pub const DEBUGFS_MAGIC: u32 = 1684170528;
+pub const SECURITYFS_MAGIC: u32 = 1935894131;
+pub const SELINUX_MAGIC: u32 = 4185718668;
+pub const SMACK_MAGIC: u32 = 1128357203;
+pub const RAMFS_MAGIC: u32 = 2240043254;
+pub const TMPFS_MAGIC: u32 = 16914836;
+pub const HUGETLBFS_MAGIC: u32 = 2508478710;
+pub const SQUASHFS_MAGIC: u32 = 1936814952;
+pub const ECRYPTFS_SUPER_MAGIC: u32 = 61791;
+pub const EFS_SUPER_MAGIC: u32 = 4278867;
+pub const EROFS_SUPER_MAGIC_V1: u32 = 3774210530;
+pub const EXT2_SUPER_MAGIC: u32 = 61267;
+pub const EXT3_SUPER_MAGIC: u32 = 61267;
+pub const XENFS_SUPER_MAGIC: u32 = 2881100148;
+pub const EXT4_SUPER_MAGIC: u32 = 61267;
+pub const BTRFS_SUPER_MAGIC: u32 = 2435016766;
+pub const NILFS_SUPER_MAGIC: u32 = 13364;
+pub const F2FS_SUPER_MAGIC: u32 = 4076150800;
+pub const HPFS_SUPER_MAGIC: u32 = 4187351113;
+pub const ISOFS_SUPER_MAGIC: u32 = 38496;
+pub const JFFS2_SUPER_MAGIC: u32 = 29366;
+pub const XFS_SUPER_MAGIC: u32 = 1481003842;
+pub const PSTOREFS_MAGIC: u32 = 1634035564;
+pub const EFIVARFS_MAGIC: u32 = 3730735588;
+pub const HOSTFS_SUPER_MAGIC: u32 = 12648430;
+pub const OVERLAYFS_SUPER_MAGIC: u32 = 2035054128;
+pub const FUSE_SUPER_MAGIC: u32 = 1702057286;
+pub const MINIX_SUPER_MAGIC: u32 = 4991;
+pub const MINIX_SUPER_MAGIC2: u32 = 5007;
+pub const MINIX2_SUPER_MAGIC: u32 = 9320;
+pub const MINIX2_SUPER_MAGIC2: u32 = 9336;
+pub const MINIX3_SUPER_MAGIC: u32 = 19802;
+pub const MSDOS_SUPER_MAGIC: u32 = 19780;
+pub const EXFAT_SUPER_MAGIC: u32 = 538032816;
+pub const NCP_SUPER_MAGIC: u32 = 22092;
+pub const NFS_SUPER_MAGIC: u32 = 26985;
+pub const OCFS2_SUPER_MAGIC: u32 = 1952539503;
+pub const OPENPROM_SUPER_MAGIC: u32 = 40865;
+pub const QNX4_SUPER_MAGIC: u32 = 47;
+pub const QNX6_SUPER_MAGIC: u32 = 1746473250;
+pub const AFS_FS_MAGIC: u32 = 1799439955;
+pub const REISERFS_SUPER_MAGIC: u32 = 1382369651;
+pub const REISERFS_SUPER_MAGIC_STRING: &[u8; 9] = b"ReIsErFs\0";
+pub const REISER2FS_SUPER_MAGIC_STRING: &[u8; 10] = b"ReIsEr2Fs\0";
+pub const REISER2FS_JR_SUPER_MAGIC_STRING: &[u8; 10] = b"ReIsEr3Fs\0";
+pub const SMB_SUPER_MAGIC: u32 = 20859;
+pub const CIFS_SUPER_MAGIC: u32 = 4283649346;
+pub const SMB2_SUPER_MAGIC: u32 = 4266872130;
+pub const CGROUP_SUPER_MAGIC: u32 = 2613483;
+pub const CGROUP2_SUPER_MAGIC: u32 = 1667723888;
+pub const RDTGROUP_SUPER_MAGIC: u32 = 124082209;
+pub const STACK_END_MAGIC: u32 = 1470918301;
+pub const TRACEFS_MAGIC: u32 = 1953653091;
+pub const V9FS_MAGIC: u32 = 16914839;
+pub const BDEVFS_MAGIC: u32 = 1650746742;
+pub const DAXFS_MAGIC: u32 = 1684300152;
+pub const BINFMTFS_MAGIC: u32 = 1112100429;
+pub const DEVPTS_SUPER_MAGIC: u32 = 7377;
+pub const BINDERFS_SUPER_MAGIC: u32 = 1819242352;
+pub const FUTEXFS_SUPER_MAGIC: u32 = 195894762;
+pub const PIPEFS_MAGIC: u32 = 1346981957;
+pub const PROC_SUPER_MAGIC: u32 = 40864;
+pub const SOCKFS_MAGIC: u32 = 1397703499;
+pub const SYSFS_MAGIC: u32 = 1650812274;
+pub const USBDEVICE_SUPER_MAGIC: u32 = 40866;
+pub const MTD_INODE_FS_MAGIC: u32 = 288389204;
+pub const ANON_INODE_FS_MAGIC: u32 = 151263540;
+pub const BTRFS_TEST_MAGIC: u32 = 1936880249;
+pub const NSFS_MAGIC: u32 = 1853056627;
+pub const BPF_FS_MAGIC: u32 = 3405662737;
+pub const AAFS_MAGIC: u32 = 1513908720;
+pub const ZONEFS_MAGIC: u32 = 1515144787;
+pub const UDF_SUPER_MAGIC: u32 = 352400198;
+pub const DMA_BUF_MAGIC: u32 = 1145913666;
+pub const DEVMEM_MAGIC: u32 = 1162691661;
+pub const SECRETMEM_MAGIC: u32 = 1397048141;
+pub const PROT_READ: u32 = 1;
+pub const PROT_WRITE: u32 = 2;
+pub const PROT_EXEC: u32 = 4;
+pub const PROT_SEM: u32 = 8;
+pub const PROT_NONE: u32 = 0;
+pub const PROT_GROWSDOWN: u32 = 16777216;
+pub const PROT_GROWSUP: u32 = 33554432;
+pub const MAP_TYPE: u32 = 15;
+pub const MAP_FIXED: u32 = 16;
+pub const MAP_ANONYMOUS: u32 = 32;
+pub const MAP_POPULATE: u32 = 32768;
+pub const MAP_NONBLOCK: u32 = 65536;
+pub const MAP_STACK: u32 = 131072;
+pub const MAP_HUGETLB: u32 = 262144;
+pub const MAP_SYNC: u32 = 524288;
+pub const MAP_FIXED_NOREPLACE: u32 = 1048576;
+pub const MAP_UNINITIALIZED: u32 = 67108864;
+pub const MLOCK_ONFAULT: u32 = 1;
+pub const MS_ASYNC: u32 = 1;
+pub const MS_INVALIDATE: u32 = 2;
+pub const MS_SYNC: u32 = 4;
+pub const MADV_NORMAL: u32 = 0;
+pub const MADV_RANDOM: u32 = 1;
+pub const MADV_SEQUENTIAL: u32 = 2;
+pub const MADV_WILLNEED: u32 = 3;
+pub const MADV_DONTNEED: u32 = 4;
+pub const MADV_FREE: u32 = 8;
+pub const MADV_REMOVE: u32 = 9;
+pub const MADV_DONTFORK: u32 = 10;
+pub const MADV_DOFORK: u32 = 11;
+pub const MADV_HWPOISON: u32 = 100;
+pub const MADV_SOFT_OFFLINE: u32 = 101;
+pub const MADV_MERGEABLE: u32 = 12;
+pub const MADV_UNMERGEABLE: u32 = 13;
+pub const MADV_HUGEPAGE: u32 = 14;
+pub const MADV_NOHUGEPAGE: u32 = 15;
+pub const MADV_DONTDUMP: u32 = 16;
+pub const MADV_DODUMP: u32 = 17;
+pub const MADV_WIPEONFORK: u32 = 18;
+pub const MADV_KEEPONFORK: u32 = 19;
+pub const MADV_COLD: u32 = 20;
+pub const MADV_PAGEOUT: u32 = 21;
+pub const MADV_POPULATE_READ: u32 = 22;
+pub const MADV_POPULATE_WRITE: u32 = 23;
+pub const MADV_DONTNEED_LOCKED: u32 = 24;
+pub const MADV_COLLAPSE: u32 = 25;
+pub const MAP_FILE: u32 = 0;
+pub const PKEY_DISABLE_ACCESS: u32 = 1;
+pub const PKEY_DISABLE_WRITE: u32 = 2;
+pub const PKEY_ACCESS_MASK: u32 = 3;
+pub const MAP_GROWSDOWN: u32 = 256;
+pub const MAP_DENYWRITE: u32 = 2048;
+pub const MAP_EXECUTABLE: u32 = 4096;
+pub const MAP_LOCKED: u32 = 8192;
+pub const MAP_NORESERVE: u32 = 16384;
+pub const MCL_CURRENT: u32 = 1;
+pub const MCL_FUTURE: u32 = 2;
+pub const MCL_ONFAULT: u32 = 4;
+pub const HUGETLB_FLAG_ENCODE_SHIFT: u32 = 26;
+pub const HUGETLB_FLAG_ENCODE_MASK: u32 = 63;
+pub const HUGETLB_FLAG_ENCODE_16KB: u32 = 939524096;
+pub const HUGETLB_FLAG_ENCODE_64KB: u32 = 1073741824;
+pub const HUGETLB_FLAG_ENCODE_512KB: u32 = 1275068416;
+pub const HUGETLB_FLAG_ENCODE_1MB: u32 = 1342177280;
+pub const HUGETLB_FLAG_ENCODE_2MB: u32 = 1409286144;
+pub const HUGETLB_FLAG_ENCODE_8MB: u32 = 1543503872;
+pub const HUGETLB_FLAG_ENCODE_16MB: u32 = 1610612736;
+pub const HUGETLB_FLAG_ENCODE_32MB: u32 = 1677721600;
+pub const HUGETLB_FLAG_ENCODE_256MB: u32 = 1879048192;
+pub const HUGETLB_FLAG_ENCODE_512MB: u32 = 1946157056;
+pub const HUGETLB_FLAG_ENCODE_1GB: u32 = 2013265920;
+pub const HUGETLB_FLAG_ENCODE_2GB: u32 = 2080374784;
+pub const HUGETLB_FLAG_ENCODE_16GB: u32 = 2281701376;
+pub const MREMAP_MAYMOVE: u32 = 1;
+pub const MREMAP_FIXED: u32 = 2;
+pub const MREMAP_DONTUNMAP: u32 = 4;
+pub const OVERCOMMIT_GUESS: u32 = 0;
+pub const OVERCOMMIT_ALWAYS: u32 = 1;
+pub const OVERCOMMIT_NEVER: u32 = 2;
+pub const MAP_SHARED: u32 = 1;
+pub const MAP_PRIVATE: u32 = 2;
+pub const MAP_SHARED_VALIDATE: u32 = 3;
+pub const MAP_HUGE_SHIFT: u32 = 26;
+pub const MAP_HUGE_MASK: u32 = 63;
+pub const MAP_HUGE_16KB: u32 = 939524096;
+pub const MAP_HUGE_64KB: u32 = 1073741824;
+pub const MAP_HUGE_512KB: u32 = 1275068416;
+pub const MAP_HUGE_1MB: u32 = 1342177280;
+pub const MAP_HUGE_2MB: u32 = 1409286144;
+pub const MAP_HUGE_8MB: u32 = 1543503872;
+pub const MAP_HUGE_16MB: u32 = 1610612736;
+pub const MAP_HUGE_32MB: u32 = 1677721600;
+pub const MAP_HUGE_256MB: u32 = 1879048192;
+pub const MAP_HUGE_512MB: u32 = 1946157056;
+pub const MAP_HUGE_1GB: u32 = 2013265920;
+pub const MAP_HUGE_2GB: u32 = 2080374784;
+pub const MAP_HUGE_16GB: u32 = 2281701376;
+pub const POLLIN: u32 = 1;
+pub const POLLPRI: u32 = 2;
+pub const POLLOUT: u32 = 4;
+pub const POLLERR: u32 = 8;
+pub const POLLHUP: u32 = 16;
+pub const POLLNVAL: u32 = 32;
+pub const POLLRDNORM: u32 = 64;
+pub const POLLRDBAND: u32 = 128;
+pub const POLLWRNORM: u32 = 256;
+pub const POLLWRBAND: u32 = 512;
+pub const POLLMSG: u32 = 1024;
+pub const POLLREMOVE: u32 = 4096;
+pub const POLLRDHUP: u32 = 8192;
+pub const GRND_NONBLOCK: u32 = 1;
+pub const GRND_RANDOM: u32 = 2;
+pub const GRND_INSECURE: u32 = 4;
+pub const LINUX_REBOOT_MAGIC1: u32 = 4276215469;
+pub const LINUX_REBOOT_MAGIC2: u32 = 672274793;
+pub const LINUX_REBOOT_MAGIC2A: u32 = 85072278;
+pub const LINUX_REBOOT_MAGIC2B: u32 = 369367448;
+pub const LINUX_REBOOT_MAGIC2C: u32 = 537993216;
+pub const LINUX_REBOOT_CMD_RESTART: u32 = 19088743;
+pub const LINUX_REBOOT_CMD_HALT: u32 = 3454992675;
+pub const LINUX_REBOOT_CMD_CAD_ON: u32 = 2309737967;
+pub const LINUX_REBOOT_CMD_CAD_OFF: u32 = 0;
+pub const LINUX_REBOOT_CMD_POWER_OFF: u32 = 1126301404;
+pub const LINUX_REBOOT_CMD_RESTART2: u32 = 2712847316;
+pub const LINUX_REBOOT_CMD_SW_SUSPEND: u32 = 3489725666;
+pub const LINUX_REBOOT_CMD_KEXEC: u32 = 1163412803;
+pub const ITIMER_REAL: u32 = 0;
+pub const ITIMER_VIRTUAL: u32 = 1;
+pub const ITIMER_PROF: u32 = 2;
+pub const CLOCK_REALTIME: u32 = 0;
+pub const CLOCK_MONOTONIC: u32 = 1;
+pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
+pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
+pub const CLOCK_MONOTONIC_RAW: u32 = 4;
+pub const CLOCK_REALTIME_COARSE: u32 = 5;
+pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
+pub const CLOCK_BOOTTIME: u32 = 7;
+pub const CLOCK_REALTIME_ALARM: u32 = 8;
+pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
+pub const CLOCK_SGI_CYCLE: u32 = 10;
+pub const CLOCK_TAI: u32 = 11;
+pub const MAX_CLOCKS: u32 = 16;
+pub const CLOCKS_MASK: u32 = 1;
+pub const CLOCKS_MONO: u32 = 1;
+pub const TIMER_ABSTIME: u32 = 1;
+pub const RUSAGE_SELF: u32 = 0;
+pub const RUSAGE_CHILDREN: i32 = -1;
+pub const RUSAGE_BOTH: i32 = -2;
+pub const RUSAGE_THREAD: u32 = 1;
+pub const RLIM64_INFINITY: i32 = -1;
+pub const PRIO_MIN: i32 = -20;
+pub const PRIO_MAX: u32 = 20;
+pub const PRIO_PROCESS: u32 = 0;
+pub const PRIO_PGRP: u32 = 1;
+pub const PRIO_USER: u32 = 2;
+pub const _STK_LIM: u32 = 8388608;
+pub const MLOCK_LIMIT: u32 = 8388608;
+pub const RLIMIT_CPU: u32 = 0;
+pub const RLIMIT_FSIZE: u32 = 1;
+pub const RLIMIT_DATA: u32 = 2;
+pub const RLIMIT_STACK: u32 = 3;
+pub const RLIMIT_CORE: u32 = 4;
+pub const RLIMIT_RSS: u32 = 5;
+pub const RLIMIT_NPROC: u32 = 6;
+pub const RLIMIT_NOFILE: u32 = 7;
+pub const RLIMIT_MEMLOCK: u32 = 8;
+pub const RLIMIT_AS: u32 = 9;
+pub const RLIMIT_LOCKS: u32 = 10;
+pub const RLIMIT_SIGPENDING: u32 = 11;
+pub const RLIMIT_MSGQUEUE: u32 = 12;
+pub const RLIMIT_NICE: u32 = 13;
+pub const RLIMIT_RTPRIO: u32 = 14;
+pub const RLIMIT_RTTIME: u32 = 15;
+pub const RLIM_NLIMITS: u32 = 16;
+pub const RLIM_INFINITY: i32 = -1;
+pub const CSIGNAL: u32 = 255;
+pub const CLONE_VM: u32 = 256;
+pub const CLONE_FS: u32 = 512;
+pub const CLONE_FILES: u32 = 1024;
+pub const CLONE_SIGHAND: u32 = 2048;
+pub const CLONE_PIDFD: u32 = 4096;
+pub const CLONE_PTRACE: u32 = 8192;
+pub const CLONE_VFORK: u32 = 16384;
+pub const CLONE_PARENT: u32 = 32768;
+pub const CLONE_THREAD: u32 = 65536;
+pub const CLONE_NEWNS: u32 = 131072;
+pub const CLONE_SYSVSEM: u32 = 262144;
+pub const CLONE_SETTLS: u32 = 524288;
+pub const CLONE_PARENT_SETTID: u32 = 1048576;
+pub const CLONE_CHILD_CLEARTID: u32 = 2097152;
+pub const CLONE_DETACHED: u32 = 4194304;
+pub const CLONE_UNTRACED: u32 = 8388608;
+pub const CLONE_CHILD_SETTID: u32 = 16777216;
+pub const CLONE_NEWCGROUP: u32 = 33554432;
+pub const CLONE_NEWUTS: u32 = 67108864;
+pub const CLONE_NEWIPC: u32 = 134217728;
+pub const CLONE_NEWUSER: u32 = 268435456;
+pub const CLONE_NEWPID: u32 = 536870912;
+pub const CLONE_NEWNET: u32 = 1073741824;
+pub const CLONE_IO: u32 = 2147483648;
+pub const CLONE_CLEAR_SIGHAND: u64 = 4294967296;
+pub const CLONE_INTO_CGROUP: u64 = 8589934592;
+pub const CLONE_NEWTIME: u32 = 128;
+pub const CLONE_ARGS_SIZE_VER0: u32 = 64;
+pub const CLONE_ARGS_SIZE_VER1: u32 = 80;
+pub const CLONE_ARGS_SIZE_VER2: u32 = 88;
+pub const SCHED_NORMAL: u32 = 0;
+pub const SCHED_FIFO: u32 = 1;
+pub const SCHED_RR: u32 = 2;
+pub const SCHED_BATCH: u32 = 3;
+pub const SCHED_IDLE: u32 = 5;
+pub const SCHED_DEADLINE: u32 = 6;
+pub const SCHED_RESET_ON_FORK: u32 = 1073741824;
+pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1;
+pub const SCHED_FLAG_RECLAIM: u32 = 2;
+pub const SCHED_FLAG_DL_OVERRUN: u32 = 4;
+pub const SCHED_FLAG_KEEP_POLICY: u32 = 8;
+pub const SCHED_FLAG_KEEP_PARAMS: u32 = 16;
+pub const SCHED_FLAG_UTIL_CLAMP_MIN: u32 = 32;
+pub const SCHED_FLAG_UTIL_CLAMP_MAX: u32 = 64;
+pub const SCHED_FLAG_KEEP_ALL: u32 = 24;
+pub const SCHED_FLAG_UTIL_CLAMP: u32 = 96;
+pub const SCHED_FLAG_ALL: u32 = 127;
+pub const _NSIG: u32 = 64;
+pub const SIGHUP: u32 = 1;
+pub const SIGINT: u32 = 2;
+pub const SIGQUIT: u32 = 3;
+pub const SIGILL: u32 = 4;
+pub const SIGTRAP: u32 = 5;
+pub const SIGABRT: u32 = 6;
+pub const SIGIOT: u32 = 6;
+pub const SIGBUS: u32 = 7;
+pub const SIGFPE: u32 = 8;
+pub const SIGKILL: u32 = 9;
+pub const SIGUSR1: u32 = 10;
+pub const SIGSEGV: u32 = 11;
+pub const SIGUSR2: u32 = 12;
+pub const SIGPIPE: u32 = 13;
+pub const SIGALRM: u32 = 14;
+pub const SIGTERM: u32 = 15;
+pub const SIGSTKFLT: u32 = 16;
+pub const SIGCHLD: u32 = 17;
+pub const SIGCONT: u32 = 18;
+pub const SIGSTOP: u32 = 19;
+pub const SIGTSTP: u32 = 20;
+pub const SIGTTIN: u32 = 21;
+pub const SIGTTOU: u32 = 22;
+pub const SIGURG: u32 = 23;
+pub const SIGXCPU: u32 = 24;
+pub const SIGXFSZ: u32 = 25;
+pub const SIGVTALRM: u32 = 26;
+pub const SIGPROF: u32 = 27;
+pub const SIGWINCH: u32 = 28;
+pub const SIGIO: u32 = 29;
+pub const SIGPOLL: u32 = 29;
+pub const SIGPWR: u32 = 30;
+pub const SIGSYS: u32 = 31;
+pub const SIGUNUSED: u32 = 31;
+pub const SIGRTMIN: u32 = 32;
+pub const SIGRTMAX: u32 = 64;
+pub const MINSIGSTKSZ: u32 = 2048;
+pub const SIGSTKSZ: u32 = 8192;
+pub const SA_NOCLDSTOP: u32 = 1;
+pub const SA_NOCLDWAIT: u32 = 2;
+pub const SA_SIGINFO: u32 = 4;
+pub const SA_UNSUPPORTED: u32 = 1024;
+pub const SA_EXPOSE_TAGBITS: u32 = 2048;
+pub const SA_ONSTACK: u32 = 134217728;
+pub const SA_RESTART: u32 = 268435456;
+pub const SA_NODEFER: u32 = 1073741824;
+pub const SA_RESETHAND: u32 = 2147483648;
+pub const SA_NOMASK: u32 = 1073741824;
+pub const SA_ONESHOT: u32 = 2147483648;
+pub const SIG_BLOCK: u32 = 0;
+pub const SIG_UNBLOCK: u32 = 1;
+pub const SIG_SETMASK: u32 = 2;
+pub const SI_MAX_SIZE: u32 = 128;
+pub const SI_USER: u32 = 0;
+pub const SI_KERNEL: u32 = 128;
+pub const SI_QUEUE: i32 = -1;
+pub const SI_TIMER: i32 = -2;
+pub const SI_MESGQ: i32 = -3;
+pub const SI_ASYNCIO: i32 = -4;
+pub const SI_SIGIO: i32 = -5;
+pub const SI_TKILL: i32 = -6;
+pub const SI_DETHREAD: i32 = -7;
+pub const SI_ASYNCNL: i32 = -60;
+pub const ILL_ILLOPC: u32 = 1;
+pub const ILL_ILLOPN: u32 = 2;
+pub const ILL_ILLADR: u32 = 3;
+pub const ILL_ILLTRP: u32 = 4;
+pub const ILL_PRVOPC: u32 = 5;
+pub const ILL_PRVREG: u32 = 6;
+pub const ILL_COPROC: u32 = 7;
+pub const ILL_BADSTK: u32 = 8;
+pub const ILL_BADIADDR: u32 = 9;
+pub const __ILL_BREAK: u32 = 10;
+pub const __ILL_BNDMOD: u32 = 11;
+pub const NSIGILL: u32 = 11;
+pub const FPE_INTDIV: u32 = 1;
+pub const FPE_INTOVF: u32 = 2;
+pub const FPE_FLTDIV: u32 = 3;
+pub const FPE_FLTOVF: u32 = 4;
+pub const FPE_FLTUND: u32 = 5;
+pub const FPE_FLTRES: u32 = 6;
+pub const FPE_FLTINV: u32 = 7;
+pub const FPE_FLTSUB: u32 = 8;
+pub const __FPE_DECOVF: u32 = 9;
+pub const __FPE_DECDIV: u32 = 10;
+pub const __FPE_DECERR: u32 = 11;
+pub const __FPE_INVASC: u32 = 12;
+pub const __FPE_INVDEC: u32 = 13;
+pub const FPE_FLTUNK: u32 = 14;
+pub const FPE_CONDTRAP: u32 = 15;
+pub const NSIGFPE: u32 = 15;
+pub const SEGV_MAPERR: u32 = 1;
+pub const SEGV_ACCERR: u32 = 2;
+pub const SEGV_BNDERR: u32 = 3;
+pub const SEGV_PKUERR: u32 = 4;
+pub const SEGV_ACCADI: u32 = 5;
+pub const SEGV_ADIDERR: u32 = 6;
+pub const SEGV_ADIPERR: u32 = 7;
+pub const SEGV_MTEAERR: u32 = 8;
+pub const SEGV_MTESERR: u32 = 9;
+pub const NSIGSEGV: u32 = 9;
+pub const BUS_ADRALN: u32 = 1;
+pub const BUS_ADRERR: u32 = 2;
+pub const BUS_OBJERR: u32 = 3;
+pub const BUS_MCEERR_AR: u32 = 4;
+pub const BUS_MCEERR_AO: u32 = 5;
+pub const NSIGBUS: u32 = 5;
+pub const TRAP_BRKPT: u32 = 1;
+pub const TRAP_TRACE: u32 = 2;
+pub const TRAP_BRANCH: u32 = 3;
+pub const TRAP_HWBKPT: u32 = 4;
+pub const TRAP_UNK: u32 = 5;
+pub const TRAP_PERF: u32 = 6;
+pub const NSIGTRAP: u32 = 6;
+pub const TRAP_PERF_FLAG_ASYNC: u32 = 1;
+pub const CLD_EXITED: u32 = 1;
+pub const CLD_KILLED: u32 = 2;
+pub const CLD_DUMPED: u32 = 3;
+pub const CLD_TRAPPED: u32 = 4;
+pub const CLD_STOPPED: u32 = 5;
+pub const CLD_CONTINUED: u32 = 6;
+pub const NSIGCHLD: u32 = 6;
+pub const POLL_IN: u32 = 1;
+pub const POLL_OUT: u32 = 2;
+pub const POLL_MSG: u32 = 3;
+pub const POLL_ERR: u32 = 4;
+pub const POLL_PRI: u32 = 5;
+pub const POLL_HUP: u32 = 6;
+pub const NSIGPOLL: u32 = 6;
+pub const SYS_SECCOMP: u32 = 1;
+pub const SYS_USER_DISPATCH: u32 = 2;
+pub const NSIGSYS: u32 = 2;
+pub const EMT_TAGOVF: u32 = 1;
+pub const NSIGEMT: u32 = 1;
+pub const SIGEV_SIGNAL: u32 = 0;
+pub const SIGEV_NONE: u32 = 1;
+pub const SIGEV_THREAD: u32 = 2;
+pub const SIGEV_THREAD_ID: u32 = 4;
+pub const SIGEV_MAX_SIZE: u32 = 64;
+pub const SS_ONSTACK: u32 = 1;
+pub const SS_DISABLE: u32 = 2;
+pub const SS_AUTODISARM: u32 = 2147483648;
+pub const SS_FLAG_BITS: u32 = 2147483648;
+pub const S_IFMT: u32 = 61440;
+pub const S_IFSOCK: u32 = 49152;
+pub const S_IFLNK: u32 = 40960;
+pub const S_IFREG: u32 = 32768;
+pub const S_IFBLK: u32 = 24576;
+pub const S_IFDIR: u32 = 16384;
+pub const S_IFCHR: u32 = 8192;
+pub const S_IFIFO: u32 = 4096;
+pub const S_ISUID: u32 = 2048;
+pub const S_ISGID: u32 = 1024;
+pub const S_ISVTX: u32 = 512;
+pub const S_IRWXU: u32 = 448;
+pub const S_IRUSR: u32 = 256;
+pub const S_IWUSR: u32 = 128;
+pub const S_IXUSR: u32 = 64;
+pub const S_IRWXG: u32 = 56;
+pub const S_IRGRP: u32 = 32;
+pub const S_IWGRP: u32 = 16;
+pub const S_IXGRP: u32 = 8;
+pub const S_IRWXO: u32 = 7;
+pub const S_IROTH: u32 = 4;
+pub const S_IWOTH: u32 = 2;
+pub const S_IXOTH: u32 = 1;
+pub const STATX_TYPE: u32 = 1;
+pub const STATX_MODE: u32 = 2;
+pub const STATX_NLINK: u32 = 4;
+pub const STATX_UID: u32 = 8;
+pub const STATX_GID: u32 = 16;
+pub const STATX_ATIME: u32 = 32;
+pub const STATX_MTIME: u32 = 64;
+pub const STATX_CTIME: u32 = 128;
+pub const STATX_INO: u32 = 256;
+pub const STATX_SIZE: u32 = 512;
+pub const STATX_BLOCKS: u32 = 1024;
+pub const STATX_BASIC_STATS: u32 = 2047;
+pub const STATX_BTIME: u32 = 2048;
+pub const STATX_MNT_ID: u32 = 4096;
+pub const STATX_DIOALIGN: u32 = 8192;
+pub const STATX__RESERVED: u32 = 2147483648;
+pub const STATX_ALL: u32 = 4095;
+pub const STATX_ATTR_COMPRESSED: u32 = 4;
+pub const STATX_ATTR_IMMUTABLE: u32 = 16;
+pub const STATX_ATTR_APPEND: u32 = 32;
+pub const STATX_ATTR_NODUMP: u32 = 64;
+pub const STATX_ATTR_ENCRYPTED: u32 = 2048;
+pub const STATX_ATTR_AUTOMOUNT: u32 = 4096;
+pub const STATX_ATTR_MOUNT_ROOT: u32 = 8192;
+pub const STATX_ATTR_VERITY: u32 = 1048576;
+pub const STATX_ATTR_DAX: u32 = 2097152;
+pub const IGNBRK: u32 = 1;
+pub const BRKINT: u32 = 2;
+pub const IGNPAR: u32 = 4;
+pub const PARMRK: u32 = 8;
+pub const INPCK: u32 = 16;
+pub const ISTRIP: u32 = 32;
+pub const INLCR: u32 = 64;
+pub const IGNCR: u32 = 128;
+pub const ICRNL: u32 = 256;
+pub const IXANY: u32 = 2048;
+pub const OPOST: u32 = 1;
+pub const OCRNL: u32 = 8;
+pub const ONOCR: u32 = 16;
+pub const ONLRET: u32 = 32;
+pub const OFILL: u32 = 64;
+pub const OFDEL: u32 = 128;
+pub const B0: u32 = 0;
+pub const B50: u32 = 1;
+pub const B75: u32 = 2;
+pub const B110: u32 = 3;
+pub const B134: u32 = 4;
+pub const B150: u32 = 5;
+pub const B200: u32 = 6;
+pub const B300: u32 = 7;
+pub const B600: u32 = 8;
+pub const B1200: u32 = 9;
+pub const B1800: u32 = 10;
+pub const B2400: u32 = 11;
+pub const B4800: u32 = 12;
+pub const B9600: u32 = 13;
+pub const B19200: u32 = 14;
+pub const B38400: u32 = 15;
+pub const EXTA: u32 = 14;
+pub const EXTB: u32 = 15;
+pub const ADDRB: u32 = 536870912;
+pub const CMSPAR: u32 = 1073741824;
+pub const CRTSCTS: u32 = 2147483648;
+pub const IBSHIFT: u32 = 16;
+pub const TCOOFF: u32 = 0;
+pub const TCOON: u32 = 1;
+pub const TCIOFF: u32 = 2;
+pub const TCION: u32 = 3;
+pub const TCIFLUSH: u32 = 0;
+pub const TCOFLUSH: u32 = 1;
+pub const TCIOFLUSH: u32 = 2;
+pub const NCCS: u32 = 19;
+pub const VINTR: u32 = 0;
+pub const VQUIT: u32 = 1;
+pub const VERASE: u32 = 2;
+pub const VKILL: u32 = 3;
+pub const VEOF: u32 = 4;
+pub const VTIME: u32 = 5;
+pub const VMIN: u32 = 6;
+pub const VSWTC: u32 = 7;
+pub const VSTART: u32 = 8;
+pub const VSTOP: u32 = 9;
+pub const VSUSP: u32 = 10;
+pub const VEOL: u32 = 11;
+pub const VREPRINT: u32 = 12;
+pub const VDISCARD: u32 = 13;
+pub const VWERASE: u32 = 14;
+pub const VLNEXT: u32 = 15;
+pub const VEOL2: u32 = 16;
+pub const IUCLC: u32 = 512;
+pub const IXON: u32 = 1024;
+pub const IXOFF: u32 = 4096;
+pub const IMAXBEL: u32 = 8192;
+pub const IUTF8: u32 = 16384;
+pub const OLCUC: u32 = 2;
+pub const ONLCR: u32 = 4;
+pub const NLDLY: u32 = 256;
+pub const NL0: u32 = 0;
+pub const NL1: u32 = 256;
+pub const CRDLY: u32 = 1536;
+pub const CR0: u32 = 0;
+pub const CR1: u32 = 512;
+pub const CR2: u32 = 1024;
+pub const CR3: u32 = 1536;
+pub const TABDLY: u32 = 6144;
+pub const TAB0: u32 = 0;
+pub const TAB1: u32 = 2048;
+pub const TAB2: u32 = 4096;
+pub const TAB3: u32 = 6144;
+pub const XTABS: u32 = 6144;
+pub const BSDLY: u32 = 8192;
+pub const BS0: u32 = 0;
+pub const BS1: u32 = 8192;
+pub const VTDLY: u32 = 16384;
+pub const VT0: u32 = 0;
+pub const VT1: u32 = 16384;
+pub const FFDLY: u32 = 32768;
+pub const FF0: u32 = 0;
+pub const FF1: u32 = 32768;
+pub const CBAUD: u32 = 4111;
+pub const CSIZE: u32 = 48;
+pub const CS5: u32 = 0;
+pub const CS6: u32 = 16;
+pub const CS7: u32 = 32;
+pub const CS8: u32 = 48;
+pub const CSTOPB: u32 = 64;
+pub const CREAD: u32 = 128;
+pub const PARENB: u32 = 256;
+pub const PARODD: u32 = 512;
+pub const HUPCL: u32 = 1024;
+pub const CLOCAL: u32 = 2048;
+pub const CBAUDEX: u32 = 4096;
+pub const BOTHER: u32 = 4096;
+pub const B57600: u32 = 4097;
+pub const B115200: u32 = 4098;
+pub const B230400: u32 = 4099;
+pub const B460800: u32 = 4100;
+pub const B500000: u32 = 4101;
+pub const B576000: u32 = 4102;
+pub const B921600: u32 = 4103;
+pub const B1000000: u32 = 4104;
+pub const B1152000: u32 = 4105;
+pub const B1500000: u32 = 4106;
+pub const B2000000: u32 = 4107;
+pub const B2500000: u32 = 4108;
+pub const B3000000: u32 = 4109;
+pub const B3500000: u32 = 4110;
+pub const B4000000: u32 = 4111;
+pub const CIBAUD: u32 = 269418496;
+pub const ISIG: u32 = 1;
+pub const ICANON: u32 = 2;
+pub const XCASE: u32 = 4;
+pub const ECHO: u32 = 8;
+pub const ECHOE: u32 = 16;
+pub const ECHOK: u32 = 32;
+pub const ECHONL: u32 = 64;
+pub const NOFLSH: u32 = 128;
+pub const TOSTOP: u32 = 256;
+pub const ECHOCTL: u32 = 512;
+pub const ECHOPRT: u32 = 1024;
+pub const ECHOKE: u32 = 2048;
+pub const FLUSHO: u32 = 4096;
+pub const PENDIN: u32 = 16384;
+pub const IEXTEN: u32 = 32768;
+pub const EXTPROC: u32 = 65536;
+pub const TCSANOW: u32 = 0;
+pub const TCSADRAIN: u32 = 1;
+pub const TCSAFLUSH: u32 = 2;
+pub const TIOCPKT_DATA: u32 = 0;
+pub const TIOCPKT_FLUSHREAD: u32 = 1;
+pub const TIOCPKT_FLUSHWRITE: u32 = 2;
+pub const TIOCPKT_STOP: u32 = 4;
+pub const TIOCPKT_START: u32 = 8;
+pub const TIOCPKT_NOSTOP: u32 = 16;
+pub const TIOCPKT_DOSTOP: u32 = 32;
+pub const TIOCPKT_IOCTL: u32 = 64;
+pub const TIOCSER_TEMT: u32 = 1;
+pub const NCC: u32 = 8;
+pub const TIOCM_LE: u32 = 1;
+pub const TIOCM_DTR: u32 = 2;
+pub const TIOCM_RTS: u32 = 4;
+pub const TIOCM_ST: u32 = 8;
+pub const TIOCM_SR: u32 = 16;
+pub const TIOCM_CTS: u32 = 32;
+pub const TIOCM_CAR: u32 = 64;
+pub const TIOCM_RNG: u32 = 128;
+pub const TIOCM_DSR: u32 = 256;
+pub const TIOCM_CD: u32 = 64;
+pub const TIOCM_RI: u32 = 128;
+pub const TIOCM_OUT1: u32 = 8192;
+pub const TIOCM_OUT2: u32 = 16384;
+pub const TIOCM_LOOP: u32 = 32768;
+pub const UIO_FASTIOV: u32 = 8;
+pub const UIO_MAXIOV: u32 = 1024;
+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_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_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_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 __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_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_set_robust_list: u32 = 99;
+pub const __NR_get_robust_list: u32 = 100;
+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_getoverrun: u32 = 109;
+pub const __NR_timer_delete: u32 = 111;
+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_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_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_getrusage: u32 = 165;
+pub const __NR_umask: u32 = 166;
+pub const __NR_prctl: u32 = 167;
+pub const __NR_getcpu: u32 = 168;
+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_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_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_arch_specific_syscall: u32 = 244;
+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_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_rseq: u32 = 293;
+pub const __NR_kexec_file_load: u32 = 294;
+pub const __NR_clock_gettime64: u32 = 403;
+pub const __NR_clock_settime64: u32 = 404;
+pub const __NR_clock_adjtime64: u32 = 405;
+pub const __NR_clock_getres_time64: u32 = 406;
+pub const __NR_clock_nanosleep_time64: u32 = 407;
+pub const __NR_timer_gettime64: u32 = 408;
+pub const __NR_timer_settime64: u32 = 409;
+pub const __NR_timerfd_gettime64: u32 = 410;
+pub const __NR_timerfd_settime64: u32 = 411;
+pub const __NR_utimensat_time64: u32 = 412;
+pub const __NR_pselect6_time64: u32 = 413;
+pub const __NR_ppoll_time64: u32 = 414;
+pub const __NR_io_pgetevents_time64: u32 = 416;
+pub const __NR_recvmmsg_time64: u32 = 417;
+pub const __NR_mq_timedsend_time64: u32 = 418;
+pub const __NR_mq_timedreceive_time64: u32 = 419;
+pub const __NR_semtimedop_time64: u32 = 420;
+pub const __NR_rt_sigtimedwait_time64: u32 = 421;
+pub const __NR_futex_time64: u32 = 422;
+pub const __NR_sched_rr_get_interval_time64: u32 = 423;
+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_syscalls: u32 = 451;
+pub const __NR_fcntl64: u32 = 25;
+pub const __NR_statfs64: u32 = 43;
+pub const __NR_fstatfs64: u32 = 44;
+pub const __NR_truncate64: u32 = 45;
+pub const __NR_ftruncate64: u32 = 46;
+pub const __NR_llseek: u32 = 62;
+pub const __NR_sendfile64: u32 = 71;
+pub const __NR_mmap2: u32 = 222;
+pub const __NR_fadvise64_64: u32 = 223;
+pub const __NR_riscv_flush_icache: u32 = 259;
+pub const WNOHANG: u32 = 1;
+pub const WUNTRACED: u32 = 2;
+pub const WSTOPPED: u32 = 2;
+pub const WEXITED: u32 = 4;
+pub const WCONTINUED: u32 = 8;
+pub const WNOWAIT: u32 = 16777216;
+pub const __WNOTHREAD: u32 = 536870912;
+pub const __WALL: u32 = 1073741824;
+pub const __WCLONE: u32 = 2147483648;
+pub const P_ALL: u32 = 0;
+pub const P_PID: u32 = 1;
+pub const P_PGID: u32 = 2;
+pub const P_PIDFD: u32 = 3;
+pub const XATTR_CREATE: u32 = 1;
+pub const XATTR_REPLACE: u32 = 2;
+pub const XATTR_OS2_PREFIX: &[u8; 5] = b"os2.\0";
+pub const XATTR_MAC_OSX_PREFIX: &[u8; 5] = b"osx.\0";
+pub const XATTR_BTRFS_PREFIX: &[u8; 7] = b"btrfs.\0";
+pub const XATTR_HURD_PREFIX: &[u8; 5] = b"gnu.\0";
+pub const XATTR_SECURITY_PREFIX: &[u8; 10] = b"security.\0";
+pub const XATTR_SYSTEM_PREFIX: &[u8; 8] = b"system.\0";
+pub const XATTR_TRUSTED_PREFIX: &[u8; 9] = b"trusted.\0";
+pub const XATTR_USER_PREFIX: &[u8; 6] = b"user.\0";
+pub const XATTR_EVM_SUFFIX: &[u8; 4] = b"evm\0";
+pub const XATTR_NAME_EVM: &[u8; 13] = b"security.evm\0";
+pub const XATTR_IMA_SUFFIX: &[u8; 4] = b"ima\0";
+pub const XATTR_NAME_IMA: &[u8; 13] = b"security.ima\0";
+pub const XATTR_SELINUX_SUFFIX: &[u8; 8] = b"selinux\0";
+pub const XATTR_NAME_SELINUX: &[u8; 17] = b"security.selinux\0";
+pub const XATTR_SMACK_SUFFIX: &[u8; 8] = b"SMACK64\0";
+pub const XATTR_SMACK_IPIN: &[u8; 12] = b"SMACK64IPIN\0";
+pub const XATTR_SMACK_IPOUT: &[u8; 13] = b"SMACK64IPOUT\0";
+pub const XATTR_SMACK_EXEC: &[u8; 12] = b"SMACK64EXEC\0";
+pub const XATTR_SMACK_TRANSMUTE: &[u8; 17] = b"SMACK64TRANSMUTE\0";
+pub const XATTR_SMACK_MMAP: &[u8; 12] = b"SMACK64MMAP\0";
+pub const XATTR_NAME_SMACK: &[u8; 17] = b"security.SMACK64\0";
+pub const XATTR_NAME_SMACKIPIN: &[u8; 21] = b"security.SMACK64IPIN\0";
+pub const XATTR_NAME_SMACKIPOUT: &[u8; 22] = b"security.SMACK64IPOUT\0";
+pub const XATTR_NAME_SMACKEXEC: &[u8; 21] = b"security.SMACK64EXEC\0";
+pub const XATTR_NAME_SMACKTRANSMUTE: &[u8; 26] = b"security.SMACK64TRANSMUTE\0";
+pub const XATTR_NAME_SMACKMMAP: &[u8; 21] = b"security.SMACK64MMAP\0";
+pub const XATTR_APPARMOR_SUFFIX: &[u8; 9] = b"apparmor\0";
+pub const XATTR_NAME_APPARMOR: &[u8; 18] = b"security.apparmor\0";
+pub const XATTR_CAPS_SUFFIX: &[u8; 11] = b"capability\0";
+pub const XATTR_NAME_CAPS: &[u8; 20] = b"security.capability\0";
+pub const XATTR_POSIX_ACL_ACCESS: &[u8; 17] = b"posix_acl_access\0";
+pub const XATTR_NAME_POSIX_ACL_ACCESS: &[u8; 24] = b"system.posix_acl_access\0";
+pub const XATTR_POSIX_ACL_DEFAULT: &[u8; 18] = b"posix_acl_default\0";
+pub const XATTR_NAME_POSIX_ACL_DEFAULT: &[u8; 25] = b"system.posix_acl_default\0";
+pub const MFD_CLOEXEC: u32 = 1;
+pub const MFD_ALLOW_SEALING: u32 = 2;
+pub const MFD_HUGETLB: u32 = 4;
+pub const MFD_NOEXEC_SEAL: u32 = 8;
+pub const MFD_EXEC: u32 = 16;
+pub const MFD_HUGE_SHIFT: u32 = 26;
+pub const MFD_HUGE_MASK: u32 = 63;
+pub const MFD_HUGE_64KB: u32 = 1073741824;
+pub const MFD_HUGE_512KB: u32 = 1275068416;
+pub const MFD_HUGE_1MB: u32 = 1342177280;
+pub const MFD_HUGE_2MB: u32 = 1409286144;
+pub const MFD_HUGE_8MB: u32 = 1543503872;
+pub const MFD_HUGE_16MB: u32 = 1610612736;
+pub const MFD_HUGE_32MB: u32 = 1677721600;
+pub const MFD_HUGE_256MB: u32 = 1879048192;
+pub const MFD_HUGE_512MB: u32 = 1946157056;
+pub const MFD_HUGE_1GB: u32 = 2013265920;
+pub const MFD_HUGE_2GB: u32 = 2080374784;
+pub const MFD_HUGE_16GB: u32 = 2281701376;
+pub const TFD_TIMER_ABSTIME: u32 = 1;
+pub const TFD_TIMER_CANCEL_ON_SET: u32 = 2;
+pub const TFD_CLOEXEC: u32 = 524288;
+pub const TFD_NONBLOCK: u32 = 2048;
+pub const USERFAULTFD_IOC: u32 = 170;
+pub const _UFFDIO_REGISTER: u32 = 0;
+pub const _UFFDIO_UNREGISTER: u32 = 1;
+pub const _UFFDIO_WAKE: u32 = 2;
+pub const _UFFDIO_COPY: u32 = 3;
+pub const _UFFDIO_ZEROPAGE: u32 = 4;
+pub const _UFFDIO_WRITEPROTECT: u32 = 6;
+pub const _UFFDIO_CONTINUE: u32 = 7;
+pub const _UFFDIO_API: u32 = 63;
+pub const UFFDIO: u32 = 170;
+pub const UFFD_EVENT_PAGEFAULT: u32 = 18;
+pub const UFFD_EVENT_FORK: u32 = 19;
+pub const UFFD_EVENT_REMAP: u32 = 20;
+pub const UFFD_EVENT_REMOVE: u32 = 21;
+pub const UFFD_EVENT_UNMAP: u32 = 22;
+pub const UFFD_PAGEFAULT_FLAG_WRITE: u32 = 1;
+pub const UFFD_PAGEFAULT_FLAG_WP: u32 = 2;
+pub const UFFD_PAGEFAULT_FLAG_MINOR: u32 = 4;
+pub const UFFD_FEATURE_PAGEFAULT_FLAG_WP: u32 = 1;
+pub const UFFD_FEATURE_EVENT_FORK: u32 = 2;
+pub const UFFD_FEATURE_EVENT_REMAP: u32 = 4;
+pub const UFFD_FEATURE_EVENT_REMOVE: u32 = 8;
+pub const UFFD_FEATURE_MISSING_HUGETLBFS: u32 = 16;
+pub const UFFD_FEATURE_MISSING_SHMEM: u32 = 32;
+pub const UFFD_FEATURE_EVENT_UNMAP: u32 = 64;
+pub const UFFD_FEATURE_SIGBUS: u32 = 128;
+pub const UFFD_FEATURE_THREAD_ID: u32 = 256;
+pub const UFFD_FEATURE_MINOR_HUGETLBFS: u32 = 512;
+pub const UFFD_FEATURE_MINOR_SHMEM: u32 = 1024;
+pub const UFFD_FEATURE_EXACT_ADDRESS: u32 = 2048;
+pub const UFFD_FEATURE_WP_HUGETLBFS_SHMEM: u32 = 4096;
+pub const UFFD_USER_MODE_ONLY: u32 = 1;
+pub const DT_UNKNOWN: u32 = 0;
+pub const DT_FIFO: u32 = 1;
+pub const DT_CHR: u32 = 2;
+pub const DT_DIR: u32 = 4;
+pub const DT_BLK: u32 = 6;
+pub const DT_REG: u32 = 8;
+pub const DT_LNK: u32 = 10;
+pub const DT_SOCK: u32 = 12;
+pub const STAT_HAVE_NSEC: u32 = 1;
+pub const F_OK: u32 = 0;
+pub const R_OK: u32 = 4;
+pub const W_OK: u32 = 2;
+pub const X_OK: u32 = 1;
+pub const UTIME_NOW: u32 = 1073741823;
+pub const UTIME_OMIT: u32 = 1073741822;
+pub const MNT_FORCE: u32 = 1;
+pub const MNT_DETACH: u32 = 2;
+pub const MNT_EXPIRE: u32 = 4;
+pub const UMOUNT_NOFOLLOW: u32 = 8;
+pub const UMOUNT_UNUSED: u32 = 2147483648;
+pub const STDIN_FILENO: u32 = 0;
+pub const STDOUT_FILENO: u32 = 1;
+pub const STDERR_FILENO: u32 = 2;
+pub const RWF_HIPRI: u32 = 1;
+pub const RWF_DSYNC: u32 = 2;
+pub const RWF_SYNC: u32 = 4;
+pub const RWF_NOWAIT: u32 = 8;
+pub const RWF_APPEND: u32 = 16;
+pub const EFD_SEMAPHORE: u32 = 1;
+pub const EFD_CLOEXEC: u32 = 524288;
+pub const EFD_NONBLOCK: u32 = 2048;
+pub const EPOLLIN: u32 = 1;
+pub const EPOLLPRI: u32 = 2;
+pub const EPOLLOUT: u32 = 4;
+pub const EPOLLERR: u32 = 8;
+pub const EPOLLHUP: u32 = 16;
+pub const EPOLLNVAL: u32 = 32;
+pub const EPOLLRDNORM: u32 = 64;
+pub const EPOLLRDBAND: u32 = 128;
+pub const EPOLLWRNORM: u32 = 256;
+pub const EPOLLWRBAND: u32 = 512;
+pub const EPOLLMSG: u32 = 1024;
+pub const EPOLLRDHUP: u32 = 8192;
+pub const EPOLLEXCLUSIVE: u32 = 268435456;
+pub const EPOLLWAKEUP: u32 = 536870912;
+pub const EPOLLONESHOT: u32 = 1073741824;
+pub const EPOLLET: u32 = 2147483648;
+pub const TFD_SHARED_FCNTL_FLAGS: u32 = 526336;
+pub const TFD_CREATE_FLAGS: u32 = 526336;
+pub const TFD_SETTIME_FLAGS: u32 = 1;
+pub const UFFD_API: u32 = 170;
+pub const UFFDIO_REGISTER_MODE_MISSING: u32 = 1;
+pub const UFFDIO_REGISTER_MODE_WP: u32 = 2;
+pub const UFFDIO_REGISTER_MODE_MINOR: u32 = 4;
+pub const UFFDIO_COPY_MODE_DONTWAKE: u32 = 1;
+pub const UFFDIO_COPY_MODE_WP: u32 = 2;
+pub const UFFDIO_ZEROPAGE_MODE_DONTWAKE: u32 = 1;
+pub const SPLICE_F_MOVE: u32 = 1;
+pub const SPLICE_F_NONBLOCK: u32 = 2;
+pub const SPLICE_F_MORE: u32 = 4;
+pub const SPLICE_F_GIFT: u32 = 8;
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum fsconfig_command {
+FSCONFIG_SET_FLAG = 0,
+FSCONFIG_SET_STRING = 1,
+FSCONFIG_SET_BINARY = 2,
+FSCONFIG_SET_PATH = 3,
+FSCONFIG_SET_PATH_EMPTY = 4,
+FSCONFIG_SET_FD = 5,
+FSCONFIG_CMD_CREATE = 6,
+FSCONFIG_CMD_RECONFIGURE = 7,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum membarrier_cmd {
+MEMBARRIER_CMD_QUERY = 0,
+MEMBARRIER_CMD_GLOBAL = 1,
+MEMBARRIER_CMD_GLOBAL_EXPEDITED = 2,
+MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED = 4,
+MEMBARRIER_CMD_PRIVATE_EXPEDITED = 8,
+MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = 16,
+MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = 32,
+MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = 64,
+MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = 128,
+MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = 256,
+MEMBARRIER_CMD_GET_REGISTRATIONS = 512,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum membarrier_cmd_flag {
+MEMBARRIER_CMD_FLAG_CPU = 1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
+pub version: __u8,
+pub v1: fscrypt_policy_v1,
+pub v2: fscrypt_policy_v2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union fscrypt_key_specifier__bindgen_ty_1 {
+pub __reserved: [__u8; 32usize],
+pub descriptor: [__u8; 8usize],
+pub identifier: [__u8; 16usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union sigval {
+pub sival_int: crate::ctypes::c_int,
+pub sival_ptr: *mut crate::ctypes::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __sifields {
+pub _kill: __sifields__bindgen_ty_1,
+pub _timer: __sifields__bindgen_ty_2,
+pub _rt: __sifields__bindgen_ty_3,
+pub _sigchld: __sifields__bindgen_ty_4,
+pub _sigfault: __sifields__bindgen_ty_5,
+pub _sigpoll: __sifields__bindgen_ty_6,
+pub _sigsys: __sifields__bindgen_ty_7,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
+pub _trapno: crate::ctypes::c_int,
+pub _addr_lsb: crate::ctypes::c_short,
+pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
+pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
+pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union siginfo__bindgen_ty_1 {
+pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
+pub _si_pad: [crate::ctypes::c_int; 32usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union sigevent__bindgen_ty_1 {
+pub _pad: [crate::ctypes::c_int; 13usize],
+pub _tid: crate::ctypes::c_int,
+pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union uffd_msg__bindgen_ty_1 {
+pub pagefault: uffd_msg__bindgen_ty_1__bindgen_ty_1,
+pub fork: uffd_msg__bindgen_ty_1__bindgen_ty_2,
+pub remap: uffd_msg__bindgen_ty_1__bindgen_ty_3,
+pub remove: uffd_msg__bindgen_ty_1__bindgen_ty_4,
+pub reserved: uffd_msg__bindgen_ty_1__bindgen_ty_5,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+pub ptid: __u32,
+}
+impl<Storage> __BindgenBitfieldUnit<Storage> {
+#[inline]
+pub const fn new(storage: Storage) -> Self {
+Self { storage }
+}
+}
+impl<Storage> __BindgenBitfieldUnit<Storage>
+where
+Storage: AsRef<[u8]> + AsMut<[u8]>,
+{
+#[inline]
+pub fn get_bit(&self, index: usize) -> bool {
+debug_assert!(index / 8 < self.storage.as_ref().len());
+let byte_index = index / 8;
+let byte = self.storage.as_ref()[byte_index];
+let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
+let mask = 1 << bit_index;
+byte & mask == mask
+}
+#[inline]
+pub fn set_bit(&mut self, index: usize, val: bool) {
+debug_assert!(index / 8 < self.storage.as_ref().len());
+let byte_index = index / 8;
+let byte = &mut self.storage.as_mut()[byte_index];
+let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
+let mask = 1 << bit_index;
+if val {
+*byte |= mask;
+} else {
+*byte &= !mask;
+}
+}
+#[inline]
+pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
+debug_assert!(bit_width <= 64);
+debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+let mut val = 0;
+for i in 0..(bit_width as usize) {
+if self.get_bit(i + bit_offset) {
+let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
+val |= 1 << index;
+}
+}
+val
+}
+#[inline]
+pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
+debug_assert!(bit_width <= 64);
+debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+for i in 0..(bit_width as usize) {
+let mask = 1 << i;
+let val_bit_is_set = val & mask == mask;
+let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
+self.set_bit(index + bit_offset, val_bit_is_set);
+}
+}
+}
+impl<T> __IncompleteArrayField<T> {
+#[inline]
+pub const fn new() -> Self {
+__IncompleteArrayField(::core::marker::PhantomData, [])
+}
+#[inline]
+pub fn as_ptr(&self) -> *const T {
+self as *const _ as *const T
+}
+#[inline]
+pub fn as_mut_ptr(&mut self) -> *mut T {
+self as *mut _ as *mut T
+}
+#[inline]
+pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+::core::slice::from_raw_parts(self.as_ptr(), len)
+}
+#[inline]
+pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+}
+}
+impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__IncompleteArrayField")
+}
+}
+impl membarrier_cmd {
+pub const MEMBARRIER_CMD_SHARED: membarrier_cmd = membarrier_cmd::MEMBARRIER_CMD_GLOBAL;
+}
+impl user_desc {
+#[inline]
+pub fn seg_32bit(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
+}
+#[inline]
+pub fn set_seg_32bit(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(0usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn contents(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u32) }
+}
+#[inline]
+pub fn set_contents(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(1usize, 2u8, val as u64)
+}
+}
+#[inline]
+pub fn read_exec_only(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
+}
+#[inline]
+pub fn set_read_exec_only(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(3usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn limit_in_pages(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
+}
+#[inline]
+pub fn set_limit_in_pages(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(4usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn seg_not_present(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
+}
+#[inline]
+pub fn set_seg_not_present(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(5usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn useable(&self) -> crate::ctypes::c_uint {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
+}
+#[inline]
+pub fn set_useable(&mut self, val: crate::ctypes::c_uint) {
+unsafe {
+let val: u32 = ::core::mem::transmute(val);
+self._bitfield_1.set(6usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn new_bitfield_1(seg_32bit: crate::ctypes::c_uint, contents: crate::ctypes::c_uint, read_exec_only: crate::ctypes::c_uint, limit_in_pages: crate::ctypes::c_uint, seg_not_present: crate::ctypes::c_uint, useable: crate::ctypes::c_uint) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+__bindgen_bitfield_unit.set(0usize, 1u8, {
+let seg_32bit: u32 = unsafe { ::core::mem::transmute(seg_32bit) };
+seg_32bit as u64
+});
+__bindgen_bitfield_unit.set(1usize, 2u8, {
+let contents: u32 = unsafe { ::core::mem::transmute(contents) };
+contents as u64
+});
+__bindgen_bitfield_unit.set(3usize, 1u8, {
+let read_exec_only: u32 = unsafe { ::core::mem::transmute(read_exec_only) };
+read_exec_only as u64
+});
+__bindgen_bitfield_unit.set(4usize, 1u8, {
+let limit_in_pages: u32 = unsafe { ::core::mem::transmute(limit_in_pages) };
+limit_in_pages as u64
+});
+__bindgen_bitfield_unit.set(5usize, 1u8, {
+let seg_not_present: u32 = unsafe { ::core::mem::transmute(seg_not_present) };
+seg_not_present as u64
+});
+__bindgen_bitfield_unit.set(6usize, 1u8, {
+let useable: u32 = unsafe { ::core::mem::transmute(useable) };
+useable as u64
+});
+__bindgen_bitfield_unit
+}
+}
diff --git a/vendor/linux-raw-sys/src/riscv32/if_ether.rs b/vendor/linux-raw-sys/src/riscv32/if_ether.rs
new file mode 100644
index 0000000..55627c7
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/if_ether.rs
@@ -0,0 +1,167 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+#[repr(C, packed)]
+#[derive(Debug, Copy, Clone)]
+pub struct ethhdr {
+pub h_dest: [crate::ctypes::c_uchar; 6usize],
+pub h_source: [crate::ctypes::c_uchar; 6usize],
+pub h_proto: __be16,
+}
+pub const ETH_ALEN: u32 = 6;
+pub const ETH_TLEN: u32 = 2;
+pub const ETH_HLEN: u32 = 14;
+pub const ETH_ZLEN: u32 = 60;
+pub const ETH_DATA_LEN: u32 = 1500;
+pub const ETH_FRAME_LEN: u32 = 1514;
+pub const ETH_FCS_LEN: u32 = 4;
+pub const ETH_MIN_MTU: u32 = 68;
+pub const ETH_MAX_MTU: u32 = 65535;
+pub const ETH_P_LOOP: u32 = 96;
+pub const ETH_P_PUP: u32 = 512;
+pub const ETH_P_PUPAT: u32 = 513;
+pub const ETH_P_TSN: u32 = 8944;
+pub const ETH_P_ERSPAN2: u32 = 8939;
+pub const ETH_P_IP: u32 = 2048;
+pub const ETH_P_X25: u32 = 2053;
+pub const ETH_P_ARP: u32 = 2054;
+pub const ETH_P_BPQ: u32 = 2303;
+pub const ETH_P_IEEEPUP: u32 = 2560;
+pub const ETH_P_IEEEPUPAT: u32 = 2561;
+pub const ETH_P_BATMAN: u32 = 17157;
+pub const ETH_P_DEC: u32 = 24576;
+pub const ETH_P_DNA_DL: u32 = 24577;
+pub const ETH_P_DNA_RC: u32 = 24578;
+pub const ETH_P_DNA_RT: u32 = 24579;
+pub const ETH_P_LAT: u32 = 24580;
+pub const ETH_P_DIAG: u32 = 24581;
+pub const ETH_P_CUST: u32 = 24582;
+pub const ETH_P_SCA: u32 = 24583;
+pub const ETH_P_TEB: u32 = 25944;
+pub const ETH_P_RARP: u32 = 32821;
+pub const ETH_P_ATALK: u32 = 32923;
+pub const ETH_P_AARP: u32 = 33011;
+pub const ETH_P_8021Q: u32 = 33024;
+pub const ETH_P_ERSPAN: u32 = 35006;
+pub const ETH_P_IPX: u32 = 33079;
+pub const ETH_P_IPV6: u32 = 34525;
+pub const ETH_P_PAUSE: u32 = 34824;
+pub const ETH_P_SLOW: u32 = 34825;
+pub const ETH_P_WCCP: u32 = 34878;
+pub const ETH_P_MPLS_UC: u32 = 34887;
+pub const ETH_P_MPLS_MC: u32 = 34888;
+pub const ETH_P_ATMMPOA: u32 = 34892;
+pub const ETH_P_PPP_DISC: u32 = 34915;
+pub const ETH_P_PPP_SES: u32 = 34916;
+pub const ETH_P_LINK_CTL: u32 = 34924;
+pub const ETH_P_ATMFATE: u32 = 34948;
+pub const ETH_P_PAE: u32 = 34958;
+pub const ETH_P_PROFINET: u32 = 34962;
+pub const ETH_P_REALTEK: u32 = 34969;
+pub const ETH_P_AOE: u32 = 34978;
+pub const ETH_P_ETHERCAT: u32 = 34980;
+pub const ETH_P_8021AD: u32 = 34984;
+pub const ETH_P_802_EX1: u32 = 34997;
+pub const ETH_P_PREAUTH: u32 = 35015;
+pub const ETH_P_TIPC: u32 = 35018;
+pub const ETH_P_LLDP: u32 = 35020;
+pub const ETH_P_MRP: u32 = 35043;
+pub const ETH_P_MACSEC: u32 = 35045;
+pub const ETH_P_8021AH: u32 = 35047;
+pub const ETH_P_MVRP: u32 = 35061;
+pub const ETH_P_1588: u32 = 35063;
+pub const ETH_P_NCSI: u32 = 35064;
+pub const ETH_P_PRP: u32 = 35067;
+pub const ETH_P_CFM: u32 = 35074;
+pub const ETH_P_FCOE: u32 = 35078;
+pub const ETH_P_IBOE: u32 = 35093;
+pub const ETH_P_TDLS: u32 = 35085;
+pub const ETH_P_FIP: u32 = 35092;
+pub const ETH_P_80221: u32 = 35095;
+pub const ETH_P_HSR: u32 = 35119;
+pub const ETH_P_NSH: u32 = 35151;
+pub const ETH_P_LOOPBACK: u32 = 36864;
+pub const ETH_P_QINQ1: u32 = 37120;
+pub const ETH_P_QINQ2: u32 = 37376;
+pub const ETH_P_QINQ3: u32 = 37632;
+pub const ETH_P_EDSA: u32 = 56026;
+pub const ETH_P_DSA_8021Q: u32 = 56027;
+pub const ETH_P_DSA_A5PSW: u32 = 57345;
+pub const ETH_P_IFE: u32 = 60734;
+pub const ETH_P_AF_IUCV: u32 = 64507;
+pub const ETH_P_802_3_MIN: u32 = 1536;
+pub const ETH_P_802_3: u32 = 1;
+pub const ETH_P_AX25: u32 = 2;
+pub const ETH_P_ALL: u32 = 3;
+pub const ETH_P_802_2: u32 = 4;
+pub const ETH_P_SNAP: u32 = 5;
+pub const ETH_P_DDCMP: u32 = 6;
+pub const ETH_P_WAN_PPP: u32 = 7;
+pub const ETH_P_PPP_MP: u32 = 8;
+pub const ETH_P_LOCALTALK: u32 = 9;
+pub const ETH_P_CAN: u32 = 12;
+pub const ETH_P_CANFD: u32 = 13;
+pub const ETH_P_CANXL: u32 = 14;
+pub const ETH_P_PPPTALK: u32 = 16;
+pub const ETH_P_TR_802_2: u32 = 17;
+pub const ETH_P_MOBITEX: u32 = 21;
+pub const ETH_P_CONTROL: u32 = 22;
+pub const ETH_P_IRDA: u32 = 23;
+pub const ETH_P_ECONET: u32 = 24;
+pub const ETH_P_HDLC: u32 = 25;
+pub const ETH_P_ARCNET: u32 = 26;
+pub const ETH_P_DSA: u32 = 27;
+pub const ETH_P_TRAILER: u32 = 28;
+pub const ETH_P_PHONET: u32 = 245;
+pub const ETH_P_IEEE802154: u32 = 246;
+pub const ETH_P_CAIF: u32 = 247;
+pub const ETH_P_XDSA: u32 = 248;
+pub const ETH_P_MAP: u32 = 249;
+pub const ETH_P_MCTP: u32 = 250;
diff --git a/vendor/linux-raw-sys/src/riscv32/io_uring.rs b/vendor/linux-raw-sys/src/riscv32/io_uring.rs
new file mode 100644
index 0000000..cd05130
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/io_uring.rs
@@ -0,0 +1,1083 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+pub type __kernel_rwf_t = crate::ctypes::c_int;
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
+#[repr(C)]
+pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_policy_v1 {
+pub version: __u8,
+pub contents_encryption_mode: __u8,
+pub filenames_encryption_mode: __u8,
+pub flags: __u8,
+pub master_key_descriptor: [__u8; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_key {
+pub mode: __u32,
+pub raw: [__u8; 64usize],
+pub size: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fscrypt_policy_v2 {
+pub version: __u8,
+pub contents_encryption_mode: __u8,
+pub filenames_encryption_mode: __u8,
+pub flags: __u8,
+pub __reserved: [__u8; 4usize],
+pub master_key_identifier: [__u8; 16usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_get_policy_ex_arg {
+pub policy_size: __u64,
+pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_key_specifier {
+pub type_: __u32,
+pub __reserved: __u32,
+pub u: fscrypt_key_specifier__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct fscrypt_provisioning_key_payload {
+pub type_: __u32,
+pub __reserved: __u32,
+pub raw: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+pub struct fscrypt_add_key_arg {
+pub key_spec: fscrypt_key_specifier,
+pub raw_size: __u32,
+pub key_id: __u32,
+pub __reserved: [__u32; 8usize],
+pub raw: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_remove_key_arg {
+pub key_spec: fscrypt_key_specifier,
+pub removal_status_flags: __u32,
+pub __reserved: [__u32; 5usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fscrypt_get_key_status_arg {
+pub key_spec: fscrypt_key_specifier,
+pub __reserved: [__u32; 6usize],
+pub status: __u32,
+pub status_flags: __u32,
+pub user_count: __u32,
+pub __out_reserved: [__u32; 13usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct mount_attr {
+pub attr_set: __u64,
+pub attr_clr: __u64,
+pub propagation: __u64,
+pub userns_fd: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct file_clone_range {
+pub src_fd: __s64,
+pub src_offset: __u64,
+pub src_length: __u64,
+pub dest_offset: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fstrim_range {
+pub start: __u64,
+pub len: __u64,
+pub minlen: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct file_dedupe_range_info {
+pub dest_fd: __s64,
+pub dest_offset: __u64,
+pub bytes_deduped: __u64,
+pub status: __s32,
+pub reserved: __u32,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct file_dedupe_range {
+pub src_offset: __u64,
+pub src_length: __u64,
+pub dest_count: __u16,
+pub reserved1: __u16,
+pub reserved2: __u32,
+pub info: __IncompleteArrayField<file_dedupe_range_info>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct files_stat_struct {
+pub nr_files: crate::ctypes::c_ulong,
+pub nr_free_files: crate::ctypes::c_ulong,
+pub max_files: crate::ctypes::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct inodes_stat_t {
+pub nr_inodes: crate::ctypes::c_long,
+pub nr_unused: crate::ctypes::c_long,
+pub dummy: [crate::ctypes::c_long; 5usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fsxattr {
+pub fsx_xflags: __u32,
+pub fsx_extsize: __u32,
+pub fsx_nextents: __u32,
+pub fsx_projid: __u32,
+pub fsx_cowextsize: __u32,
+pub fsx_pad: [crate::ctypes::c_uchar; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_timespec {
+pub tv_sec: __kernel_time64_t,
+pub tv_nsec: crate::ctypes::c_longlong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_itimerspec {
+pub it_interval: __kernel_timespec,
+pub it_value: __kernel_timespec,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_timeval {
+pub tv_sec: __kernel_long_t,
+pub tv_usec: __kernel_long_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_timespec {
+pub tv_sec: __kernel_old_time_t,
+pub tv_nsec: crate::ctypes::c_long,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_old_itimerval {
+pub it_interval: __kernel_old_timeval,
+pub it_value: __kernel_old_timeval,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_sock_timeval {
+pub tv_sec: __s64,
+pub tv_usec: __s64,
+}
+#[repr(C)]
+pub struct io_uring_sqe {
+pub opcode: __u8,
+pub flags: __u8,
+pub ioprio: __u16,
+pub fd: __s32,
+pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
+pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
+pub len: __u32,
+pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
+pub user_data: __u64,
+pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
+pub personality: __u16,
+pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5,
+pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 {
+pub cmd_op: __u32,
+pub __pad1: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 {
+pub addr_len: __u16,
+pub __pad3: [__u16; 1usize],
+}
+#[repr(C)]
+pub struct io_uring_sqe__bindgen_ty_6 {
+pub __bindgen_anon_1: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>,
+pub cmd: __BindgenUnionField<[__u8; 0usize]>,
+pub bindgen_union_field: [u64; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 {
+pub addr3: __u64,
+pub __pad2: [__u64; 1usize],
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct io_uring_cqe {
+pub user_data: __u64,
+pub res: __s32,
+pub flags: __u32,
+pub big_cqe: __IncompleteArrayField<__u64>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_sqring_offsets {
+pub head: __u32,
+pub tail: __u32,
+pub ring_mask: __u32,
+pub ring_entries: __u32,
+pub flags: __u32,
+pub dropped: __u32,
+pub array: __u32,
+pub resv1: __u32,
+pub resv2: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_cqring_offsets {
+pub head: __u32,
+pub tail: __u32,
+pub ring_mask: __u32,
+pub ring_entries: __u32,
+pub overflow: __u32,
+pub cqes: __u32,
+pub flags: __u32,
+pub resv1: __u32,
+pub resv2: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_params {
+pub sq_entries: __u32,
+pub cq_entries: __u32,
+pub flags: __u32,
+pub sq_thread_cpu: __u32,
+pub sq_thread_idle: __u32,
+pub features: __u32,
+pub wq_fd: __u32,
+pub resv: [__u32; 3usize],
+pub sq_off: io_sqring_offsets,
+pub cq_off: io_cqring_offsets,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_files_update {
+pub offset: __u32,
+pub resv: __u32,
+pub fds: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_rsrc_register {
+pub nr: __u32,
+pub flags: __u32,
+pub resv2: __u64,
+pub data: __u64,
+pub tags: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_rsrc_update {
+pub offset: __u32,
+pub resv: __u32,
+pub data: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_rsrc_update2 {
+pub offset: __u32,
+pub resv: __u32,
+pub data: __u64,
+pub tags: __u64,
+pub nr: __u32,
+pub resv2: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_notification_slot {
+pub tag: __u64,
+pub resv: [__u64; 3usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_notification_register {
+pub nr_slots: __u32,
+pub resv: __u32,
+pub resv2: __u64,
+pub data: __u64,
+pub resv3: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_probe_op {
+pub op: __u8,
+pub resv: __u8,
+pub flags: __u16,
+pub resv2: __u32,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct io_uring_probe {
+pub last_op: __u8,
+pub ops_len: __u8,
+pub resv: __u16,
+pub resv2: [__u32; 3usize],
+pub ops: __IncompleteArrayField<io_uring_probe_op>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct io_uring_restriction {
+pub opcode: __u16,
+pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
+pub resv: __u8,
+pub resv2: [__u32; 3usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_buf {
+pub addr: __u64,
+pub len: __u32,
+pub bid: __u16,
+pub resv: __u16,
+}
+#[repr(C)]
+pub struct io_uring_buf_ring {
+pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1,
+}
+#[repr(C)]
+pub struct io_uring_buf_ring__bindgen_ty_1 {
+pub __bindgen_anon_1: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>,
+pub __bindgen_anon_2: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>,
+pub bindgen_union_field: [u64; 2usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 {
+pub resv1: __u64,
+pub resv2: __u32,
+pub resv3: __u16,
+pub tail: __u16,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 {
+pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
+pub bufs: __IncompleteArrayField<io_uring_buf>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_buf_reg {
+pub ring_addr: __u64,
+pub ring_entries: __u32,
+pub bgid: __u16,
+pub pad: __u16,
+pub resv: [__u64; 3usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_getevents_arg {
+pub sigmask: __u64,
+pub sigmask_sz: __u32,
+pub pad: __u32,
+pub ts: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_sync_cancel_reg {
+pub addr: __u64,
+pub fd: __s32,
+pub flags: __u32,
+pub timeout: __kernel_timespec,
+pub pad: [__u64; 4usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_file_index_range {
+pub off: __u32,
+pub len: __u32,
+pub resv: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct io_uring_recvmsg_out {
+pub namelen: __u32,
+pub controllen: __u32,
+pub payloadlen: __u32,
+pub flags: __u32,
+}
+pub const NR_OPEN: u32 = 1024;
+pub const NGROUPS_MAX: u32 = 65536;
+pub const ARG_MAX: u32 = 131072;
+pub const LINK_MAX: u32 = 127;
+pub const MAX_CANON: u32 = 255;
+pub const MAX_INPUT: u32 = 255;
+pub const NAME_MAX: u32 = 255;
+pub const PATH_MAX: u32 = 4096;
+pub const PIPE_BUF: u32 = 4096;
+pub const XATTR_NAME_MAX: u32 = 255;
+pub const XATTR_SIZE_MAX: u32 = 65536;
+pub const XATTR_LIST_MAX: u32 = 65536;
+pub const RTSIG_MAX: u32 = 32;
+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 FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0;
+pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1;
+pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2;
+pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3;
+pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3;
+pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4;
+pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8;
+pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16;
+pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1;
+pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4;
+pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5;
+pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6;
+pub const FSCRYPT_MODE_SM4_XTS: u32 = 7;
+pub const FSCRYPT_MODE_SM4_CTS: u32 = 8;
+pub const FSCRYPT_MODE_ADIANTUM: u32 = 9;
+pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10;
+pub const FSCRYPT_POLICY_V1: u32 = 0;
+pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8;
+pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
+pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8;
+pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64;
+pub const FSCRYPT_POLICY_V2: u32 = 2;
+pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16;
+pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1;
+pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2;
+pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1;
+pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2;
+pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1;
+pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2;
+pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3;
+pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1;
+pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8;
+pub const FS_POLICY_FLAGS_PAD_4: u32 = 0;
+pub const FS_POLICY_FLAGS_PAD_8: u32 = 1;
+pub const FS_POLICY_FLAGS_PAD_16: u32 = 2;
+pub const FS_POLICY_FLAGS_PAD_32: u32 = 3;
+pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3;
+pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4;
+pub const FS_POLICY_FLAGS_VALID: u32 = 7;
+pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0;
+pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1;
+pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2;
+pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3;
+pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4;
+pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5;
+pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6;
+pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9;
+pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
+pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8;
+pub const FS_MAX_KEY_SIZE: u32 = 64;
+pub const MS_RDONLY: u32 = 1;
+pub const MS_NOSUID: u32 = 2;
+pub const MS_NODEV: u32 = 4;
+pub const MS_NOEXEC: u32 = 8;
+pub const MS_SYNCHRONOUS: u32 = 16;
+pub const MS_REMOUNT: u32 = 32;
+pub const MS_MANDLOCK: u32 = 64;
+pub const MS_DIRSYNC: u32 = 128;
+pub const MS_NOSYMFOLLOW: u32 = 256;
+pub const MS_NOATIME: u32 = 1024;
+pub const MS_NODIRATIME: u32 = 2048;
+pub const MS_BIND: u32 = 4096;
+pub const MS_MOVE: u32 = 8192;
+pub const MS_REC: u32 = 16384;
+pub const MS_VERBOSE: u32 = 32768;
+pub const MS_SILENT: u32 = 32768;
+pub const MS_POSIXACL: u32 = 65536;
+pub const MS_UNBINDABLE: u32 = 131072;
+pub const MS_PRIVATE: u32 = 262144;
+pub const MS_SLAVE: u32 = 524288;
+pub const MS_SHARED: u32 = 1048576;
+pub const MS_RELATIME: u32 = 2097152;
+pub const MS_KERNMOUNT: u32 = 4194304;
+pub const MS_I_VERSION: u32 = 8388608;
+pub const MS_STRICTATIME: u32 = 16777216;
+pub const MS_LAZYTIME: u32 = 33554432;
+pub const MS_SUBMOUNT: u32 = 67108864;
+pub const MS_NOREMOTELOCK: u32 = 134217728;
+pub const MS_NOSEC: u32 = 268435456;
+pub const MS_BORN: u32 = 536870912;
+pub const MS_ACTIVE: u32 = 1073741824;
+pub const MS_NOUSER: u32 = 2147483648;
+pub const MS_RMT_MASK: u32 = 41943121;
+pub const MS_MGC_VAL: u32 = 3236757504;
+pub const MS_MGC_MSK: u32 = 4294901760;
+pub const OPEN_TREE_CLONE: u32 = 1;
+pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1;
+pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2;
+pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4;
+pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16;
+pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32;
+pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64;
+pub const MOVE_MOUNT_SET_GROUP: u32 = 256;
+pub const MOVE_MOUNT__MASK: u32 = 375;
+pub const FSOPEN_CLOEXEC: u32 = 1;
+pub const FSPICK_CLOEXEC: u32 = 1;
+pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2;
+pub const FSPICK_NO_AUTOMOUNT: u32 = 4;
+pub const FSPICK_EMPTY_PATH: u32 = 8;
+pub const FSMOUNT_CLOEXEC: u32 = 1;
+pub const MOUNT_ATTR_RDONLY: u32 = 1;
+pub const MOUNT_ATTR_NOSUID: u32 = 2;
+pub const MOUNT_ATTR_NODEV: u32 = 4;
+pub const MOUNT_ATTR_NOEXEC: u32 = 8;
+pub const MOUNT_ATTR__ATIME: u32 = 112;
+pub const MOUNT_ATTR_RELATIME: u32 = 0;
+pub const MOUNT_ATTR_NOATIME: u32 = 16;
+pub const MOUNT_ATTR_STRICTATIME: u32 = 32;
+pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
+pub const MOUNT_ATTR_IDMAP: u32 = 1048576;
+pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152;
+pub const MOUNT_ATTR_SIZE_VER0: u32 = 32;
+pub const INR_OPEN_CUR: u32 = 1024;
+pub const INR_OPEN_MAX: u32 = 4096;
+pub const BLOCK_SIZE_BITS: u32 = 10;
+pub const BLOCK_SIZE: u32 = 1024;
+pub const SEEK_SET: u32 = 0;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const SEEK_DATA: u32 = 3;
+pub const SEEK_HOLE: u32 = 4;
+pub const SEEK_MAX: u32 = 4;
+pub const RENAME_NOREPLACE: u32 = 1;
+pub const RENAME_EXCHANGE: u32 = 2;
+pub const RENAME_WHITEOUT: u32 = 4;
+pub const FILE_DEDUPE_RANGE_SAME: u32 = 0;
+pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1;
+pub const NR_FILE: u32 = 8192;
+pub const FS_XFLAG_REALTIME: u32 = 1;
+pub const FS_XFLAG_PREALLOC: u32 = 2;
+pub const FS_XFLAG_IMMUTABLE: u32 = 8;
+pub const FS_XFLAG_APPEND: u32 = 16;
+pub const FS_XFLAG_SYNC: u32 = 32;
+pub const FS_XFLAG_NOATIME: u32 = 64;
+pub const FS_XFLAG_NODUMP: u32 = 128;
+pub const FS_XFLAG_RTINHERIT: u32 = 256;
+pub const FS_XFLAG_PROJINHERIT: u32 = 512;
+pub const FS_XFLAG_NOSYMLINKS: u32 = 1024;
+pub const FS_XFLAG_EXTSIZE: u32 = 2048;
+pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096;
+pub const FS_XFLAG_NODEFRAG: u32 = 8192;
+pub const FS_XFLAG_FILESTREAM: u32 = 16384;
+pub const FS_XFLAG_DAX: u32 = 32768;
+pub const FS_XFLAG_COWEXTSIZE: u32 = 65536;
+pub const FS_XFLAG_HASATTR: u32 = 2147483648;
+pub const BMAP_IOCTL: u32 = 1;
+pub const FSLABEL_MAX: u32 = 256;
+pub const FS_SECRM_FL: u32 = 1;
+pub const FS_UNRM_FL: u32 = 2;
+pub const FS_COMPR_FL: u32 = 4;
+pub const FS_SYNC_FL: u32 = 8;
+pub const FS_IMMUTABLE_FL: u32 = 16;
+pub const FS_APPEND_FL: u32 = 32;
+pub const FS_NODUMP_FL: u32 = 64;
+pub const FS_NOATIME_FL: u32 = 128;
+pub const FS_DIRTY_FL: u32 = 256;
+pub const FS_COMPRBLK_FL: u32 = 512;
+pub const FS_NOCOMP_FL: u32 = 1024;
+pub const FS_ENCRYPT_FL: u32 = 2048;
+pub const FS_BTREE_FL: u32 = 4096;
+pub const FS_INDEX_FL: u32 = 4096;
+pub const FS_IMAGIC_FL: u32 = 8192;
+pub const FS_JOURNAL_DATA_FL: u32 = 16384;
+pub const FS_NOTAIL_FL: u32 = 32768;
+pub const FS_DIRSYNC_FL: u32 = 65536;
+pub const FS_TOPDIR_FL: u32 = 131072;
+pub const FS_HUGE_FILE_FL: u32 = 262144;
+pub const FS_EXTENT_FL: u32 = 524288;
+pub const FS_VERITY_FL: u32 = 1048576;
+pub const FS_EA_INODE_FL: u32 = 2097152;
+pub const FS_EOFBLOCKS_FL: u32 = 4194304;
+pub const FS_NOCOW_FL: u32 = 8388608;
+pub const FS_DAX_FL: u32 = 33554432;
+pub const FS_INLINE_DATA_FL: u32 = 268435456;
+pub const FS_PROJINHERIT_FL: u32 = 536870912;
+pub const FS_CASEFOLD_FL: u32 = 1073741824;
+pub const FS_RESERVED_FL: u32 = 2147483648;
+pub const FS_FL_USER_VISIBLE: u32 = 253951;
+pub const FS_FL_USER_MODIFIABLE: u32 = 229631;
+pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
+pub const SYNC_FILE_RANGE_WRITE: u32 = 2;
+pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4;
+pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7;
+pub const IORING_FILE_INDEX_ALLOC: i32 = -1;
+pub const IORING_SETUP_IOPOLL: u32 = 1;
+pub const IORING_SETUP_SQPOLL: u32 = 2;
+pub const IORING_SETUP_SQ_AFF: u32 = 4;
+pub const IORING_SETUP_CQSIZE: u32 = 8;
+pub const IORING_SETUP_CLAMP: u32 = 16;
+pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
+pub const IORING_SETUP_R_DISABLED: u32 = 64;
+pub const IORING_SETUP_SUBMIT_ALL: u32 = 128;
+pub const IORING_SETUP_COOP_TASKRUN: u32 = 256;
+pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512;
+pub const IORING_SETUP_SQE128: u32 = 1024;
+pub const IORING_SETUP_CQE32: u32 = 2048;
+pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096;
+pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192;
+pub const IORING_URING_CMD_FIXED: u32 = 1;
+pub const IORING_FSYNC_DATASYNC: u32 = 1;
+pub const IORING_TIMEOUT_ABS: u32 = 1;
+pub const IORING_TIMEOUT_UPDATE: u32 = 2;
+pub const IORING_TIMEOUT_BOOTTIME: u32 = 4;
+pub const IORING_TIMEOUT_REALTIME: u32 = 8;
+pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16;
+pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32;
+pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12;
+pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18;
+pub const SPLICE_F_FD_IN_FIXED: u32 = 2147483648;
+pub const IORING_POLL_ADD_MULTI: u32 = 1;
+pub const IORING_POLL_UPDATE_EVENTS: u32 = 2;
+pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4;
+pub const IORING_POLL_ADD_LEVEL: u32 = 8;
+pub const IORING_ASYNC_CANCEL_ALL: u32 = 1;
+pub const IORING_ASYNC_CANCEL_FD: u32 = 2;
+pub const IORING_ASYNC_CANCEL_ANY: u32 = 4;
+pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8;
+pub const IORING_RECVSEND_POLL_FIRST: u32 = 1;
+pub const IORING_RECV_MULTISHOT: u32 = 2;
+pub const IORING_RECVSEND_FIXED_BUF: u32 = 4;
+pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8;
+pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648;
+pub const IORING_ACCEPT_MULTISHOT: u32 = 1;
+pub const IORING_MSG_RING_CQE_SKIP: u32 = 1;
+pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2;
+pub const IORING_CQE_F_BUFFER: u32 = 1;
+pub const IORING_CQE_F_MORE: u32 = 2;
+pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4;
+pub const IORING_CQE_F_NOTIF: u32 = 8;
+pub const IORING_OFF_SQ_RING: u32 = 0;
+pub const IORING_OFF_CQ_RING: u32 = 134217728;
+pub const IORING_OFF_SQES: u32 = 268435456;
+pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
+pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
+pub const IORING_SQ_TASKRUN: u32 = 4;
+pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
+pub const IORING_ENTER_GETEVENTS: u32 = 1;
+pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
+pub const IORING_ENTER_SQ_WAIT: u32 = 4;
+pub const IORING_ENTER_EXT_ARG: u32 = 8;
+pub const IORING_ENTER_REGISTERED_RING: u32 = 16;
+pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
+pub const IORING_FEAT_NODROP: u32 = 2;
+pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
+pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
+pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
+pub const IORING_FEAT_FAST_POLL: u32 = 32;
+pub const IORING_FEAT_POLL_32BITS: u32 = 64;
+pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128;
+pub const IORING_FEAT_EXT_ARG: u32 = 256;
+pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512;
+pub const IORING_FEAT_RSRC_TAGS: u32 = 1024;
+pub const IORING_FEAT_CQE_SKIP: u32 = 2048;
+pub const IORING_FEAT_LINKED_FILE: u32 = 4096;
+pub const IORING_FEAT_REG_REG_RING: u32 = 8192;
+pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1;
+pub const IORING_REGISTER_FILES_SKIP: i32 = -2;
+pub const IO_URING_OP_SUPPORTED: u32 = 1;
+pub const IOSQE_FIXED_FILE_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_FIXED_FILE_BIT;
+pub const IOSQE_IO_DRAIN_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_DRAIN_BIT;
+pub const IOSQE_IO_LINK_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_LINK_BIT;
+pub const IOSQE_IO_HARDLINK_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_HARDLINK_BIT;
+pub const IOSQE_ASYNC_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_ASYNC_BIT;
+pub const IOSQE_BUFFER_SELECT_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_BUFFER_SELECT_BIT;
+pub const IOSQE_CQE_SKIP_SUCCESS_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_CQE_SKIP_SUCCESS_BIT;
+pub const IORING_MSG_DATA: _bindgen_ty_2 = _bindgen_ty_2::IORING_MSG_DATA;
+pub const IORING_MSG_SEND_FD: _bindgen_ty_2 = _bindgen_ty_2::IORING_MSG_SEND_FD;
+pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_3 = _bindgen_ty_3::IORING_CQE_BUFFER_SHIFT;
+pub const IORING_REGISTER_BUFFERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS;
+pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_BUFFERS;
+pub const IORING_REGISTER_FILES: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES;
+pub const IORING_UNREGISTER_FILES: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_FILES;
+pub const IORING_REGISTER_EVENTFD: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_EVENTFD;
+pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_EVENTFD;
+pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES_UPDATE;
+pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_EVENTFD_ASYNC;
+pub const IORING_REGISTER_PROBE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PROBE;
+pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PERSONALITY;
+pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_PERSONALITY;
+pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_RESTRICTIONS;
+pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_ENABLE_RINGS;
+pub const IORING_REGISTER_FILES2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES2;
+pub const IORING_REGISTER_FILES_UPDATE2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES_UPDATE2;
+pub const IORING_REGISTER_BUFFERS2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS2;
+pub const IORING_REGISTER_BUFFERS_UPDATE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS_UPDATE;
+pub const IORING_REGISTER_IOWQ_AFF: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_IOWQ_AFF;
+pub const IORING_UNREGISTER_IOWQ_AFF: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_IOWQ_AFF;
+pub const IORING_REGISTER_IOWQ_MAX_WORKERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_IOWQ_MAX_WORKERS;
+pub const IORING_REGISTER_RING_FDS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_RING_FDS;
+pub const IORING_UNREGISTER_RING_FDS: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_RING_FDS;
+pub const IORING_REGISTER_PBUF_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PBUF_RING;
+pub const IORING_UNREGISTER_PBUF_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_PBUF_RING;
+pub const IORING_REGISTER_SYNC_CANCEL: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_SYNC_CANCEL;
+pub const IORING_REGISTER_FILE_ALLOC_RANGE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILE_ALLOC_RANGE;
+pub const IORING_REGISTER_LAST: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_LAST;
+pub const IORING_REGISTER_USE_REGISTERED_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_USE_REGISTERED_RING;
+pub const IO_WQ_BOUND: _bindgen_ty_5 = _bindgen_ty_5::IO_WQ_BOUND;
+pub const IO_WQ_UNBOUND: _bindgen_ty_5 = _bindgen_ty_5::IO_WQ_UNBOUND;
+pub const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_REGISTER_OP;
+pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_OP;
+pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_FLAGS_ALLOWED;
+pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_FLAGS_REQUIRED;
+pub const IORING_RESTRICTION_LAST: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_LAST;
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum fsconfig_command {
+FSCONFIG_SET_FLAG = 0,
+FSCONFIG_SET_STRING = 1,
+FSCONFIG_SET_BINARY = 2,
+FSCONFIG_SET_PATH = 3,
+FSCONFIG_SET_PATH_EMPTY = 4,
+FSCONFIG_SET_FD = 5,
+FSCONFIG_CMD_CREATE = 6,
+FSCONFIG_CMD_RECONFIGURE = 7,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_1 {
+IOSQE_FIXED_FILE_BIT = 0,
+IOSQE_IO_DRAIN_BIT = 1,
+IOSQE_IO_LINK_BIT = 2,
+IOSQE_IO_HARDLINK_BIT = 3,
+IOSQE_ASYNC_BIT = 4,
+IOSQE_BUFFER_SELECT_BIT = 5,
+IOSQE_CQE_SKIP_SUCCESS_BIT = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum io_uring_op {
+IORING_OP_NOP = 0,
+IORING_OP_READV = 1,
+IORING_OP_WRITEV = 2,
+IORING_OP_FSYNC = 3,
+IORING_OP_READ_FIXED = 4,
+IORING_OP_WRITE_FIXED = 5,
+IORING_OP_POLL_ADD = 6,
+IORING_OP_POLL_REMOVE = 7,
+IORING_OP_SYNC_FILE_RANGE = 8,
+IORING_OP_SENDMSG = 9,
+IORING_OP_RECVMSG = 10,
+IORING_OP_TIMEOUT = 11,
+IORING_OP_TIMEOUT_REMOVE = 12,
+IORING_OP_ACCEPT = 13,
+IORING_OP_ASYNC_CANCEL = 14,
+IORING_OP_LINK_TIMEOUT = 15,
+IORING_OP_CONNECT = 16,
+IORING_OP_FALLOCATE = 17,
+IORING_OP_OPENAT = 18,
+IORING_OP_CLOSE = 19,
+IORING_OP_FILES_UPDATE = 20,
+IORING_OP_STATX = 21,
+IORING_OP_READ = 22,
+IORING_OP_WRITE = 23,
+IORING_OP_FADVISE = 24,
+IORING_OP_MADVISE = 25,
+IORING_OP_SEND = 26,
+IORING_OP_RECV = 27,
+IORING_OP_OPENAT2 = 28,
+IORING_OP_EPOLL_CTL = 29,
+IORING_OP_SPLICE = 30,
+IORING_OP_PROVIDE_BUFFERS = 31,
+IORING_OP_REMOVE_BUFFERS = 32,
+IORING_OP_TEE = 33,
+IORING_OP_SHUTDOWN = 34,
+IORING_OP_RENAMEAT = 35,
+IORING_OP_UNLINKAT = 36,
+IORING_OP_MKDIRAT = 37,
+IORING_OP_SYMLINKAT = 38,
+IORING_OP_LINKAT = 39,
+IORING_OP_MSG_RING = 40,
+IORING_OP_FSETXATTR = 41,
+IORING_OP_SETXATTR = 42,
+IORING_OP_FGETXATTR = 43,
+IORING_OP_GETXATTR = 44,
+IORING_OP_SOCKET = 45,
+IORING_OP_URING_CMD = 46,
+IORING_OP_SEND_ZC = 47,
+IORING_OP_SENDMSG_ZC = 48,
+IORING_OP_LAST = 49,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_2 {
+IORING_MSG_DATA = 0,
+IORING_MSG_SEND_FD = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_3 {
+IORING_CQE_BUFFER_SHIFT = 16,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_4 {
+IORING_REGISTER_BUFFERS = 0,
+IORING_UNREGISTER_BUFFERS = 1,
+IORING_REGISTER_FILES = 2,
+IORING_UNREGISTER_FILES = 3,
+IORING_REGISTER_EVENTFD = 4,
+IORING_UNREGISTER_EVENTFD = 5,
+IORING_REGISTER_FILES_UPDATE = 6,
+IORING_REGISTER_EVENTFD_ASYNC = 7,
+IORING_REGISTER_PROBE = 8,
+IORING_REGISTER_PERSONALITY = 9,
+IORING_UNREGISTER_PERSONALITY = 10,
+IORING_REGISTER_RESTRICTIONS = 11,
+IORING_REGISTER_ENABLE_RINGS = 12,
+IORING_REGISTER_FILES2 = 13,
+IORING_REGISTER_FILES_UPDATE2 = 14,
+IORING_REGISTER_BUFFERS2 = 15,
+IORING_REGISTER_BUFFERS_UPDATE = 16,
+IORING_REGISTER_IOWQ_AFF = 17,
+IORING_UNREGISTER_IOWQ_AFF = 18,
+IORING_REGISTER_IOWQ_MAX_WORKERS = 19,
+IORING_REGISTER_RING_FDS = 20,
+IORING_UNREGISTER_RING_FDS = 21,
+IORING_REGISTER_PBUF_RING = 22,
+IORING_UNREGISTER_PBUF_RING = 23,
+IORING_REGISTER_SYNC_CANCEL = 24,
+IORING_REGISTER_FILE_ALLOC_RANGE = 25,
+IORING_REGISTER_LAST = 26,
+IORING_REGISTER_USE_REGISTERED_RING = 2147483648,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_5 {
+IO_WQ_BOUND = 0,
+IO_WQ_UNBOUND = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_6 {
+IORING_RESTRICTION_REGISTER_OP = 0,
+IORING_RESTRICTION_SQE_OP = 1,
+IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,
+IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,
+IORING_RESTRICTION_LAST = 4,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
+pub version: __u8,
+pub v1: fscrypt_policy_v1,
+pub v2: fscrypt_policy_v2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union fscrypt_key_specifier__bindgen_ty_1 {
+pub __reserved: [__u8; 32usize],
+pub descriptor: [__u8; 8usize],
+pub identifier: [__u8; 16usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union io_uring_sqe__bindgen_ty_1 {
+pub off: __u64,
+pub addr2: __u64,
+pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union io_uring_sqe__bindgen_ty_2 {
+pub addr: __u64,
+pub splice_off_in: __u64,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union io_uring_sqe__bindgen_ty_3 {
+pub rw_flags: __kernel_rwf_t,
+pub fsync_flags: __u32,
+pub poll_events: __u16,
+pub poll32_events: __u32,
+pub sync_range_flags: __u32,
+pub msg_flags: __u32,
+pub timeout_flags: __u32,
+pub accept_flags: __u32,
+pub cancel_flags: __u32,
+pub open_flags: __u32,
+pub statx_flags: __u32,
+pub fadvise_advice: __u32,
+pub splice_flags: __u32,
+pub rename_flags: __u32,
+pub unlink_flags: __u32,
+pub hardlink_flags: __u32,
+pub xattr_flags: __u32,
+pub msg_ring_flags: __u32,
+pub uring_cmd_flags: __u32,
+}
+#[repr(C, packed)]
+#[derive(Copy, Clone)]
+pub union io_uring_sqe__bindgen_ty_4 {
+pub buf_index: __u16,
+pub buf_group: __u16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union io_uring_sqe__bindgen_ty_5 {
+pub splice_fd_in: __s32,
+pub file_index: __u32,
+pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union io_uring_restriction__bindgen_ty_1 {
+pub register_op: __u8,
+pub sqe_op: __u8,
+pub sqe_flags: __u8,
+}
+impl<T> __IncompleteArrayField<T> {
+#[inline]
+pub const fn new() -> Self {
+__IncompleteArrayField(::core::marker::PhantomData, [])
+}
+#[inline]
+pub fn as_ptr(&self) -> *const T {
+self as *const _ as *const T
+}
+#[inline]
+pub fn as_mut_ptr(&mut self) -> *mut T {
+self as *mut _ as *mut T
+}
+#[inline]
+pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+::core::slice::from_raw_parts(self.as_ptr(), len)
+}
+#[inline]
+pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+}
+}
+impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__IncompleteArrayField")
+}
+}
+impl<T> __BindgenUnionField<T> {
+#[inline]
+pub const fn new() -> Self {
+__BindgenUnionField(::core::marker::PhantomData)
+}
+#[inline]
+pub unsafe fn as_ref(&self) -> &T {
+::core::mem::transmute(self)
+}
+#[inline]
+pub unsafe fn as_mut(&mut self) -> &mut T {
+::core::mem::transmute(self)
+}
+}
+impl<T> ::core::default::Default for __BindgenUnionField<T> {
+#[inline]
+fn default() -> Self {
+Self::new()
+}
+}
+impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
+#[inline]
+fn clone(&self) -> Self {
+Self::new()
+}
+}
+impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
+impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__BindgenUnionField")
+}
+}
+impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
+fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
+}
+impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
+fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
+true
+}
+}
+impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}
diff --git a/vendor/linux-raw-sys/src/riscv32/ioctl.rs b/vendor/linux-raw-sys/src/riscv32/ioctl.rs
new file mode 100644
index 0000000..286ed79
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/ioctl.rs
@@ -0,0 +1,3 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+
diff --git a/vendor/linux-raw-sys/src/riscv32/net.rs b/vendor/linux-raw-sys/src/riscv32/net.rs
new file mode 100644
index 0000000..247e63f
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/net.rs
@@ -0,0 +1,2427 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+pub type __kernel_sa_family_t = crate::ctypes::c_ushort;
+pub type socklen_t = crate::ctypes::c_uint;
+#[repr(C)]
+#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub struct __BindgenBitfieldUnit<Storage> {
+storage: Storage,
+}
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
+#[repr(C)]
+pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __kernel_sockaddr_storage {
+pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
+pub ss_family: __kernel_sa_family_t,
+pub __data: [crate::ctypes::c_char; 126usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct in_addr {
+pub s_addr: __be32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_mreq {
+pub imr_multiaddr: in_addr,
+pub imr_interface: in_addr,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_mreqn {
+pub imr_multiaddr: in_addr,
+pub imr_address: in_addr,
+pub imr_ifindex: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_mreq_source {
+pub imr_multiaddr: __be32,
+pub imr_interface: __be32,
+pub imr_sourceaddr: __be32,
+}
+#[repr(C)]
+pub struct ip_msfilter {
+pub imsf_multiaddr: __be32,
+pub imsf_interface: __be32,
+pub imsf_fmode: __u32,
+pub imsf_numsrc: __u32,
+pub __bindgen_anon_1: ip_msfilter__bindgen_ty_1,
+}
+#[repr(C)]
+pub struct ip_msfilter__bindgen_ty_1 {
+pub imsf_slist: __BindgenUnionField<[__be32; 1usize]>,
+pub __bindgen_anon_1: __BindgenUnionField<ip_msfilter__bindgen_ty_1__bindgen_ty_1>,
+pub bindgen_union_field: u32,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct ip_msfilter__bindgen_ty_1__bindgen_ty_1 {
+pub __empty_imsf_slist_flex: ip_msfilter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+pub imsf_slist_flex: __IncompleteArrayField<__be32>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_msfilter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct group_req {
+pub gr_interface: __u32,
+pub gr_group: __kernel_sockaddr_storage,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct group_source_req {
+pub gsr_interface: __u32,
+pub gsr_group: __kernel_sockaddr_storage,
+pub gsr_source: __kernel_sockaddr_storage,
+}
+#[repr(C)]
+pub struct group_filter {
+pub __bindgen_anon_1: group_filter__bindgen_ty_1,
+}
+#[repr(C)]
+pub struct group_filter__bindgen_ty_1 {
+pub __bindgen_anon_1: __BindgenUnionField<group_filter__bindgen_ty_1__bindgen_ty_1>,
+pub __bindgen_anon_2: __BindgenUnionField<group_filter__bindgen_ty_1__bindgen_ty_2>,
+pub bindgen_union_field: [u32; 67usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct group_filter__bindgen_ty_1__bindgen_ty_1 {
+pub gf_interface_aux: __u32,
+pub gf_group_aux: __kernel_sockaddr_storage,
+pub gf_fmode_aux: __u32,
+pub gf_numsrc_aux: __u32,
+pub gf_slist: [__kernel_sockaddr_storage; 1usize],
+}
+#[repr(C)]
+pub struct group_filter__bindgen_ty_1__bindgen_ty_2 {
+pub gf_interface: __u32,
+pub gf_group: __kernel_sockaddr_storage,
+pub gf_fmode: __u32,
+pub gf_numsrc: __u32,
+pub gf_slist_flex: __IncompleteArrayField<__kernel_sockaddr_storage>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct in_pktinfo {
+pub ipi_ifindex: crate::ctypes::c_int,
+pub ipi_spec_dst: in_addr,
+pub ipi_addr: in_addr,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sockaddr_in {
+pub sin_family: __kernel_sa_family_t,
+pub sin_port: __be16,
+pub sin_addr: in_addr,
+pub __pad: [crate::ctypes::c_uchar; 8usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct iphdr {
+pub _bitfield_align_1: [u8; 0],
+pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+pub tos: __u8,
+pub tot_len: __be16,
+pub id: __be16,
+pub frag_off: __be16,
+pub ttl: __u8,
+pub protocol: __u8,
+pub check: __sum16,
+pub __bindgen_anon_1: iphdr__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iphdr__bindgen_ty_1__bindgen_ty_1 {
+pub saddr: __be32,
+pub daddr: __be32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iphdr__bindgen_ty_1__bindgen_ty_2 {
+pub saddr: __be32,
+pub daddr: __be32,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct ip_auth_hdr {
+pub nexthdr: __u8,
+pub hdrlen: __u8,
+pub reserved: __be16,
+pub spi: __be32,
+pub seq_no: __be32,
+pub auth_data: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct ip_esp_hdr {
+pub spi: __be32,
+pub seq_no: __be32,
+pub enc_data: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_comp_hdr {
+pub nexthdr: __u8,
+pub flags: __u8,
+pub cpi: __be16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_beet_phdr {
+pub nexthdr: __u8,
+pub hdrlen: __u8,
+pub padlen: __u8,
+pub reserved: __u8,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct in6_addr {
+pub in6_u: in6_addr__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct sockaddr_in6 {
+pub sin6_family: crate::ctypes::c_ushort,
+pub sin6_port: __be16,
+pub sin6_flowinfo: __be32,
+pub sin6_addr: in6_addr,
+pub sin6_scope_id: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ipv6_mreq {
+pub ipv6mr_multiaddr: in6_addr,
+pub ipv6mr_ifindex: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct in6_flowlabel_req {
+pub flr_dst: in6_addr,
+pub flr_label: __be32,
+pub flr_action: __u8,
+pub flr_share: __u8,
+pub flr_flags: __u16,
+pub flr_expires: __u16,
+pub flr_linger: __u16,
+pub __flr_pad: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct in6_pktinfo {
+pub ipi6_addr: in6_addr,
+pub ipi6_ifindex: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ip6_mtuinfo {
+pub ip6m_addr: sockaddr_in6,
+pub ip6m_mtu: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct in6_ifreq {
+pub ifr6_addr: in6_addr,
+pub ifr6_prefixlen: __u32,
+pub ifr6_ifindex: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ipv6_rt_hdr {
+pub nexthdr: __u8,
+pub hdrlen: __u8,
+pub type_: __u8,
+pub segments_left: __u8,
+}
+#[repr(C, packed)]
+#[derive(Debug, Copy, Clone)]
+pub struct ipv6_opt_hdr {
+pub nexthdr: __u8,
+pub hdrlen: __u8,
+}
+#[repr(C)]
+pub struct rt0_hdr {
+pub rt_hdr: ipv6_rt_hdr,
+pub reserved: __u32,
+pub addr: __IncompleteArrayField<in6_addr>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct rt2_hdr {
+pub rt_hdr: ipv6_rt_hdr,
+pub reserved: __u32,
+pub addr: in6_addr,
+}
+#[repr(C, packed)]
+#[derive(Copy, Clone)]
+pub struct ipv6_destopt_hao {
+pub type_: __u8,
+pub length: __u8,
+pub addr: in6_addr,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ipv6hdr {
+pub _bitfield_align_1: [u8; 0],
+pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+pub flow_lbl: [__u8; 3usize],
+pub payload_len: __be16,
+pub nexthdr: __u8,
+pub hop_limit: __u8,
+pub __bindgen_anon_1: ipv6hdr__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ipv6hdr__bindgen_ty_1__bindgen_ty_1 {
+pub saddr: in6_addr,
+pub daddr: in6_addr,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ipv6hdr__bindgen_ty_1__bindgen_ty_2 {
+pub saddr: in6_addr,
+pub daddr: in6_addr,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcphdr {
+pub source: __be16,
+pub dest: __be16,
+pub seq: __be32,
+pub ack_seq: __be32,
+pub _bitfield_align_1: [u8; 0],
+pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
+pub window: __be16,
+pub check: __sum16,
+pub urg_ptr: __be16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcp_repair_opt {
+pub opt_code: __u32,
+pub opt_val: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcp_repair_window {
+pub snd_wl1: __u32,
+pub snd_wnd: __u32,
+pub max_window: __u32,
+pub rcv_wnd: __u32,
+pub rcv_wup: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcp_info {
+pub tcpi_state: __u8,
+pub tcpi_ca_state: __u8,
+pub tcpi_retransmits: __u8,
+pub tcpi_probes: __u8,
+pub tcpi_backoff: __u8,
+pub tcpi_options: __u8,
+pub _bitfield_align_1: [u8; 0],
+pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
+pub tcpi_rto: __u32,
+pub tcpi_ato: __u32,
+pub tcpi_snd_mss: __u32,
+pub tcpi_rcv_mss: __u32,
+pub tcpi_unacked: __u32,
+pub tcpi_sacked: __u32,
+pub tcpi_lost: __u32,
+pub tcpi_retrans: __u32,
+pub tcpi_fackets: __u32,
+pub tcpi_last_data_sent: __u32,
+pub tcpi_last_ack_sent: __u32,
+pub tcpi_last_data_recv: __u32,
+pub tcpi_last_ack_recv: __u32,
+pub tcpi_pmtu: __u32,
+pub tcpi_rcv_ssthresh: __u32,
+pub tcpi_rtt: __u32,
+pub tcpi_rttvar: __u32,
+pub tcpi_snd_ssthresh: __u32,
+pub tcpi_snd_cwnd: __u32,
+pub tcpi_advmss: __u32,
+pub tcpi_reordering: __u32,
+pub tcpi_rcv_rtt: __u32,
+pub tcpi_rcv_space: __u32,
+pub tcpi_total_retrans: __u32,
+pub tcpi_pacing_rate: __u64,
+pub tcpi_max_pacing_rate: __u64,
+pub tcpi_bytes_acked: __u64,
+pub tcpi_bytes_received: __u64,
+pub tcpi_segs_out: __u32,
+pub tcpi_segs_in: __u32,
+pub tcpi_notsent_bytes: __u32,
+pub tcpi_min_rtt: __u32,
+pub tcpi_data_segs_in: __u32,
+pub tcpi_data_segs_out: __u32,
+pub tcpi_delivery_rate: __u64,
+pub tcpi_busy_time: __u64,
+pub tcpi_rwnd_limited: __u64,
+pub tcpi_sndbuf_limited: __u64,
+pub tcpi_delivered: __u32,
+pub tcpi_delivered_ce: __u32,
+pub tcpi_bytes_sent: __u64,
+pub tcpi_bytes_retrans: __u64,
+pub tcpi_dsack_dups: __u32,
+pub tcpi_reord_seen: __u32,
+pub tcpi_rcv_ooopack: __u32,
+pub tcpi_snd_wnd: __u32,
+pub tcpi_rcv_wnd: __u32,
+pub tcpi_rehash: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct tcp_md5sig {
+pub tcpm_addr: __kernel_sockaddr_storage,
+pub tcpm_flags: __u8,
+pub tcpm_prefixlen: __u8,
+pub tcpm_keylen: __u16,
+pub tcpm_ifindex: crate::ctypes::c_int,
+pub tcpm_key: [__u8; 80usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcp_diag_md5sig {
+pub tcpm_family: __u8,
+pub tcpm_prefixlen: __u8,
+pub tcpm_keylen: __u16,
+pub tcpm_addr: [__be32; 4usize],
+pub tcpm_key: [__u8; 80usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcp_zerocopy_receive {
+pub address: __u64,
+pub length: __u32,
+pub recv_skip_hint: __u32,
+pub inq: __u32,
+pub err: __s32,
+pub copybuf_address: __u64,
+pub copybuf_len: __s32,
+pub flags: __u32,
+pub msg_control: __u64,
+pub msg_controllen: __u64,
+pub msg_flags: __u32,
+pub reserved: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sockaddr_un {
+pub sun_family: __kernel_sa_family_t,
+pub sun_path: [crate::ctypes::c_char; 108usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct sockaddr {
+pub __storage: __kernel_sockaddr_storage,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sync_serial_settings {
+pub clock_rate: crate::ctypes::c_uint,
+pub clock_type: crate::ctypes::c_uint,
+pub loopback: crate::ctypes::c_ushort,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct te1_settings {
+pub clock_rate: crate::ctypes::c_uint,
+pub clock_type: crate::ctypes::c_uint,
+pub loopback: crate::ctypes::c_ushort,
+pub slot_map: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct raw_hdlc_proto {
+pub encoding: crate::ctypes::c_ushort,
+pub parity: crate::ctypes::c_ushort,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fr_proto {
+pub t391: crate::ctypes::c_uint,
+pub t392: crate::ctypes::c_uint,
+pub n391: crate::ctypes::c_uint,
+pub n392: crate::ctypes::c_uint,
+pub n393: crate::ctypes::c_uint,
+pub lmi: crate::ctypes::c_ushort,
+pub dce: crate::ctypes::c_ushort,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fr_proto_pvc {
+pub dlci: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fr_proto_pvc_info {
+pub dlci: crate::ctypes::c_uint,
+pub master: [crate::ctypes::c_char; 16usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct cisco_proto {
+pub interval: crate::ctypes::c_uint,
+pub timeout: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct x25_hdlc_proto {
+pub dce: crate::ctypes::c_ushort,
+pub modulo: crate::ctypes::c_uint,
+pub window: crate::ctypes::c_uint,
+pub t1: crate::ctypes::c_uint,
+pub t2: crate::ctypes::c_uint,
+pub n2: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifmap {
+pub mem_start: crate::ctypes::c_ulong,
+pub mem_end: crate::ctypes::c_ulong,
+pub base_addr: crate::ctypes::c_ushort,
+pub irq: crate::ctypes::c_uchar,
+pub dma: crate::ctypes::c_uchar,
+pub port: crate::ctypes::c_uchar,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct if_settings {
+pub type_: crate::ctypes::c_uint,
+pub size: crate::ctypes::c_uint,
+pub ifs_ifsu: if_settings__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ifreq {
+pub ifr_ifrn: ifreq__bindgen_ty_1,
+pub ifr_ifru: ifreq__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ifconf {
+pub ifc_len: crate::ctypes::c_int,
+pub ifc_ifcu: ifconf__bindgen_ty_1,
+}
+#[repr(C)]
+pub struct xt_entry_match {
+pub u: xt_entry_match__bindgen_ty_1,
+pub data: __IncompleteArrayField<crate::ctypes::c_uchar>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_entry_match__bindgen_ty_1__bindgen_ty_1 {
+pub match_size: __u16,
+pub name: [crate::ctypes::c_char; 29usize],
+pub revision: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_entry_match__bindgen_ty_1__bindgen_ty_2 {
+pub match_size: __u16,
+pub match_: *mut xt_match,
+}
+#[repr(C)]
+pub struct xt_entry_target {
+pub u: xt_entry_target__bindgen_ty_1,
+pub data: __IncompleteArrayField<crate::ctypes::c_uchar>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_entry_target__bindgen_ty_1__bindgen_ty_1 {
+pub target_size: __u16,
+pub name: [crate::ctypes::c_char; 29usize],
+pub revision: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_entry_target__bindgen_ty_1__bindgen_ty_2 {
+pub target_size: __u16,
+pub target: *mut xt_target,
+}
+#[repr(C)]
+pub struct xt_standard_target {
+pub target: xt_entry_target,
+pub verdict: crate::ctypes::c_int,
+}
+#[repr(C)]
+pub struct xt_error_target {
+pub target: xt_entry_target,
+pub errorname: [crate::ctypes::c_char; 30usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_get_revision {
+pub name: [crate::ctypes::c_char; 29usize],
+pub revision: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _xt_align {
+pub u8_: __u8,
+pub u16_: __u16,
+pub u32_: __u32,
+pub u64_: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_counters {
+pub pcnt: __u64,
+pub bcnt: __u64,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct xt_counters_info {
+pub name: [crate::ctypes::c_char; 32usize],
+pub num_counters: crate::ctypes::c_uint,
+pub counters: __IncompleteArrayField<xt_counters>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_tcp {
+pub spts: [__u16; 2usize],
+pub dpts: [__u16; 2usize],
+pub option: __u8,
+pub flg_mask: __u8,
+pub flg_cmp: __u8,
+pub invflags: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_udp {
+pub spts: [__u16; 2usize],
+pub dpts: [__u16; 2usize],
+pub invflags: __u8,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ip6t_ip6 {
+pub src: in6_addr,
+pub dst: in6_addr,
+pub smsk: in6_addr,
+pub dmsk: in6_addr,
+pub iniface: [crate::ctypes::c_char; 16usize],
+pub outiface: [crate::ctypes::c_char; 16usize],
+pub iniface_mask: [crate::ctypes::c_uchar; 16usize],
+pub outiface_mask: [crate::ctypes::c_uchar; 16usize],
+pub proto: __u16,
+pub tos: __u8,
+pub flags: __u8,
+pub invflags: __u8,
+}
+#[repr(C)]
+pub struct ip6t_entry {
+pub ipv6: ip6t_ip6,
+pub nfcache: crate::ctypes::c_uint,
+pub target_offset: __u16,
+pub next_offset: __u16,
+pub comefrom: crate::ctypes::c_uint,
+pub counters: xt_counters,
+pub elems: __IncompleteArrayField<crate::ctypes::c_uchar>,
+}
+#[repr(C)]
+pub struct ip6t_standard {
+pub entry: ip6t_entry,
+pub target: xt_standard_target,
+}
+#[repr(C)]
+pub struct ip6t_error {
+pub entry: ip6t_entry,
+pub target: xt_error_target,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip6t_icmp {
+pub type_: __u8,
+pub code: [__u8; 2usize],
+pub invflags: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip6t_getinfo {
+pub name: [crate::ctypes::c_char; 32usize],
+pub valid_hooks: crate::ctypes::c_uint,
+pub hook_entry: [crate::ctypes::c_uint; 5usize],
+pub underflow: [crate::ctypes::c_uint; 5usize],
+pub num_entries: crate::ctypes::c_uint,
+pub size: crate::ctypes::c_uint,
+}
+#[repr(C)]
+pub struct ip6t_replace {
+pub name: [crate::ctypes::c_char; 32usize],
+pub valid_hooks: crate::ctypes::c_uint,
+pub num_entries: crate::ctypes::c_uint,
+pub size: crate::ctypes::c_uint,
+pub hook_entry: [crate::ctypes::c_uint; 5usize],
+pub underflow: [crate::ctypes::c_uint; 5usize],
+pub num_counters: crate::ctypes::c_uint,
+pub counters: *mut xt_counters,
+pub entries: __IncompleteArrayField<ip6t_entry>,
+}
+#[repr(C)]
+pub struct ip6t_get_entries {
+pub name: [crate::ctypes::c_char; 32usize],
+pub size: crate::ctypes::c_uint,
+pub entrytable: __IncompleteArrayField<ip6t_entry>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct linger {
+pub l_onoff: crate::ctypes::c_int,
+pub l_linger: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct msghdr {
+pub msg_name: *mut crate::ctypes::c_void,
+pub msg_namelen: crate::ctypes::c_int,
+pub msg_iov: *mut iovec,
+pub msg_iovlen: usize,
+pub msg_control: *mut crate::ctypes::c_void,
+pub msg_controllen: usize,
+pub msg_flags: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct cmsghdr {
+pub cmsg_len: usize,
+pub cmsg_level: crate::ctypes::c_int,
+pub cmsg_type: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ucred {
+pub pid: __u32,
+pub uid: __u32,
+pub gid: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct mmsghdr {
+pub msg_hdr: msghdr,
+pub msg_len: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_match {
+pub _address: u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct xt_target {
+pub _address: u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iovec {
+pub _address: u8,
+}
+pub const _K_SS_MAXSIZE: u32 = 128;
+pub const SOCK_SNDBUF_LOCK: u32 = 1;
+pub const SOCK_RCVBUF_LOCK: u32 = 2;
+pub const SOCK_BUF_LOCK_MASK: u32 = 3;
+pub const SOCK_TXREHASH_DEFAULT: u32 = 255;
+pub const SOCK_TXREHASH_DISABLED: u32 = 0;
+pub const SOCK_TXREHASH_ENABLED: u32 = 1;
+pub const IP_TOS: u32 = 1;
+pub const IP_TTL: u32 = 2;
+pub const IP_HDRINCL: u32 = 3;
+pub const IP_OPTIONS: u32 = 4;
+pub const IP_ROUTER_ALERT: u32 = 5;
+pub const IP_RECVOPTS: u32 = 6;
+pub const IP_RETOPTS: u32 = 7;
+pub const IP_PKTINFO: u32 = 8;
+pub const IP_PKTOPTIONS: u32 = 9;
+pub const IP_MTU_DISCOVER: u32 = 10;
+pub const IP_RECVERR: u32 = 11;
+pub const IP_RECVTTL: u32 = 12;
+pub const IP_RECVTOS: u32 = 13;
+pub const IP_MTU: u32 = 14;
+pub const IP_FREEBIND: u32 = 15;
+pub const IP_IPSEC_POLICY: u32 = 16;
+pub const IP_XFRM_POLICY: u32 = 17;
+pub const IP_PASSSEC: u32 = 18;
+pub const IP_TRANSPARENT: u32 = 19;
+pub const IP_RECVRETOPTS: u32 = 7;
+pub const IP_ORIGDSTADDR: u32 = 20;
+pub const IP_RECVORIGDSTADDR: u32 = 20;
+pub const IP_MINTTL: u32 = 21;
+pub const IP_NODEFRAG: u32 = 22;
+pub const IP_CHECKSUM: u32 = 23;
+pub const IP_BIND_ADDRESS_NO_PORT: u32 = 24;
+pub const IP_RECVFRAGSIZE: u32 = 25;
+pub const IP_RECVERR_RFC4884: u32 = 26;
+pub const IP_PMTUDISC_DONT: u32 = 0;
+pub const IP_PMTUDISC_WANT: u32 = 1;
+pub const IP_PMTUDISC_DO: u32 = 2;
+pub const IP_PMTUDISC_PROBE: u32 = 3;
+pub const IP_PMTUDISC_INTERFACE: u32 = 4;
+pub const IP_PMTUDISC_OMIT: u32 = 5;
+pub const IP_MULTICAST_IF: u32 = 32;
+pub const IP_MULTICAST_TTL: u32 = 33;
+pub const IP_MULTICAST_LOOP: u32 = 34;
+pub const IP_ADD_MEMBERSHIP: u32 = 35;
+pub const IP_DROP_MEMBERSHIP: u32 = 36;
+pub const IP_UNBLOCK_SOURCE: u32 = 37;
+pub const IP_BLOCK_SOURCE: u32 = 38;
+pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 39;
+pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 40;
+pub const IP_MSFILTER: u32 = 41;
+pub const MCAST_JOIN_GROUP: u32 = 42;
+pub const MCAST_BLOCK_SOURCE: u32 = 43;
+pub const MCAST_UNBLOCK_SOURCE: u32 = 44;
+pub const MCAST_LEAVE_GROUP: u32 = 45;
+pub const MCAST_JOIN_SOURCE_GROUP: u32 = 46;
+pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 47;
+pub const MCAST_MSFILTER: u32 = 48;
+pub const IP_MULTICAST_ALL: u32 = 49;
+pub const IP_UNICAST_IF: u32 = 50;
+pub const IP_LOCAL_PORT_RANGE: u32 = 51;
+pub const MCAST_EXCLUDE: u32 = 0;
+pub const MCAST_INCLUDE: u32 = 1;
+pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1;
+pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1;
+pub const __SOCK_SIZE__: u32 = 16;
+pub const IN_CLASSA_NET: u32 = 4278190080;
+pub const IN_CLASSA_NSHIFT: u32 = 24;
+pub const IN_CLASSA_HOST: u32 = 16777215;
+pub const IN_CLASSA_MAX: u32 = 128;
+pub const IN_CLASSB_NET: u32 = 4294901760;
+pub const IN_CLASSB_NSHIFT: u32 = 16;
+pub const IN_CLASSB_HOST: u32 = 65535;
+pub const IN_CLASSB_MAX: u32 = 65536;
+pub const IN_CLASSC_NET: u32 = 4294967040;
+pub const IN_CLASSC_NSHIFT: u32 = 8;
+pub const IN_CLASSC_HOST: u32 = 255;
+pub const IN_MULTICAST_NET: u32 = 3758096384;
+pub const IN_CLASSE_NET: u32 = 4294967295;
+pub const IN_CLASSE_NSHIFT: u32 = 0;
+pub const IN_LOOPBACKNET: u32 = 127;
+pub const INADDR_LOOPBACK: u32 = 2130706433;
+pub const INADDR_UNSPEC_GROUP: u32 = 3758096384;
+pub const INADDR_ALLHOSTS_GROUP: u32 = 3758096385;
+pub const INADDR_ALLRTRS_GROUP: u32 = 3758096386;
+pub const INADDR_ALLSNOOPERS_GROUP: u32 = 3758096490;
+pub const INADDR_MAX_LOCAL_GROUP: u32 = 3758096639;
+pub const __LITTLE_ENDIAN: u32 = 1234;
+pub const IPTOS_TOS_MASK: u32 = 30;
+pub const IPTOS_LOWDELAY: u32 = 16;
+pub const IPTOS_THROUGHPUT: u32 = 8;
+pub const IPTOS_RELIABILITY: u32 = 4;
+pub const IPTOS_MINCOST: u32 = 2;
+pub const IPTOS_PREC_MASK: u32 = 224;
+pub const IPTOS_PREC_NETCONTROL: u32 = 224;
+pub const IPTOS_PREC_INTERNETCONTROL: u32 = 192;
+pub const IPTOS_PREC_CRITIC_ECP: u32 = 160;
+pub const IPTOS_PREC_FLASHOVERRIDE: u32 = 128;
+pub const IPTOS_PREC_FLASH: u32 = 96;
+pub const IPTOS_PREC_IMMEDIATE: u32 = 64;
+pub const IPTOS_PREC_PRIORITY: u32 = 32;
+pub const IPTOS_PREC_ROUTINE: u32 = 0;
+pub const IPOPT_COPY: u32 = 128;
+pub const IPOPT_CLASS_MASK: u32 = 96;
+pub const IPOPT_NUMBER_MASK: u32 = 31;
+pub const IPOPT_CONTROL: u32 = 0;
+pub const IPOPT_RESERVED1: u32 = 32;
+pub const IPOPT_MEASUREMENT: u32 = 64;
+pub const IPOPT_RESERVED2: u32 = 96;
+pub const IPOPT_END: u32 = 0;
+pub const IPOPT_NOOP: u32 = 1;
+pub const IPOPT_SEC: u32 = 130;
+pub const IPOPT_LSRR: u32 = 131;
+pub const IPOPT_TIMESTAMP: u32 = 68;
+pub const IPOPT_CIPSO: u32 = 134;
+pub const IPOPT_RR: u32 = 7;
+pub const IPOPT_SID: u32 = 136;
+pub const IPOPT_SSRR: u32 = 137;
+pub const IPOPT_RA: u32 = 148;
+pub const IPVERSION: u32 = 4;
+pub const MAXTTL: u32 = 255;
+pub const IPDEFTTL: u32 = 64;
+pub const IPOPT_OPTVAL: u32 = 0;
+pub const IPOPT_OLEN: u32 = 1;
+pub const IPOPT_OFFSET: u32 = 2;
+pub const IPOPT_MINOFF: u32 = 4;
+pub const MAX_IPOPTLEN: u32 = 40;
+pub const IPOPT_NOP: u32 = 1;
+pub const IPOPT_EOL: u32 = 0;
+pub const IPOPT_TS: u32 = 68;
+pub const IPOPT_TS_TSONLY: u32 = 0;
+pub const IPOPT_TS_TSANDADDR: u32 = 1;
+pub const IPOPT_TS_PRESPEC: u32 = 3;
+pub const IPV4_BEET_PHMAXLEN: u32 = 8;
+pub const IPV6_FL_A_GET: u32 = 0;
+pub const IPV6_FL_A_PUT: u32 = 1;
+pub const IPV6_FL_A_RENEW: u32 = 2;
+pub const IPV6_FL_F_CREATE: u32 = 1;
+pub const IPV6_FL_F_EXCL: u32 = 2;
+pub const IPV6_FL_F_REFLECT: u32 = 4;
+pub const IPV6_FL_F_REMOTE: u32 = 8;
+pub const IPV6_FL_S_NONE: u32 = 0;
+pub const IPV6_FL_S_EXCL: u32 = 1;
+pub const IPV6_FL_S_PROCESS: u32 = 2;
+pub const IPV6_FL_S_USER: u32 = 3;
+pub const IPV6_FL_S_ANY: u32 = 255;
+pub const IPV6_FLOWINFO_FLOWLABEL: u32 = 1048575;
+pub const IPV6_FLOWINFO_PRIORITY: u32 = 267386880;
+pub const IPV6_PRIORITY_UNCHARACTERIZED: u32 = 0;
+pub const IPV6_PRIORITY_FILLER: u32 = 256;
+pub const IPV6_PRIORITY_UNATTENDED: u32 = 512;
+pub const IPV6_PRIORITY_RESERVED1: u32 = 768;
+pub const IPV6_PRIORITY_BULK: u32 = 1024;
+pub const IPV6_PRIORITY_RESERVED2: u32 = 1280;
+pub const IPV6_PRIORITY_INTERACTIVE: u32 = 1536;
+pub const IPV6_PRIORITY_CONTROL: u32 = 1792;
+pub const IPV6_PRIORITY_8: u32 = 2048;
+pub const IPV6_PRIORITY_9: u32 = 2304;
+pub const IPV6_PRIORITY_10: u32 = 2560;
+pub const IPV6_PRIORITY_11: u32 = 2816;
+pub const IPV6_PRIORITY_12: u32 = 3072;
+pub const IPV6_PRIORITY_13: u32 = 3328;
+pub const IPV6_PRIORITY_14: u32 = 3584;
+pub const IPV6_PRIORITY_15: u32 = 3840;
+pub const IPPROTO_HOPOPTS: u32 = 0;
+pub const IPPROTO_ROUTING: u32 = 43;
+pub const IPPROTO_FRAGMENT: u32 = 44;
+pub const IPPROTO_ICMPV6: u32 = 58;
+pub const IPPROTO_NONE: u32 = 59;
+pub const IPPROTO_DSTOPTS: u32 = 60;
+pub const IPPROTO_MH: u32 = 135;
+pub const IPV6_TLV_PAD1: u32 = 0;
+pub const IPV6_TLV_PADN: u32 = 1;
+pub const IPV6_TLV_ROUTERALERT: u32 = 5;
+pub const IPV6_TLV_CALIPSO: u32 = 7;
+pub const IPV6_TLV_IOAM: u32 = 49;
+pub const IPV6_TLV_JUMBO: u32 = 194;
+pub const IPV6_TLV_HAO: u32 = 201;
+pub const IPV6_ADDRFORM: u32 = 1;
+pub const IPV6_2292PKTINFO: u32 = 2;
+pub const IPV6_2292HOPOPTS: u32 = 3;
+pub const IPV6_2292DSTOPTS: u32 = 4;
+pub const IPV6_2292RTHDR: u32 = 5;
+pub const IPV6_2292PKTOPTIONS: u32 = 6;
+pub const IPV6_CHECKSUM: u32 = 7;
+pub const IPV6_2292HOPLIMIT: u32 = 8;
+pub const IPV6_NEXTHOP: u32 = 9;
+pub const IPV6_AUTHHDR: u32 = 10;
+pub const IPV6_FLOWINFO: u32 = 11;
+pub const IPV6_UNICAST_HOPS: u32 = 16;
+pub const IPV6_MULTICAST_IF: u32 = 17;
+pub const IPV6_MULTICAST_HOPS: u32 = 18;
+pub const IPV6_MULTICAST_LOOP: u32 = 19;
+pub const IPV6_ADD_MEMBERSHIP: u32 = 20;
+pub const IPV6_DROP_MEMBERSHIP: u32 = 21;
+pub const IPV6_ROUTER_ALERT: u32 = 22;
+pub const IPV6_MTU_DISCOVER: u32 = 23;
+pub const IPV6_MTU: u32 = 24;
+pub const IPV6_RECVERR: u32 = 25;
+pub const IPV6_V6ONLY: u32 = 26;
+pub const IPV6_JOIN_ANYCAST: u32 = 27;
+pub const IPV6_LEAVE_ANYCAST: u32 = 28;
+pub const IPV6_MULTICAST_ALL: u32 = 29;
+pub const IPV6_ROUTER_ALERT_ISOLATE: u32 = 30;
+pub const IPV6_RECVERR_RFC4884: u32 = 31;
+pub const IPV6_PMTUDISC_DONT: u32 = 0;
+pub const IPV6_PMTUDISC_WANT: u32 = 1;
+pub const IPV6_PMTUDISC_DO: u32 = 2;
+pub const IPV6_PMTUDISC_PROBE: u32 = 3;
+pub const IPV6_PMTUDISC_INTERFACE: u32 = 4;
+pub const IPV6_PMTUDISC_OMIT: u32 = 5;
+pub const IPV6_FLOWLABEL_MGR: u32 = 32;
+pub const IPV6_FLOWINFO_SEND: u32 = 33;
+pub const IPV6_IPSEC_POLICY: u32 = 34;
+pub const IPV6_XFRM_POLICY: u32 = 35;
+pub const IPV6_HDRINCL: u32 = 36;
+pub const IPV6_RECVPKTINFO: u32 = 49;
+pub const IPV6_PKTINFO: u32 = 50;
+pub const IPV6_RECVHOPLIMIT: u32 = 51;
+pub const IPV6_HOPLIMIT: u32 = 52;
+pub const IPV6_RECVHOPOPTS: u32 = 53;
+pub const IPV6_HOPOPTS: u32 = 54;
+pub const IPV6_RTHDRDSTOPTS: u32 = 55;
+pub const IPV6_RECVRTHDR: u32 = 56;
+pub const IPV6_RTHDR: u32 = 57;
+pub const IPV6_RECVDSTOPTS: u32 = 58;
+pub const IPV6_DSTOPTS: u32 = 59;
+pub const IPV6_RECVPATHMTU: u32 = 60;
+pub const IPV6_PATHMTU: u32 = 61;
+pub const IPV6_DONTFRAG: u32 = 62;
+pub const IPV6_RECVTCLASS: u32 = 66;
+pub const IPV6_TCLASS: u32 = 67;
+pub const IPV6_AUTOFLOWLABEL: u32 = 70;
+pub const IPV6_ADDR_PREFERENCES: u32 = 72;
+pub const IPV6_PREFER_SRC_TMP: u32 = 1;
+pub const IPV6_PREFER_SRC_PUBLIC: u32 = 2;
+pub const IPV6_PREFER_SRC_PUBTMP_DEFAULT: u32 = 256;
+pub const IPV6_PREFER_SRC_COA: u32 = 4;
+pub const IPV6_PREFER_SRC_HOME: u32 = 1024;
+pub const IPV6_PREFER_SRC_CGA: u32 = 8;
+pub const IPV6_PREFER_SRC_NONCGA: u32 = 2048;
+pub const IPV6_MINHOPCOUNT: u32 = 73;
+pub const IPV6_ORIGDSTADDR: u32 = 74;
+pub const IPV6_RECVORIGDSTADDR: u32 = 74;
+pub const IPV6_TRANSPARENT: u32 = 75;
+pub const IPV6_UNICAST_IF: u32 = 76;
+pub const IPV6_RECVFRAGSIZE: u32 = 77;
+pub const IPV6_FREEBIND: u32 = 78;
+pub const IPV6_MIN_MTU: u32 = 1280;
+pub const IPV6_SRCRT_STRICT: u32 = 1;
+pub const IPV6_SRCRT_TYPE_0: u32 = 0;
+pub const IPV6_SRCRT_TYPE_2: u32 = 2;
+pub const IPV6_SRCRT_TYPE_3: u32 = 3;
+pub const IPV6_SRCRT_TYPE_4: u32 = 4;
+pub const IPV6_OPT_ROUTERALERT_MLD: u32 = 0;
+pub const SIOCGSTAMP_OLD: u32 = 35078;
+pub const SIOCGSTAMPNS_OLD: u32 = 35079;
+pub const SOL_SOCKET: u32 = 1;
+pub const SO_DEBUG: u32 = 1;
+pub const SO_REUSEADDR: u32 = 2;
+pub const SO_TYPE: u32 = 3;
+pub const SO_ERROR: u32 = 4;
+pub const SO_DONTROUTE: u32 = 5;
+pub const SO_BROADCAST: u32 = 6;
+pub const SO_SNDBUF: u32 = 7;
+pub const SO_RCVBUF: u32 = 8;
+pub const SO_SNDBUFFORCE: u32 = 32;
+pub const SO_RCVBUFFORCE: u32 = 33;
+pub const SO_KEEPALIVE: u32 = 9;
+pub const SO_OOBINLINE: u32 = 10;
+pub const SO_NO_CHECK: u32 = 11;
+pub const SO_PRIORITY: u32 = 12;
+pub const SO_LINGER: u32 = 13;
+pub const SO_BSDCOMPAT: u32 = 14;
+pub const SO_REUSEPORT: u32 = 15;
+pub const SO_PASSCRED: u32 = 16;
+pub const SO_PEERCRED: u32 = 17;
+pub const SO_RCVLOWAT: u32 = 18;
+pub const SO_SNDLOWAT: u32 = 19;
+pub const SO_RCVTIMEO_OLD: u32 = 20;
+pub const SO_SNDTIMEO_OLD: u32 = 21;
+pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
+pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
+pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
+pub const SO_BINDTODEVICE: u32 = 25;
+pub const SO_ATTACH_FILTER: u32 = 26;
+pub const SO_DETACH_FILTER: u32 = 27;
+pub const SO_GET_FILTER: u32 = 26;
+pub const SO_PEERNAME: u32 = 28;
+pub const SO_ACCEPTCONN: u32 = 30;
+pub const SO_PEERSEC: u32 = 31;
+pub const SO_PASSSEC: u32 = 34;
+pub const SO_MARK: u32 = 36;
+pub const SO_PROTOCOL: u32 = 38;
+pub const SO_DOMAIN: u32 = 39;
+pub const SO_RXQ_OVFL: u32 = 40;
+pub const SO_WIFI_STATUS: u32 = 41;
+pub const SCM_WIFI_STATUS: u32 = 41;
+pub const SO_PEEK_OFF: u32 = 42;
+pub const SO_NOFCS: u32 = 43;
+pub const SO_LOCK_FILTER: u32 = 44;
+pub const SO_SELECT_ERR_QUEUE: u32 = 45;
+pub const SO_BUSY_POLL: u32 = 46;
+pub const SO_MAX_PACING_RATE: u32 = 47;
+pub const SO_BPF_EXTENSIONS: u32 = 48;
+pub const SO_INCOMING_CPU: u32 = 49;
+pub const SO_ATTACH_BPF: u32 = 50;
+pub const SO_DETACH_BPF: u32 = 27;
+pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
+pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
+pub const SO_CNX_ADVICE: u32 = 53;
+pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
+pub const SO_MEMINFO: u32 = 55;
+pub const SO_INCOMING_NAPI_ID: u32 = 56;
+pub const SO_COOKIE: u32 = 57;
+pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
+pub const SO_PEERGROUPS: u32 = 59;
+pub const SO_ZEROCOPY: u32 = 60;
+pub const SO_TXTIME: u32 = 61;
+pub const SCM_TXTIME: u32 = 61;
+pub const SO_BINDTOIFINDEX: u32 = 62;
+pub const SO_TIMESTAMP_OLD: u32 = 29;
+pub const SO_TIMESTAMPNS_OLD: u32 = 35;
+pub const SO_TIMESTAMPING_OLD: u32 = 37;
+pub const SO_TIMESTAMP_NEW: u32 = 63;
+pub const SO_TIMESTAMPNS_NEW: u32 = 64;
+pub const SO_TIMESTAMPING_NEW: u32 = 65;
+pub const SO_RCVTIMEO_NEW: u32 = 66;
+pub const SO_SNDTIMEO_NEW: u32 = 67;
+pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
+pub const SO_PREFER_BUSY_POLL: u32 = 69;
+pub const SO_BUSY_POLL_BUDGET: u32 = 70;
+pub const SO_NETNS_COOKIE: u32 = 71;
+pub const SO_BUF_LOCK: u32 = 72;
+pub const SO_RESERVE_MEM: u32 = 73;
+pub const SO_TXREHASH: u32 = 74;
+pub const SO_RCVMARK: u32 = 75;
+pub const SYS_SOCKET: u32 = 1;
+pub const SYS_BIND: u32 = 2;
+pub const SYS_CONNECT: u32 = 3;
+pub const SYS_LISTEN: u32 = 4;
+pub const SYS_ACCEPT: u32 = 5;
+pub const SYS_GETSOCKNAME: u32 = 6;
+pub const SYS_GETPEERNAME: u32 = 7;
+pub const SYS_SOCKETPAIR: u32 = 8;
+pub const SYS_SEND: u32 = 9;
+pub const SYS_RECV: u32 = 10;
+pub const SYS_SENDTO: u32 = 11;
+pub const SYS_RECVFROM: u32 = 12;
+pub const SYS_SHUTDOWN: u32 = 13;
+pub const SYS_SETSOCKOPT: u32 = 14;
+pub const SYS_GETSOCKOPT: u32 = 15;
+pub const SYS_SENDMSG: u32 = 16;
+pub const SYS_RECVMSG: u32 = 17;
+pub const SYS_ACCEPT4: u32 = 18;
+pub const SYS_RECVMMSG: u32 = 19;
+pub const SYS_SENDMMSG: u32 = 20;
+pub const __SO_ACCEPTCON: u32 = 65536;
+pub const TCP_MSS_DEFAULT: u32 = 536;
+pub const TCP_MSS_DESIRED: u32 = 1220;
+pub const TCP_NODELAY: u32 = 1;
+pub const TCP_MAXSEG: u32 = 2;
+pub const TCP_CORK: u32 = 3;
+pub const TCP_KEEPIDLE: u32 = 4;
+pub const TCP_KEEPINTVL: u32 = 5;
+pub const TCP_KEEPCNT: u32 = 6;
+pub const TCP_SYNCNT: u32 = 7;
+pub const TCP_LINGER2: u32 = 8;
+pub const TCP_DEFER_ACCEPT: u32 = 9;
+pub const TCP_WINDOW_CLAMP: u32 = 10;
+pub const TCP_INFO: u32 = 11;
+pub const TCP_QUICKACK: u32 = 12;
+pub const TCP_CONGESTION: u32 = 13;
+pub const TCP_MD5SIG: u32 = 14;
+pub const TCP_THIN_LINEAR_TIMEOUTS: u32 = 16;
+pub const TCP_THIN_DUPACK: u32 = 17;
+pub const TCP_USER_TIMEOUT: u32 = 18;
+pub const TCP_REPAIR: u32 = 19;
+pub const TCP_REPAIR_QUEUE: u32 = 20;
+pub const TCP_QUEUE_SEQ: u32 = 21;
+pub const TCP_REPAIR_OPTIONS: u32 = 22;
+pub const TCP_FASTOPEN: u32 = 23;
+pub const TCP_TIMESTAMP: u32 = 24;
+pub const TCP_NOTSENT_LOWAT: u32 = 25;
+pub const TCP_CC_INFO: u32 = 26;
+pub const TCP_SAVE_SYN: u32 = 27;
+pub const TCP_SAVED_SYN: u32 = 28;
+pub const TCP_REPAIR_WINDOW: u32 = 29;
+pub const TCP_FASTOPEN_CONNECT: u32 = 30;
+pub const TCP_ULP: u32 = 31;
+pub const TCP_MD5SIG_EXT: u32 = 32;
+pub const TCP_FASTOPEN_KEY: u32 = 33;
+pub const TCP_FASTOPEN_NO_COOKIE: u32 = 34;
+pub const TCP_ZEROCOPY_RECEIVE: u32 = 35;
+pub const TCP_INQ: u32 = 36;
+pub const TCP_CM_INQ: u32 = 36;
+pub const TCP_TX_DELAY: u32 = 37;
+pub const TCP_REPAIR_ON: u32 = 1;
+pub const TCP_REPAIR_OFF: u32 = 0;
+pub const TCP_REPAIR_OFF_NO_WP: i32 = -1;
+pub const TCPI_OPT_TIMESTAMPS: u32 = 1;
+pub const TCPI_OPT_SACK: u32 = 2;
+pub const TCPI_OPT_WSCALE: u32 = 4;
+pub const TCPI_OPT_ECN: u32 = 8;
+pub const TCPI_OPT_ECN_SEEN: u32 = 16;
+pub const TCPI_OPT_SYN_DATA: u32 = 32;
+pub const TCP_MD5SIG_MAXKEYLEN: u32 = 80;
+pub const TCP_MD5SIG_FLAG_PREFIX: u32 = 1;
+pub const TCP_MD5SIG_FLAG_IFINDEX: u32 = 2;
+pub const TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT: u32 = 1;
+pub const UNIX_PATH_MAX: u32 = 108;
+pub const IFNAMSIZ: u32 = 16;
+pub const IFALIASZ: u32 = 256;
+pub const ALTIFNAMSIZ: u32 = 128;
+pub const GENERIC_HDLC_VERSION: u32 = 4;
+pub const CLOCK_DEFAULT: u32 = 0;
+pub const CLOCK_EXT: u32 = 1;
+pub const CLOCK_INT: u32 = 2;
+pub const CLOCK_TXINT: u32 = 3;
+pub const CLOCK_TXFROMRX: u32 = 4;
+pub const ENCODING_DEFAULT: u32 = 0;
+pub const ENCODING_NRZ: u32 = 1;
+pub const ENCODING_NRZI: u32 = 2;
+pub const ENCODING_FM_MARK: u32 = 3;
+pub const ENCODING_FM_SPACE: u32 = 4;
+pub const ENCODING_MANCHESTER: u32 = 5;
+pub const PARITY_DEFAULT: u32 = 0;
+pub const PARITY_NONE: u32 = 1;
+pub const PARITY_CRC16_PR0: u32 = 2;
+pub const PARITY_CRC16_PR1: u32 = 3;
+pub const PARITY_CRC16_PR0_CCITT: u32 = 4;
+pub const PARITY_CRC16_PR1_CCITT: u32 = 5;
+pub const PARITY_CRC32_PR0_CCITT: u32 = 6;
+pub const PARITY_CRC32_PR1_CCITT: u32 = 7;
+pub const LMI_DEFAULT: u32 = 0;
+pub const LMI_NONE: u32 = 1;
+pub const LMI_ANSI: u32 = 2;
+pub const LMI_CCITT: u32 = 3;
+pub const LMI_CISCO: u32 = 4;
+pub const IF_GET_IFACE: u32 = 1;
+pub const IF_GET_PROTO: u32 = 2;
+pub const IF_IFACE_V35: u32 = 4096;
+pub const IF_IFACE_V24: u32 = 4097;
+pub const IF_IFACE_X21: u32 = 4098;
+pub const IF_IFACE_T1: u32 = 4099;
+pub const IF_IFACE_E1: u32 = 4100;
+pub const IF_IFACE_SYNC_SERIAL: u32 = 4101;
+pub const IF_IFACE_X21D: u32 = 4102;
+pub const IF_PROTO_HDLC: u32 = 8192;
+pub const IF_PROTO_PPP: u32 = 8193;
+pub const IF_PROTO_CISCO: u32 = 8194;
+pub const IF_PROTO_FR: u32 = 8195;
+pub const IF_PROTO_FR_ADD_PVC: u32 = 8196;
+pub const IF_PROTO_FR_DEL_PVC: u32 = 8197;
+pub const IF_PROTO_X25: u32 = 8198;
+pub const IF_PROTO_HDLC_ETH: u32 = 8199;
+pub const IF_PROTO_FR_ADD_ETH_PVC: u32 = 8200;
+pub const IF_PROTO_FR_DEL_ETH_PVC: u32 = 8201;
+pub const IF_PROTO_FR_PVC: u32 = 8202;
+pub const IF_PROTO_FR_ETH_PVC: u32 = 8203;
+pub const IF_PROTO_RAW: u32 = 8204;
+pub const IFHWADDRLEN: u32 = 6;
+pub const NF_DROP: u32 = 0;
+pub const NF_ACCEPT: u32 = 1;
+pub const NF_STOLEN: u32 = 2;
+pub const NF_QUEUE: u32 = 3;
+pub const NF_REPEAT: u32 = 4;
+pub const NF_STOP: u32 = 5;
+pub const NF_MAX_VERDICT: u32 = 5;
+pub const NF_VERDICT_MASK: u32 = 255;
+pub const NF_VERDICT_FLAG_QUEUE_BYPASS: u32 = 32768;
+pub const NF_VERDICT_QMASK: u32 = 4294901760;
+pub const NF_VERDICT_QBITS: u32 = 16;
+pub const NF_VERDICT_BITS: u32 = 16;
+pub const NF_IP6_PRE_ROUTING: u32 = 0;
+pub const NF_IP6_LOCAL_IN: u32 = 1;
+pub const NF_IP6_FORWARD: u32 = 2;
+pub const NF_IP6_LOCAL_OUT: u32 = 3;
+pub const NF_IP6_POST_ROUTING: u32 = 4;
+pub const NF_IP6_NUMHOOKS: u32 = 5;
+pub const XT_FUNCTION_MAXNAMELEN: u32 = 30;
+pub const XT_EXTENSION_MAXNAMELEN: u32 = 29;
+pub const XT_TABLE_MAXNAMELEN: u32 = 32;
+pub const XT_CONTINUE: u32 = 4294967295;
+pub const XT_RETURN: i32 = -5;
+pub const XT_STANDARD_TARGET: &[u8; 1] = b"\0";
+pub const XT_ERROR_TARGET: &[u8; 6] = b"ERROR\0";
+pub const XT_INV_PROTO: u32 = 64;
+pub const IP6T_FUNCTION_MAXNAMELEN: u32 = 30;
+pub const IP6T_TABLE_MAXNAMELEN: u32 = 32;
+pub const IP6T_CONTINUE: u32 = 4294967295;
+pub const IP6T_RETURN: i32 = -5;
+pub const XT_TCP_INV_SRCPT: u32 = 1;
+pub const XT_TCP_INV_DSTPT: u32 = 2;
+pub const XT_TCP_INV_FLAGS: u32 = 4;
+pub const XT_TCP_INV_OPTION: u32 = 8;
+pub const XT_TCP_INV_MASK: u32 = 15;
+pub const XT_UDP_INV_SRCPT: u32 = 1;
+pub const XT_UDP_INV_DSTPT: u32 = 2;
+pub const XT_UDP_INV_MASK: u32 = 3;
+pub const IP6T_TCP_INV_SRCPT: u32 = 1;
+pub const IP6T_TCP_INV_DSTPT: u32 = 2;
+pub const IP6T_TCP_INV_FLAGS: u32 = 4;
+pub const IP6T_TCP_INV_OPTION: u32 = 8;
+pub const IP6T_TCP_INV_MASK: u32 = 15;
+pub const IP6T_UDP_INV_SRCPT: u32 = 1;
+pub const IP6T_UDP_INV_DSTPT: u32 = 2;
+pub const IP6T_UDP_INV_MASK: u32 = 3;
+pub const IP6T_STANDARD_TARGET: &[u8; 1] = b"\0";
+pub const IP6T_ERROR_TARGET: &[u8; 6] = b"ERROR\0";
+pub const IP6T_F_PROTO: u32 = 1;
+pub const IP6T_F_TOS: u32 = 2;
+pub const IP6T_F_GOTO: u32 = 4;
+pub const IP6T_F_MASK: u32 = 7;
+pub const IP6T_INV_VIA_IN: u32 = 1;
+pub const IP6T_INV_VIA_OUT: u32 = 2;
+pub const IP6T_INV_TOS: u32 = 4;
+pub const IP6T_INV_SRCIP: u32 = 8;
+pub const IP6T_INV_DSTIP: u32 = 16;
+pub const IP6T_INV_FRAG: u32 = 32;
+pub const IP6T_INV_PROTO: u32 = 64;
+pub const IP6T_INV_MASK: u32 = 127;
+pub const IP6T_BASE_CTL: u32 = 64;
+pub const IP6T_SO_SET_REPLACE: u32 = 64;
+pub const IP6T_SO_SET_ADD_COUNTERS: u32 = 65;
+pub const IP6T_SO_SET_MAX: u32 = 65;
+pub const IP6T_SO_GET_INFO: u32 = 64;
+pub const IP6T_SO_GET_ENTRIES: u32 = 65;
+pub const IP6T_SO_GET_REVISION_MATCH: u32 = 68;
+pub const IP6T_SO_GET_REVISION_TARGET: u32 = 69;
+pub const IP6T_SO_GET_MAX: u32 = 69;
+pub const IP6T_SO_ORIGINAL_DST: u32 = 80;
+pub const IP6T_ICMP_INV: u32 = 1;
+pub const NF_IP_PRE_ROUTING: u32 = 0;
+pub const NF_IP_LOCAL_IN: u32 = 1;
+pub const NF_IP_FORWARD: u32 = 2;
+pub const NF_IP_LOCAL_OUT: u32 = 3;
+pub const NF_IP_POST_ROUTING: u32 = 4;
+pub const NF_IP_NUMHOOKS: u32 = 5;
+pub const SO_ORIGINAL_DST: u32 = 80;
+pub const SHUT_RD: u32 = 0;
+pub const SHUT_WR: u32 = 1;
+pub const SHUT_RDWR: u32 = 2;
+pub const SOCK_STREAM: u32 = 1;
+pub const SOCK_DGRAM: u32 = 2;
+pub const SOCK_RAW: u32 = 3;
+pub const SOCK_RDM: u32 = 4;
+pub const SOCK_SEQPACKET: u32 = 5;
+pub const MSG_DONTWAIT: u32 = 64;
+pub const AF_UNSPEC: u32 = 0;
+pub const AF_UNIX: u32 = 1;
+pub const AF_INET: u32 = 2;
+pub const AF_AX25: u32 = 3;
+pub const AF_IPX: u32 = 4;
+pub const AF_APPLETALK: u32 = 5;
+pub const AF_NETROM: u32 = 6;
+pub const AF_BRIDGE: u32 = 7;
+pub const AF_ATMPVC: u32 = 8;
+pub const AF_X25: u32 = 9;
+pub const AF_INET6: u32 = 10;
+pub const AF_ROSE: u32 = 11;
+pub const AF_DECnet: u32 = 12;
+pub const AF_NETBEUI: u32 = 13;
+pub const AF_SECURITY: u32 = 14;
+pub const AF_KEY: u32 = 15;
+pub const AF_NETLINK: u32 = 16;
+pub const AF_PACKET: u32 = 17;
+pub const AF_ASH: u32 = 18;
+pub const AF_ECONET: u32 = 19;
+pub const AF_ATMSVC: u32 = 20;
+pub const AF_RDS: u32 = 21;
+pub const AF_SNA: u32 = 22;
+pub const AF_IRDA: u32 = 23;
+pub const AF_PPPOX: u32 = 24;
+pub const AF_WANPIPE: u32 = 25;
+pub const AF_LLC: u32 = 26;
+pub const AF_CAN: u32 = 29;
+pub const AF_TIPC: u32 = 30;
+pub const AF_BLUETOOTH: u32 = 31;
+pub const AF_IUCV: u32 = 32;
+pub const AF_RXRPC: u32 = 33;
+pub const AF_ISDN: u32 = 34;
+pub const AF_PHONET: u32 = 35;
+pub const AF_IEEE802154: u32 = 36;
+pub const AF_MAX: u32 = 37;
+pub const MSG_OOB: u32 = 1;
+pub const MSG_PEEK: u32 = 2;
+pub const MSG_DONTROUTE: u32 = 4;
+pub const MSG_CTRUNC: u32 = 8;
+pub const MSG_PROBE: u32 = 16;
+pub const MSG_TRUNC: u32 = 32;
+pub const MSG_EOR: u32 = 128;
+pub const MSG_WAITALL: u32 = 256;
+pub const MSG_FIN: u32 = 512;
+pub const MSG_SYN: u32 = 1024;
+pub const MSG_CONFIRM: u32 = 2048;
+pub const MSG_RST: u32 = 4096;
+pub const MSG_ERRQUEUE: u32 = 8192;
+pub const MSG_NOSIGNAL: u32 = 16384;
+pub const MSG_MORE: u32 = 32768;
+pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
+pub const SCM_RIGHTS: u32 = 1;
+pub const SCM_CREDENTIALS: u32 = 2;
+pub const SCM_SECURITY: u32 = 3;
+pub const IPPROTO_IP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_IP;
+pub const IPPROTO_ICMP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_ICMP;
+pub const IPPROTO_IGMP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_IGMP;
+pub const IPPROTO_IPIP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_IPIP;
+pub const IPPROTO_TCP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_TCP;
+pub const IPPROTO_EGP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_EGP;
+pub const IPPROTO_PUP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_PUP;
+pub const IPPROTO_UDP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_UDP;
+pub const IPPROTO_IDP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_IDP;
+pub const IPPROTO_TP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_TP;
+pub const IPPROTO_DCCP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_DCCP;
+pub const IPPROTO_IPV6: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_IPV6;
+pub const IPPROTO_RSVP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_RSVP;
+pub const IPPROTO_GRE: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_GRE;
+pub const IPPROTO_ESP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_ESP;
+pub const IPPROTO_AH: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_AH;
+pub const IPPROTO_MTP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_MTP;
+pub const IPPROTO_BEETPH: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_BEETPH;
+pub const IPPROTO_ENCAP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_ENCAP;
+pub const IPPROTO_PIM: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_PIM;
+pub const IPPROTO_COMP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_COMP;
+pub const IPPROTO_L2TP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_L2TP;
+pub const IPPROTO_SCTP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_SCTP;
+pub const IPPROTO_UDPLITE: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_UDPLITE;
+pub const IPPROTO_MPLS: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_MPLS;
+pub const IPPROTO_ETHERNET: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_ETHERNET;
+pub const IPPROTO_RAW: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_RAW;
+pub const IPPROTO_MPTCP: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_MPTCP;
+pub const IPPROTO_MAX: _bindgen_ty_1 = _bindgen_ty_1::IPPROTO_MAX;
+pub const IPV4_DEVCONF_FORWARDING: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_FORWARDING;
+pub const IPV4_DEVCONF_MC_FORWARDING: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_MC_FORWARDING;
+pub const IPV4_DEVCONF_PROXY_ARP: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_PROXY_ARP;
+pub const IPV4_DEVCONF_ACCEPT_REDIRECTS: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ACCEPT_REDIRECTS;
+pub const IPV4_DEVCONF_SECURE_REDIRECTS: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_SECURE_REDIRECTS;
+pub const IPV4_DEVCONF_SEND_REDIRECTS: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_SEND_REDIRECTS;
+pub const IPV4_DEVCONF_SHARED_MEDIA: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_SHARED_MEDIA;
+pub const IPV4_DEVCONF_RP_FILTER: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_RP_FILTER;
+pub const IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE;
+pub const IPV4_DEVCONF_BOOTP_RELAY: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_BOOTP_RELAY;
+pub const IPV4_DEVCONF_LOG_MARTIANS: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_LOG_MARTIANS;
+pub const IPV4_DEVCONF_TAG: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_TAG;
+pub const IPV4_DEVCONF_ARPFILTER: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARPFILTER;
+pub const IPV4_DEVCONF_MEDIUM_ID: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_MEDIUM_ID;
+pub const IPV4_DEVCONF_NOXFRM: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_NOXFRM;
+pub const IPV4_DEVCONF_NOPOLICY: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_NOPOLICY;
+pub const IPV4_DEVCONF_FORCE_IGMP_VERSION: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_FORCE_IGMP_VERSION;
+pub const IPV4_DEVCONF_ARP_ANNOUNCE: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARP_ANNOUNCE;
+pub const IPV4_DEVCONF_ARP_IGNORE: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARP_IGNORE;
+pub const IPV4_DEVCONF_PROMOTE_SECONDARIES: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_PROMOTE_SECONDARIES;
+pub const IPV4_DEVCONF_ARP_ACCEPT: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARP_ACCEPT;
+pub const IPV4_DEVCONF_ARP_NOTIFY: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARP_NOTIFY;
+pub const IPV4_DEVCONF_ACCEPT_LOCAL: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ACCEPT_LOCAL;
+pub const IPV4_DEVCONF_SRC_VMARK: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_SRC_VMARK;
+pub const IPV4_DEVCONF_PROXY_ARP_PVLAN: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_PROXY_ARP_PVLAN;
+pub const IPV4_DEVCONF_ROUTE_LOCALNET: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ROUTE_LOCALNET;
+pub const IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL;
+pub const IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL;
+pub const IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN;
+pub const IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST;
+pub const IPV4_DEVCONF_DROP_GRATUITOUS_ARP: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_DROP_GRATUITOUS_ARP;
+pub const IPV4_DEVCONF_BC_FORWARDING: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_BC_FORWARDING;
+pub const IPV4_DEVCONF_ARP_EVICT_NOCARRIER: _bindgen_ty_2 = _bindgen_ty_2::IPV4_DEVCONF_ARP_EVICT_NOCARRIER;
+pub const __IPV4_DEVCONF_MAX: _bindgen_ty_2 = _bindgen_ty_2::__IPV4_DEVCONF_MAX;
+pub const DEVCONF_FORWARDING: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_FORWARDING;
+pub const DEVCONF_HOPLIMIT: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_HOPLIMIT;
+pub const DEVCONF_MTU6: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MTU6;
+pub const DEVCONF_ACCEPT_RA: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA;
+pub const DEVCONF_ACCEPT_REDIRECTS: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_REDIRECTS;
+pub const DEVCONF_AUTOCONF: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_AUTOCONF;
+pub const DEVCONF_DAD_TRANSMITS: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_DAD_TRANSMITS;
+pub const DEVCONF_RTR_SOLICITS: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RTR_SOLICITS;
+pub const DEVCONF_RTR_SOLICIT_INTERVAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RTR_SOLICIT_INTERVAL;
+pub const DEVCONF_RTR_SOLICIT_DELAY: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RTR_SOLICIT_DELAY;
+pub const DEVCONF_USE_TEMPADDR: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_USE_TEMPADDR;
+pub const DEVCONF_TEMP_VALID_LFT: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_TEMP_VALID_LFT;
+pub const DEVCONF_TEMP_PREFERED_LFT: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_TEMP_PREFERED_LFT;
+pub const DEVCONF_REGEN_MAX_RETRY: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_REGEN_MAX_RETRY;
+pub const DEVCONF_MAX_DESYNC_FACTOR: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MAX_DESYNC_FACTOR;
+pub const DEVCONF_MAX_ADDRESSES: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MAX_ADDRESSES;
+pub const DEVCONF_FORCE_MLD_VERSION: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_FORCE_MLD_VERSION;
+pub const DEVCONF_ACCEPT_RA_DEFRTR: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_DEFRTR;
+pub const DEVCONF_ACCEPT_RA_PINFO: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_PINFO;
+pub const DEVCONF_ACCEPT_RA_RTR_PREF: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_RTR_PREF;
+pub const DEVCONF_RTR_PROBE_INTERVAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RTR_PROBE_INTERVAL;
+pub const DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN;
+pub const DEVCONF_PROXY_NDP: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_PROXY_NDP;
+pub const DEVCONF_OPTIMISTIC_DAD: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_OPTIMISTIC_DAD;
+pub const DEVCONF_ACCEPT_SOURCE_ROUTE: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_SOURCE_ROUTE;
+pub const DEVCONF_MC_FORWARDING: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MC_FORWARDING;
+pub const DEVCONF_DISABLE_IPV6: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_DISABLE_IPV6;
+pub const DEVCONF_ACCEPT_DAD: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_DAD;
+pub const DEVCONF_FORCE_TLLAO: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_FORCE_TLLAO;
+pub const DEVCONF_NDISC_NOTIFY: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_NDISC_NOTIFY;
+pub const DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL;
+pub const DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL;
+pub const DEVCONF_SUPPRESS_FRAG_NDISC: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_SUPPRESS_FRAG_NDISC;
+pub const DEVCONF_ACCEPT_RA_FROM_LOCAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_FROM_LOCAL;
+pub const DEVCONF_USE_OPTIMISTIC: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_USE_OPTIMISTIC;
+pub const DEVCONF_ACCEPT_RA_MTU: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_MTU;
+pub const DEVCONF_STABLE_SECRET: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_STABLE_SECRET;
+pub const DEVCONF_USE_OIF_ADDRS_ONLY: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_USE_OIF_ADDRS_ONLY;
+pub const DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT;
+pub const DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN;
+pub const DEVCONF_DROP_UNICAST_IN_L2_MULTICAST: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_DROP_UNICAST_IN_L2_MULTICAST;
+pub const DEVCONF_DROP_UNSOLICITED_NA: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_DROP_UNSOLICITED_NA;
+pub const DEVCONF_KEEP_ADDR_ON_DOWN: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_KEEP_ADDR_ON_DOWN;
+pub const DEVCONF_RTR_SOLICIT_MAX_INTERVAL: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RTR_SOLICIT_MAX_INTERVAL;
+pub const DEVCONF_SEG6_ENABLED: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_SEG6_ENABLED;
+pub const DEVCONF_SEG6_REQUIRE_HMAC: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_SEG6_REQUIRE_HMAC;
+pub const DEVCONF_ENHANCED_DAD: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ENHANCED_DAD;
+pub const DEVCONF_ADDR_GEN_MODE: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ADDR_GEN_MODE;
+pub const DEVCONF_DISABLE_POLICY: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_DISABLE_POLICY;
+pub const DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN;
+pub const DEVCONF_NDISC_TCLASS: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_NDISC_TCLASS;
+pub const DEVCONF_RPL_SEG_ENABLED: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RPL_SEG_ENABLED;
+pub const DEVCONF_RA_DEFRTR_METRIC: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_RA_DEFRTR_METRIC;
+pub const DEVCONF_IOAM6_ENABLED: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_IOAM6_ENABLED;
+pub const DEVCONF_IOAM6_ID: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_IOAM6_ID;
+pub const DEVCONF_IOAM6_ID_WIDE: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_IOAM6_ID_WIDE;
+pub const DEVCONF_NDISC_EVICT_NOCARRIER: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_NDISC_EVICT_NOCARRIER;
+pub const DEVCONF_ACCEPT_UNTRACKED_NA: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_ACCEPT_UNTRACKED_NA;
+pub const DEVCONF_MAX: _bindgen_ty_3 = _bindgen_ty_3::DEVCONF_MAX;
+pub const TCP_FLAG_CWR: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_CWR;
+pub const TCP_FLAG_ECE: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_ECE;
+pub const TCP_FLAG_URG: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_URG;
+pub const TCP_FLAG_ACK: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_ACK;
+pub const TCP_FLAG_PSH: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_PSH;
+pub const TCP_FLAG_RST: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_RST;
+pub const TCP_FLAG_SYN: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_SYN;
+pub const TCP_FLAG_FIN: _bindgen_ty_4 = _bindgen_ty_4::TCP_FLAG_FIN;
+pub const TCP_RESERVED_BITS: _bindgen_ty_4 = _bindgen_ty_4::TCP_RESERVED_BITS;
+pub const TCP_DATA_OFFSET: _bindgen_ty_4 = _bindgen_ty_4::TCP_DATA_OFFSET;
+pub const TCP_NO_QUEUE: _bindgen_ty_5 = _bindgen_ty_5::TCP_NO_QUEUE;
+pub const TCP_RECV_QUEUE: _bindgen_ty_5 = _bindgen_ty_5::TCP_RECV_QUEUE;
+pub const TCP_SEND_QUEUE: _bindgen_ty_5 = _bindgen_ty_5::TCP_SEND_QUEUE;
+pub const TCP_QUEUES_NR: _bindgen_ty_5 = _bindgen_ty_5::TCP_QUEUES_NR;
+pub const TCP_NLA_PAD: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_PAD;
+pub const TCP_NLA_BUSY: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_BUSY;
+pub const TCP_NLA_RWND_LIMITED: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_RWND_LIMITED;
+pub const TCP_NLA_SNDBUF_LIMITED: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_SNDBUF_LIMITED;
+pub const TCP_NLA_DATA_SEGS_OUT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DATA_SEGS_OUT;
+pub const TCP_NLA_TOTAL_RETRANS: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_TOTAL_RETRANS;
+pub const TCP_NLA_PACING_RATE: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_PACING_RATE;
+pub const TCP_NLA_DELIVERY_RATE: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DELIVERY_RATE;
+pub const TCP_NLA_SND_CWND: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_SND_CWND;
+pub const TCP_NLA_REORDERING: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_REORDERING;
+pub const TCP_NLA_MIN_RTT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_MIN_RTT;
+pub const TCP_NLA_RECUR_RETRANS: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_RECUR_RETRANS;
+pub const TCP_NLA_DELIVERY_RATE_APP_LMT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DELIVERY_RATE_APP_LMT;
+pub const TCP_NLA_SNDQ_SIZE: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_SNDQ_SIZE;
+pub const TCP_NLA_CA_STATE: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_CA_STATE;
+pub const TCP_NLA_SND_SSTHRESH: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_SND_SSTHRESH;
+pub const TCP_NLA_DELIVERED: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DELIVERED;
+pub const TCP_NLA_DELIVERED_CE: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DELIVERED_CE;
+pub const TCP_NLA_BYTES_SENT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_BYTES_SENT;
+pub const TCP_NLA_BYTES_RETRANS: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_BYTES_RETRANS;
+pub const TCP_NLA_DSACK_DUPS: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_DSACK_DUPS;
+pub const TCP_NLA_REORD_SEEN: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_REORD_SEEN;
+pub const TCP_NLA_SRTT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_SRTT;
+pub const TCP_NLA_TIMEOUT_REHASH: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_TIMEOUT_REHASH;
+pub const TCP_NLA_BYTES_NOTSENT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_BYTES_NOTSENT;
+pub const TCP_NLA_EDT: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_EDT;
+pub const TCP_NLA_TTL: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_TTL;
+pub const TCP_NLA_REHASH: _bindgen_ty_6 = _bindgen_ty_6::TCP_NLA_REHASH;
+pub const IF_OPER_UNKNOWN: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_UNKNOWN;
+pub const IF_OPER_NOTPRESENT: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_NOTPRESENT;
+pub const IF_OPER_DOWN: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_DOWN;
+pub const IF_OPER_LOWERLAYERDOWN: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_LOWERLAYERDOWN;
+pub const IF_OPER_TESTING: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_TESTING;
+pub const IF_OPER_DORMANT: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_DORMANT;
+pub const IF_OPER_UP: _bindgen_ty_7 = _bindgen_ty_7::IF_OPER_UP;
+pub const IF_LINK_MODE_DEFAULT: _bindgen_ty_8 = _bindgen_ty_8::IF_LINK_MODE_DEFAULT;
+pub const IF_LINK_MODE_DORMANT: _bindgen_ty_8 = _bindgen_ty_8::IF_LINK_MODE_DORMANT;
+pub const IF_LINK_MODE_TESTING: _bindgen_ty_8 = _bindgen_ty_8::IF_LINK_MODE_TESTING;
+pub const NFPROTO_UNSPEC: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_UNSPEC;
+pub const NFPROTO_INET: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_INET;
+pub const NFPROTO_IPV4: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_IPV4;
+pub const NFPROTO_ARP: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_ARP;
+pub const NFPROTO_NETDEV: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_NETDEV;
+pub const NFPROTO_BRIDGE: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_BRIDGE;
+pub const NFPROTO_IPV6: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_IPV6;
+pub const NFPROTO_DECNET: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_DECNET;
+pub const NFPROTO_NUMPROTO: _bindgen_ty_9 = _bindgen_ty_9::NFPROTO_NUMPROTO;
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_1 {
+IPPROTO_IP = 0,
+IPPROTO_ICMP = 1,
+IPPROTO_IGMP = 2,
+IPPROTO_IPIP = 4,
+IPPROTO_TCP = 6,
+IPPROTO_EGP = 8,
+IPPROTO_PUP = 12,
+IPPROTO_UDP = 17,
+IPPROTO_IDP = 22,
+IPPROTO_TP = 29,
+IPPROTO_DCCP = 33,
+IPPROTO_IPV6 = 41,
+IPPROTO_RSVP = 46,
+IPPROTO_GRE = 47,
+IPPROTO_ESP = 50,
+IPPROTO_AH = 51,
+IPPROTO_MTP = 92,
+IPPROTO_BEETPH = 94,
+IPPROTO_ENCAP = 98,
+IPPROTO_PIM = 103,
+IPPROTO_COMP = 108,
+IPPROTO_L2TP = 115,
+IPPROTO_SCTP = 132,
+IPPROTO_UDPLITE = 136,
+IPPROTO_MPLS = 137,
+IPPROTO_ETHERNET = 143,
+IPPROTO_RAW = 255,
+IPPROTO_MPTCP = 262,
+IPPROTO_MAX = 263,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_2 {
+IPV4_DEVCONF_FORWARDING = 1,
+IPV4_DEVCONF_MC_FORWARDING = 2,
+IPV4_DEVCONF_PROXY_ARP = 3,
+IPV4_DEVCONF_ACCEPT_REDIRECTS = 4,
+IPV4_DEVCONF_SECURE_REDIRECTS = 5,
+IPV4_DEVCONF_SEND_REDIRECTS = 6,
+IPV4_DEVCONF_SHARED_MEDIA = 7,
+IPV4_DEVCONF_RP_FILTER = 8,
+IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE = 9,
+IPV4_DEVCONF_BOOTP_RELAY = 10,
+IPV4_DEVCONF_LOG_MARTIANS = 11,
+IPV4_DEVCONF_TAG = 12,
+IPV4_DEVCONF_ARPFILTER = 13,
+IPV4_DEVCONF_MEDIUM_ID = 14,
+IPV4_DEVCONF_NOXFRM = 15,
+IPV4_DEVCONF_NOPOLICY = 16,
+IPV4_DEVCONF_FORCE_IGMP_VERSION = 17,
+IPV4_DEVCONF_ARP_ANNOUNCE = 18,
+IPV4_DEVCONF_ARP_IGNORE = 19,
+IPV4_DEVCONF_PROMOTE_SECONDARIES = 20,
+IPV4_DEVCONF_ARP_ACCEPT = 21,
+IPV4_DEVCONF_ARP_NOTIFY = 22,
+IPV4_DEVCONF_ACCEPT_LOCAL = 23,
+IPV4_DEVCONF_SRC_VMARK = 24,
+IPV4_DEVCONF_PROXY_ARP_PVLAN = 25,
+IPV4_DEVCONF_ROUTE_LOCALNET = 26,
+IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL = 27,
+IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL = 28,
+IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 29,
+IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 30,
+IPV4_DEVCONF_DROP_GRATUITOUS_ARP = 31,
+IPV4_DEVCONF_BC_FORWARDING = 32,
+IPV4_DEVCONF_ARP_EVICT_NOCARRIER = 33,
+__IPV4_DEVCONF_MAX = 34,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_3 {
+DEVCONF_FORWARDING = 0,
+DEVCONF_HOPLIMIT = 1,
+DEVCONF_MTU6 = 2,
+DEVCONF_ACCEPT_RA = 3,
+DEVCONF_ACCEPT_REDIRECTS = 4,
+DEVCONF_AUTOCONF = 5,
+DEVCONF_DAD_TRANSMITS = 6,
+DEVCONF_RTR_SOLICITS = 7,
+DEVCONF_RTR_SOLICIT_INTERVAL = 8,
+DEVCONF_RTR_SOLICIT_DELAY = 9,
+DEVCONF_USE_TEMPADDR = 10,
+DEVCONF_TEMP_VALID_LFT = 11,
+DEVCONF_TEMP_PREFERED_LFT = 12,
+DEVCONF_REGEN_MAX_RETRY = 13,
+DEVCONF_MAX_DESYNC_FACTOR = 14,
+DEVCONF_MAX_ADDRESSES = 15,
+DEVCONF_FORCE_MLD_VERSION = 16,
+DEVCONF_ACCEPT_RA_DEFRTR = 17,
+DEVCONF_ACCEPT_RA_PINFO = 18,
+DEVCONF_ACCEPT_RA_RTR_PREF = 19,
+DEVCONF_RTR_PROBE_INTERVAL = 20,
+DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN = 21,
+DEVCONF_PROXY_NDP = 22,
+DEVCONF_OPTIMISTIC_DAD = 23,
+DEVCONF_ACCEPT_SOURCE_ROUTE = 24,
+DEVCONF_MC_FORWARDING = 25,
+DEVCONF_DISABLE_IPV6 = 26,
+DEVCONF_ACCEPT_DAD = 27,
+DEVCONF_FORCE_TLLAO = 28,
+DEVCONF_NDISC_NOTIFY = 29,
+DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL = 30,
+DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL = 31,
+DEVCONF_SUPPRESS_FRAG_NDISC = 32,
+DEVCONF_ACCEPT_RA_FROM_LOCAL = 33,
+DEVCONF_USE_OPTIMISTIC = 34,
+DEVCONF_ACCEPT_RA_MTU = 35,
+DEVCONF_STABLE_SECRET = 36,
+DEVCONF_USE_OIF_ADDRS_ONLY = 37,
+DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT = 38,
+DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN = 39,
+DEVCONF_DROP_UNICAST_IN_L2_MULTICAST = 40,
+DEVCONF_DROP_UNSOLICITED_NA = 41,
+DEVCONF_KEEP_ADDR_ON_DOWN = 42,
+DEVCONF_RTR_SOLICIT_MAX_INTERVAL = 43,
+DEVCONF_SEG6_ENABLED = 44,
+DEVCONF_SEG6_REQUIRE_HMAC = 45,
+DEVCONF_ENHANCED_DAD = 46,
+DEVCONF_ADDR_GEN_MODE = 47,
+DEVCONF_DISABLE_POLICY = 48,
+DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN = 49,
+DEVCONF_NDISC_TCLASS = 50,
+DEVCONF_RPL_SEG_ENABLED = 51,
+DEVCONF_RA_DEFRTR_METRIC = 52,
+DEVCONF_IOAM6_ENABLED = 53,
+DEVCONF_IOAM6_ID = 54,
+DEVCONF_IOAM6_ID_WIDE = 55,
+DEVCONF_NDISC_EVICT_NOCARRIER = 56,
+DEVCONF_ACCEPT_UNTRACKED_NA = 57,
+DEVCONF_MAX = 58,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum socket_state {
+SS_FREE = 0,
+SS_UNCONNECTED = 1,
+SS_CONNECTING = 2,
+SS_CONNECTED = 3,
+SS_DISCONNECTING = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_4 {
+TCP_FLAG_CWR = 32768,
+TCP_FLAG_ECE = 16384,
+TCP_FLAG_URG = 8192,
+TCP_FLAG_ACK = 4096,
+TCP_FLAG_PSH = 2048,
+TCP_FLAG_RST = 1024,
+TCP_FLAG_SYN = 512,
+TCP_FLAG_FIN = 256,
+TCP_RESERVED_BITS = 15,
+TCP_DATA_OFFSET = 240,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_5 {
+TCP_NO_QUEUE = 0,
+TCP_RECV_QUEUE = 1,
+TCP_SEND_QUEUE = 2,
+TCP_QUEUES_NR = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum tcp_fastopen_client_fail {
+TFO_STATUS_UNSPEC = 0,
+TFO_COOKIE_UNAVAILABLE = 1,
+TFO_DATA_NOT_ACKED = 2,
+TFO_SYN_RETRANSMITTED = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum tcp_ca_state {
+TCP_CA_Open = 0,
+TCP_CA_Disorder = 1,
+TCP_CA_CWR = 2,
+TCP_CA_Recovery = 3,
+TCP_CA_Loss = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_6 {
+TCP_NLA_PAD = 0,
+TCP_NLA_BUSY = 1,
+TCP_NLA_RWND_LIMITED = 2,
+TCP_NLA_SNDBUF_LIMITED = 3,
+TCP_NLA_DATA_SEGS_OUT = 4,
+TCP_NLA_TOTAL_RETRANS = 5,
+TCP_NLA_PACING_RATE = 6,
+TCP_NLA_DELIVERY_RATE = 7,
+TCP_NLA_SND_CWND = 8,
+TCP_NLA_REORDERING = 9,
+TCP_NLA_MIN_RTT = 10,
+TCP_NLA_RECUR_RETRANS = 11,
+TCP_NLA_DELIVERY_RATE_APP_LMT = 12,
+TCP_NLA_SNDQ_SIZE = 13,
+TCP_NLA_CA_STATE = 14,
+TCP_NLA_SND_SSTHRESH = 15,
+TCP_NLA_DELIVERED = 16,
+TCP_NLA_DELIVERED_CE = 17,
+TCP_NLA_BYTES_SENT = 18,
+TCP_NLA_BYTES_RETRANS = 19,
+TCP_NLA_DSACK_DUPS = 20,
+TCP_NLA_REORD_SEEN = 21,
+TCP_NLA_SRTT = 22,
+TCP_NLA_TIMEOUT_REHASH = 23,
+TCP_NLA_BYTES_NOTSENT = 24,
+TCP_NLA_EDT = 25,
+TCP_NLA_TTL = 26,
+TCP_NLA_REHASH = 27,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum net_device_flags {
+IFF_UP = 1,
+IFF_BROADCAST = 2,
+IFF_DEBUG = 4,
+IFF_LOOPBACK = 8,
+IFF_POINTOPOINT = 16,
+IFF_NOTRAILERS = 32,
+IFF_RUNNING = 64,
+IFF_NOARP = 128,
+IFF_PROMISC = 256,
+IFF_ALLMULTI = 512,
+IFF_MASTER = 1024,
+IFF_SLAVE = 2048,
+IFF_MULTICAST = 4096,
+IFF_PORTSEL = 8192,
+IFF_AUTOMEDIA = 16384,
+IFF_DYNAMIC = 32768,
+IFF_LOWER_UP = 65536,
+IFF_DORMANT = 131072,
+IFF_ECHO = 262144,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_7 {
+IF_OPER_UNKNOWN = 0,
+IF_OPER_NOTPRESENT = 1,
+IF_OPER_DOWN = 2,
+IF_OPER_LOWERLAYERDOWN = 3,
+IF_OPER_TESTING = 4,
+IF_OPER_DORMANT = 5,
+IF_OPER_UP = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_8 {
+IF_LINK_MODE_DEFAULT = 0,
+IF_LINK_MODE_DORMANT = 1,
+IF_LINK_MODE_TESTING = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nf_inet_hooks {
+NF_INET_PRE_ROUTING = 0,
+NF_INET_LOCAL_IN = 1,
+NF_INET_FORWARD = 2,
+NF_INET_LOCAL_OUT = 3,
+NF_INET_POST_ROUTING = 4,
+NF_INET_NUMHOOKS = 5,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nf_dev_hooks {
+NF_NETDEV_INGRESS = 0,
+NF_NETDEV_EGRESS = 1,
+NF_NETDEV_NUMHOOKS = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_9 {
+NFPROTO_UNSPEC = 0,
+NFPROTO_INET = 1,
+NFPROTO_IPV4 = 2,
+NFPROTO_ARP = 3,
+NFPROTO_NETDEV = 5,
+NFPROTO_BRIDGE = 7,
+NFPROTO_IPV6 = 10,
+NFPROTO_DECNET = 12,
+NFPROTO_NUMPROTO = 13,
+}
+#[repr(i32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nf_ip6_hook_priorities {
+NF_IP6_PRI_FIRST = -2147483648,
+NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,
+NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
+NF_IP6_PRI_RAW = -300,
+NF_IP6_PRI_SELINUX_FIRST = -225,
+NF_IP6_PRI_CONNTRACK = -200,
+NF_IP6_PRI_MANGLE = -150,
+NF_IP6_PRI_NAT_DST = -100,
+NF_IP6_PRI_FILTER = 0,
+NF_IP6_PRI_SECURITY = 50,
+NF_IP6_PRI_NAT_SRC = 100,
+NF_IP6_PRI_SELINUX_LAST = 225,
+NF_IP6_PRI_CONNTRACK_HELPER = 300,
+NF_IP6_PRI_LAST = 2147483647,
+}
+#[repr(i32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nf_ip_hook_priorities {
+NF_IP_PRI_FIRST = -2147483648,
+NF_IP_PRI_RAW_BEFORE_DEFRAG = -450,
+NF_IP_PRI_CONNTRACK_DEFRAG = -400,
+NF_IP_PRI_RAW = -300,
+NF_IP_PRI_SELINUX_FIRST = -225,
+NF_IP_PRI_CONNTRACK = -200,
+NF_IP_PRI_MANGLE = -150,
+NF_IP_PRI_NAT_DST = -100,
+NF_IP_PRI_FILTER = 0,
+NF_IP_PRI_SECURITY = 50,
+NF_IP_PRI_NAT_SRC = 100,
+NF_IP_PRI_SELINUX_LAST = 225,
+NF_IP_PRI_CONNTRACK_HELPER = 300,
+NF_IP_PRI_CONNTRACK_CONFIRM = 2147483647,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __kernel_sockaddr_storage__bindgen_ty_1 {
+pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
+pub __align: *mut crate::ctypes::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union iphdr__bindgen_ty_1 {
+pub __bindgen_anon_1: iphdr__bindgen_ty_1__bindgen_ty_1,
+pub addrs: iphdr__bindgen_ty_1__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union in6_addr__bindgen_ty_1 {
+pub u6_addr8: [__u8; 16usize],
+pub u6_addr16: [__be16; 8usize],
+pub u6_addr32: [__be32; 4usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ipv6hdr__bindgen_ty_1 {
+pub __bindgen_anon_1: ipv6hdr__bindgen_ty_1__bindgen_ty_1,
+pub addrs: ipv6hdr__bindgen_ty_1__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union tcp_word_hdr {
+pub hdr: tcphdr,
+pub words: [__be32; 5usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union if_settings__bindgen_ty_1 {
+pub raw_hdlc: *mut raw_hdlc_proto,
+pub cisco: *mut cisco_proto,
+pub fr: *mut fr_proto,
+pub fr_pvc: *mut fr_proto_pvc,
+pub fr_pvc_info: *mut fr_proto_pvc_info,
+pub x25: *mut x25_hdlc_proto,
+pub sync: *mut sync_serial_settings,
+pub te1: *mut te1_settings,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ifreq__bindgen_ty_1 {
+pub ifrn_name: [crate::ctypes::c_char; 16usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ifreq__bindgen_ty_2 {
+pub ifru_addr: sockaddr,
+pub ifru_dstaddr: sockaddr,
+pub ifru_broadaddr: sockaddr,
+pub ifru_netmask: sockaddr,
+pub ifru_hwaddr: sockaddr,
+pub ifru_flags: crate::ctypes::c_short,
+pub ifru_ivalue: crate::ctypes::c_int,
+pub ifru_mtu: crate::ctypes::c_int,
+pub ifru_map: ifmap,
+pub ifru_slave: [crate::ctypes::c_char; 16usize],
+pub ifru_newname: [crate::ctypes::c_char; 16usize],
+pub ifru_data: *mut crate::ctypes::c_void,
+pub ifru_settings: if_settings,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ifconf__bindgen_ty_1 {
+pub ifcu_buf: *mut crate::ctypes::c_char,
+pub ifcu_req: *mut ifreq,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union nf_inet_addr {
+pub all: [__u32; 4usize],
+pub ip: __be32,
+pub ip6: [__be32; 4usize],
+pub in_: in_addr,
+pub in6: in6_addr,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union xt_entry_match__bindgen_ty_1 {
+pub user: xt_entry_match__bindgen_ty_1__bindgen_ty_1,
+pub kernel: xt_entry_match__bindgen_ty_1__bindgen_ty_2,
+pub match_size: __u16,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union xt_entry_target__bindgen_ty_1 {
+pub user: xt_entry_target__bindgen_ty_1__bindgen_ty_1,
+pub kernel: xt_entry_target__bindgen_ty_1__bindgen_ty_2,
+pub target_size: __u16,
+}
+impl<Storage> __BindgenBitfieldUnit<Storage> {
+#[inline]
+pub const fn new(storage: Storage) -> Self {
+Self { storage }
+}
+}
+impl<Storage> __BindgenBitfieldUnit<Storage>
+where
+Storage: AsRef<[u8]> + AsMut<[u8]>,
+{
+#[inline]
+pub fn get_bit(&self, index: usize) -> bool {
+debug_assert!(index / 8 < self.storage.as_ref().len());
+let byte_index = index / 8;
+let byte = self.storage.as_ref()[byte_index];
+let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
+let mask = 1 << bit_index;
+byte & mask == mask
+}
+#[inline]
+pub fn set_bit(&mut self, index: usize, val: bool) {
+debug_assert!(index / 8 < self.storage.as_ref().len());
+let byte_index = index / 8;
+let byte = &mut self.storage.as_mut()[byte_index];
+let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
+let mask = 1 << bit_index;
+if val {
+*byte |= mask;
+} else {
+*byte &= !mask;
+}
+}
+#[inline]
+pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
+debug_assert!(bit_width <= 64);
+debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+let mut val = 0;
+for i in 0..(bit_width as usize) {
+if self.get_bit(i + bit_offset) {
+let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
+val |= 1 << index;
+}
+}
+val
+}
+#[inline]
+pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
+debug_assert!(bit_width <= 64);
+debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+for i in 0..(bit_width as usize) {
+let mask = 1 << i;
+let val_bit_is_set = val & mask == mask;
+let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
+self.set_bit(index + bit_offset, val_bit_is_set);
+}
+}
+}
+impl<T> __IncompleteArrayField<T> {
+#[inline]
+pub const fn new() -> Self {
+__IncompleteArrayField(::core::marker::PhantomData, [])
+}
+#[inline]
+pub fn as_ptr(&self) -> *const T {
+self as *const _ as *const T
+}
+#[inline]
+pub fn as_mut_ptr(&mut self) -> *mut T {
+self as *mut _ as *mut T
+}
+#[inline]
+pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+::core::slice::from_raw_parts(self.as_ptr(), len)
+}
+#[inline]
+pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+}
+}
+impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__IncompleteArrayField")
+}
+}
+impl<T> __BindgenUnionField<T> {
+#[inline]
+pub const fn new() -> Self {
+__BindgenUnionField(::core::marker::PhantomData)
+}
+#[inline]
+pub unsafe fn as_ref(&self) -> &T {
+::core::mem::transmute(self)
+}
+#[inline]
+pub unsafe fn as_mut(&mut self) -> &mut T {
+::core::mem::transmute(self)
+}
+}
+impl<T> ::core::default::Default for __BindgenUnionField<T> {
+#[inline]
+fn default() -> Self {
+Self::new()
+}
+}
+impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
+#[inline]
+fn clone(&self) -> Self {
+Self::new()
+}
+}
+impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
+impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__BindgenUnionField")
+}
+}
+impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
+fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
+}
+impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
+fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
+true
+}
+}
+impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}
+impl iphdr {
+#[inline]
+pub fn ihl(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_ihl(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(0usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn version(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_version(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(4usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn new_bitfield_1(ihl: __u8, version: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+__bindgen_bitfield_unit.set(0usize, 4u8, {
+let ihl: u8 = unsafe { ::core::mem::transmute(ihl) };
+ihl as u64
+});
+__bindgen_bitfield_unit.set(4usize, 4u8, {
+let version: u8 = unsafe { ::core::mem::transmute(version) };
+version as u64
+});
+__bindgen_bitfield_unit
+}
+}
+impl ipv6hdr {
+#[inline]
+pub fn priority(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_priority(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(0usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn version(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_version(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(4usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn new_bitfield_1(priority: __u8, version: __u8) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+__bindgen_bitfield_unit.set(0usize, 4u8, {
+let priority: u8 = unsafe { ::core::mem::transmute(priority) };
+priority as u64
+});
+__bindgen_bitfield_unit.set(4usize, 4u8, {
+let version: u8 = unsafe { ::core::mem::transmute(version) };
+version as u64
+});
+__bindgen_bitfield_unit
+}
+}
+impl tcphdr {
+#[inline]
+pub fn res1(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u16) }
+}
+#[inline]
+pub fn set_res1(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(0usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn doff(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u16) }
+}
+#[inline]
+pub fn set_doff(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(4usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn fin(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_fin(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(8usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn syn(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_syn(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(9usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn rst(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_rst(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(10usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn psh(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_psh(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(11usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn ack(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_ack(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(12usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn urg(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_urg(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(13usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn ece(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_ece(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(14usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn cwr(&self) -> __u16 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) }
+}
+#[inline]
+pub fn set_cwr(&mut self, val: __u16) {
+unsafe {
+let val: u16 = ::core::mem::transmute(val);
+self._bitfield_1.set(15usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn new_bitfield_1(res1: __u16, doff: __u16, fin: __u16, syn: __u16, rst: __u16, psh: __u16, ack: __u16, urg: __u16, ece: __u16, cwr: __u16) -> __BindgenBitfieldUnit<[u8; 2usize]> {
+let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
+__bindgen_bitfield_unit.set(0usize, 4u8, {
+let res1: u16 = unsafe { ::core::mem::transmute(res1) };
+res1 as u64
+});
+__bindgen_bitfield_unit.set(4usize, 4u8, {
+let doff: u16 = unsafe { ::core::mem::transmute(doff) };
+doff as u64
+});
+__bindgen_bitfield_unit.set(8usize, 1u8, {
+let fin: u16 = unsafe { ::core::mem::transmute(fin) };
+fin as u64
+});
+__bindgen_bitfield_unit.set(9usize, 1u8, {
+let syn: u16 = unsafe { ::core::mem::transmute(syn) };
+syn as u64
+});
+__bindgen_bitfield_unit.set(10usize, 1u8, {
+let rst: u16 = unsafe { ::core::mem::transmute(rst) };
+rst as u64
+});
+__bindgen_bitfield_unit.set(11usize, 1u8, {
+let psh: u16 = unsafe { ::core::mem::transmute(psh) };
+psh as u64
+});
+__bindgen_bitfield_unit.set(12usize, 1u8, {
+let ack: u16 = unsafe { ::core::mem::transmute(ack) };
+ack as u64
+});
+__bindgen_bitfield_unit.set(13usize, 1u8, {
+let urg: u16 = unsafe { ::core::mem::transmute(urg) };
+urg as u64
+});
+__bindgen_bitfield_unit.set(14usize, 1u8, {
+let ece: u16 = unsafe { ::core::mem::transmute(ece) };
+ece as u64
+});
+__bindgen_bitfield_unit.set(15usize, 1u8, {
+let cwr: u16 = unsafe { ::core::mem::transmute(cwr) };
+cwr as u64
+});
+__bindgen_bitfield_unit
+}
+}
+impl tcp_info {
+#[inline]
+pub fn tcpi_snd_wscale(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_tcpi_snd_wscale(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(0usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn tcpi_rcv_wscale(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
+}
+#[inline]
+pub fn set_tcpi_rcv_wscale(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(4usize, 4u8, val as u64)
+}
+}
+#[inline]
+pub fn tcpi_delivery_rate_app_limited(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
+}
+#[inline]
+pub fn set_tcpi_delivery_rate_app_limited(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(8usize, 1u8, val as u64)
+}
+}
+#[inline]
+pub fn tcpi_fastopen_client_fail(&self) -> __u8 {
+unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 2u8) as u8) }
+}
+#[inline]
+pub fn set_tcpi_fastopen_client_fail(&mut self, val: __u8) {
+unsafe {
+let val: u8 = ::core::mem::transmute(val);
+self._bitfield_1.set(9usize, 2u8, val as u64)
+}
+}
+#[inline]
+pub fn new_bitfield_1(tcpi_snd_wscale: __u8, tcpi_rcv_wscale: __u8, tcpi_delivery_rate_app_limited: __u8, tcpi_fastopen_client_fail: __u8) -> __BindgenBitfieldUnit<[u8; 2usize]> {
+let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
+__bindgen_bitfield_unit.set(0usize, 4u8, {
+let tcpi_snd_wscale: u8 = unsafe { ::core::mem::transmute(tcpi_snd_wscale) };
+tcpi_snd_wscale as u64
+});
+__bindgen_bitfield_unit.set(4usize, 4u8, {
+let tcpi_rcv_wscale: u8 = unsafe { ::core::mem::transmute(tcpi_rcv_wscale) };
+tcpi_rcv_wscale as u64
+});
+__bindgen_bitfield_unit.set(8usize, 1u8, {
+let tcpi_delivery_rate_app_limited: u8 = unsafe { ::core::mem::transmute(tcpi_delivery_rate_app_limited) };
+tcpi_delivery_rate_app_limited as u64
+});
+__bindgen_bitfield_unit.set(9usize, 2u8, {
+let tcpi_fastopen_client_fail: u8 = unsafe { ::core::mem::transmute(tcpi_fastopen_client_fail) };
+tcpi_fastopen_client_fail as u64
+});
+__bindgen_bitfield_unit
+}
+}
+impl nf_inet_hooks {
+pub const NF_INET_INGRESS: nf_inet_hooks = nf_inet_hooks::NF_INET_NUMHOOKS;
+}
+impl nf_ip_hook_priorities {
+pub const NF_IP_PRI_LAST: nf_ip_hook_priorities = nf_ip_hook_priorities::NF_IP_PRI_CONNTRACK_CONFIRM;
+}
diff --git a/vendor/linux-raw-sys/src/riscv32/netlink.rs b/vendor/linux-raw-sys/src/riscv32/netlink.rs
new file mode 100644
index 0000000..ecd8524
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/netlink.rs
@@ -0,0 +1,2854 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __kernel_sa_family_t = crate::ctypes::c_ushort;
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __kernel_sockaddr_storage {
+pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
+pub ss_family: __kernel_sa_family_t,
+pub __data: [crate::ctypes::c_char; 126usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sockaddr_nl {
+pub nl_family: __kernel_sa_family_t,
+pub nl_pad: crate::ctypes::c_ushort,
+pub nl_pid: __u32,
+pub nl_groups: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nlmsghdr {
+pub nlmsg_len: __u32,
+pub nlmsg_type: __u16,
+pub nlmsg_flags: __u16,
+pub nlmsg_seq: __u32,
+pub nlmsg_pid: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nlmsgerr {
+pub error: crate::ctypes::c_int,
+pub msg: nlmsghdr,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nl_pktinfo {
+pub group: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nl_mmap_req {
+pub nm_block_size: crate::ctypes::c_uint,
+pub nm_block_nr: crate::ctypes::c_uint,
+pub nm_frame_size: crate::ctypes::c_uint,
+pub nm_frame_nr: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nl_mmap_hdr {
+pub nm_status: crate::ctypes::c_uint,
+pub nm_len: crate::ctypes::c_uint,
+pub nm_group: __u32,
+pub nm_pid: __u32,
+pub nm_uid: __u32,
+pub nm_gid: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nlattr {
+pub nla_len: __u16,
+pub nla_type: __u16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nla_bitfield32 {
+pub value: __u32,
+pub selector: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtnl_link_stats {
+pub rx_packets: __u32,
+pub tx_packets: __u32,
+pub rx_bytes: __u32,
+pub tx_bytes: __u32,
+pub rx_errors: __u32,
+pub tx_errors: __u32,
+pub rx_dropped: __u32,
+pub tx_dropped: __u32,
+pub multicast: __u32,
+pub collisions: __u32,
+pub rx_length_errors: __u32,
+pub rx_over_errors: __u32,
+pub rx_crc_errors: __u32,
+pub rx_frame_errors: __u32,
+pub rx_fifo_errors: __u32,
+pub rx_missed_errors: __u32,
+pub tx_aborted_errors: __u32,
+pub tx_carrier_errors: __u32,
+pub tx_fifo_errors: __u32,
+pub tx_heartbeat_errors: __u32,
+pub tx_window_errors: __u32,
+pub rx_compressed: __u32,
+pub tx_compressed: __u32,
+pub rx_nohandler: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtnl_link_stats64 {
+pub rx_packets: __u64,
+pub tx_packets: __u64,
+pub rx_bytes: __u64,
+pub tx_bytes: __u64,
+pub rx_errors: __u64,
+pub tx_errors: __u64,
+pub rx_dropped: __u64,
+pub tx_dropped: __u64,
+pub multicast: __u64,
+pub collisions: __u64,
+pub rx_length_errors: __u64,
+pub rx_over_errors: __u64,
+pub rx_crc_errors: __u64,
+pub rx_frame_errors: __u64,
+pub rx_fifo_errors: __u64,
+pub rx_missed_errors: __u64,
+pub tx_aborted_errors: __u64,
+pub tx_carrier_errors: __u64,
+pub tx_fifo_errors: __u64,
+pub tx_heartbeat_errors: __u64,
+pub tx_window_errors: __u64,
+pub rx_compressed: __u64,
+pub tx_compressed: __u64,
+pub rx_nohandler: __u64,
+pub rx_otherhost_dropped: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtnl_hw_stats64 {
+pub rx_packets: __u64,
+pub tx_packets: __u64,
+pub rx_bytes: __u64,
+pub tx_bytes: __u64,
+pub rx_errors: __u64,
+pub tx_errors: __u64,
+pub rx_dropped: __u64,
+pub tx_dropped: __u64,
+pub multicast: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtnl_link_ifmap {
+pub mem_start: __u64,
+pub mem_end: __u64,
+pub base_addr: __u64,
+pub irq: __u16,
+pub dma: __u8,
+pub port: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_bridge_id {
+pub prio: [__u8; 2usize],
+pub addr: [__u8; 6usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_cacheinfo {
+pub max_reasm_len: __u32,
+pub tstamp: __u32,
+pub reachable_time: __u32,
+pub retrans_time: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vlan_flags {
+pub flags: __u32,
+pub mask: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vlan_qos_mapping {
+pub from: __u32,
+pub to: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tunnel_msg {
+pub family: __u8,
+pub flags: __u8,
+pub reserved2: __u16,
+pub ifindex: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vxlan_port_range {
+pub low: __be16,
+pub high: __be16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_mac {
+pub vf: __u32,
+pub mac: [__u8; 32usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_broadcast {
+pub broadcast: [__u8; 32usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_vlan {
+pub vf: __u32,
+pub vlan: __u32,
+pub qos: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_vlan_info {
+pub vf: __u32,
+pub vlan: __u32,
+pub qos: __u32,
+pub vlan_proto: __be16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_tx_rate {
+pub vf: __u32,
+pub rate: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_rate {
+pub vf: __u32,
+pub min_tx_rate: __u32,
+pub max_tx_rate: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_spoofchk {
+pub vf: __u32,
+pub setting: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_guid {
+pub vf: __u32,
+pub guid: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_link_state {
+pub vf: __u32,
+pub link_state: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_rss_query_en {
+pub vf: __u32,
+pub setting: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_vf_trust {
+pub vf: __u32,
+pub setting: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_port_vsi {
+pub vsi_mgr_id: __u8,
+pub vsi_type_id: [__u8; 3usize],
+pub vsi_type_version: __u8,
+pub pad: [__u8; 3usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct if_stats_msg {
+pub family: __u8,
+pub pad1: __u8,
+pub pad2: __u16,
+pub ifindex: __u32,
+pub filter_mask: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifla_rmnet_flags {
+pub flags: __u32,
+pub mask: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifaddrmsg {
+pub ifa_family: __u8,
+pub ifa_prefixlen: __u8,
+pub ifa_flags: __u8,
+pub ifa_scope: __u8,
+pub ifa_index: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifa_cacheinfo {
+pub ifa_prefered: __u32,
+pub ifa_valid: __u32,
+pub cstamp: __u32,
+pub tstamp: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndmsg {
+pub ndm_family: __u8,
+pub ndm_pad1: __u8,
+pub ndm_pad2: __u16,
+pub ndm_ifindex: __s32,
+pub ndm_state: __u16,
+pub ndm_flags: __u8,
+pub ndm_type: __u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nda_cacheinfo {
+pub ndm_confirmed: __u32,
+pub ndm_used: __u32,
+pub ndm_updated: __u32,
+pub ndm_refcnt: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndt_stats {
+pub ndts_allocs: __u64,
+pub ndts_destroys: __u64,
+pub ndts_hash_grows: __u64,
+pub ndts_res_failed: __u64,
+pub ndts_lookups: __u64,
+pub ndts_hits: __u64,
+pub ndts_rcv_probes_mcast: __u64,
+pub ndts_rcv_probes_ucast: __u64,
+pub ndts_periodic_gc_runs: __u64,
+pub ndts_forced_gc_runs: __u64,
+pub ndts_table_fulls: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndtmsg {
+pub ndtm_family: __u8,
+pub ndtm_pad1: __u8,
+pub ndtm_pad2: __u16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ndt_config {
+pub ndtc_key_len: __u16,
+pub ndtc_entry_size: __u16,
+pub ndtc_entries: __u32,
+pub ndtc_last_flush: __u32,
+pub ndtc_last_rand: __u32,
+pub ndtc_hash_rnd: __u32,
+pub ndtc_hash_mask: __u32,
+pub ndtc_hash_chain_gc: __u32,
+pub ndtc_proxy_qlen: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtattr {
+pub rta_len: crate::ctypes::c_ushort,
+pub rta_type: crate::ctypes::c_ushort,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtmsg {
+pub rtm_family: crate::ctypes::c_uchar,
+pub rtm_dst_len: crate::ctypes::c_uchar,
+pub rtm_src_len: crate::ctypes::c_uchar,
+pub rtm_tos: crate::ctypes::c_uchar,
+pub rtm_table: crate::ctypes::c_uchar,
+pub rtm_protocol: crate::ctypes::c_uchar,
+pub rtm_scope: crate::ctypes::c_uchar,
+pub rtm_type: crate::ctypes::c_uchar,
+pub rtm_flags: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtnexthop {
+pub rtnh_len: crate::ctypes::c_ushort,
+pub rtnh_flags: crate::ctypes::c_uchar,
+pub rtnh_hops: crate::ctypes::c_uchar,
+pub rtnh_ifindex: crate::ctypes::c_int,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct rtvia {
+pub rtvia_family: __kernel_sa_family_t,
+pub rtvia_addr: __IncompleteArrayField<__u8>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rta_cacheinfo {
+pub rta_clntref: __u32,
+pub rta_lastuse: __u32,
+pub rta_expires: __s32,
+pub rta_error: __u32,
+pub rta_used: __u32,
+pub rta_id: __u32,
+pub rta_ts: __u32,
+pub rta_tsage: __u32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct rta_session {
+pub proto: __u8,
+pub pad1: __u8,
+pub pad2: __u16,
+pub u: rta_session__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rta_session__bindgen_ty_1__bindgen_ty_1 {
+pub sport: __u16,
+pub dport: __u16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rta_session__bindgen_ty_1__bindgen_ty_2 {
+pub type_: __u8,
+pub code: __u8,
+pub ident: __u16,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rta_mfc_stats {
+pub mfcs_packets: __u64,
+pub mfcs_bytes: __u64,
+pub mfcs_wrong_if: __u64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rtgenmsg {
+pub rtgen_family: crate::ctypes::c_uchar,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ifinfomsg {
+pub ifi_family: crate::ctypes::c_uchar,
+pub __ifi_pad: crate::ctypes::c_uchar,
+pub ifi_type: crate::ctypes::c_ushort,
+pub ifi_index: crate::ctypes::c_int,
+pub ifi_flags: crate::ctypes::c_uint,
+pub ifi_change: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct prefixmsg {
+pub prefix_family: crate::ctypes::c_uchar,
+pub prefix_pad1: crate::ctypes::c_uchar,
+pub prefix_pad2: crate::ctypes::c_ushort,
+pub prefix_ifindex: crate::ctypes::c_int,
+pub prefix_type: crate::ctypes::c_uchar,
+pub prefix_len: crate::ctypes::c_uchar,
+pub prefix_flags: crate::ctypes::c_uchar,
+pub prefix_pad3: crate::ctypes::c_uchar,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct prefix_cacheinfo {
+pub preferred_time: __u32,
+pub valid_time: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcmsg {
+pub tcm_family: crate::ctypes::c_uchar,
+pub tcm__pad1: crate::ctypes::c_uchar,
+pub tcm__pad2: crate::ctypes::c_ushort,
+pub tcm_ifindex: crate::ctypes::c_int,
+pub tcm_handle: __u32,
+pub tcm_parent: __u32,
+pub tcm_info: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nduseroptmsg {
+pub nduseropt_family: crate::ctypes::c_uchar,
+pub nduseropt_pad1: crate::ctypes::c_uchar,
+pub nduseropt_opts_len: crate::ctypes::c_ushort,
+pub nduseropt_ifindex: crate::ctypes::c_int,
+pub nduseropt_icmp_type: __u8,
+pub nduseropt_icmp_code: __u8,
+pub nduseropt_pad2: crate::ctypes::c_ushort,
+pub nduseropt_pad3: crate::ctypes::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tcamsg {
+pub tca_family: crate::ctypes::c_uchar,
+pub tca__pad1: crate::ctypes::c_uchar,
+pub tca__pad2: crate::ctypes::c_ushort,
+}
+pub const _K_SS_MAXSIZE: u32 = 128;
+pub const SOCK_SNDBUF_LOCK: u32 = 1;
+pub const SOCK_RCVBUF_LOCK: u32 = 2;
+pub const SOCK_BUF_LOCK_MASK: u32 = 3;
+pub const SOCK_TXREHASH_DEFAULT: u32 = 255;
+pub const SOCK_TXREHASH_DISABLED: u32 = 0;
+pub const SOCK_TXREHASH_ENABLED: u32 = 1;
+pub const NETLINK_ROUTE: u32 = 0;
+pub const NETLINK_UNUSED: u32 = 1;
+pub const NETLINK_USERSOCK: u32 = 2;
+pub const NETLINK_FIREWALL: u32 = 3;
+pub const NETLINK_SOCK_DIAG: u32 = 4;
+pub const NETLINK_NFLOG: u32 = 5;
+pub const NETLINK_XFRM: u32 = 6;
+pub const NETLINK_SELINUX: u32 = 7;
+pub const NETLINK_ISCSI: u32 = 8;
+pub const NETLINK_AUDIT: u32 = 9;
+pub const NETLINK_FIB_LOOKUP: u32 = 10;
+pub const NETLINK_CONNECTOR: u32 = 11;
+pub const NETLINK_NETFILTER: u32 = 12;
+pub const NETLINK_IP6_FW: u32 = 13;
+pub const NETLINK_DNRTMSG: u32 = 14;
+pub const NETLINK_KOBJECT_UEVENT: u32 = 15;
+pub const NETLINK_GENERIC: u32 = 16;
+pub const NETLINK_SCSITRANSPORT: u32 = 18;
+pub const NETLINK_ECRYPTFS: u32 = 19;
+pub const NETLINK_RDMA: u32 = 20;
+pub const NETLINK_CRYPTO: u32 = 21;
+pub const NETLINK_SMC: u32 = 22;
+pub const NETLINK_INET_DIAG: u32 = 4;
+pub const MAX_LINKS: u32 = 32;
+pub const NLM_F_REQUEST: u32 = 1;
+pub const NLM_F_MULTI: u32 = 2;
+pub const NLM_F_ACK: u32 = 4;
+pub const NLM_F_ECHO: u32 = 8;
+pub const NLM_F_DUMP_INTR: u32 = 16;
+pub const NLM_F_DUMP_FILTERED: u32 = 32;
+pub const NLM_F_ROOT: u32 = 256;
+pub const NLM_F_MATCH: u32 = 512;
+pub const NLM_F_ATOMIC: u32 = 1024;
+pub const NLM_F_DUMP: u32 = 768;
+pub const NLM_F_REPLACE: u32 = 256;
+pub const NLM_F_EXCL: u32 = 512;
+pub const NLM_F_CREATE: u32 = 1024;
+pub const NLM_F_APPEND: u32 = 2048;
+pub const NLM_F_NONREC: u32 = 256;
+pub const NLM_F_BULK: u32 = 512;
+pub const NLM_F_CAPPED: u32 = 256;
+pub const NLM_F_ACK_TLVS: u32 = 512;
+pub const NLMSG_ALIGNTO: u32 = 4;
+pub const NLMSG_NOOP: u32 = 1;
+pub const NLMSG_ERROR: u32 = 2;
+pub const NLMSG_DONE: u32 = 3;
+pub const NLMSG_OVERRUN: u32 = 4;
+pub const NLMSG_MIN_TYPE: u32 = 16;
+pub const NETLINK_ADD_MEMBERSHIP: u32 = 1;
+pub const NETLINK_DROP_MEMBERSHIP: u32 = 2;
+pub const NETLINK_PKTINFO: u32 = 3;
+pub const NETLINK_BROADCAST_ERROR: u32 = 4;
+pub const NETLINK_NO_ENOBUFS: u32 = 5;
+pub const NETLINK_RX_RING: u32 = 6;
+pub const NETLINK_TX_RING: u32 = 7;
+pub const NETLINK_LISTEN_ALL_NSID: u32 = 8;
+pub const NETLINK_LIST_MEMBERSHIPS: u32 = 9;
+pub const NETLINK_CAP_ACK: u32 = 10;
+pub const NETLINK_EXT_ACK: u32 = 11;
+pub const NETLINK_GET_STRICT_CHK: u32 = 12;
+pub const NL_MMAP_MSG_ALIGNMENT: u32 = 4;
+pub const NET_MAJOR: u32 = 36;
+pub const NLA_F_NESTED: u32 = 32768;
+pub const NLA_F_NET_BYTEORDER: u32 = 16384;
+pub const NLA_TYPE_MASK: i32 = -49153;
+pub const NLA_ALIGNTO: u32 = 4;
+pub const MACVLAN_FLAG_NOPROMISC: u32 = 1;
+pub const MACVLAN_FLAG_NODST: u32 = 2;
+pub const IPVLAN_F_PRIVATE: u32 = 1;
+pub const IPVLAN_F_VEPA: u32 = 2;
+pub const TUNNEL_MSG_FLAG_STATS: u32 = 1;
+pub const TUNNEL_MSG_VALID_USER_FLAGS: u32 = 1;
+pub const MAX_VLAN_LIST_LEN: u32 = 1;
+pub const PORT_PROFILE_MAX: u32 = 40;
+pub const PORT_UUID_MAX: u32 = 16;
+pub const PORT_SELF_VF: i32 = -1;
+pub const XDP_FLAGS_UPDATE_IF_NOEXIST: u32 = 1;
+pub const XDP_FLAGS_SKB_MODE: u32 = 2;
+pub const XDP_FLAGS_DRV_MODE: u32 = 4;
+pub const XDP_FLAGS_HW_MODE: u32 = 8;
+pub const XDP_FLAGS_REPLACE: u32 = 16;
+pub const XDP_FLAGS_MODES: u32 = 14;
+pub const XDP_FLAGS_MASK: u32 = 31;
+pub const RMNET_FLAGS_INGRESS_DEAGGREGATION: u32 = 1;
+pub const RMNET_FLAGS_INGRESS_MAP_COMMANDS: u32 = 2;
+pub const RMNET_FLAGS_INGRESS_MAP_CKSUMV4: u32 = 4;
+pub const RMNET_FLAGS_EGRESS_MAP_CKSUMV4: u32 = 8;
+pub const RMNET_FLAGS_INGRESS_MAP_CKSUMV5: u32 = 16;
+pub const RMNET_FLAGS_EGRESS_MAP_CKSUMV5: u32 = 32;
+pub const IFA_F_SECONDARY: u32 = 1;
+pub const IFA_F_TEMPORARY: u32 = 1;
+pub const IFA_F_NODAD: u32 = 2;
+pub const IFA_F_OPTIMISTIC: u32 = 4;
+pub const IFA_F_DADFAILED: u32 = 8;
+pub const IFA_F_HOMEADDRESS: u32 = 16;
+pub const IFA_F_DEPRECATED: u32 = 32;
+pub const IFA_F_TENTATIVE: u32 = 64;
+pub const IFA_F_PERMANENT: u32 = 128;
+pub const IFA_F_MANAGETEMPADDR: u32 = 256;
+pub const IFA_F_NOPREFIXROUTE: u32 = 512;
+pub const IFA_F_MCAUTOJOIN: u32 = 1024;
+pub const IFA_F_STABLE_PRIVACY: u32 = 2048;
+pub const IFAPROT_UNSPEC: u32 = 0;
+pub const IFAPROT_KERNEL_LO: u32 = 1;
+pub const IFAPROT_KERNEL_RA: u32 = 2;
+pub const IFAPROT_KERNEL_LL: u32 = 3;
+pub const NTF_USE: u32 = 1;
+pub const NTF_SELF: u32 = 2;
+pub const NTF_MASTER: u32 = 4;
+pub const NTF_PROXY: u32 = 8;
+pub const NTF_EXT_LEARNED: u32 = 16;
+pub const NTF_OFFLOADED: u32 = 32;
+pub const NTF_STICKY: u32 = 64;
+pub const NTF_ROUTER: u32 = 128;
+pub const NTF_EXT_MANAGED: u32 = 1;
+pub const NTF_EXT_LOCKED: u32 = 2;
+pub const NUD_INCOMPLETE: u32 = 1;
+pub const NUD_REACHABLE: u32 = 2;
+pub const NUD_STALE: u32 = 4;
+pub const NUD_DELAY: u32 = 8;
+pub const NUD_PROBE: u32 = 16;
+pub const NUD_FAILED: u32 = 32;
+pub const NUD_NOARP: u32 = 64;
+pub const NUD_PERMANENT: u32 = 128;
+pub const NUD_NONE: u32 = 0;
+pub const RTNL_FAMILY_IPMR: u32 = 128;
+pub const RTNL_FAMILY_IP6MR: u32 = 129;
+pub const RTNL_FAMILY_MAX: u32 = 129;
+pub const RTA_ALIGNTO: u32 = 4;
+pub const RTPROT_UNSPEC: u32 = 0;
+pub const RTPROT_REDIRECT: u32 = 1;
+pub const RTPROT_KERNEL: u32 = 2;
+pub const RTPROT_BOOT: u32 = 3;
+pub const RTPROT_STATIC: u32 = 4;
+pub const RTPROT_GATED: u32 = 8;
+pub const RTPROT_RA: u32 = 9;
+pub const RTPROT_MRT: u32 = 10;
+pub const RTPROT_ZEBRA: u32 = 11;
+pub const RTPROT_BIRD: u32 = 12;
+pub const RTPROT_DNROUTED: u32 = 13;
+pub const RTPROT_XORP: u32 = 14;
+pub const RTPROT_NTK: u32 = 15;
+pub const RTPROT_DHCP: u32 = 16;
+pub const RTPROT_MROUTED: u32 = 17;
+pub const RTPROT_KEEPALIVED: u32 = 18;
+pub const RTPROT_BABEL: u32 = 42;
+pub const RTPROT_OPENR: u32 = 99;
+pub const RTPROT_BGP: u32 = 186;
+pub const RTPROT_ISIS: u32 = 187;
+pub const RTPROT_OSPF: u32 = 188;
+pub const RTPROT_RIP: u32 = 189;
+pub const RTPROT_EIGRP: u32 = 192;
+pub const RTM_F_NOTIFY: u32 = 256;
+pub const RTM_F_CLONED: u32 = 512;
+pub const RTM_F_EQUALIZE: u32 = 1024;
+pub const RTM_F_PREFIX: u32 = 2048;
+pub const RTM_F_LOOKUP_TABLE: u32 = 4096;
+pub const RTM_F_FIB_MATCH: u32 = 8192;
+pub const RTM_F_OFFLOAD: u32 = 16384;
+pub const RTM_F_TRAP: u32 = 32768;
+pub const RTM_F_OFFLOAD_FAILED: u32 = 536870912;
+pub const RTNH_F_DEAD: u32 = 1;
+pub const RTNH_F_PERVASIVE: u32 = 2;
+pub const RTNH_F_ONLINK: u32 = 4;
+pub const RTNH_F_OFFLOAD: u32 = 8;
+pub const RTNH_F_LINKDOWN: u32 = 16;
+pub const RTNH_F_UNRESOLVED: u32 = 32;
+pub const RTNH_F_TRAP: u32 = 64;
+pub const RTNH_COMPARE_MASK: u32 = 89;
+pub const RTNH_ALIGNTO: u32 = 4;
+pub const RTNETLINK_HAVE_PEERINFO: u32 = 1;
+pub const RTAX_FEATURE_ECN: u32 = 1;
+pub const RTAX_FEATURE_SACK: u32 = 2;
+pub const RTAX_FEATURE_TIMESTAMP: u32 = 4;
+pub const RTAX_FEATURE_ALLFRAG: u32 = 8;
+pub const RTAX_FEATURE_MASK: u32 = 15;
+pub const TCM_IFINDEX_MAGIC_BLOCK: u32 = 4294967295;
+pub const TCA_DUMP_FLAGS_TERSE: u32 = 1;
+pub const RTMGRP_LINK: u32 = 1;
+pub const RTMGRP_NOTIFY: u32 = 2;
+pub const RTMGRP_NEIGH: u32 = 4;
+pub const RTMGRP_TC: u32 = 8;
+pub const RTMGRP_IPV4_IFADDR: u32 = 16;
+pub const RTMGRP_IPV4_MROUTE: u32 = 32;
+pub const RTMGRP_IPV4_ROUTE: u32 = 64;
+pub const RTMGRP_IPV4_RULE: u32 = 128;
+pub const RTMGRP_IPV6_IFADDR: u32 = 256;
+pub const RTMGRP_IPV6_MROUTE: u32 = 512;
+pub const RTMGRP_IPV6_ROUTE: u32 = 1024;
+pub const RTMGRP_IPV6_IFINFO: u32 = 2048;
+pub const RTMGRP_DECnet_IFADDR: u32 = 4096;
+pub const RTMGRP_DECnet_ROUTE: u32 = 16384;
+pub const RTMGRP_IPV6_PREFIX: u32 = 131072;
+pub const TCA_FLAG_LARGE_DUMP_ON: u32 = 1;
+pub const TCA_ACT_FLAG_LARGE_DUMP_ON: u32 = 1;
+pub const TCA_ACT_FLAG_TERSE_DUMP: u32 = 2;
+pub const RTEXT_FILTER_VF: u32 = 1;
+pub const RTEXT_FILTER_BRVLAN: u32 = 2;
+pub const RTEXT_FILTER_BRVLAN_COMPRESSED: u32 = 4;
+pub const RTEXT_FILTER_SKIP_STATS: u32 = 8;
+pub const RTEXT_FILTER_MRP: u32 = 16;
+pub const RTEXT_FILTER_CFM_CONFIG: u32 = 32;
+pub const RTEXT_FILTER_CFM_STATUS: u32 = 64;
+pub const RTEXT_FILTER_MST: u32 = 128;
+pub const NETLINK_UNCONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_UNCONNECTED;
+pub const NETLINK_CONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_CONNECTED;
+pub const IFLA_UNSPEC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_UNSPEC;
+pub const IFLA_ADDRESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_ADDRESS;
+pub const IFLA_BROADCAST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_BROADCAST;
+pub const IFLA_IFNAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFNAME;
+pub const IFLA_MTU: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MTU;
+pub const IFLA_LINK: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINK;
+pub const IFLA_QDISC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_QDISC;
+pub const IFLA_STATS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_STATS;
+pub const IFLA_COST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_COST;
+pub const IFLA_PRIORITY: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PRIORITY;
+pub const IFLA_MASTER: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MASTER;
+pub const IFLA_WIRELESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WIRELESS;
+pub const IFLA_PROTINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROTINFO;
+pub const IFLA_TXQLEN: _bindgen_ty_2 = _bindgen_ty_2::IFLA_TXQLEN;
+pub const IFLA_MAP: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MAP;
+pub const IFLA_WEIGHT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WEIGHT;
+pub const IFLA_OPERSTATE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_OPERSTATE;
+pub const IFLA_LINKMODE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKMODE;
+pub const IFLA_LINKINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKINFO;
+pub const IFLA_NET_NS_PID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NET_NS_PID;
+pub const IFLA_IFALIAS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFALIAS;
+pub const IFLA_NUM_VF: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NUM_VF;
+pub const IFLA_VFINFO_LIST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_VFINFO_LIST;
+pub const IFLA_STATS64: _bindgen_ty_2 = _bindgen_ty_2::IFLA_STATS64;
+pub const IFLA_VF_PORTS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_VF_PORTS;
+pub const IFLA_PORT_SELF: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PORT_SELF;
+pub const IFLA_AF_SPEC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_AF_SPEC;
+pub const IFLA_GROUP: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GROUP;
+pub const IFLA_NET_NS_FD: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NET_NS_FD;
+pub const IFLA_EXT_MASK: _bindgen_ty_2 = _bindgen_ty_2::IFLA_EXT_MASK;
+pub const IFLA_PROMISCUITY: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROMISCUITY;
+pub const IFLA_NUM_TX_QUEUES: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NUM_TX_QUEUES;
+pub const IFLA_NUM_RX_QUEUES: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NUM_RX_QUEUES;
+pub const IFLA_CARRIER: _bindgen_ty_2 = _bindgen_ty_2::IFLA_CARRIER;
+pub const IFLA_PHYS_PORT_ID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PHYS_PORT_ID;
+pub const IFLA_CARRIER_CHANGES: _bindgen_ty_2 = _bindgen_ty_2::IFLA_CARRIER_CHANGES;
+pub const IFLA_PHYS_SWITCH_ID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PHYS_SWITCH_ID;
+pub const IFLA_LINK_NETNSID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINK_NETNSID;
+pub const IFLA_PHYS_PORT_NAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PHYS_PORT_NAME;
+pub const IFLA_PROTO_DOWN: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROTO_DOWN;
+pub const IFLA_GSO_MAX_SEGS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GSO_MAX_SEGS;
+pub const IFLA_GSO_MAX_SIZE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GSO_MAX_SIZE;
+pub const IFLA_PAD: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PAD;
+pub const IFLA_XDP: _bindgen_ty_2 = _bindgen_ty_2::IFLA_XDP;
+pub const IFLA_EVENT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_EVENT;
+pub const IFLA_NEW_NETNSID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NEW_NETNSID;
+pub const IFLA_IF_NETNSID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IF_NETNSID;
+pub const IFLA_TARGET_NETNSID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IF_NETNSID;
+pub const IFLA_CARRIER_UP_COUNT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_CARRIER_UP_COUNT;
+pub const IFLA_CARRIER_DOWN_COUNT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_CARRIER_DOWN_COUNT;
+pub const IFLA_NEW_IFINDEX: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NEW_IFINDEX;
+pub const IFLA_MIN_MTU: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MIN_MTU;
+pub const IFLA_MAX_MTU: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MAX_MTU;
+pub const IFLA_PROP_LIST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROP_LIST;
+pub const IFLA_ALT_IFNAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_ALT_IFNAME;
+pub const IFLA_PERM_ADDRESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PERM_ADDRESS;
+pub const IFLA_PROTO_DOWN_REASON: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROTO_DOWN_REASON;
+pub const IFLA_PARENT_DEV_NAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PARENT_DEV_NAME;
+pub const IFLA_PARENT_DEV_BUS_NAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PARENT_DEV_BUS_NAME;
+pub const IFLA_GRO_MAX_SIZE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GRO_MAX_SIZE;
+pub const IFLA_TSO_MAX_SIZE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_TSO_MAX_SIZE;
+pub const IFLA_TSO_MAX_SEGS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_TSO_MAX_SEGS;
+pub const IFLA_ALLMULTI: _bindgen_ty_2 = _bindgen_ty_2::IFLA_ALLMULTI;
+pub const IFLA_DEVLINK_PORT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_DEVLINK_PORT;
+pub const IFLA_GSO_IPV4_MAX_SIZE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GSO_IPV4_MAX_SIZE;
+pub const IFLA_GRO_IPV4_MAX_SIZE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_GRO_IPV4_MAX_SIZE;
+pub const __IFLA_MAX: _bindgen_ty_2 = _bindgen_ty_2::__IFLA_MAX;
+pub const IFLA_PROTO_DOWN_REASON_UNSPEC: _bindgen_ty_3 = _bindgen_ty_3::IFLA_PROTO_DOWN_REASON_UNSPEC;
+pub const IFLA_PROTO_DOWN_REASON_MASK: _bindgen_ty_3 = _bindgen_ty_3::IFLA_PROTO_DOWN_REASON_MASK;
+pub const IFLA_PROTO_DOWN_REASON_VALUE: _bindgen_ty_3 = _bindgen_ty_3::IFLA_PROTO_DOWN_REASON_VALUE;
+pub const __IFLA_PROTO_DOWN_REASON_CNT: _bindgen_ty_3 = _bindgen_ty_3::__IFLA_PROTO_DOWN_REASON_CNT;
+pub const IFLA_PROTO_DOWN_REASON_MAX: _bindgen_ty_3 = _bindgen_ty_3::IFLA_PROTO_DOWN_REASON_VALUE;
+pub const IFLA_INET_UNSPEC: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INET_UNSPEC;
+pub const IFLA_INET_CONF: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INET_CONF;
+pub const __IFLA_INET_MAX: _bindgen_ty_4 = _bindgen_ty_4::__IFLA_INET_MAX;
+pub const IFLA_INET6_UNSPEC: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_UNSPEC;
+pub const IFLA_INET6_FLAGS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_FLAGS;
+pub const IFLA_INET6_CONF: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_CONF;
+pub const IFLA_INET6_STATS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_STATS;
+pub const IFLA_INET6_MCAST: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_MCAST;
+pub const IFLA_INET6_CACHEINFO: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_CACHEINFO;
+pub const IFLA_INET6_ICMP6STATS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_ICMP6STATS;
+pub const IFLA_INET6_TOKEN: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_TOKEN;
+pub const IFLA_INET6_ADDR_GEN_MODE: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_ADDR_GEN_MODE;
+pub const IFLA_INET6_RA_MTU: _bindgen_ty_5 = _bindgen_ty_5::IFLA_INET6_RA_MTU;
+pub const __IFLA_INET6_MAX: _bindgen_ty_5 = _bindgen_ty_5::__IFLA_INET6_MAX;
+pub const IFLA_BR_UNSPEC: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_UNSPEC;
+pub const IFLA_BR_FORWARD_DELAY: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_FORWARD_DELAY;
+pub const IFLA_BR_HELLO_TIME: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_HELLO_TIME;
+pub const IFLA_BR_MAX_AGE: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MAX_AGE;
+pub const IFLA_BR_AGEING_TIME: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_AGEING_TIME;
+pub const IFLA_BR_STP_STATE: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_STP_STATE;
+pub const IFLA_BR_PRIORITY: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_PRIORITY;
+pub const IFLA_BR_VLAN_FILTERING: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_VLAN_FILTERING;
+pub const IFLA_BR_VLAN_PROTOCOL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_VLAN_PROTOCOL;
+pub const IFLA_BR_GROUP_FWD_MASK: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_GROUP_FWD_MASK;
+pub const IFLA_BR_ROOT_ID: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_ROOT_ID;
+pub const IFLA_BR_BRIDGE_ID: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_BRIDGE_ID;
+pub const IFLA_BR_ROOT_PORT: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_ROOT_PORT;
+pub const IFLA_BR_ROOT_PATH_COST: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_ROOT_PATH_COST;
+pub const IFLA_BR_TOPOLOGY_CHANGE: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_TOPOLOGY_CHANGE;
+pub const IFLA_BR_TOPOLOGY_CHANGE_DETECTED: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_TOPOLOGY_CHANGE_DETECTED;
+pub const IFLA_BR_HELLO_TIMER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_HELLO_TIMER;
+pub const IFLA_BR_TCN_TIMER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_TCN_TIMER;
+pub const IFLA_BR_TOPOLOGY_CHANGE_TIMER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_TOPOLOGY_CHANGE_TIMER;
+pub const IFLA_BR_GC_TIMER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_GC_TIMER;
+pub const IFLA_BR_GROUP_ADDR: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_GROUP_ADDR;
+pub const IFLA_BR_FDB_FLUSH: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_FDB_FLUSH;
+pub const IFLA_BR_MCAST_ROUTER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_ROUTER;
+pub const IFLA_BR_MCAST_SNOOPING: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_SNOOPING;
+pub const IFLA_BR_MCAST_QUERY_USE_IFADDR: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERY_USE_IFADDR;
+pub const IFLA_BR_MCAST_QUERIER: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERIER;
+pub const IFLA_BR_MCAST_HASH_ELASTICITY: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_HASH_ELASTICITY;
+pub const IFLA_BR_MCAST_HASH_MAX: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_HASH_MAX;
+pub const IFLA_BR_MCAST_LAST_MEMBER_CNT: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_LAST_MEMBER_CNT;
+pub const IFLA_BR_MCAST_STARTUP_QUERY_CNT: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_STARTUP_QUERY_CNT;
+pub const IFLA_BR_MCAST_LAST_MEMBER_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_LAST_MEMBER_INTVL;
+pub const IFLA_BR_MCAST_MEMBERSHIP_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_MEMBERSHIP_INTVL;
+pub const IFLA_BR_MCAST_QUERIER_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERIER_INTVL;
+pub const IFLA_BR_MCAST_QUERY_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERY_INTVL;
+pub const IFLA_BR_MCAST_QUERY_RESPONSE_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERY_RESPONSE_INTVL;
+pub const IFLA_BR_MCAST_STARTUP_QUERY_INTVL: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_STARTUP_QUERY_INTVL;
+pub const IFLA_BR_NF_CALL_IPTABLES: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_NF_CALL_IPTABLES;
+pub const IFLA_BR_NF_CALL_IP6TABLES: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_NF_CALL_IP6TABLES;
+pub const IFLA_BR_NF_CALL_ARPTABLES: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_NF_CALL_ARPTABLES;
+pub const IFLA_BR_VLAN_DEFAULT_PVID: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_VLAN_DEFAULT_PVID;
+pub const IFLA_BR_PAD: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_PAD;
+pub const IFLA_BR_VLAN_STATS_ENABLED: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_VLAN_STATS_ENABLED;
+pub const IFLA_BR_MCAST_STATS_ENABLED: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_STATS_ENABLED;
+pub const IFLA_BR_MCAST_IGMP_VERSION: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_IGMP_VERSION;
+pub const IFLA_BR_MCAST_MLD_VERSION: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_MLD_VERSION;
+pub const IFLA_BR_VLAN_STATS_PER_PORT: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_VLAN_STATS_PER_PORT;
+pub const IFLA_BR_MULTI_BOOLOPT: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MULTI_BOOLOPT;
+pub const IFLA_BR_MCAST_QUERIER_STATE: _bindgen_ty_6 = _bindgen_ty_6::IFLA_BR_MCAST_QUERIER_STATE;
+pub const __IFLA_BR_MAX: _bindgen_ty_6 = _bindgen_ty_6::__IFLA_BR_MAX;
+pub const BRIDGE_MODE_UNSPEC: _bindgen_ty_7 = _bindgen_ty_7::BRIDGE_MODE_UNSPEC;
+pub const BRIDGE_MODE_HAIRPIN: _bindgen_ty_7 = _bindgen_ty_7::BRIDGE_MODE_HAIRPIN;
+pub const IFLA_BRPORT_UNSPEC: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_UNSPEC;
+pub const IFLA_BRPORT_STATE: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_STATE;
+pub const IFLA_BRPORT_PRIORITY: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_PRIORITY;
+pub const IFLA_BRPORT_COST: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_COST;
+pub const IFLA_BRPORT_MODE: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MODE;
+pub const IFLA_BRPORT_GUARD: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_GUARD;
+pub const IFLA_BRPORT_PROTECT: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_PROTECT;
+pub const IFLA_BRPORT_FAST_LEAVE: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_FAST_LEAVE;
+pub const IFLA_BRPORT_LEARNING: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_LEARNING;
+pub const IFLA_BRPORT_UNICAST_FLOOD: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_UNICAST_FLOOD;
+pub const IFLA_BRPORT_PROXYARP: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_PROXYARP;
+pub const IFLA_BRPORT_LEARNING_SYNC: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_LEARNING_SYNC;
+pub const IFLA_BRPORT_PROXYARP_WIFI: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_PROXYARP_WIFI;
+pub const IFLA_BRPORT_ROOT_ID: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_ROOT_ID;
+pub const IFLA_BRPORT_BRIDGE_ID: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_BRIDGE_ID;
+pub const IFLA_BRPORT_DESIGNATED_PORT: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_DESIGNATED_PORT;
+pub const IFLA_BRPORT_DESIGNATED_COST: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_DESIGNATED_COST;
+pub const IFLA_BRPORT_ID: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_ID;
+pub const IFLA_BRPORT_NO: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_NO;
+pub const IFLA_BRPORT_TOPOLOGY_CHANGE_ACK: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_TOPOLOGY_CHANGE_ACK;
+pub const IFLA_BRPORT_CONFIG_PENDING: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_CONFIG_PENDING;
+pub const IFLA_BRPORT_MESSAGE_AGE_TIMER: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MESSAGE_AGE_TIMER;
+pub const IFLA_BRPORT_FORWARD_DELAY_TIMER: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_FORWARD_DELAY_TIMER;
+pub const IFLA_BRPORT_HOLD_TIMER: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_HOLD_TIMER;
+pub const IFLA_BRPORT_FLUSH: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_FLUSH;
+pub const IFLA_BRPORT_MULTICAST_ROUTER: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MULTICAST_ROUTER;
+pub const IFLA_BRPORT_PAD: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_PAD;
+pub const IFLA_BRPORT_MCAST_FLOOD: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_FLOOD;
+pub const IFLA_BRPORT_MCAST_TO_UCAST: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_TO_UCAST;
+pub const IFLA_BRPORT_VLAN_TUNNEL: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_VLAN_TUNNEL;
+pub const IFLA_BRPORT_BCAST_FLOOD: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_BCAST_FLOOD;
+pub const IFLA_BRPORT_GROUP_FWD_MASK: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_GROUP_FWD_MASK;
+pub const IFLA_BRPORT_NEIGH_SUPPRESS: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_NEIGH_SUPPRESS;
+pub const IFLA_BRPORT_ISOLATED: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_ISOLATED;
+pub const IFLA_BRPORT_BACKUP_PORT: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_BACKUP_PORT;
+pub const IFLA_BRPORT_MRP_RING_OPEN: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MRP_RING_OPEN;
+pub const IFLA_BRPORT_MRP_IN_OPEN: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MRP_IN_OPEN;
+pub const IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT;
+pub const IFLA_BRPORT_MCAST_EHT_HOSTS_CNT: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_EHT_HOSTS_CNT;
+pub const IFLA_BRPORT_LOCKED: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_LOCKED;
+pub const IFLA_BRPORT_MAB: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MAB;
+pub const IFLA_BRPORT_MCAST_N_GROUPS: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_N_GROUPS;
+pub const IFLA_BRPORT_MCAST_MAX_GROUPS: _bindgen_ty_8 = _bindgen_ty_8::IFLA_BRPORT_MCAST_MAX_GROUPS;
+pub const __IFLA_BRPORT_MAX: _bindgen_ty_8 = _bindgen_ty_8::__IFLA_BRPORT_MAX;
+pub const IFLA_INFO_UNSPEC: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_UNSPEC;
+pub const IFLA_INFO_KIND: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_KIND;
+pub const IFLA_INFO_DATA: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_DATA;
+pub const IFLA_INFO_XSTATS: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_XSTATS;
+pub const IFLA_INFO_SLAVE_KIND: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_SLAVE_KIND;
+pub const IFLA_INFO_SLAVE_DATA: _bindgen_ty_9 = _bindgen_ty_9::IFLA_INFO_SLAVE_DATA;
+pub const __IFLA_INFO_MAX: _bindgen_ty_9 = _bindgen_ty_9::__IFLA_INFO_MAX;
+pub const IFLA_VLAN_UNSPEC: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_UNSPEC;
+pub const IFLA_VLAN_ID: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_ID;
+pub const IFLA_VLAN_FLAGS: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_FLAGS;
+pub const IFLA_VLAN_EGRESS_QOS: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_EGRESS_QOS;
+pub const IFLA_VLAN_INGRESS_QOS: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_INGRESS_QOS;
+pub const IFLA_VLAN_PROTOCOL: _bindgen_ty_10 = _bindgen_ty_10::IFLA_VLAN_PROTOCOL;
+pub const __IFLA_VLAN_MAX: _bindgen_ty_10 = _bindgen_ty_10::__IFLA_VLAN_MAX;
+pub const IFLA_VLAN_QOS_UNSPEC: _bindgen_ty_11 = _bindgen_ty_11::IFLA_VLAN_QOS_UNSPEC;
+pub const IFLA_VLAN_QOS_MAPPING: _bindgen_ty_11 = _bindgen_ty_11::IFLA_VLAN_QOS_MAPPING;
+pub const __IFLA_VLAN_QOS_MAX: _bindgen_ty_11 = _bindgen_ty_11::__IFLA_VLAN_QOS_MAX;
+pub const IFLA_MACVLAN_UNSPEC: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_UNSPEC;
+pub const IFLA_MACVLAN_MODE: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_MODE;
+pub const IFLA_MACVLAN_FLAGS: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_FLAGS;
+pub const IFLA_MACVLAN_MACADDR_MODE: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_MACADDR_MODE;
+pub const IFLA_MACVLAN_MACADDR: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_MACADDR;
+pub const IFLA_MACVLAN_MACADDR_DATA: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_MACADDR_DATA;
+pub const IFLA_MACVLAN_MACADDR_COUNT: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_MACADDR_COUNT;
+pub const IFLA_MACVLAN_BC_QUEUE_LEN: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_BC_QUEUE_LEN;
+pub const IFLA_MACVLAN_BC_QUEUE_LEN_USED: _bindgen_ty_12 = _bindgen_ty_12::IFLA_MACVLAN_BC_QUEUE_LEN_USED;
+pub const __IFLA_MACVLAN_MAX: _bindgen_ty_12 = _bindgen_ty_12::__IFLA_MACVLAN_MAX;
+pub const IFLA_VRF_UNSPEC: _bindgen_ty_13 = _bindgen_ty_13::IFLA_VRF_UNSPEC;
+pub const IFLA_VRF_TABLE: _bindgen_ty_13 = _bindgen_ty_13::IFLA_VRF_TABLE;
+pub const __IFLA_VRF_MAX: _bindgen_ty_13 = _bindgen_ty_13::__IFLA_VRF_MAX;
+pub const IFLA_VRF_PORT_UNSPEC: _bindgen_ty_14 = _bindgen_ty_14::IFLA_VRF_PORT_UNSPEC;
+pub const IFLA_VRF_PORT_TABLE: _bindgen_ty_14 = _bindgen_ty_14::IFLA_VRF_PORT_TABLE;
+pub const __IFLA_VRF_PORT_MAX: _bindgen_ty_14 = _bindgen_ty_14::__IFLA_VRF_PORT_MAX;
+pub const IFLA_MACSEC_UNSPEC: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_UNSPEC;
+pub const IFLA_MACSEC_SCI: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_SCI;
+pub const IFLA_MACSEC_PORT: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_PORT;
+pub const IFLA_MACSEC_ICV_LEN: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_ICV_LEN;
+pub const IFLA_MACSEC_CIPHER_SUITE: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_CIPHER_SUITE;
+pub const IFLA_MACSEC_WINDOW: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_WINDOW;
+pub const IFLA_MACSEC_ENCODING_SA: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_ENCODING_SA;
+pub const IFLA_MACSEC_ENCRYPT: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_ENCRYPT;
+pub const IFLA_MACSEC_PROTECT: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_PROTECT;
+pub const IFLA_MACSEC_INC_SCI: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_INC_SCI;
+pub const IFLA_MACSEC_ES: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_ES;
+pub const IFLA_MACSEC_SCB: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_SCB;
+pub const IFLA_MACSEC_REPLAY_PROTECT: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_REPLAY_PROTECT;
+pub const IFLA_MACSEC_VALIDATION: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_VALIDATION;
+pub const IFLA_MACSEC_PAD: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_PAD;
+pub const IFLA_MACSEC_OFFLOAD: _bindgen_ty_15 = _bindgen_ty_15::IFLA_MACSEC_OFFLOAD;
+pub const __IFLA_MACSEC_MAX: _bindgen_ty_15 = _bindgen_ty_15::__IFLA_MACSEC_MAX;
+pub const IFLA_XFRM_UNSPEC: _bindgen_ty_16 = _bindgen_ty_16::IFLA_XFRM_UNSPEC;
+pub const IFLA_XFRM_LINK: _bindgen_ty_16 = _bindgen_ty_16::IFLA_XFRM_LINK;
+pub const IFLA_XFRM_IF_ID: _bindgen_ty_16 = _bindgen_ty_16::IFLA_XFRM_IF_ID;
+pub const IFLA_XFRM_COLLECT_METADATA: _bindgen_ty_16 = _bindgen_ty_16::IFLA_XFRM_COLLECT_METADATA;
+pub const __IFLA_XFRM_MAX: _bindgen_ty_16 = _bindgen_ty_16::__IFLA_XFRM_MAX;
+pub const IFLA_IPVLAN_UNSPEC: _bindgen_ty_17 = _bindgen_ty_17::IFLA_IPVLAN_UNSPEC;
+pub const IFLA_IPVLAN_MODE: _bindgen_ty_17 = _bindgen_ty_17::IFLA_IPVLAN_MODE;
+pub const IFLA_IPVLAN_FLAGS: _bindgen_ty_17 = _bindgen_ty_17::IFLA_IPVLAN_FLAGS;
+pub const __IFLA_IPVLAN_MAX: _bindgen_ty_17 = _bindgen_ty_17::__IFLA_IPVLAN_MAX;
+pub const VNIFILTER_ENTRY_STATS_UNSPEC: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_UNSPEC;
+pub const VNIFILTER_ENTRY_STATS_RX_BYTES: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_RX_BYTES;
+pub const VNIFILTER_ENTRY_STATS_RX_PKTS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_RX_PKTS;
+pub const VNIFILTER_ENTRY_STATS_RX_DROPS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_RX_DROPS;
+pub const VNIFILTER_ENTRY_STATS_RX_ERRORS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_RX_ERRORS;
+pub const VNIFILTER_ENTRY_STATS_TX_BYTES: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_TX_BYTES;
+pub const VNIFILTER_ENTRY_STATS_TX_PKTS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_TX_PKTS;
+pub const VNIFILTER_ENTRY_STATS_TX_DROPS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_TX_DROPS;
+pub const VNIFILTER_ENTRY_STATS_TX_ERRORS: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_TX_ERRORS;
+pub const VNIFILTER_ENTRY_STATS_PAD: _bindgen_ty_18 = _bindgen_ty_18::VNIFILTER_ENTRY_STATS_PAD;
+pub const __VNIFILTER_ENTRY_STATS_MAX: _bindgen_ty_18 = _bindgen_ty_18::__VNIFILTER_ENTRY_STATS_MAX;
+pub const VXLAN_VNIFILTER_ENTRY_UNSPEC: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_UNSPEC;
+pub const VXLAN_VNIFILTER_ENTRY_START: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_START;
+pub const VXLAN_VNIFILTER_ENTRY_END: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_END;
+pub const VXLAN_VNIFILTER_ENTRY_GROUP: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_GROUP;
+pub const VXLAN_VNIFILTER_ENTRY_GROUP6: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_GROUP6;
+pub const VXLAN_VNIFILTER_ENTRY_STATS: _bindgen_ty_19 = _bindgen_ty_19::VXLAN_VNIFILTER_ENTRY_STATS;
+pub const __VXLAN_VNIFILTER_ENTRY_MAX: _bindgen_ty_19 = _bindgen_ty_19::__VXLAN_VNIFILTER_ENTRY_MAX;
+pub const VXLAN_VNIFILTER_UNSPEC: _bindgen_ty_20 = _bindgen_ty_20::VXLAN_VNIFILTER_UNSPEC;
+pub const VXLAN_VNIFILTER_ENTRY: _bindgen_ty_20 = _bindgen_ty_20::VXLAN_VNIFILTER_ENTRY;
+pub const __VXLAN_VNIFILTER_MAX: _bindgen_ty_20 = _bindgen_ty_20::__VXLAN_VNIFILTER_MAX;
+pub const IFLA_VXLAN_UNSPEC: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_UNSPEC;
+pub const IFLA_VXLAN_ID: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_ID;
+pub const IFLA_VXLAN_GROUP: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_GROUP;
+pub const IFLA_VXLAN_LINK: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LINK;
+pub const IFLA_VXLAN_LOCAL: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LOCAL;
+pub const IFLA_VXLAN_TTL: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_TTL;
+pub const IFLA_VXLAN_TOS: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_TOS;
+pub const IFLA_VXLAN_LEARNING: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LEARNING;
+pub const IFLA_VXLAN_AGEING: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_AGEING;
+pub const IFLA_VXLAN_LIMIT: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LIMIT;
+pub const IFLA_VXLAN_PORT_RANGE: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_PORT_RANGE;
+pub const IFLA_VXLAN_PROXY: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_PROXY;
+pub const IFLA_VXLAN_RSC: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_RSC;
+pub const IFLA_VXLAN_L2MISS: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_L2MISS;
+pub const IFLA_VXLAN_L3MISS: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_L3MISS;
+pub const IFLA_VXLAN_PORT: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_PORT;
+pub const IFLA_VXLAN_GROUP6: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_GROUP6;
+pub const IFLA_VXLAN_LOCAL6: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LOCAL6;
+pub const IFLA_VXLAN_UDP_CSUM: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_UDP_CSUM;
+pub const IFLA_VXLAN_UDP_ZERO_CSUM6_TX: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_UDP_ZERO_CSUM6_TX;
+pub const IFLA_VXLAN_UDP_ZERO_CSUM6_RX: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_UDP_ZERO_CSUM6_RX;
+pub const IFLA_VXLAN_REMCSUM_TX: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_REMCSUM_TX;
+pub const IFLA_VXLAN_REMCSUM_RX: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_REMCSUM_RX;
+pub const IFLA_VXLAN_GBP: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_GBP;
+pub const IFLA_VXLAN_REMCSUM_NOPARTIAL: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_REMCSUM_NOPARTIAL;
+pub const IFLA_VXLAN_COLLECT_METADATA: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_COLLECT_METADATA;
+pub const IFLA_VXLAN_LABEL: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_LABEL;
+pub const IFLA_VXLAN_GPE: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_GPE;
+pub const IFLA_VXLAN_TTL_INHERIT: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_TTL_INHERIT;
+pub const IFLA_VXLAN_DF: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_DF;
+pub const IFLA_VXLAN_VNIFILTER: _bindgen_ty_21 = _bindgen_ty_21::IFLA_VXLAN_VNIFILTER;
+pub const __IFLA_VXLAN_MAX: _bindgen_ty_21 = _bindgen_ty_21::__IFLA_VXLAN_MAX;
+pub const IFLA_GENEVE_UNSPEC: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_UNSPEC;
+pub const IFLA_GENEVE_ID: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_ID;
+pub const IFLA_GENEVE_REMOTE: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_REMOTE;
+pub const IFLA_GENEVE_TTL: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_TTL;
+pub const IFLA_GENEVE_TOS: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_TOS;
+pub const IFLA_GENEVE_PORT: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_PORT;
+pub const IFLA_GENEVE_COLLECT_METADATA: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_COLLECT_METADATA;
+pub const IFLA_GENEVE_REMOTE6: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_REMOTE6;
+pub const IFLA_GENEVE_UDP_CSUM: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_UDP_CSUM;
+pub const IFLA_GENEVE_UDP_ZERO_CSUM6_TX: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_UDP_ZERO_CSUM6_TX;
+pub const IFLA_GENEVE_UDP_ZERO_CSUM6_RX: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_UDP_ZERO_CSUM6_RX;
+pub const IFLA_GENEVE_LABEL: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_LABEL;
+pub const IFLA_GENEVE_TTL_INHERIT: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_TTL_INHERIT;
+pub const IFLA_GENEVE_DF: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_DF;
+pub const IFLA_GENEVE_INNER_PROTO_INHERIT: _bindgen_ty_22 = _bindgen_ty_22::IFLA_GENEVE_INNER_PROTO_INHERIT;
+pub const __IFLA_GENEVE_MAX: _bindgen_ty_22 = _bindgen_ty_22::__IFLA_GENEVE_MAX;
+pub const IFLA_BAREUDP_UNSPEC: _bindgen_ty_23 = _bindgen_ty_23::IFLA_BAREUDP_UNSPEC;
+pub const IFLA_BAREUDP_PORT: _bindgen_ty_23 = _bindgen_ty_23::IFLA_BAREUDP_PORT;
+pub const IFLA_BAREUDP_ETHERTYPE: _bindgen_ty_23 = _bindgen_ty_23::IFLA_BAREUDP_ETHERTYPE;
+pub const IFLA_BAREUDP_SRCPORT_MIN: _bindgen_ty_23 = _bindgen_ty_23::IFLA_BAREUDP_SRCPORT_MIN;
+pub const IFLA_BAREUDP_MULTIPROTO_MODE: _bindgen_ty_23 = _bindgen_ty_23::IFLA_BAREUDP_MULTIPROTO_MODE;
+pub const __IFLA_BAREUDP_MAX: _bindgen_ty_23 = _bindgen_ty_23::__IFLA_BAREUDP_MAX;
+pub const IFLA_PPP_UNSPEC: _bindgen_ty_24 = _bindgen_ty_24::IFLA_PPP_UNSPEC;
+pub const IFLA_PPP_DEV_FD: _bindgen_ty_24 = _bindgen_ty_24::IFLA_PPP_DEV_FD;
+pub const __IFLA_PPP_MAX: _bindgen_ty_24 = _bindgen_ty_24::__IFLA_PPP_MAX;
+pub const IFLA_GTP_UNSPEC: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_UNSPEC;
+pub const IFLA_GTP_FD0: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_FD0;
+pub const IFLA_GTP_FD1: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_FD1;
+pub const IFLA_GTP_PDP_HASHSIZE: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_PDP_HASHSIZE;
+pub const IFLA_GTP_ROLE: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_ROLE;
+pub const IFLA_GTP_CREATE_SOCKETS: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_CREATE_SOCKETS;
+pub const IFLA_GTP_RESTART_COUNT: _bindgen_ty_25 = _bindgen_ty_25::IFLA_GTP_RESTART_COUNT;
+pub const __IFLA_GTP_MAX: _bindgen_ty_25 = _bindgen_ty_25::__IFLA_GTP_MAX;
+pub const IFLA_BOND_UNSPEC: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_UNSPEC;
+pub const IFLA_BOND_MODE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_MODE;
+pub const IFLA_BOND_ACTIVE_SLAVE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ACTIVE_SLAVE;
+pub const IFLA_BOND_MIIMON: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_MIIMON;
+pub const IFLA_BOND_UPDELAY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_UPDELAY;
+pub const IFLA_BOND_DOWNDELAY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_DOWNDELAY;
+pub const IFLA_BOND_USE_CARRIER: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_USE_CARRIER;
+pub const IFLA_BOND_ARP_INTERVAL: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ARP_INTERVAL;
+pub const IFLA_BOND_ARP_IP_TARGET: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ARP_IP_TARGET;
+pub const IFLA_BOND_ARP_VALIDATE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ARP_VALIDATE;
+pub const IFLA_BOND_ARP_ALL_TARGETS: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ARP_ALL_TARGETS;
+pub const IFLA_BOND_PRIMARY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_PRIMARY;
+pub const IFLA_BOND_PRIMARY_RESELECT: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_PRIMARY_RESELECT;
+pub const IFLA_BOND_FAIL_OVER_MAC: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_FAIL_OVER_MAC;
+pub const IFLA_BOND_XMIT_HASH_POLICY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_XMIT_HASH_POLICY;
+pub const IFLA_BOND_RESEND_IGMP: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_RESEND_IGMP;
+pub const IFLA_BOND_NUM_PEER_NOTIF: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_NUM_PEER_NOTIF;
+pub const IFLA_BOND_ALL_SLAVES_ACTIVE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_ALL_SLAVES_ACTIVE;
+pub const IFLA_BOND_MIN_LINKS: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_MIN_LINKS;
+pub const IFLA_BOND_LP_INTERVAL: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_LP_INTERVAL;
+pub const IFLA_BOND_PACKETS_PER_SLAVE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_PACKETS_PER_SLAVE;
+pub const IFLA_BOND_AD_LACP_RATE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_LACP_RATE;
+pub const IFLA_BOND_AD_SELECT: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_SELECT;
+pub const IFLA_BOND_AD_INFO: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_INFO;
+pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_ACTOR_SYS_PRIO;
+pub const IFLA_BOND_AD_USER_PORT_KEY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_USER_PORT_KEY;
+pub const IFLA_BOND_AD_ACTOR_SYSTEM: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_ACTOR_SYSTEM;
+pub const IFLA_BOND_TLB_DYNAMIC_LB: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_TLB_DYNAMIC_LB;
+pub const IFLA_BOND_PEER_NOTIF_DELAY: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_PEER_NOTIF_DELAY;
+pub const IFLA_BOND_AD_LACP_ACTIVE: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_AD_LACP_ACTIVE;
+pub const IFLA_BOND_MISSED_MAX: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_MISSED_MAX;
+pub const IFLA_BOND_NS_IP6_TARGET: _bindgen_ty_26 = _bindgen_ty_26::IFLA_BOND_NS_IP6_TARGET;
+pub const __IFLA_BOND_MAX: _bindgen_ty_26 = _bindgen_ty_26::__IFLA_BOND_MAX;
+pub const IFLA_BOND_AD_INFO_UNSPEC: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_UNSPEC;
+pub const IFLA_BOND_AD_INFO_AGGREGATOR: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_AGGREGATOR;
+pub const IFLA_BOND_AD_INFO_NUM_PORTS: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_NUM_PORTS;
+pub const IFLA_BOND_AD_INFO_ACTOR_KEY: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_ACTOR_KEY;
+pub const IFLA_BOND_AD_INFO_PARTNER_KEY: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_PARTNER_KEY;
+pub const IFLA_BOND_AD_INFO_PARTNER_MAC: _bindgen_ty_27 = _bindgen_ty_27::IFLA_BOND_AD_INFO_PARTNER_MAC;
+pub const __IFLA_BOND_AD_INFO_MAX: _bindgen_ty_27 = _bindgen_ty_27::__IFLA_BOND_AD_INFO_MAX;
+pub const IFLA_BOND_SLAVE_UNSPEC: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_UNSPEC;
+pub const IFLA_BOND_SLAVE_STATE: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_STATE;
+pub const IFLA_BOND_SLAVE_MII_STATUS: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_MII_STATUS;
+pub const IFLA_BOND_SLAVE_LINK_FAILURE_COUNT: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_LINK_FAILURE_COUNT;
+pub const IFLA_BOND_SLAVE_PERM_HWADDR: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_PERM_HWADDR;
+pub const IFLA_BOND_SLAVE_QUEUE_ID: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_QUEUE_ID;
+pub const IFLA_BOND_SLAVE_AD_AGGREGATOR_ID: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_AD_AGGREGATOR_ID;
+pub const IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE;
+pub const IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE;
+pub const IFLA_BOND_SLAVE_PRIO: _bindgen_ty_28 = _bindgen_ty_28::IFLA_BOND_SLAVE_PRIO;
+pub const __IFLA_BOND_SLAVE_MAX: _bindgen_ty_28 = _bindgen_ty_28::__IFLA_BOND_SLAVE_MAX;
+pub const IFLA_VF_INFO_UNSPEC: _bindgen_ty_29 = _bindgen_ty_29::IFLA_VF_INFO_UNSPEC;
+pub const IFLA_VF_INFO: _bindgen_ty_29 = _bindgen_ty_29::IFLA_VF_INFO;
+pub const __IFLA_VF_INFO_MAX: _bindgen_ty_29 = _bindgen_ty_29::__IFLA_VF_INFO_MAX;
+pub const IFLA_VF_UNSPEC: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_UNSPEC;
+pub const IFLA_VF_MAC: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_MAC;
+pub const IFLA_VF_VLAN: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_VLAN;
+pub const IFLA_VF_TX_RATE: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_TX_RATE;
+pub const IFLA_VF_SPOOFCHK: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_SPOOFCHK;
+pub const IFLA_VF_LINK_STATE: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_LINK_STATE;
+pub const IFLA_VF_RATE: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_RATE;
+pub const IFLA_VF_RSS_QUERY_EN: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_RSS_QUERY_EN;
+pub const IFLA_VF_STATS: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_STATS;
+pub const IFLA_VF_TRUST: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_TRUST;
+pub const IFLA_VF_IB_NODE_GUID: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_IB_NODE_GUID;
+pub const IFLA_VF_IB_PORT_GUID: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_IB_PORT_GUID;
+pub const IFLA_VF_VLAN_LIST: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_VLAN_LIST;
+pub const IFLA_VF_BROADCAST: _bindgen_ty_30 = _bindgen_ty_30::IFLA_VF_BROADCAST;
+pub const __IFLA_VF_MAX: _bindgen_ty_30 = _bindgen_ty_30::__IFLA_VF_MAX;
+pub const IFLA_VF_VLAN_INFO_UNSPEC: _bindgen_ty_31 = _bindgen_ty_31::IFLA_VF_VLAN_INFO_UNSPEC;
+pub const IFLA_VF_VLAN_INFO: _bindgen_ty_31 = _bindgen_ty_31::IFLA_VF_VLAN_INFO;
+pub const __IFLA_VF_VLAN_INFO_MAX: _bindgen_ty_31 = _bindgen_ty_31::__IFLA_VF_VLAN_INFO_MAX;
+pub const IFLA_VF_LINK_STATE_AUTO: _bindgen_ty_32 = _bindgen_ty_32::IFLA_VF_LINK_STATE_AUTO;
+pub const IFLA_VF_LINK_STATE_ENABLE: _bindgen_ty_32 = _bindgen_ty_32::IFLA_VF_LINK_STATE_ENABLE;
+pub const IFLA_VF_LINK_STATE_DISABLE: _bindgen_ty_32 = _bindgen_ty_32::IFLA_VF_LINK_STATE_DISABLE;
+pub const __IFLA_VF_LINK_STATE_MAX: _bindgen_ty_32 = _bindgen_ty_32::__IFLA_VF_LINK_STATE_MAX;
+pub const IFLA_VF_STATS_RX_PACKETS: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_RX_PACKETS;
+pub const IFLA_VF_STATS_TX_PACKETS: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_TX_PACKETS;
+pub const IFLA_VF_STATS_RX_BYTES: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_RX_BYTES;
+pub const IFLA_VF_STATS_TX_BYTES: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_TX_BYTES;
+pub const IFLA_VF_STATS_BROADCAST: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_BROADCAST;
+pub const IFLA_VF_STATS_MULTICAST: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_MULTICAST;
+pub const IFLA_VF_STATS_PAD: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_PAD;
+pub const IFLA_VF_STATS_RX_DROPPED: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_RX_DROPPED;
+pub const IFLA_VF_STATS_TX_DROPPED: _bindgen_ty_33 = _bindgen_ty_33::IFLA_VF_STATS_TX_DROPPED;
+pub const __IFLA_VF_STATS_MAX: _bindgen_ty_33 = _bindgen_ty_33::__IFLA_VF_STATS_MAX;
+pub const IFLA_VF_PORT_UNSPEC: _bindgen_ty_34 = _bindgen_ty_34::IFLA_VF_PORT_UNSPEC;
+pub const IFLA_VF_PORT: _bindgen_ty_34 = _bindgen_ty_34::IFLA_VF_PORT;
+pub const __IFLA_VF_PORT_MAX: _bindgen_ty_34 = _bindgen_ty_34::__IFLA_VF_PORT_MAX;
+pub const IFLA_PORT_UNSPEC: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_UNSPEC;
+pub const IFLA_PORT_VF: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_VF;
+pub const IFLA_PORT_PROFILE: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_PROFILE;
+pub const IFLA_PORT_VSI_TYPE: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_VSI_TYPE;
+pub const IFLA_PORT_INSTANCE_UUID: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_INSTANCE_UUID;
+pub const IFLA_PORT_HOST_UUID: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_HOST_UUID;
+pub const IFLA_PORT_REQUEST: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_REQUEST;
+pub const IFLA_PORT_RESPONSE: _bindgen_ty_35 = _bindgen_ty_35::IFLA_PORT_RESPONSE;
+pub const __IFLA_PORT_MAX: _bindgen_ty_35 = _bindgen_ty_35::__IFLA_PORT_MAX;
+pub const PORT_REQUEST_PREASSOCIATE: _bindgen_ty_36 = _bindgen_ty_36::PORT_REQUEST_PREASSOCIATE;
+pub const PORT_REQUEST_PREASSOCIATE_RR: _bindgen_ty_36 = _bindgen_ty_36::PORT_REQUEST_PREASSOCIATE_RR;
+pub const PORT_REQUEST_ASSOCIATE: _bindgen_ty_36 = _bindgen_ty_36::PORT_REQUEST_ASSOCIATE;
+pub const PORT_REQUEST_DISASSOCIATE: _bindgen_ty_36 = _bindgen_ty_36::PORT_REQUEST_DISASSOCIATE;
+pub const PORT_VDP_RESPONSE_SUCCESS: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_SUCCESS;
+pub const PORT_VDP_RESPONSE_INVALID_FORMAT: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_INVALID_FORMAT;
+pub const PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES;
+pub const PORT_VDP_RESPONSE_UNUSED_VTID: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_UNUSED_VTID;
+pub const PORT_VDP_RESPONSE_VTID_VIOLATION: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_VTID_VIOLATION;
+pub const PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION;
+pub const PORT_VDP_RESPONSE_OUT_OF_SYNC: _bindgen_ty_37 = _bindgen_ty_37::PORT_VDP_RESPONSE_OUT_OF_SYNC;
+pub const PORT_PROFILE_RESPONSE_SUCCESS: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_SUCCESS;
+pub const PORT_PROFILE_RESPONSE_INPROGRESS: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_INPROGRESS;
+pub const PORT_PROFILE_RESPONSE_INVALID: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_INVALID;
+pub const PORT_PROFILE_RESPONSE_BADSTATE: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_BADSTATE;
+pub const PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES;
+pub const PORT_PROFILE_RESPONSE_ERROR: _bindgen_ty_37 = _bindgen_ty_37::PORT_PROFILE_RESPONSE_ERROR;
+pub const IFLA_IPOIB_UNSPEC: _bindgen_ty_38 = _bindgen_ty_38::IFLA_IPOIB_UNSPEC;
+pub const IFLA_IPOIB_PKEY: _bindgen_ty_38 = _bindgen_ty_38::IFLA_IPOIB_PKEY;
+pub const IFLA_IPOIB_MODE: _bindgen_ty_38 = _bindgen_ty_38::IFLA_IPOIB_MODE;
+pub const IFLA_IPOIB_UMCAST: _bindgen_ty_38 = _bindgen_ty_38::IFLA_IPOIB_UMCAST;
+pub const __IFLA_IPOIB_MAX: _bindgen_ty_38 = _bindgen_ty_38::__IFLA_IPOIB_MAX;
+pub const IPOIB_MODE_DATAGRAM: _bindgen_ty_39 = _bindgen_ty_39::IPOIB_MODE_DATAGRAM;
+pub const IPOIB_MODE_CONNECTED: _bindgen_ty_39 = _bindgen_ty_39::IPOIB_MODE_CONNECTED;
+pub const HSR_PROTOCOL_HSR: _bindgen_ty_40 = _bindgen_ty_40::HSR_PROTOCOL_HSR;
+pub const HSR_PROTOCOL_PRP: _bindgen_ty_40 = _bindgen_ty_40::HSR_PROTOCOL_PRP;
+pub const HSR_PROTOCOL_MAX: _bindgen_ty_40 = _bindgen_ty_40::HSR_PROTOCOL_MAX;
+pub const IFLA_HSR_UNSPEC: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_UNSPEC;
+pub const IFLA_HSR_SLAVE1: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_SLAVE1;
+pub const IFLA_HSR_SLAVE2: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_SLAVE2;
+pub const IFLA_HSR_MULTICAST_SPEC: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_MULTICAST_SPEC;
+pub const IFLA_HSR_SUPERVISION_ADDR: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_SUPERVISION_ADDR;
+pub const IFLA_HSR_SEQ_NR: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_SEQ_NR;
+pub const IFLA_HSR_VERSION: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_VERSION;
+pub const IFLA_HSR_PROTOCOL: _bindgen_ty_41 = _bindgen_ty_41::IFLA_HSR_PROTOCOL;
+pub const __IFLA_HSR_MAX: _bindgen_ty_41 = _bindgen_ty_41::__IFLA_HSR_MAX;
+pub const IFLA_STATS_UNSPEC: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_UNSPEC;
+pub const IFLA_STATS_LINK_64: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_LINK_64;
+pub const IFLA_STATS_LINK_XSTATS: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_LINK_XSTATS;
+pub const IFLA_STATS_LINK_XSTATS_SLAVE: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_LINK_XSTATS_SLAVE;
+pub const IFLA_STATS_LINK_OFFLOAD_XSTATS: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_LINK_OFFLOAD_XSTATS;
+pub const IFLA_STATS_AF_SPEC: _bindgen_ty_42 = _bindgen_ty_42::IFLA_STATS_AF_SPEC;
+pub const __IFLA_STATS_MAX: _bindgen_ty_42 = _bindgen_ty_42::__IFLA_STATS_MAX;
+pub const IFLA_STATS_GETSET_UNSPEC: _bindgen_ty_43 = _bindgen_ty_43::IFLA_STATS_GETSET_UNSPEC;
+pub const IFLA_STATS_GET_FILTERS: _bindgen_ty_43 = _bindgen_ty_43::IFLA_STATS_GET_FILTERS;
+pub const IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS: _bindgen_ty_43 = _bindgen_ty_43::IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS;
+pub const __IFLA_STATS_GETSET_MAX: _bindgen_ty_43 = _bindgen_ty_43::__IFLA_STATS_GETSET_MAX;
+pub const LINK_XSTATS_TYPE_UNSPEC: _bindgen_ty_44 = _bindgen_ty_44::LINK_XSTATS_TYPE_UNSPEC;
+pub const LINK_XSTATS_TYPE_BRIDGE: _bindgen_ty_44 = _bindgen_ty_44::LINK_XSTATS_TYPE_BRIDGE;
+pub const LINK_XSTATS_TYPE_BOND: _bindgen_ty_44 = _bindgen_ty_44::LINK_XSTATS_TYPE_BOND;
+pub const __LINK_XSTATS_TYPE_MAX: _bindgen_ty_44 = _bindgen_ty_44::__LINK_XSTATS_TYPE_MAX;
+pub const IFLA_OFFLOAD_XSTATS_UNSPEC: _bindgen_ty_45 = _bindgen_ty_45::IFLA_OFFLOAD_XSTATS_UNSPEC;
+pub const IFLA_OFFLOAD_XSTATS_CPU_HIT: _bindgen_ty_45 = _bindgen_ty_45::IFLA_OFFLOAD_XSTATS_CPU_HIT;
+pub const IFLA_OFFLOAD_XSTATS_HW_S_INFO: _bindgen_ty_45 = _bindgen_ty_45::IFLA_OFFLOAD_XSTATS_HW_S_INFO;
+pub const IFLA_OFFLOAD_XSTATS_L3_STATS: _bindgen_ty_45 = _bindgen_ty_45::IFLA_OFFLOAD_XSTATS_L3_STATS;
+pub const __IFLA_OFFLOAD_XSTATS_MAX: _bindgen_ty_45 = _bindgen_ty_45::__IFLA_OFFLOAD_XSTATS_MAX;
+pub const IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC: _bindgen_ty_46 = _bindgen_ty_46::IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC;
+pub const IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST: _bindgen_ty_46 = _bindgen_ty_46::IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST;
+pub const IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED: _bindgen_ty_46 = _bindgen_ty_46::IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED;
+pub const __IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX: _bindgen_ty_46 = _bindgen_ty_46::__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX;
+pub const XDP_ATTACHED_NONE: _bindgen_ty_47 = _bindgen_ty_47::XDP_ATTACHED_NONE;
+pub const XDP_ATTACHED_DRV: _bindgen_ty_47 = _bindgen_ty_47::XDP_ATTACHED_DRV;
+pub const XDP_ATTACHED_SKB: _bindgen_ty_47 = _bindgen_ty_47::XDP_ATTACHED_SKB;
+pub const XDP_ATTACHED_HW: _bindgen_ty_47 = _bindgen_ty_47::XDP_ATTACHED_HW;
+pub const XDP_ATTACHED_MULTI: _bindgen_ty_47 = _bindgen_ty_47::XDP_ATTACHED_MULTI;
+pub const IFLA_XDP_UNSPEC: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_UNSPEC;
+pub const IFLA_XDP_FD: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_FD;
+pub const IFLA_XDP_ATTACHED: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_ATTACHED;
+pub const IFLA_XDP_FLAGS: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_FLAGS;
+pub const IFLA_XDP_PROG_ID: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_PROG_ID;
+pub const IFLA_XDP_DRV_PROG_ID: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_DRV_PROG_ID;
+pub const IFLA_XDP_SKB_PROG_ID: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_SKB_PROG_ID;
+pub const IFLA_XDP_HW_PROG_ID: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_HW_PROG_ID;
+pub const IFLA_XDP_EXPECTED_FD: _bindgen_ty_48 = _bindgen_ty_48::IFLA_XDP_EXPECTED_FD;
+pub const __IFLA_XDP_MAX: _bindgen_ty_48 = _bindgen_ty_48::__IFLA_XDP_MAX;
+pub const IFLA_EVENT_NONE: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_NONE;
+pub const IFLA_EVENT_REBOOT: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_REBOOT;
+pub const IFLA_EVENT_FEATURES: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_FEATURES;
+pub const IFLA_EVENT_BONDING_FAILOVER: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_BONDING_FAILOVER;
+pub const IFLA_EVENT_NOTIFY_PEERS: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_NOTIFY_PEERS;
+pub const IFLA_EVENT_IGMP_RESEND: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_IGMP_RESEND;
+pub const IFLA_EVENT_BONDING_OPTIONS: _bindgen_ty_49 = _bindgen_ty_49::IFLA_EVENT_BONDING_OPTIONS;
+pub const IFLA_TUN_UNSPEC: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_UNSPEC;
+pub const IFLA_TUN_OWNER: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_OWNER;
+pub const IFLA_TUN_GROUP: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_GROUP;
+pub const IFLA_TUN_TYPE: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_TYPE;
+pub const IFLA_TUN_PI: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_PI;
+pub const IFLA_TUN_VNET_HDR: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_VNET_HDR;
+pub const IFLA_TUN_PERSIST: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_PERSIST;
+pub const IFLA_TUN_MULTI_QUEUE: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_MULTI_QUEUE;
+pub const IFLA_TUN_NUM_QUEUES: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_NUM_QUEUES;
+pub const IFLA_TUN_NUM_DISABLED_QUEUES: _bindgen_ty_50 = _bindgen_ty_50::IFLA_TUN_NUM_DISABLED_QUEUES;
+pub const __IFLA_TUN_MAX: _bindgen_ty_50 = _bindgen_ty_50::__IFLA_TUN_MAX;
+pub const IFLA_RMNET_UNSPEC: _bindgen_ty_51 = _bindgen_ty_51::IFLA_RMNET_UNSPEC;
+pub const IFLA_RMNET_MUX_ID: _bindgen_ty_51 = _bindgen_ty_51::IFLA_RMNET_MUX_ID;
+pub const IFLA_RMNET_FLAGS: _bindgen_ty_51 = _bindgen_ty_51::IFLA_RMNET_FLAGS;
+pub const __IFLA_RMNET_MAX: _bindgen_ty_51 = _bindgen_ty_51::__IFLA_RMNET_MAX;
+pub const IFLA_MCTP_UNSPEC: _bindgen_ty_52 = _bindgen_ty_52::IFLA_MCTP_UNSPEC;
+pub const IFLA_MCTP_NET: _bindgen_ty_52 = _bindgen_ty_52::IFLA_MCTP_NET;
+pub const __IFLA_MCTP_MAX: _bindgen_ty_52 = _bindgen_ty_52::__IFLA_MCTP_MAX;
+pub const IFLA_DSA_UNSPEC: _bindgen_ty_53 = _bindgen_ty_53::IFLA_DSA_UNSPEC;
+pub const IFLA_DSA_MASTER: _bindgen_ty_53 = _bindgen_ty_53::IFLA_DSA_MASTER;
+pub const __IFLA_DSA_MAX: _bindgen_ty_53 = _bindgen_ty_53::__IFLA_DSA_MAX;
+pub const IFA_UNSPEC: _bindgen_ty_54 = _bindgen_ty_54::IFA_UNSPEC;
+pub const IFA_ADDRESS: _bindgen_ty_54 = _bindgen_ty_54::IFA_ADDRESS;
+pub const IFA_LOCAL: _bindgen_ty_54 = _bindgen_ty_54::IFA_LOCAL;
+pub const IFA_LABEL: _bindgen_ty_54 = _bindgen_ty_54::IFA_LABEL;
+pub const IFA_BROADCAST: _bindgen_ty_54 = _bindgen_ty_54::IFA_BROADCAST;
+pub const IFA_ANYCAST: _bindgen_ty_54 = _bindgen_ty_54::IFA_ANYCAST;
+pub const IFA_CACHEINFO: _bindgen_ty_54 = _bindgen_ty_54::IFA_CACHEINFO;
+pub const IFA_MULTICAST: _bindgen_ty_54 = _bindgen_ty_54::IFA_MULTICAST;
+pub const IFA_FLAGS: _bindgen_ty_54 = _bindgen_ty_54::IFA_FLAGS;
+pub const IFA_RT_PRIORITY: _bindgen_ty_54 = _bindgen_ty_54::IFA_RT_PRIORITY;
+pub const IFA_TARGET_NETNSID: _bindgen_ty_54 = _bindgen_ty_54::IFA_TARGET_NETNSID;
+pub const IFA_PROTO: _bindgen_ty_54 = _bindgen_ty_54::IFA_PROTO;
+pub const __IFA_MAX: _bindgen_ty_54 = _bindgen_ty_54::__IFA_MAX;
+pub const NDA_UNSPEC: _bindgen_ty_55 = _bindgen_ty_55::NDA_UNSPEC;
+pub const NDA_DST: _bindgen_ty_55 = _bindgen_ty_55::NDA_DST;
+pub const NDA_LLADDR: _bindgen_ty_55 = _bindgen_ty_55::NDA_LLADDR;
+pub const NDA_CACHEINFO: _bindgen_ty_55 = _bindgen_ty_55::NDA_CACHEINFO;
+pub const NDA_PROBES: _bindgen_ty_55 = _bindgen_ty_55::NDA_PROBES;
+pub const NDA_VLAN: _bindgen_ty_55 = _bindgen_ty_55::NDA_VLAN;
+pub const NDA_PORT: _bindgen_ty_55 = _bindgen_ty_55::NDA_PORT;
+pub const NDA_VNI: _bindgen_ty_55 = _bindgen_ty_55::NDA_VNI;
+pub const NDA_IFINDEX: _bindgen_ty_55 = _bindgen_ty_55::NDA_IFINDEX;
+pub const NDA_MASTER: _bindgen_ty_55 = _bindgen_ty_55::NDA_MASTER;
+pub const NDA_LINK_NETNSID: _bindgen_ty_55 = _bindgen_ty_55::NDA_LINK_NETNSID;
+pub const NDA_SRC_VNI: _bindgen_ty_55 = _bindgen_ty_55::NDA_SRC_VNI;
+pub const NDA_PROTOCOL: _bindgen_ty_55 = _bindgen_ty_55::NDA_PROTOCOL;
+pub const NDA_NH_ID: _bindgen_ty_55 = _bindgen_ty_55::NDA_NH_ID;
+pub const NDA_FDB_EXT_ATTRS: _bindgen_ty_55 = _bindgen_ty_55::NDA_FDB_EXT_ATTRS;
+pub const NDA_FLAGS_EXT: _bindgen_ty_55 = _bindgen_ty_55::NDA_FLAGS_EXT;
+pub const NDA_NDM_STATE_MASK: _bindgen_ty_55 = _bindgen_ty_55::NDA_NDM_STATE_MASK;
+pub const NDA_NDM_FLAGS_MASK: _bindgen_ty_55 = _bindgen_ty_55::NDA_NDM_FLAGS_MASK;
+pub const __NDA_MAX: _bindgen_ty_55 = _bindgen_ty_55::__NDA_MAX;
+pub const NDTPA_UNSPEC: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_UNSPEC;
+pub const NDTPA_IFINDEX: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_IFINDEX;
+pub const NDTPA_REFCNT: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_REFCNT;
+pub const NDTPA_REACHABLE_TIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_REACHABLE_TIME;
+pub const NDTPA_BASE_REACHABLE_TIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_BASE_REACHABLE_TIME;
+pub const NDTPA_RETRANS_TIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_RETRANS_TIME;
+pub const NDTPA_GC_STALETIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_GC_STALETIME;
+pub const NDTPA_DELAY_PROBE_TIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_DELAY_PROBE_TIME;
+pub const NDTPA_QUEUE_LEN: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_QUEUE_LEN;
+pub const NDTPA_APP_PROBES: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_APP_PROBES;
+pub const NDTPA_UCAST_PROBES: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_UCAST_PROBES;
+pub const NDTPA_MCAST_PROBES: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_MCAST_PROBES;
+pub const NDTPA_ANYCAST_DELAY: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_ANYCAST_DELAY;
+pub const NDTPA_PROXY_DELAY: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_PROXY_DELAY;
+pub const NDTPA_PROXY_QLEN: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_PROXY_QLEN;
+pub const NDTPA_LOCKTIME: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_LOCKTIME;
+pub const NDTPA_QUEUE_LENBYTES: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_QUEUE_LENBYTES;
+pub const NDTPA_MCAST_REPROBES: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_MCAST_REPROBES;
+pub const NDTPA_PAD: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_PAD;
+pub const NDTPA_INTERVAL_PROBE_TIME_MS: _bindgen_ty_56 = _bindgen_ty_56::NDTPA_INTERVAL_PROBE_TIME_MS;
+pub const __NDTPA_MAX: _bindgen_ty_56 = _bindgen_ty_56::__NDTPA_MAX;
+pub const NDTA_UNSPEC: _bindgen_ty_57 = _bindgen_ty_57::NDTA_UNSPEC;
+pub const NDTA_NAME: _bindgen_ty_57 = _bindgen_ty_57::NDTA_NAME;
+pub const NDTA_THRESH1: _bindgen_ty_57 = _bindgen_ty_57::NDTA_THRESH1;
+pub const NDTA_THRESH2: _bindgen_ty_57 = _bindgen_ty_57::NDTA_THRESH2;
+pub const NDTA_THRESH3: _bindgen_ty_57 = _bindgen_ty_57::NDTA_THRESH3;
+pub const NDTA_CONFIG: _bindgen_ty_57 = _bindgen_ty_57::NDTA_CONFIG;
+pub const NDTA_PARMS: _bindgen_ty_57 = _bindgen_ty_57::NDTA_PARMS;
+pub const NDTA_STATS: _bindgen_ty_57 = _bindgen_ty_57::NDTA_STATS;
+pub const NDTA_GC_INTERVAL: _bindgen_ty_57 = _bindgen_ty_57::NDTA_GC_INTERVAL;
+pub const NDTA_PAD: _bindgen_ty_57 = _bindgen_ty_57::NDTA_PAD;
+pub const __NDTA_MAX: _bindgen_ty_57 = _bindgen_ty_57::__NDTA_MAX;
+pub const FDB_NOTIFY_BIT: _bindgen_ty_58 = _bindgen_ty_58::FDB_NOTIFY_BIT;
+pub const FDB_NOTIFY_INACTIVE_BIT: _bindgen_ty_58 = _bindgen_ty_58::FDB_NOTIFY_INACTIVE_BIT;
+pub const NFEA_UNSPEC: _bindgen_ty_59 = _bindgen_ty_59::NFEA_UNSPEC;
+pub const NFEA_ACTIVITY_NOTIFY: _bindgen_ty_59 = _bindgen_ty_59::NFEA_ACTIVITY_NOTIFY;
+pub const NFEA_DONT_REFRESH: _bindgen_ty_59 = _bindgen_ty_59::NFEA_DONT_REFRESH;
+pub const __NFEA_MAX: _bindgen_ty_59 = _bindgen_ty_59::__NFEA_MAX;
+pub const RTM_BASE: _bindgen_ty_60 = _bindgen_ty_60::RTM_BASE;
+pub const RTM_NEWLINK: _bindgen_ty_60 = _bindgen_ty_60::RTM_BASE;
+pub const RTM_DELLINK: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELLINK;
+pub const RTM_GETLINK: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETLINK;
+pub const RTM_SETLINK: _bindgen_ty_60 = _bindgen_ty_60::RTM_SETLINK;
+pub const RTM_NEWADDR: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWADDR;
+pub const RTM_DELADDR: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELADDR;
+pub const RTM_GETADDR: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETADDR;
+pub const RTM_NEWROUTE: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWROUTE;
+pub const RTM_DELROUTE: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELROUTE;
+pub const RTM_GETROUTE: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETROUTE;
+pub const RTM_NEWNEIGH: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNEIGH;
+pub const RTM_DELNEIGH: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELNEIGH;
+pub const RTM_GETNEIGH: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNEIGH;
+pub const RTM_NEWRULE: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWRULE;
+pub const RTM_DELRULE: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELRULE;
+pub const RTM_GETRULE: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETRULE;
+pub const RTM_NEWQDISC: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWQDISC;
+pub const RTM_DELQDISC: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELQDISC;
+pub const RTM_GETQDISC: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETQDISC;
+pub const RTM_NEWTCLASS: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWTCLASS;
+pub const RTM_DELTCLASS: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELTCLASS;
+pub const RTM_GETTCLASS: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETTCLASS;
+pub const RTM_NEWTFILTER: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWTFILTER;
+pub const RTM_DELTFILTER: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELTFILTER;
+pub const RTM_GETTFILTER: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETTFILTER;
+pub const RTM_NEWACTION: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWACTION;
+pub const RTM_DELACTION: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELACTION;
+pub const RTM_GETACTION: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETACTION;
+pub const RTM_NEWPREFIX: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWPREFIX;
+pub const RTM_GETMULTICAST: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETMULTICAST;
+pub const RTM_GETANYCAST: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETANYCAST;
+pub const RTM_NEWNEIGHTBL: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNEIGHTBL;
+pub const RTM_GETNEIGHTBL: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNEIGHTBL;
+pub const RTM_SETNEIGHTBL: _bindgen_ty_60 = _bindgen_ty_60::RTM_SETNEIGHTBL;
+pub const RTM_NEWNDUSEROPT: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNDUSEROPT;
+pub const RTM_NEWADDRLABEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWADDRLABEL;
+pub const RTM_DELADDRLABEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELADDRLABEL;
+pub const RTM_GETADDRLABEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETADDRLABEL;
+pub const RTM_GETDCB: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETDCB;
+pub const RTM_SETDCB: _bindgen_ty_60 = _bindgen_ty_60::RTM_SETDCB;
+pub const RTM_NEWNETCONF: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNETCONF;
+pub const RTM_DELNETCONF: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELNETCONF;
+pub const RTM_GETNETCONF: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNETCONF;
+pub const RTM_NEWMDB: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWMDB;
+pub const RTM_DELMDB: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELMDB;
+pub const RTM_GETMDB: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETMDB;
+pub const RTM_NEWNSID: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNSID;
+pub const RTM_DELNSID: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELNSID;
+pub const RTM_GETNSID: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNSID;
+pub const RTM_NEWSTATS: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWSTATS;
+pub const RTM_GETSTATS: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETSTATS;
+pub const RTM_SETSTATS: _bindgen_ty_60 = _bindgen_ty_60::RTM_SETSTATS;
+pub const RTM_NEWCACHEREPORT: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWCACHEREPORT;
+pub const RTM_NEWCHAIN: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWCHAIN;
+pub const RTM_DELCHAIN: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELCHAIN;
+pub const RTM_GETCHAIN: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETCHAIN;
+pub const RTM_NEWNEXTHOP: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNEXTHOP;
+pub const RTM_DELNEXTHOP: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELNEXTHOP;
+pub const RTM_GETNEXTHOP: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNEXTHOP;
+pub const RTM_NEWLINKPROP: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWLINKPROP;
+pub const RTM_DELLINKPROP: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELLINKPROP;
+pub const RTM_GETLINKPROP: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETLINKPROP;
+pub const RTM_NEWVLAN: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWVLAN;
+pub const RTM_DELVLAN: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELVLAN;
+pub const RTM_GETVLAN: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETVLAN;
+pub const RTM_NEWNEXTHOPBUCKET: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWNEXTHOPBUCKET;
+pub const RTM_DELNEXTHOPBUCKET: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELNEXTHOPBUCKET;
+pub const RTM_GETNEXTHOPBUCKET: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETNEXTHOPBUCKET;
+pub const RTM_NEWTUNNEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_NEWTUNNEL;
+pub const RTM_DELTUNNEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_DELTUNNEL;
+pub const RTM_GETTUNNEL: _bindgen_ty_60 = _bindgen_ty_60::RTM_GETTUNNEL;
+pub const __RTM_MAX: _bindgen_ty_60 = _bindgen_ty_60::__RTM_MAX;
+pub const RTN_UNSPEC: _bindgen_ty_61 = _bindgen_ty_61::RTN_UNSPEC;
+pub const RTN_UNICAST: _bindgen_ty_61 = _bindgen_ty_61::RTN_UNICAST;
+pub const RTN_LOCAL: _bindgen_ty_61 = _bindgen_ty_61::RTN_LOCAL;
+pub const RTN_BROADCAST: _bindgen_ty_61 = _bindgen_ty_61::RTN_BROADCAST;
+pub const RTN_ANYCAST: _bindgen_ty_61 = _bindgen_ty_61::RTN_ANYCAST;
+pub const RTN_MULTICAST: _bindgen_ty_61 = _bindgen_ty_61::RTN_MULTICAST;
+pub const RTN_BLACKHOLE: _bindgen_ty_61 = _bindgen_ty_61::RTN_BLACKHOLE;
+pub const RTN_UNREACHABLE: _bindgen_ty_61 = _bindgen_ty_61::RTN_UNREACHABLE;
+pub const RTN_PROHIBIT: _bindgen_ty_61 = _bindgen_ty_61::RTN_PROHIBIT;
+pub const RTN_THROW: _bindgen_ty_61 = _bindgen_ty_61::RTN_THROW;
+pub const RTN_NAT: _bindgen_ty_61 = _bindgen_ty_61::RTN_NAT;
+pub const RTN_XRESOLVE: _bindgen_ty_61 = _bindgen_ty_61::RTN_XRESOLVE;
+pub const __RTN_MAX: _bindgen_ty_61 = _bindgen_ty_61::__RTN_MAX;
+pub const RTAX_UNSPEC: _bindgen_ty_62 = _bindgen_ty_62::RTAX_UNSPEC;
+pub const RTAX_LOCK: _bindgen_ty_62 = _bindgen_ty_62::RTAX_LOCK;
+pub const RTAX_MTU: _bindgen_ty_62 = _bindgen_ty_62::RTAX_MTU;
+pub const RTAX_WINDOW: _bindgen_ty_62 = _bindgen_ty_62::RTAX_WINDOW;
+pub const RTAX_RTT: _bindgen_ty_62 = _bindgen_ty_62::RTAX_RTT;
+pub const RTAX_RTTVAR: _bindgen_ty_62 = _bindgen_ty_62::RTAX_RTTVAR;
+pub const RTAX_SSTHRESH: _bindgen_ty_62 = _bindgen_ty_62::RTAX_SSTHRESH;
+pub const RTAX_CWND: _bindgen_ty_62 = _bindgen_ty_62::RTAX_CWND;
+pub const RTAX_ADVMSS: _bindgen_ty_62 = _bindgen_ty_62::RTAX_ADVMSS;
+pub const RTAX_REORDERING: _bindgen_ty_62 = _bindgen_ty_62::RTAX_REORDERING;
+pub const RTAX_HOPLIMIT: _bindgen_ty_62 = _bindgen_ty_62::RTAX_HOPLIMIT;
+pub const RTAX_INITCWND: _bindgen_ty_62 = _bindgen_ty_62::RTAX_INITCWND;
+pub const RTAX_FEATURES: _bindgen_ty_62 = _bindgen_ty_62::RTAX_FEATURES;
+pub const RTAX_RTO_MIN: _bindgen_ty_62 = _bindgen_ty_62::RTAX_RTO_MIN;
+pub const RTAX_INITRWND: _bindgen_ty_62 = _bindgen_ty_62::RTAX_INITRWND;
+pub const RTAX_QUICKACK: _bindgen_ty_62 = _bindgen_ty_62::RTAX_QUICKACK;
+pub const RTAX_CC_ALGO: _bindgen_ty_62 = _bindgen_ty_62::RTAX_CC_ALGO;
+pub const RTAX_FASTOPEN_NO_COOKIE: _bindgen_ty_62 = _bindgen_ty_62::RTAX_FASTOPEN_NO_COOKIE;
+pub const __RTAX_MAX: _bindgen_ty_62 = _bindgen_ty_62::__RTAX_MAX;
+pub const PREFIX_UNSPEC: _bindgen_ty_63 = _bindgen_ty_63::PREFIX_UNSPEC;
+pub const PREFIX_ADDRESS: _bindgen_ty_63 = _bindgen_ty_63::PREFIX_ADDRESS;
+pub const PREFIX_CACHEINFO: _bindgen_ty_63 = _bindgen_ty_63::PREFIX_CACHEINFO;
+pub const __PREFIX_MAX: _bindgen_ty_63 = _bindgen_ty_63::__PREFIX_MAX;
+pub const TCA_UNSPEC: _bindgen_ty_64 = _bindgen_ty_64::TCA_UNSPEC;
+pub const TCA_KIND: _bindgen_ty_64 = _bindgen_ty_64::TCA_KIND;
+pub const TCA_OPTIONS: _bindgen_ty_64 = _bindgen_ty_64::TCA_OPTIONS;
+pub const TCA_STATS: _bindgen_ty_64 = _bindgen_ty_64::TCA_STATS;
+pub const TCA_XSTATS: _bindgen_ty_64 = _bindgen_ty_64::TCA_XSTATS;
+pub const TCA_RATE: _bindgen_ty_64 = _bindgen_ty_64::TCA_RATE;
+pub const TCA_FCNT: _bindgen_ty_64 = _bindgen_ty_64::TCA_FCNT;
+pub const TCA_STATS2: _bindgen_ty_64 = _bindgen_ty_64::TCA_STATS2;
+pub const TCA_STAB: _bindgen_ty_64 = _bindgen_ty_64::TCA_STAB;
+pub const TCA_PAD: _bindgen_ty_64 = _bindgen_ty_64::TCA_PAD;
+pub const TCA_DUMP_INVISIBLE: _bindgen_ty_64 = _bindgen_ty_64::TCA_DUMP_INVISIBLE;
+pub const TCA_CHAIN: _bindgen_ty_64 = _bindgen_ty_64::TCA_CHAIN;
+pub const TCA_HW_OFFLOAD: _bindgen_ty_64 = _bindgen_ty_64::TCA_HW_OFFLOAD;
+pub const TCA_INGRESS_BLOCK: _bindgen_ty_64 = _bindgen_ty_64::TCA_INGRESS_BLOCK;
+pub const TCA_EGRESS_BLOCK: _bindgen_ty_64 = _bindgen_ty_64::TCA_EGRESS_BLOCK;
+pub const TCA_DUMP_FLAGS: _bindgen_ty_64 = _bindgen_ty_64::TCA_DUMP_FLAGS;
+pub const TCA_EXT_WARN_MSG: _bindgen_ty_64 = _bindgen_ty_64::TCA_EXT_WARN_MSG;
+pub const __TCA_MAX: _bindgen_ty_64 = _bindgen_ty_64::__TCA_MAX;
+pub const NDUSEROPT_UNSPEC: _bindgen_ty_65 = _bindgen_ty_65::NDUSEROPT_UNSPEC;
+pub const NDUSEROPT_SRCADDR: _bindgen_ty_65 = _bindgen_ty_65::NDUSEROPT_SRCADDR;
+pub const __NDUSEROPT_MAX: _bindgen_ty_65 = _bindgen_ty_65::__NDUSEROPT_MAX;
+pub const TCA_ROOT_UNSPEC: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_UNSPEC;
+pub const TCA_ROOT_TAB: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_TAB;
+pub const TCA_ROOT_FLAGS: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_FLAGS;
+pub const TCA_ROOT_COUNT: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_COUNT;
+pub const TCA_ROOT_TIME_DELTA: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_TIME_DELTA;
+pub const TCA_ROOT_EXT_WARN_MSG: _bindgen_ty_66 = _bindgen_ty_66::TCA_ROOT_EXT_WARN_MSG;
+pub const __TCA_ROOT_MAX: _bindgen_ty_66 = _bindgen_ty_66::__TCA_ROOT_MAX;
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nlmsgerr_attrs {
+NLMSGERR_ATTR_UNUSED = 0,
+NLMSGERR_ATTR_MSG = 1,
+NLMSGERR_ATTR_OFFS = 2,
+NLMSGERR_ATTR_COOKIE = 3,
+NLMSGERR_ATTR_POLICY = 4,
+NLMSGERR_ATTR_MISS_TYPE = 5,
+NLMSGERR_ATTR_MISS_NEST = 6,
+__NLMSGERR_ATTR_MAX = 7,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum nl_mmap_status {
+NL_MMAP_STATUS_UNUSED = 0,
+NL_MMAP_STATUS_RESERVED = 1,
+NL_MMAP_STATUS_VALID = 2,
+NL_MMAP_STATUS_COPY = 3,
+NL_MMAP_STATUS_SKIP = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_1 {
+NETLINK_UNCONNECTED = 0,
+NETLINK_CONNECTED = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum netlink_attribute_type {
+NL_ATTR_TYPE_INVALID = 0,
+NL_ATTR_TYPE_FLAG = 1,
+NL_ATTR_TYPE_U8 = 2,
+NL_ATTR_TYPE_U16 = 3,
+NL_ATTR_TYPE_U32 = 4,
+NL_ATTR_TYPE_U64 = 5,
+NL_ATTR_TYPE_S8 = 6,
+NL_ATTR_TYPE_S16 = 7,
+NL_ATTR_TYPE_S32 = 8,
+NL_ATTR_TYPE_S64 = 9,
+NL_ATTR_TYPE_BINARY = 10,
+NL_ATTR_TYPE_STRING = 11,
+NL_ATTR_TYPE_NUL_STRING = 12,
+NL_ATTR_TYPE_NESTED = 13,
+NL_ATTR_TYPE_NESTED_ARRAY = 14,
+NL_ATTR_TYPE_BITFIELD32 = 15,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum netlink_policy_type_attr {
+NL_POLICY_TYPE_ATTR_UNSPEC = 0,
+NL_POLICY_TYPE_ATTR_TYPE = 1,
+NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 2,
+NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 3,
+NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 4,
+NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 5,
+NL_POLICY_TYPE_ATTR_MIN_LENGTH = 6,
+NL_POLICY_TYPE_ATTR_MAX_LENGTH = 7,
+NL_POLICY_TYPE_ATTR_POLICY_IDX = 8,
+NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 9,
+NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 10,
+NL_POLICY_TYPE_ATTR_PAD = 11,
+NL_POLICY_TYPE_ATTR_MASK = 12,
+__NL_POLICY_TYPE_ATTR_MAX = 13,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_2 {
+IFLA_UNSPEC = 0,
+IFLA_ADDRESS = 1,
+IFLA_BROADCAST = 2,
+IFLA_IFNAME = 3,
+IFLA_MTU = 4,
+IFLA_LINK = 5,
+IFLA_QDISC = 6,
+IFLA_STATS = 7,
+IFLA_COST = 8,
+IFLA_PRIORITY = 9,
+IFLA_MASTER = 10,
+IFLA_WIRELESS = 11,
+IFLA_PROTINFO = 12,
+IFLA_TXQLEN = 13,
+IFLA_MAP = 14,
+IFLA_WEIGHT = 15,
+IFLA_OPERSTATE = 16,
+IFLA_LINKMODE = 17,
+IFLA_LINKINFO = 18,
+IFLA_NET_NS_PID = 19,
+IFLA_IFALIAS = 20,
+IFLA_NUM_VF = 21,
+IFLA_VFINFO_LIST = 22,
+IFLA_STATS64 = 23,
+IFLA_VF_PORTS = 24,
+IFLA_PORT_SELF = 25,
+IFLA_AF_SPEC = 26,
+IFLA_GROUP = 27,
+IFLA_NET_NS_FD = 28,
+IFLA_EXT_MASK = 29,
+IFLA_PROMISCUITY = 30,
+IFLA_NUM_TX_QUEUES = 31,
+IFLA_NUM_RX_QUEUES = 32,
+IFLA_CARRIER = 33,
+IFLA_PHYS_PORT_ID = 34,
+IFLA_CARRIER_CHANGES = 35,
+IFLA_PHYS_SWITCH_ID = 36,
+IFLA_LINK_NETNSID = 37,
+IFLA_PHYS_PORT_NAME = 38,
+IFLA_PROTO_DOWN = 39,
+IFLA_GSO_MAX_SEGS = 40,
+IFLA_GSO_MAX_SIZE = 41,
+IFLA_PAD = 42,
+IFLA_XDP = 43,
+IFLA_EVENT = 44,
+IFLA_NEW_NETNSID = 45,
+IFLA_IF_NETNSID = 46,
+IFLA_CARRIER_UP_COUNT = 47,
+IFLA_CARRIER_DOWN_COUNT = 48,
+IFLA_NEW_IFINDEX = 49,
+IFLA_MIN_MTU = 50,
+IFLA_MAX_MTU = 51,
+IFLA_PROP_LIST = 52,
+IFLA_ALT_IFNAME = 53,
+IFLA_PERM_ADDRESS = 54,
+IFLA_PROTO_DOWN_REASON = 55,
+IFLA_PARENT_DEV_NAME = 56,
+IFLA_PARENT_DEV_BUS_NAME = 57,
+IFLA_GRO_MAX_SIZE = 58,
+IFLA_TSO_MAX_SIZE = 59,
+IFLA_TSO_MAX_SEGS = 60,
+IFLA_ALLMULTI = 61,
+IFLA_DEVLINK_PORT = 62,
+IFLA_GSO_IPV4_MAX_SIZE = 63,
+IFLA_GRO_IPV4_MAX_SIZE = 64,
+__IFLA_MAX = 65,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_3 {
+IFLA_PROTO_DOWN_REASON_UNSPEC = 0,
+IFLA_PROTO_DOWN_REASON_MASK = 1,
+IFLA_PROTO_DOWN_REASON_VALUE = 2,
+__IFLA_PROTO_DOWN_REASON_CNT = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_4 {
+IFLA_INET_UNSPEC = 0,
+IFLA_INET_CONF = 1,
+__IFLA_INET_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_5 {
+IFLA_INET6_UNSPEC = 0,
+IFLA_INET6_FLAGS = 1,
+IFLA_INET6_CONF = 2,
+IFLA_INET6_STATS = 3,
+IFLA_INET6_MCAST = 4,
+IFLA_INET6_CACHEINFO = 5,
+IFLA_INET6_ICMP6STATS = 6,
+IFLA_INET6_TOKEN = 7,
+IFLA_INET6_ADDR_GEN_MODE = 8,
+IFLA_INET6_RA_MTU = 9,
+__IFLA_INET6_MAX = 10,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum in6_addr_gen_mode {
+IN6_ADDR_GEN_MODE_EUI64 = 0,
+IN6_ADDR_GEN_MODE_NONE = 1,
+IN6_ADDR_GEN_MODE_STABLE_PRIVACY = 2,
+IN6_ADDR_GEN_MODE_RANDOM = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_6 {
+IFLA_BR_UNSPEC = 0,
+IFLA_BR_FORWARD_DELAY = 1,
+IFLA_BR_HELLO_TIME = 2,
+IFLA_BR_MAX_AGE = 3,
+IFLA_BR_AGEING_TIME = 4,
+IFLA_BR_STP_STATE = 5,
+IFLA_BR_PRIORITY = 6,
+IFLA_BR_VLAN_FILTERING = 7,
+IFLA_BR_VLAN_PROTOCOL = 8,
+IFLA_BR_GROUP_FWD_MASK = 9,
+IFLA_BR_ROOT_ID = 10,
+IFLA_BR_BRIDGE_ID = 11,
+IFLA_BR_ROOT_PORT = 12,
+IFLA_BR_ROOT_PATH_COST = 13,
+IFLA_BR_TOPOLOGY_CHANGE = 14,
+IFLA_BR_TOPOLOGY_CHANGE_DETECTED = 15,
+IFLA_BR_HELLO_TIMER = 16,
+IFLA_BR_TCN_TIMER = 17,
+IFLA_BR_TOPOLOGY_CHANGE_TIMER = 18,
+IFLA_BR_GC_TIMER = 19,
+IFLA_BR_GROUP_ADDR = 20,
+IFLA_BR_FDB_FLUSH = 21,
+IFLA_BR_MCAST_ROUTER = 22,
+IFLA_BR_MCAST_SNOOPING = 23,
+IFLA_BR_MCAST_QUERY_USE_IFADDR = 24,
+IFLA_BR_MCAST_QUERIER = 25,
+IFLA_BR_MCAST_HASH_ELASTICITY = 26,
+IFLA_BR_MCAST_HASH_MAX = 27,
+IFLA_BR_MCAST_LAST_MEMBER_CNT = 28,
+IFLA_BR_MCAST_STARTUP_QUERY_CNT = 29,
+IFLA_BR_MCAST_LAST_MEMBER_INTVL = 30,
+IFLA_BR_MCAST_MEMBERSHIP_INTVL = 31,
+IFLA_BR_MCAST_QUERIER_INTVL = 32,
+IFLA_BR_MCAST_QUERY_INTVL = 33,
+IFLA_BR_MCAST_QUERY_RESPONSE_INTVL = 34,
+IFLA_BR_MCAST_STARTUP_QUERY_INTVL = 35,
+IFLA_BR_NF_CALL_IPTABLES = 36,
+IFLA_BR_NF_CALL_IP6TABLES = 37,
+IFLA_BR_NF_CALL_ARPTABLES = 38,
+IFLA_BR_VLAN_DEFAULT_PVID = 39,
+IFLA_BR_PAD = 40,
+IFLA_BR_VLAN_STATS_ENABLED = 41,
+IFLA_BR_MCAST_STATS_ENABLED = 42,
+IFLA_BR_MCAST_IGMP_VERSION = 43,
+IFLA_BR_MCAST_MLD_VERSION = 44,
+IFLA_BR_VLAN_STATS_PER_PORT = 45,
+IFLA_BR_MULTI_BOOLOPT = 46,
+IFLA_BR_MCAST_QUERIER_STATE = 47,
+__IFLA_BR_MAX = 48,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_7 {
+BRIDGE_MODE_UNSPEC = 0,
+BRIDGE_MODE_HAIRPIN = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_8 {
+IFLA_BRPORT_UNSPEC = 0,
+IFLA_BRPORT_STATE = 1,
+IFLA_BRPORT_PRIORITY = 2,
+IFLA_BRPORT_COST = 3,
+IFLA_BRPORT_MODE = 4,
+IFLA_BRPORT_GUARD = 5,
+IFLA_BRPORT_PROTECT = 6,
+IFLA_BRPORT_FAST_LEAVE = 7,
+IFLA_BRPORT_LEARNING = 8,
+IFLA_BRPORT_UNICAST_FLOOD = 9,
+IFLA_BRPORT_PROXYARP = 10,
+IFLA_BRPORT_LEARNING_SYNC = 11,
+IFLA_BRPORT_PROXYARP_WIFI = 12,
+IFLA_BRPORT_ROOT_ID = 13,
+IFLA_BRPORT_BRIDGE_ID = 14,
+IFLA_BRPORT_DESIGNATED_PORT = 15,
+IFLA_BRPORT_DESIGNATED_COST = 16,
+IFLA_BRPORT_ID = 17,
+IFLA_BRPORT_NO = 18,
+IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 19,
+IFLA_BRPORT_CONFIG_PENDING = 20,
+IFLA_BRPORT_MESSAGE_AGE_TIMER = 21,
+IFLA_BRPORT_FORWARD_DELAY_TIMER = 22,
+IFLA_BRPORT_HOLD_TIMER = 23,
+IFLA_BRPORT_FLUSH = 24,
+IFLA_BRPORT_MULTICAST_ROUTER = 25,
+IFLA_BRPORT_PAD = 26,
+IFLA_BRPORT_MCAST_FLOOD = 27,
+IFLA_BRPORT_MCAST_TO_UCAST = 28,
+IFLA_BRPORT_VLAN_TUNNEL = 29,
+IFLA_BRPORT_BCAST_FLOOD = 30,
+IFLA_BRPORT_GROUP_FWD_MASK = 31,
+IFLA_BRPORT_NEIGH_SUPPRESS = 32,
+IFLA_BRPORT_ISOLATED = 33,
+IFLA_BRPORT_BACKUP_PORT = 34,
+IFLA_BRPORT_MRP_RING_OPEN = 35,
+IFLA_BRPORT_MRP_IN_OPEN = 36,
+IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 37,
+IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 38,
+IFLA_BRPORT_LOCKED = 39,
+IFLA_BRPORT_MAB = 40,
+IFLA_BRPORT_MCAST_N_GROUPS = 41,
+IFLA_BRPORT_MCAST_MAX_GROUPS = 42,
+__IFLA_BRPORT_MAX = 43,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_9 {
+IFLA_INFO_UNSPEC = 0,
+IFLA_INFO_KIND = 1,
+IFLA_INFO_DATA = 2,
+IFLA_INFO_XSTATS = 3,
+IFLA_INFO_SLAVE_KIND = 4,
+IFLA_INFO_SLAVE_DATA = 5,
+__IFLA_INFO_MAX = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_10 {
+IFLA_VLAN_UNSPEC = 0,
+IFLA_VLAN_ID = 1,
+IFLA_VLAN_FLAGS = 2,
+IFLA_VLAN_EGRESS_QOS = 3,
+IFLA_VLAN_INGRESS_QOS = 4,
+IFLA_VLAN_PROTOCOL = 5,
+__IFLA_VLAN_MAX = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_11 {
+IFLA_VLAN_QOS_UNSPEC = 0,
+IFLA_VLAN_QOS_MAPPING = 1,
+__IFLA_VLAN_QOS_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_12 {
+IFLA_MACVLAN_UNSPEC = 0,
+IFLA_MACVLAN_MODE = 1,
+IFLA_MACVLAN_FLAGS = 2,
+IFLA_MACVLAN_MACADDR_MODE = 3,
+IFLA_MACVLAN_MACADDR = 4,
+IFLA_MACVLAN_MACADDR_DATA = 5,
+IFLA_MACVLAN_MACADDR_COUNT = 6,
+IFLA_MACVLAN_BC_QUEUE_LEN = 7,
+IFLA_MACVLAN_BC_QUEUE_LEN_USED = 8,
+__IFLA_MACVLAN_MAX = 9,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum macvlan_mode {
+MACVLAN_MODE_PRIVATE = 1,
+MACVLAN_MODE_VEPA = 2,
+MACVLAN_MODE_BRIDGE = 4,
+MACVLAN_MODE_PASSTHRU = 8,
+MACVLAN_MODE_SOURCE = 16,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum macvlan_macaddr_mode {
+MACVLAN_MACADDR_ADD = 0,
+MACVLAN_MACADDR_DEL = 1,
+MACVLAN_MACADDR_FLUSH = 2,
+MACVLAN_MACADDR_SET = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_13 {
+IFLA_VRF_UNSPEC = 0,
+IFLA_VRF_TABLE = 1,
+__IFLA_VRF_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_14 {
+IFLA_VRF_PORT_UNSPEC = 0,
+IFLA_VRF_PORT_TABLE = 1,
+__IFLA_VRF_PORT_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_15 {
+IFLA_MACSEC_UNSPEC = 0,
+IFLA_MACSEC_SCI = 1,
+IFLA_MACSEC_PORT = 2,
+IFLA_MACSEC_ICV_LEN = 3,
+IFLA_MACSEC_CIPHER_SUITE = 4,
+IFLA_MACSEC_WINDOW = 5,
+IFLA_MACSEC_ENCODING_SA = 6,
+IFLA_MACSEC_ENCRYPT = 7,
+IFLA_MACSEC_PROTECT = 8,
+IFLA_MACSEC_INC_SCI = 9,
+IFLA_MACSEC_ES = 10,
+IFLA_MACSEC_SCB = 11,
+IFLA_MACSEC_REPLAY_PROTECT = 12,
+IFLA_MACSEC_VALIDATION = 13,
+IFLA_MACSEC_PAD = 14,
+IFLA_MACSEC_OFFLOAD = 15,
+__IFLA_MACSEC_MAX = 16,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_16 {
+IFLA_XFRM_UNSPEC = 0,
+IFLA_XFRM_LINK = 1,
+IFLA_XFRM_IF_ID = 2,
+IFLA_XFRM_COLLECT_METADATA = 3,
+__IFLA_XFRM_MAX = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum macsec_validation_type {
+MACSEC_VALIDATE_DISABLED = 0,
+MACSEC_VALIDATE_CHECK = 1,
+MACSEC_VALIDATE_STRICT = 2,
+__MACSEC_VALIDATE_END = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum macsec_offload {
+MACSEC_OFFLOAD_OFF = 0,
+MACSEC_OFFLOAD_PHY = 1,
+MACSEC_OFFLOAD_MAC = 2,
+__MACSEC_OFFLOAD_END = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_17 {
+IFLA_IPVLAN_UNSPEC = 0,
+IFLA_IPVLAN_MODE = 1,
+IFLA_IPVLAN_FLAGS = 2,
+__IFLA_IPVLAN_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum ipvlan_mode {
+IPVLAN_MODE_L2 = 0,
+IPVLAN_MODE_L3 = 1,
+IPVLAN_MODE_L3S = 2,
+IPVLAN_MODE_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_18 {
+VNIFILTER_ENTRY_STATS_UNSPEC = 0,
+VNIFILTER_ENTRY_STATS_RX_BYTES = 1,
+VNIFILTER_ENTRY_STATS_RX_PKTS = 2,
+VNIFILTER_ENTRY_STATS_RX_DROPS = 3,
+VNIFILTER_ENTRY_STATS_RX_ERRORS = 4,
+VNIFILTER_ENTRY_STATS_TX_BYTES = 5,
+VNIFILTER_ENTRY_STATS_TX_PKTS = 6,
+VNIFILTER_ENTRY_STATS_TX_DROPS = 7,
+VNIFILTER_ENTRY_STATS_TX_ERRORS = 8,
+VNIFILTER_ENTRY_STATS_PAD = 9,
+__VNIFILTER_ENTRY_STATS_MAX = 10,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_19 {
+VXLAN_VNIFILTER_ENTRY_UNSPEC = 0,
+VXLAN_VNIFILTER_ENTRY_START = 1,
+VXLAN_VNIFILTER_ENTRY_END = 2,
+VXLAN_VNIFILTER_ENTRY_GROUP = 3,
+VXLAN_VNIFILTER_ENTRY_GROUP6 = 4,
+VXLAN_VNIFILTER_ENTRY_STATS = 5,
+__VXLAN_VNIFILTER_ENTRY_MAX = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_20 {
+VXLAN_VNIFILTER_UNSPEC = 0,
+VXLAN_VNIFILTER_ENTRY = 1,
+__VXLAN_VNIFILTER_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_21 {
+IFLA_VXLAN_UNSPEC = 0,
+IFLA_VXLAN_ID = 1,
+IFLA_VXLAN_GROUP = 2,
+IFLA_VXLAN_LINK = 3,
+IFLA_VXLAN_LOCAL = 4,
+IFLA_VXLAN_TTL = 5,
+IFLA_VXLAN_TOS = 6,
+IFLA_VXLAN_LEARNING = 7,
+IFLA_VXLAN_AGEING = 8,
+IFLA_VXLAN_LIMIT = 9,
+IFLA_VXLAN_PORT_RANGE = 10,
+IFLA_VXLAN_PROXY = 11,
+IFLA_VXLAN_RSC = 12,
+IFLA_VXLAN_L2MISS = 13,
+IFLA_VXLAN_L3MISS = 14,
+IFLA_VXLAN_PORT = 15,
+IFLA_VXLAN_GROUP6 = 16,
+IFLA_VXLAN_LOCAL6 = 17,
+IFLA_VXLAN_UDP_CSUM = 18,
+IFLA_VXLAN_UDP_ZERO_CSUM6_TX = 19,
+IFLA_VXLAN_UDP_ZERO_CSUM6_RX = 20,
+IFLA_VXLAN_REMCSUM_TX = 21,
+IFLA_VXLAN_REMCSUM_RX = 22,
+IFLA_VXLAN_GBP = 23,
+IFLA_VXLAN_REMCSUM_NOPARTIAL = 24,
+IFLA_VXLAN_COLLECT_METADATA = 25,
+IFLA_VXLAN_LABEL = 26,
+IFLA_VXLAN_GPE = 27,
+IFLA_VXLAN_TTL_INHERIT = 28,
+IFLA_VXLAN_DF = 29,
+IFLA_VXLAN_VNIFILTER = 30,
+__IFLA_VXLAN_MAX = 31,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum ifla_vxlan_df {
+VXLAN_DF_UNSET = 0,
+VXLAN_DF_SET = 1,
+VXLAN_DF_INHERIT = 2,
+__VXLAN_DF_END = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_22 {
+IFLA_GENEVE_UNSPEC = 0,
+IFLA_GENEVE_ID = 1,
+IFLA_GENEVE_REMOTE = 2,
+IFLA_GENEVE_TTL = 3,
+IFLA_GENEVE_TOS = 4,
+IFLA_GENEVE_PORT = 5,
+IFLA_GENEVE_COLLECT_METADATA = 6,
+IFLA_GENEVE_REMOTE6 = 7,
+IFLA_GENEVE_UDP_CSUM = 8,
+IFLA_GENEVE_UDP_ZERO_CSUM6_TX = 9,
+IFLA_GENEVE_UDP_ZERO_CSUM6_RX = 10,
+IFLA_GENEVE_LABEL = 11,
+IFLA_GENEVE_TTL_INHERIT = 12,
+IFLA_GENEVE_DF = 13,
+IFLA_GENEVE_INNER_PROTO_INHERIT = 14,
+__IFLA_GENEVE_MAX = 15,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum ifla_geneve_df {
+GENEVE_DF_UNSET = 0,
+GENEVE_DF_SET = 1,
+GENEVE_DF_INHERIT = 2,
+__GENEVE_DF_END = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_23 {
+IFLA_BAREUDP_UNSPEC = 0,
+IFLA_BAREUDP_PORT = 1,
+IFLA_BAREUDP_ETHERTYPE = 2,
+IFLA_BAREUDP_SRCPORT_MIN = 3,
+IFLA_BAREUDP_MULTIPROTO_MODE = 4,
+__IFLA_BAREUDP_MAX = 5,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_24 {
+IFLA_PPP_UNSPEC = 0,
+IFLA_PPP_DEV_FD = 1,
+__IFLA_PPP_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum ifla_gtp_role {
+GTP_ROLE_GGSN = 0,
+GTP_ROLE_SGSN = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_25 {
+IFLA_GTP_UNSPEC = 0,
+IFLA_GTP_FD0 = 1,
+IFLA_GTP_FD1 = 2,
+IFLA_GTP_PDP_HASHSIZE = 3,
+IFLA_GTP_ROLE = 4,
+IFLA_GTP_CREATE_SOCKETS = 5,
+IFLA_GTP_RESTART_COUNT = 6,
+__IFLA_GTP_MAX = 7,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_26 {
+IFLA_BOND_UNSPEC = 0,
+IFLA_BOND_MODE = 1,
+IFLA_BOND_ACTIVE_SLAVE = 2,
+IFLA_BOND_MIIMON = 3,
+IFLA_BOND_UPDELAY = 4,
+IFLA_BOND_DOWNDELAY = 5,
+IFLA_BOND_USE_CARRIER = 6,
+IFLA_BOND_ARP_INTERVAL = 7,
+IFLA_BOND_ARP_IP_TARGET = 8,
+IFLA_BOND_ARP_VALIDATE = 9,
+IFLA_BOND_ARP_ALL_TARGETS = 10,
+IFLA_BOND_PRIMARY = 11,
+IFLA_BOND_PRIMARY_RESELECT = 12,
+IFLA_BOND_FAIL_OVER_MAC = 13,
+IFLA_BOND_XMIT_HASH_POLICY = 14,
+IFLA_BOND_RESEND_IGMP = 15,
+IFLA_BOND_NUM_PEER_NOTIF = 16,
+IFLA_BOND_ALL_SLAVES_ACTIVE = 17,
+IFLA_BOND_MIN_LINKS = 18,
+IFLA_BOND_LP_INTERVAL = 19,
+IFLA_BOND_PACKETS_PER_SLAVE = 20,
+IFLA_BOND_AD_LACP_RATE = 21,
+IFLA_BOND_AD_SELECT = 22,
+IFLA_BOND_AD_INFO = 23,
+IFLA_BOND_AD_ACTOR_SYS_PRIO = 24,
+IFLA_BOND_AD_USER_PORT_KEY = 25,
+IFLA_BOND_AD_ACTOR_SYSTEM = 26,
+IFLA_BOND_TLB_DYNAMIC_LB = 27,
+IFLA_BOND_PEER_NOTIF_DELAY = 28,
+IFLA_BOND_AD_LACP_ACTIVE = 29,
+IFLA_BOND_MISSED_MAX = 30,
+IFLA_BOND_NS_IP6_TARGET = 31,
+__IFLA_BOND_MAX = 32,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_27 {
+IFLA_BOND_AD_INFO_UNSPEC = 0,
+IFLA_BOND_AD_INFO_AGGREGATOR = 1,
+IFLA_BOND_AD_INFO_NUM_PORTS = 2,
+IFLA_BOND_AD_INFO_ACTOR_KEY = 3,
+IFLA_BOND_AD_INFO_PARTNER_KEY = 4,
+IFLA_BOND_AD_INFO_PARTNER_MAC = 5,
+__IFLA_BOND_AD_INFO_MAX = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_28 {
+IFLA_BOND_SLAVE_UNSPEC = 0,
+IFLA_BOND_SLAVE_STATE = 1,
+IFLA_BOND_SLAVE_MII_STATUS = 2,
+IFLA_BOND_SLAVE_LINK_FAILURE_COUNT = 3,
+IFLA_BOND_SLAVE_PERM_HWADDR = 4,
+IFLA_BOND_SLAVE_QUEUE_ID = 5,
+IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 6,
+IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 7,
+IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 8,
+IFLA_BOND_SLAVE_PRIO = 9,
+__IFLA_BOND_SLAVE_MAX = 10,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_29 {
+IFLA_VF_INFO_UNSPEC = 0,
+IFLA_VF_INFO = 1,
+__IFLA_VF_INFO_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_30 {
+IFLA_VF_UNSPEC = 0,
+IFLA_VF_MAC = 1,
+IFLA_VF_VLAN = 2,
+IFLA_VF_TX_RATE = 3,
+IFLA_VF_SPOOFCHK = 4,
+IFLA_VF_LINK_STATE = 5,
+IFLA_VF_RATE = 6,
+IFLA_VF_RSS_QUERY_EN = 7,
+IFLA_VF_STATS = 8,
+IFLA_VF_TRUST = 9,
+IFLA_VF_IB_NODE_GUID = 10,
+IFLA_VF_IB_PORT_GUID = 11,
+IFLA_VF_VLAN_LIST = 12,
+IFLA_VF_BROADCAST = 13,
+__IFLA_VF_MAX = 14,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_31 {
+IFLA_VF_VLAN_INFO_UNSPEC = 0,
+IFLA_VF_VLAN_INFO = 1,
+__IFLA_VF_VLAN_INFO_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_32 {
+IFLA_VF_LINK_STATE_AUTO = 0,
+IFLA_VF_LINK_STATE_ENABLE = 1,
+IFLA_VF_LINK_STATE_DISABLE = 2,
+__IFLA_VF_LINK_STATE_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_33 {
+IFLA_VF_STATS_RX_PACKETS = 0,
+IFLA_VF_STATS_TX_PACKETS = 1,
+IFLA_VF_STATS_RX_BYTES = 2,
+IFLA_VF_STATS_TX_BYTES = 3,
+IFLA_VF_STATS_BROADCAST = 4,
+IFLA_VF_STATS_MULTICAST = 5,
+IFLA_VF_STATS_PAD = 6,
+IFLA_VF_STATS_RX_DROPPED = 7,
+IFLA_VF_STATS_TX_DROPPED = 8,
+__IFLA_VF_STATS_MAX = 9,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_34 {
+IFLA_VF_PORT_UNSPEC = 0,
+IFLA_VF_PORT = 1,
+__IFLA_VF_PORT_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_35 {
+IFLA_PORT_UNSPEC = 0,
+IFLA_PORT_VF = 1,
+IFLA_PORT_PROFILE = 2,
+IFLA_PORT_VSI_TYPE = 3,
+IFLA_PORT_INSTANCE_UUID = 4,
+IFLA_PORT_HOST_UUID = 5,
+IFLA_PORT_REQUEST = 6,
+IFLA_PORT_RESPONSE = 7,
+__IFLA_PORT_MAX = 8,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_36 {
+PORT_REQUEST_PREASSOCIATE = 0,
+PORT_REQUEST_PREASSOCIATE_RR = 1,
+PORT_REQUEST_ASSOCIATE = 2,
+PORT_REQUEST_DISASSOCIATE = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_37 {
+PORT_VDP_RESPONSE_SUCCESS = 0,
+PORT_VDP_RESPONSE_INVALID_FORMAT = 1,
+PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES = 2,
+PORT_VDP_RESPONSE_UNUSED_VTID = 3,
+PORT_VDP_RESPONSE_VTID_VIOLATION = 4,
+PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION = 5,
+PORT_VDP_RESPONSE_OUT_OF_SYNC = 6,
+PORT_PROFILE_RESPONSE_SUCCESS = 256,
+PORT_PROFILE_RESPONSE_INPROGRESS = 257,
+PORT_PROFILE_RESPONSE_INVALID = 258,
+PORT_PROFILE_RESPONSE_BADSTATE = 259,
+PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES = 260,
+PORT_PROFILE_RESPONSE_ERROR = 261,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_38 {
+IFLA_IPOIB_UNSPEC = 0,
+IFLA_IPOIB_PKEY = 1,
+IFLA_IPOIB_MODE = 2,
+IFLA_IPOIB_UMCAST = 3,
+__IFLA_IPOIB_MAX = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_39 {
+IPOIB_MODE_DATAGRAM = 0,
+IPOIB_MODE_CONNECTED = 1,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_40 {
+HSR_PROTOCOL_HSR = 0,
+HSR_PROTOCOL_PRP = 1,
+HSR_PROTOCOL_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_41 {
+IFLA_HSR_UNSPEC = 0,
+IFLA_HSR_SLAVE1 = 1,
+IFLA_HSR_SLAVE2 = 2,
+IFLA_HSR_MULTICAST_SPEC = 3,
+IFLA_HSR_SUPERVISION_ADDR = 4,
+IFLA_HSR_SEQ_NR = 5,
+IFLA_HSR_VERSION = 6,
+IFLA_HSR_PROTOCOL = 7,
+__IFLA_HSR_MAX = 8,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_42 {
+IFLA_STATS_UNSPEC = 0,
+IFLA_STATS_LINK_64 = 1,
+IFLA_STATS_LINK_XSTATS = 2,
+IFLA_STATS_LINK_XSTATS_SLAVE = 3,
+IFLA_STATS_LINK_OFFLOAD_XSTATS = 4,
+IFLA_STATS_AF_SPEC = 5,
+__IFLA_STATS_MAX = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_43 {
+IFLA_STATS_GETSET_UNSPEC = 0,
+IFLA_STATS_GET_FILTERS = 1,
+IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 2,
+__IFLA_STATS_GETSET_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_44 {
+LINK_XSTATS_TYPE_UNSPEC = 0,
+LINK_XSTATS_TYPE_BRIDGE = 1,
+LINK_XSTATS_TYPE_BOND = 2,
+__LINK_XSTATS_TYPE_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_45 {
+IFLA_OFFLOAD_XSTATS_UNSPEC = 0,
+IFLA_OFFLOAD_XSTATS_CPU_HIT = 1,
+IFLA_OFFLOAD_XSTATS_HW_S_INFO = 2,
+IFLA_OFFLOAD_XSTATS_L3_STATS = 3,
+__IFLA_OFFLOAD_XSTATS_MAX = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_46 {
+IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0,
+IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 1,
+IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 2,
+__IFLA_OFFLOAD_XSTATS_HW_S_INFO_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_47 {
+XDP_ATTACHED_NONE = 0,
+XDP_ATTACHED_DRV = 1,
+XDP_ATTACHED_SKB = 2,
+XDP_ATTACHED_HW = 3,
+XDP_ATTACHED_MULTI = 4,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_48 {
+IFLA_XDP_UNSPEC = 0,
+IFLA_XDP_FD = 1,
+IFLA_XDP_ATTACHED = 2,
+IFLA_XDP_FLAGS = 3,
+IFLA_XDP_PROG_ID = 4,
+IFLA_XDP_DRV_PROG_ID = 5,
+IFLA_XDP_SKB_PROG_ID = 6,
+IFLA_XDP_HW_PROG_ID = 7,
+IFLA_XDP_EXPECTED_FD = 8,
+__IFLA_XDP_MAX = 9,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_49 {
+IFLA_EVENT_NONE = 0,
+IFLA_EVENT_REBOOT = 1,
+IFLA_EVENT_FEATURES = 2,
+IFLA_EVENT_BONDING_FAILOVER = 3,
+IFLA_EVENT_NOTIFY_PEERS = 4,
+IFLA_EVENT_IGMP_RESEND = 5,
+IFLA_EVENT_BONDING_OPTIONS = 6,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_50 {
+IFLA_TUN_UNSPEC = 0,
+IFLA_TUN_OWNER = 1,
+IFLA_TUN_GROUP = 2,
+IFLA_TUN_TYPE = 3,
+IFLA_TUN_PI = 4,
+IFLA_TUN_VNET_HDR = 5,
+IFLA_TUN_PERSIST = 6,
+IFLA_TUN_MULTI_QUEUE = 7,
+IFLA_TUN_NUM_QUEUES = 8,
+IFLA_TUN_NUM_DISABLED_QUEUES = 9,
+__IFLA_TUN_MAX = 10,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_51 {
+IFLA_RMNET_UNSPEC = 0,
+IFLA_RMNET_MUX_ID = 1,
+IFLA_RMNET_FLAGS = 2,
+__IFLA_RMNET_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_52 {
+IFLA_MCTP_UNSPEC = 0,
+IFLA_MCTP_NET = 1,
+__IFLA_MCTP_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_53 {
+IFLA_DSA_UNSPEC = 0,
+IFLA_DSA_MASTER = 1,
+__IFLA_DSA_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_54 {
+IFA_UNSPEC = 0,
+IFA_ADDRESS = 1,
+IFA_LOCAL = 2,
+IFA_LABEL = 3,
+IFA_BROADCAST = 4,
+IFA_ANYCAST = 5,
+IFA_CACHEINFO = 6,
+IFA_MULTICAST = 7,
+IFA_FLAGS = 8,
+IFA_RT_PRIORITY = 9,
+IFA_TARGET_NETNSID = 10,
+IFA_PROTO = 11,
+__IFA_MAX = 12,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_55 {
+NDA_UNSPEC = 0,
+NDA_DST = 1,
+NDA_LLADDR = 2,
+NDA_CACHEINFO = 3,
+NDA_PROBES = 4,
+NDA_VLAN = 5,
+NDA_PORT = 6,
+NDA_VNI = 7,
+NDA_IFINDEX = 8,
+NDA_MASTER = 9,
+NDA_LINK_NETNSID = 10,
+NDA_SRC_VNI = 11,
+NDA_PROTOCOL = 12,
+NDA_NH_ID = 13,
+NDA_FDB_EXT_ATTRS = 14,
+NDA_FLAGS_EXT = 15,
+NDA_NDM_STATE_MASK = 16,
+NDA_NDM_FLAGS_MASK = 17,
+__NDA_MAX = 18,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_56 {
+NDTPA_UNSPEC = 0,
+NDTPA_IFINDEX = 1,
+NDTPA_REFCNT = 2,
+NDTPA_REACHABLE_TIME = 3,
+NDTPA_BASE_REACHABLE_TIME = 4,
+NDTPA_RETRANS_TIME = 5,
+NDTPA_GC_STALETIME = 6,
+NDTPA_DELAY_PROBE_TIME = 7,
+NDTPA_QUEUE_LEN = 8,
+NDTPA_APP_PROBES = 9,
+NDTPA_UCAST_PROBES = 10,
+NDTPA_MCAST_PROBES = 11,
+NDTPA_ANYCAST_DELAY = 12,
+NDTPA_PROXY_DELAY = 13,
+NDTPA_PROXY_QLEN = 14,
+NDTPA_LOCKTIME = 15,
+NDTPA_QUEUE_LENBYTES = 16,
+NDTPA_MCAST_REPROBES = 17,
+NDTPA_PAD = 18,
+NDTPA_INTERVAL_PROBE_TIME_MS = 19,
+__NDTPA_MAX = 20,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_57 {
+NDTA_UNSPEC = 0,
+NDTA_NAME = 1,
+NDTA_THRESH1 = 2,
+NDTA_THRESH2 = 3,
+NDTA_THRESH3 = 4,
+NDTA_CONFIG = 5,
+NDTA_PARMS = 6,
+NDTA_STATS = 7,
+NDTA_GC_INTERVAL = 8,
+NDTA_PAD = 9,
+__NDTA_MAX = 10,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_58 {
+FDB_NOTIFY_BIT = 1,
+FDB_NOTIFY_INACTIVE_BIT = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_59 {
+NFEA_UNSPEC = 0,
+NFEA_ACTIVITY_NOTIFY = 1,
+NFEA_DONT_REFRESH = 2,
+__NFEA_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_60 {
+RTM_BASE = 16,
+RTM_DELLINK = 17,
+RTM_GETLINK = 18,
+RTM_SETLINK = 19,
+RTM_NEWADDR = 20,
+RTM_DELADDR = 21,
+RTM_GETADDR = 22,
+RTM_NEWROUTE = 24,
+RTM_DELROUTE = 25,
+RTM_GETROUTE = 26,
+RTM_NEWNEIGH = 28,
+RTM_DELNEIGH = 29,
+RTM_GETNEIGH = 30,
+RTM_NEWRULE = 32,
+RTM_DELRULE = 33,
+RTM_GETRULE = 34,
+RTM_NEWQDISC = 36,
+RTM_DELQDISC = 37,
+RTM_GETQDISC = 38,
+RTM_NEWTCLASS = 40,
+RTM_DELTCLASS = 41,
+RTM_GETTCLASS = 42,
+RTM_NEWTFILTER = 44,
+RTM_DELTFILTER = 45,
+RTM_GETTFILTER = 46,
+RTM_NEWACTION = 48,
+RTM_DELACTION = 49,
+RTM_GETACTION = 50,
+RTM_NEWPREFIX = 52,
+RTM_GETMULTICAST = 58,
+RTM_GETANYCAST = 62,
+RTM_NEWNEIGHTBL = 64,
+RTM_GETNEIGHTBL = 66,
+RTM_SETNEIGHTBL = 67,
+RTM_NEWNDUSEROPT = 68,
+RTM_NEWADDRLABEL = 72,
+RTM_DELADDRLABEL = 73,
+RTM_GETADDRLABEL = 74,
+RTM_GETDCB = 78,
+RTM_SETDCB = 79,
+RTM_NEWNETCONF = 80,
+RTM_DELNETCONF = 81,
+RTM_GETNETCONF = 82,
+RTM_NEWMDB = 84,
+RTM_DELMDB = 85,
+RTM_GETMDB = 86,
+RTM_NEWNSID = 88,
+RTM_DELNSID = 89,
+RTM_GETNSID = 90,
+RTM_NEWSTATS = 92,
+RTM_GETSTATS = 94,
+RTM_SETSTATS = 95,
+RTM_NEWCACHEREPORT = 96,
+RTM_NEWCHAIN = 100,
+RTM_DELCHAIN = 101,
+RTM_GETCHAIN = 102,
+RTM_NEWNEXTHOP = 104,
+RTM_DELNEXTHOP = 105,
+RTM_GETNEXTHOP = 106,
+RTM_NEWLINKPROP = 108,
+RTM_DELLINKPROP = 109,
+RTM_GETLINKPROP = 110,
+RTM_NEWVLAN = 112,
+RTM_DELVLAN = 113,
+RTM_GETVLAN = 114,
+RTM_NEWNEXTHOPBUCKET = 116,
+RTM_DELNEXTHOPBUCKET = 117,
+RTM_GETNEXTHOPBUCKET = 118,
+RTM_NEWTUNNEL = 120,
+RTM_DELTUNNEL = 121,
+RTM_GETTUNNEL = 122,
+__RTM_MAX = 123,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_61 {
+RTN_UNSPEC = 0,
+RTN_UNICAST = 1,
+RTN_LOCAL = 2,
+RTN_BROADCAST = 3,
+RTN_ANYCAST = 4,
+RTN_MULTICAST = 5,
+RTN_BLACKHOLE = 6,
+RTN_UNREACHABLE = 7,
+RTN_PROHIBIT = 8,
+RTN_THROW = 9,
+RTN_NAT = 10,
+RTN_XRESOLVE = 11,
+__RTN_MAX = 12,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum rt_scope_t {
+RT_SCOPE_UNIVERSE = 0,
+RT_SCOPE_SITE = 200,
+RT_SCOPE_LINK = 253,
+RT_SCOPE_HOST = 254,
+RT_SCOPE_NOWHERE = 255,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum rt_class_t {
+RT_TABLE_UNSPEC = 0,
+RT_TABLE_COMPAT = 252,
+RT_TABLE_DEFAULT = 253,
+RT_TABLE_MAIN = 254,
+RT_TABLE_LOCAL = 255,
+RT_TABLE_MAX = 4294967295,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum rtattr_type_t {
+RTA_UNSPEC = 0,
+RTA_DST = 1,
+RTA_SRC = 2,
+RTA_IIF = 3,
+RTA_OIF = 4,
+RTA_GATEWAY = 5,
+RTA_PRIORITY = 6,
+RTA_PREFSRC = 7,
+RTA_METRICS = 8,
+RTA_MULTIPATH = 9,
+RTA_PROTOINFO = 10,
+RTA_FLOW = 11,
+RTA_CACHEINFO = 12,
+RTA_SESSION = 13,
+RTA_MP_ALGO = 14,
+RTA_TABLE = 15,
+RTA_MARK = 16,
+RTA_MFC_STATS = 17,
+RTA_VIA = 18,
+RTA_NEWDST = 19,
+RTA_PREF = 20,
+RTA_ENCAP_TYPE = 21,
+RTA_ENCAP = 22,
+RTA_EXPIRES = 23,
+RTA_PAD = 24,
+RTA_UID = 25,
+RTA_TTL_PROPAGATE = 26,
+RTA_IP_PROTO = 27,
+RTA_SPORT = 28,
+RTA_DPORT = 29,
+RTA_NH_ID = 30,
+__RTA_MAX = 31,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_62 {
+RTAX_UNSPEC = 0,
+RTAX_LOCK = 1,
+RTAX_MTU = 2,
+RTAX_WINDOW = 3,
+RTAX_RTT = 4,
+RTAX_RTTVAR = 5,
+RTAX_SSTHRESH = 6,
+RTAX_CWND = 7,
+RTAX_ADVMSS = 8,
+RTAX_REORDERING = 9,
+RTAX_HOPLIMIT = 10,
+RTAX_INITCWND = 11,
+RTAX_FEATURES = 12,
+RTAX_RTO_MIN = 13,
+RTAX_INITRWND = 14,
+RTAX_QUICKACK = 15,
+RTAX_CC_ALGO = 16,
+RTAX_FASTOPEN_NO_COOKIE = 17,
+__RTAX_MAX = 18,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_63 {
+PREFIX_UNSPEC = 0,
+PREFIX_ADDRESS = 1,
+PREFIX_CACHEINFO = 2,
+__PREFIX_MAX = 3,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_64 {
+TCA_UNSPEC = 0,
+TCA_KIND = 1,
+TCA_OPTIONS = 2,
+TCA_STATS = 3,
+TCA_XSTATS = 4,
+TCA_RATE = 5,
+TCA_FCNT = 6,
+TCA_STATS2 = 7,
+TCA_STAB = 8,
+TCA_PAD = 9,
+TCA_DUMP_INVISIBLE = 10,
+TCA_CHAIN = 11,
+TCA_HW_OFFLOAD = 12,
+TCA_INGRESS_BLOCK = 13,
+TCA_EGRESS_BLOCK = 14,
+TCA_DUMP_FLAGS = 15,
+TCA_EXT_WARN_MSG = 16,
+__TCA_MAX = 17,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_65 {
+NDUSEROPT_UNSPEC = 0,
+NDUSEROPT_SRCADDR = 1,
+__NDUSEROPT_MAX = 2,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum rtnetlink_groups {
+RTNLGRP_NONE = 0,
+RTNLGRP_LINK = 1,
+RTNLGRP_NOTIFY = 2,
+RTNLGRP_NEIGH = 3,
+RTNLGRP_TC = 4,
+RTNLGRP_IPV4_IFADDR = 5,
+RTNLGRP_IPV4_MROUTE = 6,
+RTNLGRP_IPV4_ROUTE = 7,
+RTNLGRP_IPV4_RULE = 8,
+RTNLGRP_IPV6_IFADDR = 9,
+RTNLGRP_IPV6_MROUTE = 10,
+RTNLGRP_IPV6_ROUTE = 11,
+RTNLGRP_IPV6_IFINFO = 12,
+RTNLGRP_DECnet_IFADDR = 13,
+RTNLGRP_NOP2 = 14,
+RTNLGRP_DECnet_ROUTE = 15,
+RTNLGRP_DECnet_RULE = 16,
+RTNLGRP_NOP4 = 17,
+RTNLGRP_IPV6_PREFIX = 18,
+RTNLGRP_IPV6_RULE = 19,
+RTNLGRP_ND_USEROPT = 20,
+RTNLGRP_PHONET_IFADDR = 21,
+RTNLGRP_PHONET_ROUTE = 22,
+RTNLGRP_DCB = 23,
+RTNLGRP_IPV4_NETCONF = 24,
+RTNLGRP_IPV6_NETCONF = 25,
+RTNLGRP_MDB = 26,
+RTNLGRP_MPLS_ROUTE = 27,
+RTNLGRP_NSID = 28,
+RTNLGRP_MPLS_NETCONF = 29,
+RTNLGRP_IPV4_MROUTE_R = 30,
+RTNLGRP_IPV6_MROUTE_R = 31,
+RTNLGRP_NEXTHOP = 32,
+RTNLGRP_BRVLAN = 33,
+RTNLGRP_MCTP_IFADDR = 34,
+RTNLGRP_TUNNEL = 35,
+RTNLGRP_STATS = 36,
+__RTNLGRP_MAX = 37,
+}
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum _bindgen_ty_66 {
+TCA_ROOT_UNSPEC = 0,
+TCA_ROOT_TAB = 1,
+TCA_ROOT_FLAGS = 2,
+TCA_ROOT_COUNT = 3,
+TCA_ROOT_TIME_DELTA = 4,
+TCA_ROOT_EXT_WARN_MSG = 5,
+__TCA_ROOT_MAX = 6,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __kernel_sockaddr_storage__bindgen_ty_1 {
+pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
+pub __align: *mut crate::ctypes::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union rta_session__bindgen_ty_1 {
+pub ports: rta_session__bindgen_ty_1__bindgen_ty_1,
+pub icmpt: rta_session__bindgen_ty_1__bindgen_ty_2,
+pub spi: __u32,
+}
+impl<T> __IncompleteArrayField<T> {
+#[inline]
+pub const fn new() -> Self {
+__IncompleteArrayField(::core::marker::PhantomData, [])
+}
+#[inline]
+pub fn as_ptr(&self) -> *const T {
+self as *const _ as *const T
+}
+#[inline]
+pub fn as_mut_ptr(&mut self) -> *mut T {
+self as *mut _ as *mut T
+}
+#[inline]
+pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+::core::slice::from_raw_parts(self.as_ptr(), len)
+}
+#[inline]
+pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+}
+}
+impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
+fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
+fmt.write_str("__IncompleteArrayField")
+}
+}
+impl nlmsgerr_attrs {
+pub const NLMSGERR_ATTR_MAX: nlmsgerr_attrs = nlmsgerr_attrs::NLMSGERR_ATTR_MISS_NEST;
+}
+impl netlink_policy_type_attr {
+pub const NL_POLICY_TYPE_ATTR_MAX: netlink_policy_type_attr = netlink_policy_type_attr::NL_POLICY_TYPE_ATTR_MASK;
+}
+impl macsec_validation_type {
+pub const MACSEC_VALIDATE_MAX: macsec_validation_type = macsec_validation_type::MACSEC_VALIDATE_STRICT;
+}
+impl macsec_offload {
+pub const MACSEC_OFFLOAD_MAX: macsec_offload = macsec_offload::MACSEC_OFFLOAD_MAC;
+}
+impl ifla_vxlan_df {
+pub const VXLAN_DF_MAX: ifla_vxlan_df = ifla_vxlan_df::VXLAN_DF_INHERIT;
+}
+impl ifla_geneve_df {
+pub const GENEVE_DF_MAX: ifla_geneve_df = ifla_geneve_df::GENEVE_DF_INHERIT;
+}
diff --git a/vendor/linux-raw-sys/src/riscv32/prctl.rs b/vendor/linux-raw-sys/src/riscv32/prctl.rs
new file mode 100644
index 0000000..a18ddb5
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/prctl.rs
@@ -0,0 +1,221 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct prctl_mm_map {
+pub start_code: __u64,
+pub end_code: __u64,
+pub start_data: __u64,
+pub end_data: __u64,
+pub start_brk: __u64,
+pub brk: __u64,
+pub start_stack: __u64,
+pub arg_start: __u64,
+pub arg_end: __u64,
+pub env_start: __u64,
+pub env_end: __u64,
+pub auxv: *mut __u64,
+pub auxv_size: __u32,
+pub exe_fd: __u32,
+}
+pub const PR_SET_PDEATHSIG: u32 = 1;
+pub const PR_GET_PDEATHSIG: u32 = 2;
+pub const PR_GET_DUMPABLE: u32 = 3;
+pub const PR_SET_DUMPABLE: u32 = 4;
+pub const PR_GET_UNALIGN: u32 = 5;
+pub const PR_SET_UNALIGN: u32 = 6;
+pub const PR_UNALIGN_NOPRINT: u32 = 1;
+pub const PR_UNALIGN_SIGBUS: u32 = 2;
+pub const PR_GET_KEEPCAPS: u32 = 7;
+pub const PR_SET_KEEPCAPS: u32 = 8;
+pub const PR_GET_FPEMU: u32 = 9;
+pub const PR_SET_FPEMU: u32 = 10;
+pub const PR_FPEMU_NOPRINT: u32 = 1;
+pub const PR_FPEMU_SIGFPE: u32 = 2;
+pub const PR_GET_FPEXC: u32 = 11;
+pub const PR_SET_FPEXC: u32 = 12;
+pub const PR_FP_EXC_SW_ENABLE: u32 = 128;
+pub const PR_FP_EXC_DIV: u32 = 65536;
+pub const PR_FP_EXC_OVF: u32 = 131072;
+pub const PR_FP_EXC_UND: u32 = 262144;
+pub const PR_FP_EXC_RES: u32 = 524288;
+pub const PR_FP_EXC_INV: u32 = 1048576;
+pub const PR_FP_EXC_DISABLED: u32 = 0;
+pub const PR_FP_EXC_NONRECOV: u32 = 1;
+pub const PR_FP_EXC_ASYNC: u32 = 2;
+pub const PR_FP_EXC_PRECISE: u32 = 3;
+pub const PR_GET_TIMING: u32 = 13;
+pub const PR_SET_TIMING: u32 = 14;
+pub const PR_TIMING_STATISTICAL: u32 = 0;
+pub const PR_TIMING_TIMESTAMP: u32 = 1;
+pub const PR_SET_NAME: u32 = 15;
+pub const PR_GET_NAME: u32 = 16;
+pub const PR_GET_ENDIAN: u32 = 19;
+pub const PR_SET_ENDIAN: u32 = 20;
+pub const PR_ENDIAN_BIG: u32 = 0;
+pub const PR_ENDIAN_LITTLE: u32 = 1;
+pub const PR_ENDIAN_PPC_LITTLE: u32 = 2;
+pub const PR_GET_SECCOMP: u32 = 21;
+pub const PR_SET_SECCOMP: u32 = 22;
+pub const PR_CAPBSET_READ: u32 = 23;
+pub const PR_CAPBSET_DROP: u32 = 24;
+pub const PR_GET_TSC: u32 = 25;
+pub const PR_SET_TSC: u32 = 26;
+pub const PR_TSC_ENABLE: u32 = 1;
+pub const PR_TSC_SIGSEGV: u32 = 2;
+pub const PR_GET_SECUREBITS: u32 = 27;
+pub const PR_SET_SECUREBITS: u32 = 28;
+pub const PR_SET_TIMERSLACK: u32 = 29;
+pub const PR_GET_TIMERSLACK: u32 = 30;
+pub const PR_TASK_PERF_EVENTS_DISABLE: u32 = 31;
+pub const PR_TASK_PERF_EVENTS_ENABLE: u32 = 32;
+pub const PR_MCE_KILL: u32 = 33;
+pub const PR_MCE_KILL_CLEAR: u32 = 0;
+pub const PR_MCE_KILL_SET: u32 = 1;
+pub const PR_MCE_KILL_LATE: u32 = 0;
+pub const PR_MCE_KILL_EARLY: u32 = 1;
+pub const PR_MCE_KILL_DEFAULT: u32 = 2;
+pub const PR_MCE_KILL_GET: u32 = 34;
+pub const PR_SET_MM: u32 = 35;
+pub const PR_SET_MM_START_CODE: u32 = 1;
+pub const PR_SET_MM_END_CODE: u32 = 2;
+pub const PR_SET_MM_START_DATA: u32 = 3;
+pub const PR_SET_MM_END_DATA: u32 = 4;
+pub const PR_SET_MM_START_STACK: u32 = 5;
+pub const PR_SET_MM_START_BRK: u32 = 6;
+pub const PR_SET_MM_BRK: u32 = 7;
+pub const PR_SET_MM_ARG_START: u32 = 8;
+pub const PR_SET_MM_ARG_END: u32 = 9;
+pub const PR_SET_MM_ENV_START: u32 = 10;
+pub const PR_SET_MM_ENV_END: u32 = 11;
+pub const PR_SET_MM_AUXV: u32 = 12;
+pub const PR_SET_MM_EXE_FILE: u32 = 13;
+pub const PR_SET_MM_MAP: u32 = 14;
+pub const PR_SET_MM_MAP_SIZE: u32 = 15;
+pub const PR_SET_PTRACER: u32 = 1499557217;
+pub const PR_SET_CHILD_SUBREAPER: u32 = 36;
+pub const PR_GET_CHILD_SUBREAPER: u32 = 37;
+pub const PR_SET_NO_NEW_PRIVS: u32 = 38;
+pub const PR_GET_NO_NEW_PRIVS: u32 = 39;
+pub const PR_GET_TID_ADDRESS: u32 = 40;
+pub const PR_SET_THP_DISABLE: u32 = 41;
+pub const PR_GET_THP_DISABLE: u32 = 42;
+pub const PR_MPX_ENABLE_MANAGEMENT: u32 = 43;
+pub const PR_MPX_DISABLE_MANAGEMENT: u32 = 44;
+pub const PR_SET_FP_MODE: u32 = 45;
+pub const PR_GET_FP_MODE: u32 = 46;
+pub const PR_FP_MODE_FR: u32 = 1;
+pub const PR_FP_MODE_FRE: u32 = 2;
+pub const PR_CAP_AMBIENT: u32 = 47;
+pub const PR_CAP_AMBIENT_IS_SET: u32 = 1;
+pub const PR_CAP_AMBIENT_RAISE: u32 = 2;
+pub const PR_CAP_AMBIENT_LOWER: u32 = 3;
+pub const PR_CAP_AMBIENT_CLEAR_ALL: u32 = 4;
+pub const PR_SVE_SET_VL: u32 = 50;
+pub const PR_SVE_SET_VL_ONEXEC: u32 = 262144;
+pub const PR_SVE_GET_VL: u32 = 51;
+pub const PR_SVE_VL_LEN_MASK: u32 = 65535;
+pub const PR_SVE_VL_INHERIT: u32 = 131072;
+pub const PR_GET_SPECULATION_CTRL: u32 = 52;
+pub const PR_SET_SPECULATION_CTRL: u32 = 53;
+pub const PR_SPEC_STORE_BYPASS: u32 = 0;
+pub const PR_SPEC_INDIRECT_BRANCH: u32 = 1;
+pub const PR_SPEC_L1D_FLUSH: u32 = 2;
+pub const PR_SPEC_NOT_AFFECTED: u32 = 0;
+pub const PR_SPEC_PRCTL: u32 = 1;
+pub const PR_SPEC_ENABLE: u32 = 2;
+pub const PR_SPEC_DISABLE: u32 = 4;
+pub const PR_SPEC_FORCE_DISABLE: u32 = 8;
+pub const PR_SPEC_DISABLE_NOEXEC: u32 = 16;
+pub const PR_PAC_RESET_KEYS: u32 = 54;
+pub const PR_PAC_APIAKEY: u32 = 1;
+pub const PR_PAC_APIBKEY: u32 = 2;
+pub const PR_PAC_APDAKEY: u32 = 4;
+pub const PR_PAC_APDBKEY: u32 = 8;
+pub const PR_PAC_APGAKEY: u32 = 16;
+pub const PR_SET_TAGGED_ADDR_CTRL: u32 = 55;
+pub const PR_GET_TAGGED_ADDR_CTRL: u32 = 56;
+pub const PR_TAGGED_ADDR_ENABLE: u32 = 1;
+pub const PR_MTE_TCF_NONE: u32 = 0;
+pub const PR_MTE_TCF_SYNC: u32 = 2;
+pub const PR_MTE_TCF_ASYNC: u32 = 4;
+pub const PR_MTE_TCF_MASK: u32 = 6;
+pub const PR_MTE_TAG_SHIFT: u32 = 3;
+pub const PR_MTE_TAG_MASK: u32 = 524280;
+pub const PR_MTE_TCF_SHIFT: u32 = 1;
+pub const PR_SET_IO_FLUSHER: u32 = 57;
+pub const PR_GET_IO_FLUSHER: u32 = 58;
+pub const PR_SET_SYSCALL_USER_DISPATCH: u32 = 59;
+pub const PR_SYS_DISPATCH_OFF: u32 = 0;
+pub const PR_SYS_DISPATCH_ON: u32 = 1;
+pub const SYSCALL_DISPATCH_FILTER_ALLOW: u32 = 0;
+pub const SYSCALL_DISPATCH_FILTER_BLOCK: u32 = 1;
+pub const PR_PAC_SET_ENABLED_KEYS: u32 = 60;
+pub const PR_PAC_GET_ENABLED_KEYS: u32 = 61;
+pub const PR_SCHED_CORE: u32 = 62;
+pub const PR_SCHED_CORE_GET: u32 = 0;
+pub const PR_SCHED_CORE_CREATE: u32 = 1;
+pub const PR_SCHED_CORE_SHARE_TO: u32 = 2;
+pub const PR_SCHED_CORE_SHARE_FROM: u32 = 3;
+pub const PR_SCHED_CORE_MAX: u32 = 4;
+pub const PR_SCHED_CORE_SCOPE_THREAD: u32 = 0;
+pub const PR_SCHED_CORE_SCOPE_THREAD_GROUP: u32 = 1;
+pub const PR_SCHED_CORE_SCOPE_PROCESS_GROUP: u32 = 2;
+pub const PR_SME_SET_VL: u32 = 63;
+pub const PR_SME_SET_VL_ONEXEC: u32 = 262144;
+pub const PR_SME_GET_VL: u32 = 64;
+pub const PR_SME_VL_LEN_MASK: u32 = 65535;
+pub const PR_SME_VL_INHERIT: u32 = 131072;
+pub const PR_SET_MDWE: u32 = 65;
+pub const PR_MDWE_REFUSE_EXEC_GAIN: u32 = 1;
+pub const PR_GET_MDWE: u32 = 66;
+pub const PR_SET_VMA: u32 = 1398164801;
+pub const PR_SET_VMA_ANON_NAME: u32 = 0;
diff --git a/vendor/linux-raw-sys/src/riscv32/system.rs b/vendor/linux-raw-sys/src/riscv32/system.rs
new file mode 100644
index 0000000..ad14d19
--- /dev/null
+++ b/vendor/linux-raw-sys/src/riscv32/system.rs
@@ -0,0 +1,99 @@
+/* automatically generated by rust-bindgen 0.66.1 */
+
+pub type __s8 = crate::ctypes::c_schar;
+pub type __u8 = crate::ctypes::c_uchar;
+pub type __s16 = crate::ctypes::c_short;
+pub type __u16 = crate::ctypes::c_ushort;
+pub type __s32 = crate::ctypes::c_int;
+pub type __u32 = crate::ctypes::c_uint;
+pub type __s64 = crate::ctypes::c_longlong;
+pub type __u64 = crate::ctypes::c_ulonglong;
+pub type __kernel_key_t = crate::ctypes::c_int;
+pub type __kernel_mqd_t = crate::ctypes::c_int;
+pub type __kernel_long_t = crate::ctypes::c_long;
+pub type __kernel_ulong_t = crate::ctypes::c_ulong;
+pub type __kernel_ino_t = __kernel_ulong_t;
+pub type __kernel_mode_t = crate::ctypes::c_uint;
+pub type __kernel_pid_t = crate::ctypes::c_int;
+pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
+pub type __kernel_uid_t = crate::ctypes::c_uint;
+pub type __kernel_gid_t = crate::ctypes::c_uint;
+pub type __kernel_suseconds_t = __kernel_long_t;
+pub type __kernel_daddr_t = crate::ctypes::c_int;
+pub type __kernel_uid32_t = crate::ctypes::c_uint;
+pub type __kernel_gid32_t = crate::ctypes::c_uint;
+pub type __kernel_old_uid_t = __kernel_uid_t;
+pub type __kernel_old_gid_t = __kernel_gid_t;
+pub type __kernel_old_dev_t = crate::ctypes::c_uint;
+pub type __kernel_size_t = crate::ctypes::c_uint;
+pub type __kernel_ssize_t = crate::ctypes::c_int;
+pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
+pub type __kernel_off_t = __kernel_long_t;
+pub type __kernel_loff_t = crate::ctypes::c_longlong;
+pub type __kernel_old_time_t = __kernel_long_t;
+pub type __kernel_time_t = __kernel_long_t;
+pub type __kernel_time64_t = crate::ctypes::c_longlong;
+pub type __kernel_clock_t = __kernel_long_t;
+pub type __kernel_timer_t = crate::ctypes::c_int;
+pub type __kernel_clockid_t = crate::ctypes::c_int;
+pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
+pub type __kernel_uid16_t = crate::ctypes::c_ushort;
+pub type __kernel_gid16_t = crate::ctypes::c_ushort;
+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 = crate::ctypes::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sysinfo {
+pub uptime: __kernel_long_t,
+pub loads: [__kernel_ulong_t; 3usize],
+pub totalram: __kernel_ulong_t,
+pub freeram: __kernel_ulong_t,
+pub sharedram: __kernel_ulong_t,
+pub bufferram: __kernel_ulong_t,
+pub totalswap: __kernel_ulong_t,
+pub freeswap: __kernel_ulong_t,
+pub procs: __u16,
+pub pad: __u16,
+pub totalhigh: __kernel_ulong_t,
+pub freehigh: __kernel_ulong_t,
+pub mem_unit: __u32,
+pub _f: [crate::ctypes::c_char; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct oldold_utsname {
+pub sysname: [crate::ctypes::c_char; 9usize],
+pub nodename: [crate::ctypes::c_char; 9usize],
+pub release: [crate::ctypes::c_char; 9usize],
+pub version: [crate::ctypes::c_char; 9usize],
+pub machine: [crate::ctypes::c_char; 9usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct old_utsname {
+pub sysname: [crate::ctypes::c_char; 65usize],
+pub nodename: [crate::ctypes::c_char; 65usize],
+pub release: [crate::ctypes::c_char; 65usize],
+pub version: [crate::ctypes::c_char; 65usize],
+pub machine: [crate::ctypes::c_char; 65usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct new_utsname {
+pub sysname: [crate::ctypes::c_char; 65usize],
+pub nodename: [crate::ctypes::c_char; 65usize],
+pub release: [crate::ctypes::c_char; 65usize],
+pub version: [crate::ctypes::c_char; 65usize],
+pub machine: [crate::ctypes::c_char; 65usize],
+pub domainname: [crate::ctypes::c_char; 65usize],
+}
+pub const SI_LOAD_SHIFT: u32 = 16;
+pub const __OLD_UTS_LEN: u32 = 8;
+pub const __NEW_UTS_LEN: u32 = 64;