diff --git a/gen/src/main.rs b/gen/src/main.rs index 78d77c1a..4d388f86 100644 --- a/gen/src/main.rs +++ b/gen/src/main.rs @@ -10,7 +10,7 @@ use std::process::Command; use std::{env, fs}; #[allow(unused_doc_comments)] -const LINUX_VERSION: &str = "v6.11"; +const LINUX_VERSION: &str = "v6.12"; /// Some commonly used features. const DEFAULT_FEATURES: &str = "\"general\", \"errno\""; diff --git a/src/aarch64/elf_uapi.rs b/src/aarch64/elf_uapi.rs index 464c011e..2873c3c2 100644 --- a/src/aarch64/elf_uapi.rs +++ b/src/aarch64/elf_uapi.rs @@ -459,6 +459,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -489,6 +490,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/aarch64/general.rs b/src/aarch64/general.rs index 1e1e87dd..85c6e023 100644 --- a/src/aarch64/general.rs +++ b/src/aarch64/general.rs @@ -788,6 +788,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -998,9 +1013,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_MINSIGSTKSZ: u32 = 51; @@ -1166,6 +1181,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1198,8 +1214,6 @@ 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; @@ -1208,7 +1222,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1220,6 +1240,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1697,6 +1718,8 @@ pub const MCL_FUTURE: u32 = 2; pub const MCL_ONFAULT: u32 = 4; pub const PROT_BTI: u32 = 16; pub const PROT_MTE: u32 = 32; +pub const PKEY_DISABLE_EXECUTE: u32 = 4; +pub const PKEY_DISABLE_READ: u32 = 8; pub const HUGETLB_FLAG_ENCODE_SHIFT: u32 = 26; pub const HUGETLB_FLAG_ENCODE_MASK: u32 = 63; pub const HUGETLB_FLAG_ENCODE_16KB: u32 = 939524096; @@ -1833,6 +1856,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/aarch64/io_uring.rs b/src/aarch64/io_uring.rs index b90ce070..842952f4 100644 --- a/src/aarch64/io_uring.rs +++ b/src/aarch64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -864,6 +877,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -880,6 +894,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -895,9 +910,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1039,7 +1056,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1052,8 +1071,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/aarch64/landlock.rs b/src/aarch64/landlock.rs index 6e297123..0dbe7d3b 100644 --- a/src/aarch64/landlock.rs +++ b/src/aarch64/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -88,6 +89,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/aarch64/net.rs b/src/aarch64/net.rs index 0d9d1acb..f1edee3a 100644 --- a/src/aarch64/net.rs +++ b/src/aarch64/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/aarch64/ptrace.rs b/src/aarch64/ptrace.rs index cc9376ec..a032965f 100644 --- a/src/aarch64/ptrace.rs +++ b/src/aarch64/ptrace.rs @@ -418,6 +418,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; @@ -848,6 +851,7 @@ pub const HWCAP2_SME_F8F32: u64 = 576460752303423488; pub const HWCAP2_SME_SF8FMA: u64 = 1152921504606846976; pub const HWCAP2_SME_SF8DP4: u64 = 2305843009213693952; pub const HWCAP2_SME_SF8DP2: u64 = 4611686018427387904; +pub const HWCAP2_POE: i64 = -9223372036854775808; pub const __SVE_VQ_BYTES: u32 = 16; pub const __SVE_VQ_MIN: u32 = 1; pub const __SVE_VQ_MAX: u32 = 512; diff --git a/src/arm/elf_uapi.rs b/src/arm/elf_uapi.rs index 8a6791dc..291b86b1 100644 --- a/src/arm/elf_uapi.rs +++ b/src/arm/elf_uapi.rs @@ -457,6 +457,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -487,6 +488,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/arm/general.rs b/src/arm/general.rs index 3268e102..f60f2455 100644 --- a/src/arm/general.rs +++ b/src/arm/general.rs @@ -781,6 +781,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1027,9 +1042,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_NULL: u32 = 0; @@ -1197,6 +1212,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1229,8 +1245,6 @@ 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; @@ -1239,7 +1253,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1251,6 +1271,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1862,6 +1883,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/arm/io_uring.rs b/src/arm/io_uring.rs index c6488d78..1da8cfb4 100644 --- a/src/arm/io_uring.rs +++ b/src/arm/io_uring.rs @@ -472,6 +472,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -534,7 +547,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -862,6 +875,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -878,6 +892,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -893,9 +908,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1037,7 +1054,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1050,8 +1069,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/arm/landlock.rs b/src/arm/landlock.rs index a713cbe9..bd7fed57 100644 --- a/src/arm/landlock.rs +++ b/src/arm/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -86,6 +87,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/arm/net.rs b/src/arm/net.rs index fa6d8ab8..82048866 100644 --- a/src/arm/net.rs +++ b/src/arm/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/arm/ptrace.rs b/src/arm/ptrace.rs index 1358852f..68b6618d 100644 --- a/src/arm/ptrace.rs +++ b/src/arm/ptrace.rs @@ -348,6 +348,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/csky/elf_uapi.rs b/src/csky/elf_uapi.rs index 68ffcc5b..08932345 100644 --- a/src/csky/elf_uapi.rs +++ b/src/csky/elf_uapi.rs @@ -457,6 +457,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -487,6 +488,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/csky/general.rs b/src/csky/general.rs index 7c064f02..121d8706 100644 --- a/src/csky/general.rs +++ b/src/csky/general.rs @@ -786,6 +786,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1019,9 +1034,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_NULL: u32 = 0; pub const AT_IGNORE: u32 = 1; @@ -1188,6 +1203,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1220,8 +1236,6 @@ 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; @@ -1230,7 +1244,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1242,6 +1262,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1853,6 +1874,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/csky/io_uring.rs b/src/csky/io_uring.rs index 97a78242..9abb6125 100644 --- a/src/csky/io_uring.rs +++ b/src/csky/io_uring.rs @@ -476,6 +476,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -538,7 +551,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -866,6 +879,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -882,6 +896,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -897,9 +912,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1041,7 +1058,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1054,8 +1073,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/csky/landlock.rs b/src/csky/landlock.rs index 48f0ddcf..39df5113 100644 --- a/src/csky/landlock.rs +++ b/src/csky/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -86,6 +87,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/csky/net.rs b/src/csky/net.rs index 56009d2a..9975da6a 100644 --- a/src/csky/net.rs +++ b/src/csky/net.rs @@ -1197,6 +1197,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/csky/ptrace.rs b/src/csky/ptrace.rs index b7467710..a3a2bfac 100644 --- a/src/csky/ptrace.rs +++ b/src/csky/ptrace.rs @@ -367,6 +367,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/loongarch64/elf_uapi.rs b/src/loongarch64/elf_uapi.rs index 7da7ceda..2e5517d6 100644 --- a/src/loongarch64/elf_uapi.rs +++ b/src/loongarch64/elf_uapi.rs @@ -459,6 +459,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -489,6 +490,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/loongarch64/general.rs b/src/loongarch64/general.rs index 6b9d7e7c..96188f5e 100644 --- a/src/loongarch64/general.rs +++ b/src/loongarch64/general.rs @@ -787,6 +787,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -996,9 +1011,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1164,6 +1179,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1196,8 +1212,6 @@ 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; @@ -1206,7 +1220,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1218,6 +1238,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1829,6 +1850,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/loongarch64/io_uring.rs b/src/loongarch64/io_uring.rs index 3e229c32..2518db22 100644 --- a/src/loongarch64/io_uring.rs +++ b/src/loongarch64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -864,6 +877,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -880,6 +894,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -895,9 +910,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1039,7 +1056,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1052,8 +1071,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/loongarch64/landlock.rs b/src/loongarch64/landlock.rs index 1857c9f1..35f92124 100644 --- a/src/loongarch64/landlock.rs +++ b/src/loongarch64/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -88,6 +89,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/loongarch64/net.rs b/src/loongarch64/net.rs index 0cac1d10..5a96657b 100644 --- a/src/loongarch64/net.rs +++ b/src/loongarch64/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/loongarch64/ptrace.rs b/src/loongarch64/ptrace.rs index 5f2d713b..7bf06ebe 100644 --- a/src/loongarch64/ptrace.rs +++ b/src/loongarch64/ptrace.rs @@ -392,6 +392,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/mips/elf_uapi.rs b/src/mips/elf_uapi.rs index e75b5db0..b3556d05 100644 --- a/src/mips/elf_uapi.rs +++ b/src/mips/elf_uapi.rs @@ -467,6 +467,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -497,6 +498,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/mips/general.rs b/src/mips/general.rs index 0cf6d72d..31c736b7 100644 --- a/src/mips/general.rs +++ b/src/mips/general.rs @@ -817,6 +817,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1034,9 +1049,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1215,6 +1230,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1247,8 +1263,6 @@ 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; @@ -1257,7 +1271,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1269,6 +1289,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1880,6 +1901,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/mips/io_uring.rs b/src/mips/io_uring.rs index 3df2e547..1f49f030 100644 --- a/src/mips/io_uring.rs +++ b/src/mips/io_uring.rs @@ -472,6 +472,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -534,7 +547,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -872,6 +885,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -888,6 +902,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -903,9 +918,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1047,7 +1064,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1060,8 +1079,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/mips/landlock.rs b/src/mips/landlock.rs index 5b4e140e..85365e8d 100644 --- a/src/mips/landlock.rs +++ b/src/mips/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -96,6 +97,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/mips/net.rs b/src/mips/net.rs index d3eb0d86..d9352636 100644 --- a/src/mips/net.rs +++ b/src/mips/net.rs @@ -1226,6 +1226,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/mips/ptrace.rs b/src/mips/ptrace.rs index 52704cba..936294c6 100644 --- a/src/mips/ptrace.rs +++ b/src/mips/ptrace.rs @@ -387,6 +387,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/mips32r6/elf_uapi.rs b/src/mips32r6/elf_uapi.rs index e75b5db0..b3556d05 100644 --- a/src/mips32r6/elf_uapi.rs +++ b/src/mips32r6/elf_uapi.rs @@ -467,6 +467,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -497,6 +498,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/mips32r6/general.rs b/src/mips32r6/general.rs index 0cf6d72d..31c736b7 100644 --- a/src/mips32r6/general.rs +++ b/src/mips32r6/general.rs @@ -817,6 +817,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1034,9 +1049,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1215,6 +1230,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1247,8 +1263,6 @@ 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; @@ -1257,7 +1271,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1269,6 +1289,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1880,6 +1901,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/mips32r6/io_uring.rs b/src/mips32r6/io_uring.rs index 3df2e547..1f49f030 100644 --- a/src/mips32r6/io_uring.rs +++ b/src/mips32r6/io_uring.rs @@ -472,6 +472,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -534,7 +547,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -872,6 +885,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -888,6 +902,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -903,9 +918,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1047,7 +1064,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1060,8 +1079,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/mips32r6/landlock.rs b/src/mips32r6/landlock.rs index 5b4e140e..85365e8d 100644 --- a/src/mips32r6/landlock.rs +++ b/src/mips32r6/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -96,6 +97,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/mips32r6/net.rs b/src/mips32r6/net.rs index d3eb0d86..d9352636 100644 --- a/src/mips32r6/net.rs +++ b/src/mips32r6/net.rs @@ -1226,6 +1226,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/mips32r6/ptrace.rs b/src/mips32r6/ptrace.rs index 52704cba..936294c6 100644 --- a/src/mips32r6/ptrace.rs +++ b/src/mips32r6/ptrace.rs @@ -387,6 +387,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/mips64/elf_uapi.rs b/src/mips64/elf_uapi.rs index 5e3382ea..3e0ae8d3 100644 --- a/src/mips64/elf_uapi.rs +++ b/src/mips64/elf_uapi.rs @@ -469,6 +469,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -499,6 +500,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/mips64/general.rs b/src/mips64/general.rs index dd7369d9..bef4c8bb 100644 --- a/src/mips64/general.rs +++ b/src/mips64/general.rs @@ -817,6 +817,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1026,9 +1041,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1204,6 +1219,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1236,8 +1252,6 @@ 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; @@ -1246,7 +1260,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1258,6 +1278,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1869,6 +1890,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/mips64/io_uring.rs b/src/mips64/io_uring.rs index 23aa488c..5bdcca75 100644 --- a/src/mips64/io_uring.rs +++ b/src/mips64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -874,6 +887,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -890,6 +904,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -905,9 +920,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1049,7 +1066,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1062,8 +1081,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/mips64/landlock.rs b/src/mips64/landlock.rs index 7a76b07c..af3cc928 100644 --- a/src/mips64/landlock.rs +++ b/src/mips64/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -98,6 +99,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/mips64/net.rs b/src/mips64/net.rs index 70e23f32..b2e61441 100644 --- a/src/mips64/net.rs +++ b/src/mips64/net.rs @@ -1226,6 +1226,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/mips64/ptrace.rs b/src/mips64/ptrace.rs index eec573f5..4fa4fe49 100644 --- a/src/mips64/ptrace.rs +++ b/src/mips64/ptrace.rs @@ -389,6 +389,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/mips64r6/elf_uapi.rs b/src/mips64r6/elf_uapi.rs index 5e3382ea..3e0ae8d3 100644 --- a/src/mips64r6/elf_uapi.rs +++ b/src/mips64r6/elf_uapi.rs @@ -469,6 +469,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -499,6 +500,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/mips64r6/general.rs b/src/mips64r6/general.rs index dd7369d9..bef4c8bb 100644 --- a/src/mips64r6/general.rs +++ b/src/mips64r6/general.rs @@ -817,6 +817,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1026,9 +1041,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1204,6 +1219,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1236,8 +1252,6 @@ 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; @@ -1246,7 +1260,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1258,6 +1278,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1869,6 +1890,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/mips64r6/io_uring.rs b/src/mips64r6/io_uring.rs index 23aa488c..5bdcca75 100644 --- a/src/mips64r6/io_uring.rs +++ b/src/mips64r6/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -874,6 +887,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -890,6 +904,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -905,9 +920,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1049,7 +1066,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1062,8 +1081,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/mips64r6/landlock.rs b/src/mips64r6/landlock.rs index 7a76b07c..af3cc928 100644 --- a/src/mips64r6/landlock.rs +++ b/src/mips64r6/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -98,6 +99,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/mips64r6/net.rs b/src/mips64r6/net.rs index 70e23f32..b2e61441 100644 --- a/src/mips64r6/net.rs +++ b/src/mips64r6/net.rs @@ -1226,6 +1226,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/mips64r6/ptrace.rs b/src/mips64r6/ptrace.rs index eec573f5..4fa4fe49 100644 --- a/src/mips64r6/ptrace.rs +++ b/src/mips64r6/ptrace.rs @@ -389,6 +389,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/powerpc/elf_uapi.rs b/src/powerpc/elf_uapi.rs index 4adc3cc3..08288977 100644 --- a/src/powerpc/elf_uapi.rs +++ b/src/powerpc/elf_uapi.rs @@ -463,6 +463,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -493,6 +494,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/powerpc/general.rs b/src/powerpc/general.rs index 7667759e..f12668ef 100644 --- a/src/powerpc/general.rs +++ b/src/powerpc/general.rs @@ -826,6 +826,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1072,9 +1087,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_DCACHEBSIZE: u32 = 19; pub const AT_ICACHEBSIZE: u32 = 20; @@ -1255,6 +1270,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1287,8 +1303,6 @@ 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; @@ -1297,7 +1311,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1309,6 +1329,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1923,6 +1944,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/powerpc/io_uring.rs b/src/powerpc/io_uring.rs index 4e9b34ec..fa49afc1 100644 --- a/src/powerpc/io_uring.rs +++ b/src/powerpc/io_uring.rs @@ -478,6 +478,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -540,7 +553,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -868,6 +881,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -884,6 +898,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -899,9 +914,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1043,7 +1060,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1056,8 +1075,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/powerpc/landlock.rs b/src/powerpc/landlock.rs index 0a5d2aac..9b99057f 100644 --- a/src/powerpc/landlock.rs +++ b/src/powerpc/landlock.rs @@ -59,6 +59,7 @@ pub u: [__u32; 4usize], pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -92,6 +93,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/powerpc/net.rs b/src/powerpc/net.rs index c5402347..1daaf500 100644 --- a/src/powerpc/net.rs +++ b/src/powerpc/net.rs @@ -1201,6 +1201,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/powerpc/ptrace.rs b/src/powerpc/ptrace.rs index 41909c68..0c3817f0 100644 --- a/src/powerpc/ptrace.rs +++ b/src/powerpc/ptrace.rs @@ -388,6 +388,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/powerpc64/elf_uapi.rs b/src/powerpc64/elf_uapi.rs index 2591c134..c88e5cce 100644 --- a/src/powerpc64/elf_uapi.rs +++ b/src/powerpc64/elf_uapi.rs @@ -465,6 +465,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -495,6 +496,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/powerpc64/general.rs b/src/powerpc64/general.rs index 9f976e43..458168ef 100644 --- a/src/powerpc64/general.rs +++ b/src/powerpc64/general.rs @@ -822,6 +822,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1054,9 +1069,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_DCACHEBSIZE: u32 = 19; pub const AT_ICACHEBSIZE: u32 = 20; @@ -1234,6 +1249,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1266,8 +1282,6 @@ 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; @@ -1276,7 +1290,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1288,6 +1308,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1902,6 +1923,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/powerpc64/io_uring.rs b/src/powerpc64/io_uring.rs index 781ff240..99088cda 100644 --- a/src/powerpc64/io_uring.rs +++ b/src/powerpc64/io_uring.rs @@ -480,6 +480,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -542,7 +555,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -870,6 +883,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -886,6 +900,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -901,9 +916,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1045,7 +1062,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1058,8 +1077,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/powerpc64/landlock.rs b/src/powerpc64/landlock.rs index 973204a5..a5be6307 100644 --- a/src/powerpc64/landlock.rs +++ b/src/powerpc64/landlock.rs @@ -61,6 +61,7 @@ pub u: [__u32; 4usize], pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -94,6 +95,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/powerpc64/net.rs b/src/powerpc64/net.rs index 5893de1a..fe4692c5 100644 --- a/src/powerpc64/net.rs +++ b/src/powerpc64/net.rs @@ -1201,6 +1201,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/powerpc64/ptrace.rs b/src/powerpc64/ptrace.rs index 7ac73e11..daba7b0b 100644 --- a/src/powerpc64/ptrace.rs +++ b/src/powerpc64/ptrace.rs @@ -390,6 +390,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/riscv32/elf_uapi.rs b/src/riscv32/elf_uapi.rs index 68ffcc5b..08932345 100644 --- a/src/riscv32/elf_uapi.rs +++ b/src/riscv32/elf_uapi.rs @@ -457,6 +457,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -487,6 +488,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/riscv32/general.rs b/src/riscv32/general.rs index 74b3ce09..e1189a7e 100644 --- a/src/riscv32/general.rs +++ b/src/riscv32/general.rs @@ -785,6 +785,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1018,9 +1033,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_L1I_CACHESIZE: u32 = 40; @@ -1197,6 +1212,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1229,8 +1245,6 @@ 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; @@ -1239,7 +1253,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1251,6 +1271,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1862,6 +1883,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/riscv32/io_uring.rs b/src/riscv32/io_uring.rs index 663c151a..5fd58aca 100644 --- a/src/riscv32/io_uring.rs +++ b/src/riscv32/io_uring.rs @@ -472,6 +472,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -534,7 +547,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -862,6 +875,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -878,6 +892,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -893,9 +908,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1037,7 +1054,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1050,8 +1069,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/riscv32/landlock.rs b/src/riscv32/landlock.rs index 48f0ddcf..39df5113 100644 --- a/src/riscv32/landlock.rs +++ b/src/riscv32/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -86,6 +87,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/riscv32/net.rs b/src/riscv32/net.rs index d9fc9d7e..a777903c 100644 --- a/src/riscv32/net.rs +++ b/src/riscv32/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/riscv32/ptrace.rs b/src/riscv32/ptrace.rs index a58e1e31..00222815 100644 --- a/src/riscv32/ptrace.rs +++ b/src/riscv32/ptrace.rs @@ -433,6 +433,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/riscv64/elf_uapi.rs b/src/riscv64/elf_uapi.rs index 7da7ceda..2e5517d6 100644 --- a/src/riscv64/elf_uapi.rs +++ b/src/riscv64/elf_uapi.rs @@ -459,6 +459,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -489,6 +490,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/riscv64/general.rs b/src/riscv64/general.rs index d058025a..6da84582 100644 --- a/src/riscv64/general.rs +++ b/src/riscv64/general.rs @@ -787,6 +787,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -996,9 +1011,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_L1I_CACHESIZE: u32 = 40; @@ -1172,6 +1187,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1204,8 +1220,6 @@ 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; @@ -1214,7 +1228,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1226,6 +1246,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1837,6 +1858,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/riscv64/io_uring.rs b/src/riscv64/io_uring.rs index 3e229c32..2518db22 100644 --- a/src/riscv64/io_uring.rs +++ b/src/riscv64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -864,6 +877,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -880,6 +894,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -895,9 +910,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1039,7 +1056,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1052,8 +1071,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/riscv64/landlock.rs b/src/riscv64/landlock.rs index 1857c9f1..35f92124 100644 --- a/src/riscv64/landlock.rs +++ b/src/riscv64/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -88,6 +89,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/riscv64/net.rs b/src/riscv64/net.rs index 0cac1d10..5a96657b 100644 --- a/src/riscv64/net.rs +++ b/src/riscv64/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/riscv64/ptrace.rs b/src/riscv64/ptrace.rs index d52037d2..21dc9491 100644 --- a/src/riscv64/ptrace.rs +++ b/src/riscv64/ptrace.rs @@ -435,6 +435,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/s390x/elf_uapi.rs b/src/s390x/elf_uapi.rs index 6ef199e2..8b31501f 100644 --- a/src/s390x/elf_uapi.rs +++ b/src/s390x/elf_uapi.rs @@ -473,6 +473,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -503,6 +504,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/s390x/general.rs b/src/s390x/general.rs index 6e0dd13e..0053a098 100644 --- a/src/s390x/general.rs +++ b/src/s390x/general.rs @@ -803,6 +803,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -995,9 +1010,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 1; @@ -1163,6 +1178,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1195,8 +1211,6 @@ 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; @@ -1205,7 +1219,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1217,6 +1237,7 @@ pub const POSIX_FADV_SEQUENTIAL: u32 = 2; pub const POSIX_FADV_WILLNEED: u32 = 3; pub const POSIX_FADV_DONTNEED: u32 = 6; pub const POSIX_FADV_NOREUSE: u32 = 7; +pub const FALLOC_FL_ALLOCATE_RANGE: u32 = 0; 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; @@ -1828,6 +1849,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/s390x/io_uring.rs b/src/s390x/io_uring.rs index 201a19de..22dbcd6c 100644 --- a/src/s390x/io_uring.rs +++ b/src/s390x/io_uring.rs @@ -488,6 +488,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -550,7 +563,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -878,6 +891,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -894,6 +908,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -909,9 +924,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1053,7 +1070,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1066,8 +1085,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/s390x/landlock.rs b/src/s390x/landlock.rs index 1ed1c110..c2ee0bd1 100644 --- a/src/s390x/landlock.rs +++ b/src/s390x/landlock.rs @@ -69,6 +69,7 @@ pub low: __u64, pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -102,6 +103,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/s390x/net.rs b/src/s390x/net.rs index 69d6fea9..fce1ce0a 100644 --- a/src/s390x/net.rs +++ b/src/s390x/net.rs @@ -1209,6 +1209,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/s390x/ptrace.rs b/src/s390x/ptrace.rs index 813d6257..af6eb49d 100644 --- a/src/s390x/ptrace.rs +++ b/src/s390x/ptrace.rs @@ -463,6 +463,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/sparc/elf_uapi.rs b/src/sparc/elf_uapi.rs index f90d607e..635f0dd7 100644 --- a/src/sparc/elf_uapi.rs +++ b/src/sparc/elf_uapi.rs @@ -457,6 +457,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -487,6 +488,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/sparc/general.rs b/src/sparc/general.rs index 3594c2c8..f3d25c21 100644 --- a/src/sparc/general.rs +++ b/src/sparc/general.rs @@ -802,6 +802,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1032,9 +1047,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_ADI_BLKSZ: u32 = 48; @@ -1206,6 +1221,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1238,8 +1254,6 @@ 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; @@ -1248,7 +1262,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 4194304; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1260,6 +1280,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1875,6 +1896,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/sparc/io_uring.rs b/src/sparc/io_uring.rs index e3bf3439..a26070cf 100644 --- a/src/sparc/io_uring.rs +++ b/src/sparc/io_uring.rs @@ -472,6 +472,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -534,7 +547,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -863,6 +876,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -879,6 +893,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -894,9 +909,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1038,7 +1055,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1051,8 +1070,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/sparc/landlock.rs b/src/sparc/landlock.rs index fb18eef3..051e9922 100644 --- a/src/sparc/landlock.rs +++ b/src/sparc/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -86,6 +87,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/sparc/net.rs b/src/sparc/net.rs index cda8bf32..889c5cc9 100644 --- a/src/sparc/net.rs +++ b/src/sparc/net.rs @@ -1411,6 +1411,11 @@ pub const SO_TXREHASH: u32 = 83; pub const SO_RCVMARK: u32 = 84; pub const SO_PASSPIDFD: u32 = 85; pub const SO_PEERPIDFD: u32 = 86; +pub const SO_DEVMEM_LINEAR: u32 = 87; +pub const SCM_DEVMEM_LINEAR: u32 = 87; +pub const SO_DEVMEM_DMABUF: u32 = 88; +pub const SCM_DEVMEM_DMABUF: u32 = 88; +pub const SO_DEVMEM_DONTNEED: u32 = 89; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/sparc/ptrace.rs b/src/sparc/ptrace.rs index a17d6d85..ba999648 100644 --- a/src/sparc/ptrace.rs +++ b/src/sparc/ptrace.rs @@ -369,6 +369,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/sparc64/elf_uapi.rs b/src/sparc64/elf_uapi.rs index 0eb28a2d..ddd1351d 100644 --- a/src/sparc64/elf_uapi.rs +++ b/src/sparc64/elf_uapi.rs @@ -465,6 +465,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -495,6 +496,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/sparc64/general.rs b/src/sparc64/general.rs index 85b0455e..40ff94d4 100644 --- a/src/sparc64/general.rs +++ b/src/sparc64/general.rs @@ -804,6 +804,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1029,9 +1044,9 @@ 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 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_ADI_BLKSZ: u32 = 48; @@ -1200,6 +1215,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1232,8 +1248,6 @@ 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; @@ -1242,7 +1256,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 4194304; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1254,6 +1274,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1869,6 +1890,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/sparc64/io_uring.rs b/src/sparc64/io_uring.rs index e1eb8fb5..58e6b235 100644 --- a/src/sparc64/io_uring.rs +++ b/src/sparc64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -865,6 +878,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -881,6 +895,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -896,9 +911,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1040,7 +1057,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1053,8 +1072,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/sparc64/landlock.rs b/src/sparc64/landlock.rs index b1240976..9c87dcf9 100644 --- a/src/sparc64/landlock.rs +++ b/src/sparc64/landlock.rs @@ -61,6 +61,7 @@ pub tv_usec: __kernel_suseconds_t, pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -94,6 +95,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/sparc64/net.rs b/src/sparc64/net.rs index 6453fa08..cd86ad66 100644 --- a/src/sparc64/net.rs +++ b/src/sparc64/net.rs @@ -1417,6 +1417,11 @@ pub const SO_TXREHASH: u32 = 83; pub const SO_RCVMARK: u32 = 84; pub const SO_PASSPIDFD: u32 = 85; pub const SO_PEERPIDFD: u32 = 86; +pub const SO_DEVMEM_LINEAR: u32 = 87; +pub const SCM_DEVMEM_LINEAR: u32 = 87; +pub const SO_DEVMEM_DMABUF: u32 = 88; +pub const SCM_DEVMEM_DMABUF: u32 = 88; +pub const SO_DEVMEM_DONTNEED: u32 = 89; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 33; pub const SO_TIMESTAMPING: u32 = 35; diff --git a/src/sparc64/ptrace.rs b/src/sparc64/ptrace.rs index 10cd6092..cb36b7f3 100644 --- a/src/sparc64/ptrace.rs +++ b/src/sparc64/ptrace.rs @@ -412,6 +412,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/x32/elf_uapi.rs b/src/x32/elf_uapi.rs index 882bb3e5..15c2e983 100644 --- a/src/x32/elf_uapi.rs +++ b/src/x32/elf_uapi.rs @@ -459,6 +459,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -489,6 +490,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/x32/general.rs b/src/x32/general.rs index 6ca18828..3e0cf55f 100644 --- a/src/x32/general.rs +++ b/src/x32/general.rs @@ -785,6 +785,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1008,9 +1023,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 3; @@ -1179,6 +1194,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1211,8 +1227,6 @@ 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; @@ -1221,7 +1235,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1233,6 +1253,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1847,6 +1868,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/x32/io_uring.rs b/src/x32/io_uring.rs index bedbcb06..d67df39b 100644 --- a/src/x32/io_uring.rs +++ b/src/x32/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -864,6 +877,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -880,6 +894,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -895,9 +910,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1039,7 +1056,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1052,8 +1071,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/x32/landlock.rs b/src/x32/landlock.rs index 62b136b7..224a77e9 100644 --- a/src/x32/landlock.rs +++ b/src/x32/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -88,6 +89,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/x32/net.rs b/src/x32/net.rs index a4455814..42058968 100644 --- a/src/x32/net.rs +++ b/src/x32/net.rs @@ -1197,6 +1197,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/x32/ptrace.rs b/src/x32/ptrace.rs index 3d4dfe8d..55fc8fe1 100644 --- a/src/x32/ptrace.rs +++ b/src/x32/ptrace.rs @@ -370,6 +370,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/x86/elf_uapi.rs b/src/x86/elf_uapi.rs index 8a6791dc..291b86b1 100644 --- a/src/x86/elf_uapi.rs +++ b/src/x86/elf_uapi.rs @@ -457,6 +457,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -487,6 +488,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/x86/general.rs b/src/x86/general.rs index ee1f484a..fa793d66 100644 --- a/src/x86/general.rs +++ b/src/x86/general.rs @@ -782,6 +782,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1028,9 +1043,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO: u32 = 32; pub const AT_SYSINFO_EHDR: u32 = 33; @@ -1200,6 +1215,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1232,8 +1248,6 @@ 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; @@ -1242,7 +1256,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1254,6 +1274,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1868,6 +1889,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/x86/io_uring.rs b/src/x86/io_uring.rs index 844b9a5c..92a34ae2 100644 --- a/src/x86/io_uring.rs +++ b/src/x86/io_uring.rs @@ -476,6 +476,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -538,7 +551,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -866,6 +879,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -882,6 +896,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -897,9 +912,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1041,7 +1058,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1054,8 +1073,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/x86/landlock.rs b/src/x86/landlock.rs index a713cbe9..bd7fed57 100644 --- a/src/x86/landlock.rs +++ b/src/x86/landlock.rs @@ -53,6 +53,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -86,6 +87,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/x86/net.rs b/src/x86/net.rs index aa76e8e6..5dbfea2e 100644 --- a/src/x86/net.rs +++ b/src/x86/net.rs @@ -1197,6 +1197,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SYS_SOCKET: u32 = 1; pub const SYS_BIND: u32 = 2; pub const SYS_CONNECT: u32 = 3; diff --git a/src/x86/ptrace.rs b/src/x86/ptrace.rs index 828c4bc3..7de25c27 100644 --- a/src/x86/ptrace.rs +++ b/src/x86/ptrace.rs @@ -364,6 +364,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700; diff --git a/src/x86_64/elf_uapi.rs b/src/x86_64/elf_uapi.rs index 924f4e29..1d005f9e 100644 --- a/src/x86_64/elf_uapi.rs +++ b/src/x86_64/elf_uapi.rs @@ -459,6 +459,7 @@ pub const NT_386_TLS: u32 = 512; pub const NT_386_IOPERM: u32 = 513; pub const NT_X86_XSTATE: u32 = 514; pub const NT_X86_SHSTK: u32 = 516; +pub const NT_X86_XSAVE_LAYOUT: u32 = 517; pub const NT_S390_HIGH_GPRS: u32 = 768; pub const NT_S390_TIMER: u32 = 769; pub const NT_S390_TODCMP: u32 = 770; @@ -489,6 +490,7 @@ pub const NT_ARM_SSVE: u32 = 1035; pub const NT_ARM_ZA: u32 = 1036; pub const NT_ARM_ZT: u32 = 1037; pub const NT_ARM_FPMR: u32 = 1038; +pub const NT_ARM_POE: u32 = 1039; pub const NT_ARC_V2: u32 = 1536; pub const NT_VMCOREDD: u32 = 1792; pub const NT_MIPS_DSP: u32 = 2048; diff --git a/src/x86_64/general.rs b/src/x86_64/general.rs index ae26aa3c..fac26b17 100644 --- a/src/x86_64/general.rs +++ b/src/x86_64/general.rs @@ -783,6 +783,21 @@ pub struct iovec { pub iov_base: *mut crate::ctypes::c_void, pub iov_len: __kernel_size_t, } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_cmsg { +pub frag_offset: __u64, +pub frag_size: __u32, +pub frag_token: __u32, +pub dmabuf_id: __u32, +pub flags: __u32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct dmabuf_token { +pub token_start: __u32, +pub token_count: __u32, +} #[repr(C, packed)] #[derive(Copy, Clone)] pub struct uffd_msg { @@ -1006,9 +1021,9 @@ pub sa_flags: crate::ctypes::c_ulong, pub sa_restorer: __sigrestore_t, pub sa_mask: kernel_sigset_t, } -pub const LINUX_VERSION_CODE: u32 = 396032; +pub const LINUX_VERSION_CODE: u32 = 396288; pub const LINUX_VERSION_MAJOR: u32 = 6; -pub const LINUX_VERSION_PATCHLEVEL: u32 = 11; +pub const LINUX_VERSION_PATCHLEVEL: u32 = 12; pub const LINUX_VERSION_SUBLEVEL: u32 = 0; pub const AT_SYSINFO_EHDR: u32 = 33; pub const AT_VECTOR_SIZE_ARCH: u32 = 3; @@ -1174,6 +1189,7 @@ pub const F_SETLEASE: u32 = 1024; pub const F_GETLEASE: u32 = 1025; pub const F_NOTIFY: u32 = 1026; pub const F_DUPFD_QUERY: u32 = 1027; +pub const F_CREATED_QUERY: u32 = 1028; pub const F_CANCELLK: u32 = 1029; pub const F_DUPFD_CLOEXEC: u32 = 1030; pub const F_SETPIPE_SZ: u32 = 1031; @@ -1206,8 +1222,6 @@ 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; @@ -1216,7 +1230,13 @@ 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 AT_RENAME_NOREPLACE: u32 = 1; +pub const AT_RENAME_EXCHANGE: u32 = 2; +pub const AT_RENAME_WHITEOUT: u32 = 4; +pub const AT_EACCESS: u32 = 512; +pub const AT_REMOVEDIR: u32 = 512; pub const AT_HANDLE_FID: u32 = 512; +pub const AT_HANDLE_MNT_ID_UNIQUE: u32 = 1; pub const EPOLL_CLOEXEC: u32 = 524288; pub const EPOLL_CTL_ADD: u32 = 1; pub const EPOLL_CTL_DEL: u32 = 2; @@ -1228,6 +1248,7 @@ 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_ALLOCATE_RANGE: u32 = 0; 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; @@ -1842,6 +1863,7 @@ 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_EXT: u32 = 7; pub const SCHED_RESET_ON_FORK: u32 = 1073741824; pub const SCHED_FLAG_RESET_ON_FORK: u32 = 1; pub const SCHED_FLAG_RECLAIM: u32 = 2; diff --git a/src/x86_64/io_uring.rs b/src/x86_64/io_uring.rs index a5dcfaa3..621d586a 100644 --- a/src/x86_64/io_uring.rs +++ b/src/x86_64/io_uring.rs @@ -474,6 +474,19 @@ pub resv2: [__u32; 3usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] +pub struct io_uring_clock_register { +pub clockid: __u32, +pub __resv: [__u32; 3usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct io_uring_clone_buffers { +pub src_fd: __u32, +pub flags: __u32, +pub pad: [__u32; 6usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] pub struct io_uring_buf { pub addr: __u64, pub len: __u32, @@ -536,7 +549,7 @@ pub resv: __u64, pub struct io_uring_getevents_arg { pub sigmask: __u64, pub sigmask_sz: __u32, -pub pad: __u32, +pub min_wait_usec: __u32, pub ts: __u64, } #[repr(C)] @@ -864,6 +877,7 @@ 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_CQE_F_BUF_MORE: u32 = 16; pub const IORING_CQE_BUFFER_SHIFT: u32 = 16; pub const IORING_OFF_SQ_RING: u32 = 0; pub const IORING_OFF_CQ_RING: u32 = 134217728; @@ -880,6 +894,7 @@ 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_ENTER_ABS_TIMER: u32 = 32; pub const IORING_FEAT_SINGLE_MMAP: u32 = 1; pub const IORING_FEAT_NODROP: u32 = 2; pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4; @@ -895,9 +910,11 @@ 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_FEAT_RECVSEND_BUNDLE: u32 = 16384; +pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768; 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 IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_1 = _bindgen_ty_1::IORING_REGISTER_SRC_REGISTERED; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -1039,7 +1056,9 @@ IORING_REGISTER_FILE_ALLOC_RANGE = 25, IORING_REGISTER_PBUF_STATUS = 26, IORING_REGISTER_NAPI = 27, IORING_UNREGISTER_NAPI = 28, -IORING_REGISTER_LAST = 29, +IORING_REGISTER_CLOCK = 29, +IORING_REGISTER_CLONE_BUFFERS = 30, +IORING_REGISTER_LAST = 31, IORING_REGISTER_USE_REGISTERED_RING = 2147483648, } #[repr(u32)] @@ -1052,8 +1071,15 @@ IO_WQ_UNBOUND = 1, #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub enum _bindgen_ty_1 { +IORING_REGISTER_SRC_REGISTERED = 1, +} +#[repr(u32)] +#[non_exhaustive] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub enum io_uring_register_pbuf_ring_flags { IOU_PBUF_RING_MMAP = 1, +IOU_PBUF_RING_INC = 2, } #[repr(u32)] #[non_exhaustive] diff --git a/src/x86_64/landlock.rs b/src/x86_64/landlock.rs index 47eebead..2ea2c7b1 100644 --- a/src/x86_64/landlock.rs +++ b/src/x86_64/landlock.rs @@ -55,6 +55,7 @@ pub type __poll_t = crate::ctypes::c_uint; pub struct landlock_ruleset_attr { pub handled_access_fs: __u64, pub handled_access_net: __u64, +pub scoped: __u64, } #[repr(C, packed)] #[derive(Debug, Copy, Clone)] @@ -88,6 +89,8 @@ pub const LANDLOCK_ACCESS_FS_TRUNCATE: u32 = 16384; pub const LANDLOCK_ACCESS_FS_IOCTL_DEV: u32 = 32768; pub const LANDLOCK_ACCESS_NET_BIND_TCP: u32 = 1; pub const LANDLOCK_ACCESS_NET_CONNECT_TCP: u32 = 2; +pub const LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET: u32 = 1; +pub const LANDLOCK_SCOPE_SIGNAL: u32 = 2; #[repr(u32)] #[non_exhaustive] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/src/x86_64/net.rs b/src/x86_64/net.rs index a53744f9..e2979f16 100644 --- a/src/x86_64/net.rs +++ b/src/x86_64/net.rs @@ -1195,6 +1195,11 @@ pub const SO_TXREHASH: u32 = 74; pub const SO_RCVMARK: u32 = 75; pub const SO_PASSPIDFD: u32 = 76; pub const SO_PEERPIDFD: u32 = 77; +pub const SO_DEVMEM_LINEAR: u32 = 78; +pub const SCM_DEVMEM_LINEAR: u32 = 78; +pub const SO_DEVMEM_DMABUF: u32 = 79; +pub const SCM_DEVMEM_DMABUF: u32 = 79; +pub const SO_DEVMEM_DONTNEED: u32 = 80; pub const SO_TIMESTAMP: u32 = 29; pub const SO_TIMESTAMPNS: u32 = 35; pub const SO_TIMESTAMPING: u32 = 37; diff --git a/src/x86_64/ptrace.rs b/src/x86_64/ptrace.rs index 651a346c..8ccc2150 100644 --- a/src/x86_64/ptrace.rs +++ b/src/x86_64/ptrace.rs @@ -370,6 +370,9 @@ pub const AUDIT_MAC_UNLBL_STCADD: u32 = 1416; pub const AUDIT_MAC_UNLBL_STCDEL: u32 = 1417; pub const AUDIT_MAC_CALIPSO_ADD: u32 = 1418; pub const AUDIT_MAC_CALIPSO_DEL: u32 = 1419; +pub const AUDIT_IPE_ACCESS: u32 = 1420; +pub const AUDIT_IPE_CONFIG_CHANGE: u32 = 1421; +pub const AUDIT_IPE_POLICY_LOAD: u32 = 1422; pub const AUDIT_FIRST_KERN_ANOM_MSG: u32 = 1700; pub const AUDIT_LAST_KERN_ANOM_MSG: u32 = 1799; pub const AUDIT_ANOM_PROMISCUOUS: u32 = 1700;