@@ -30,6 +30,7 @@ pub type __kernel_ssize_t = __kernel_long_t;
3030pub type __kernel_ptrdiff_t = __kernel_long_t ;
3131pub type __kernel_off_t = __kernel_long_t ;
3232pub type __kernel_loff_t = crate :: ctypes:: c_longlong ;
33+ pub type __kernel_uoff_t = crate :: ctypes:: c_ulonglong ;
3334pub type __kernel_old_time_t = __kernel_long_t ;
3435pub type __kernel_time_t = __kernel_long_t ;
3536pub type __kernel_time64_t = crate :: ctypes:: c_longlong ;
@@ -178,7 +179,7 @@ pub str_: __IncompleteArrayField<crate::ctypes::c_char>,
178179#[ derive( Debug , Copy , Clone ) ]
179180pub struct mnt_id_req {
180181pub size : __u32 ,
181- pub spare : __u32 ,
182+ pub mnt_ns_fd : __u32 ,
182183pub mnt_id : __u64 ,
183184pub param : __u64 ,
184185pub mnt_ns_id : __u64 ,
@@ -723,6 +724,25 @@ pub zcrx_id: __u32,
723724pub __resv2 : __u32 ,
724725pub __resv : [ __u64 ; 3usize ] ,
725726}
727+ #[ repr( C ) ]
728+ #[ derive( Debug , Copy , Clone ) ]
729+ pub struct zcrx_ctrl_flush_rq {
730+ pub __resv : [ __u64 ; 6usize ] ,
731+ }
732+ #[ repr( C ) ]
733+ #[ derive( Debug , Copy , Clone ) ]
734+ pub struct zcrx_ctrl_export {
735+ pub zcrx_fd : __u32 ,
736+ pub __resv1 : [ __u32 ; 11usize ] ,
737+ }
738+ #[ repr( C ) ]
739+ #[ derive( Copy , Clone ) ]
740+ pub struct zcrx_ctrl {
741+ pub zcrx_id : __u32 ,
742+ pub op : __u32 ,
743+ pub __resv : [ __u64 ; 2usize ] ,
744+ pub __bindgen_anon_1 : zcrx_ctrl__bindgen_ty_1 ,
745+ }
726746pub const NR_OPEN : u32 = 1024 ;
727747pub const NGROUPS_MAX : u32 = 65536 ;
728748pub const ARG_MAX : u32 = 131072 ;
@@ -1006,8 +1026,11 @@ pub const IORING_SETUP_NO_MMAP: u32 = 16384;
10061026pub const IORING_SETUP_REGISTERED_FD_ONLY : u32 = 32768 ;
10071027pub const IORING_SETUP_NO_SQARRAY : u32 = 65536 ;
10081028pub const IORING_SETUP_HYBRID_IOPOLL : u32 = 131072 ;
1029+ pub const IORING_SETUP_CQE_MIXED : u32 = 262144 ;
1030+ pub const IORING_SETUP_SQE_MIXED : u32 = 524288 ;
10091031pub const IORING_URING_CMD_FIXED : u32 = 1 ;
1010- pub const IORING_URING_CMD_MASK : u32 = 1 ;
1032+ pub const IORING_URING_CMD_MULTISHOT : u32 = 2 ;
1033+ pub const IORING_URING_CMD_MASK : u32 = 3 ;
10111034pub const IORING_FSYNC_DATASYNC : u32 = 1 ;
10121035pub const IORING_TIMEOUT_ABS : u32 = 1 ;
10131036pub const IORING_TIMEOUT_UPDATE : u32 = 2 ;
@@ -1047,11 +1070,14 @@ pub const IORING_NOP_FILE: u32 = 2;
10471070pub const IORING_NOP_FIXED_FILE : u32 = 4 ;
10481071pub const IORING_NOP_FIXED_BUFFER : u32 = 8 ;
10491072pub const IORING_NOP_TW : u32 = 16 ;
1073+ pub const IORING_NOP_CQE32 : u32 = 32 ;
10501074pub const IORING_CQE_F_BUFFER : u32 = 1 ;
10511075pub const IORING_CQE_F_MORE : u32 = 2 ;
10521076pub const IORING_CQE_F_SOCK_NONEMPTY : u32 = 4 ;
10531077pub const IORING_CQE_F_NOTIF : u32 = 8 ;
10541078pub const IORING_CQE_F_BUF_MORE : u32 = 16 ;
1079+ pub const IORING_CQE_F_SKIP : u32 = 32 ;
1080+ pub const IORING_CQE_F_32 : u32 = 32768 ;
10551081pub const IORING_CQE_BUFFER_SHIFT : u32 = 16 ;
10561082pub const IORING_OFF_SQ_RING : u32 = 0 ;
10571083pub const IORING_OFF_CQ_RING : u32 = 134217728 ;
@@ -1210,7 +1236,9 @@ IORING_OP_EPOLL_WAIT = 59,
12101236IORING_OP_READV_FIXED = 60 ,
12111237IORING_OP_WRITEV_FIXED = 61 ,
12121238IORING_OP_PIPE = 62 ,
1213- IORING_OP_LAST = 63 ,
1239+ IORING_OP_NOP128 = 63 ,
1240+ IORING_OP_URING_CMD128 = 64 ,
1241+ IORING_OP_LAST = 65 ,
12141242}
12151243#[ repr( u32 ) ]
12161244#[ non_exhaustive]
@@ -1258,7 +1286,9 @@ IORING_REGISTER_SEND_MSG_RING = 31,
12581286IORING_REGISTER_ZCRX_IFQ = 32 ,
12591287IORING_REGISTER_RESIZE_RINGS = 33 ,
12601288IORING_REGISTER_MEM_REGION = 34 ,
1261- IORING_REGISTER_LAST = 35 ,
1289+ IORING_REGISTER_QUERY = 35 ,
1290+ IORING_REGISTER_ZCRX_CTRL = 36 ,
1291+ IORING_REGISTER_LAST = 37 ,
12621292IORING_REGISTER_USE_REGISTERED_RING = 2147483648 ,
12631293}
12641294#[ repr( u32 ) ]
@@ -1335,13 +1365,28 @@ SOCKET_URING_OP_SIOCOUTQ = 1,
13351365SOCKET_URING_OP_GETSOCKOPT = 2 ,
13361366SOCKET_URING_OP_SETSOCKOPT = 3 ,
13371367SOCKET_URING_OP_TX_TIMESTAMP = 4 ,
1368+ SOCKET_URING_OP_GETSOCKNAME = 5 ,
13381369}
13391370#[ repr( u32 ) ]
13401371#[ non_exhaustive]
13411372#[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
13421373pub enum io_uring_zcrx_area_flags {
13431374IORING_ZCRX_AREA_DMABUF = 1 ,
13441375}
1376+ #[ repr( u32 ) ]
1377+ #[ non_exhaustive]
1378+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
1379+ pub enum zcrx_reg_flags {
1380+ ZCRX_REG_IMPORT = 1 ,
1381+ }
1382+ #[ repr( u32 ) ]
1383+ #[ non_exhaustive]
1384+ #[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
1385+ pub enum zcrx_ctrl_op {
1386+ ZCRX_CTRL_FLUSH_RQ = 0 ,
1387+ ZCRX_CTRL_EXPORT = 1 ,
1388+ __ZCRX_CTRL_LAST = 2 ,
1389+ }
13451390#[ repr( C ) ]
13461391#[ derive( Copy , Clone ) ]
13471392pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
@@ -1421,6 +1466,12 @@ pub register_op: __u8,
14211466pub sqe_op : __u8 ,
14221467pub sqe_flags : __u8 ,
14231468}
1469+ #[ repr( C ) ]
1470+ #[ derive( Copy , Clone ) ]
1471+ pub union zcrx_ctrl__bindgen_ty_1 {
1472+ pub zc_export : zcrx_ctrl_export ,
1473+ pub zc_flush : zcrx_ctrl_flush_rq ,
1474+ }
14241475impl < T > __IncompleteArrayField < T > {
14251476#[ inline]
14261477pub const fn new ( ) -> Self {
0 commit comments