xref: /aosp_15_r20/external/crosvm/io_uring/src/bindings.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by tools/bindgen-all-the-things */
2*bb4ee6a4SAndroid Build Coastguard Worker 
3*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::missing_safety_doc)]
4*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::undocumented_unsafe_blocks)]
5*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::upper_case_acronyms)]
6*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)]
7*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)]
8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)]
9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(dead_code)]
10*bb4ee6a4SAndroid Build Coastguard Worker 
11*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
12*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Default)]
13*bb4ee6a4SAndroid Build Coastguard Worker pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
14*bb4ee6a4SAndroid Build Coastguard Worker impl<T> __IncompleteArrayField<T> {
15*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
new() -> Self16*bb4ee6a4SAndroid Build Coastguard Worker     pub const fn new() -> Self {
17*bb4ee6a4SAndroid Build Coastguard Worker         __IncompleteArrayField(::std::marker::PhantomData, [])
18*bb4ee6a4SAndroid Build Coastguard Worker     }
19*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_ptr(&self) -> *const T20*bb4ee6a4SAndroid Build Coastguard Worker     pub fn as_ptr(&self) -> *const T {
21*bb4ee6a4SAndroid Build Coastguard Worker         self as *const _ as *const T
22*bb4ee6a4SAndroid Build Coastguard Worker     }
23*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_mut_ptr(&mut self) -> *mut T24*bb4ee6a4SAndroid Build Coastguard Worker     pub fn as_mut_ptr(&mut self) -> *mut T {
25*bb4ee6a4SAndroid Build Coastguard Worker         self as *mut _ as *mut T
26*bb4ee6a4SAndroid Build Coastguard Worker     }
27*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_slice(&self, len: usize) -> &[T]28*bb4ee6a4SAndroid Build Coastguard Worker     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
29*bb4ee6a4SAndroid Build Coastguard Worker         ::std::slice::from_raw_parts(self.as_ptr(), len)
30*bb4ee6a4SAndroid Build Coastguard Worker     }
31*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]32*bb4ee6a4SAndroid Build Coastguard Worker     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
33*bb4ee6a4SAndroid Build Coastguard Worker         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
34*bb4ee6a4SAndroid Build Coastguard Worker     }
35*bb4ee6a4SAndroid Build Coastguard Worker }
36*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result37*bb4ee6a4SAndroid Build Coastguard Worker     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
38*bb4ee6a4SAndroid Build Coastguard Worker         fmt.write_str("__IncompleteArrayField")
39*bb4ee6a4SAndroid Build Coastguard Worker     }
40*bb4ee6a4SAndroid Build Coastguard Worker }
41*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
42*bb4ee6a4SAndroid Build Coastguard Worker pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
43*bb4ee6a4SAndroid Build Coastguard Worker impl<T> __BindgenUnionField<T> {
44*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
new() -> Self45*bb4ee6a4SAndroid Build Coastguard Worker     pub const fn new() -> Self {
46*bb4ee6a4SAndroid Build Coastguard Worker         __BindgenUnionField(::std::marker::PhantomData)
47*bb4ee6a4SAndroid Build Coastguard Worker     }
48*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_ref(&self) -> &T49*bb4ee6a4SAndroid Build Coastguard Worker     pub unsafe fn as_ref(&self) -> &T {
50*bb4ee6a4SAndroid Build Coastguard Worker         ::std::mem::transmute(self)
51*bb4ee6a4SAndroid Build Coastguard Worker     }
52*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
as_mut(&mut self) -> &mut T53*bb4ee6a4SAndroid Build Coastguard Worker     pub unsafe fn as_mut(&mut self) -> &mut T {
54*bb4ee6a4SAndroid Build Coastguard Worker         ::std::mem::transmute(self)
55*bb4ee6a4SAndroid Build Coastguard Worker     }
56*bb4ee6a4SAndroid Build Coastguard Worker }
57*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::default::Default for __BindgenUnionField<T> {
58*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
default() -> Self59*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
60*bb4ee6a4SAndroid Build Coastguard Worker         Self::new()
61*bb4ee6a4SAndroid Build Coastguard Worker     }
62*bb4ee6a4SAndroid Build Coastguard Worker }
63*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
64*bb4ee6a4SAndroid Build Coastguard Worker     #[inline]
clone(&self) -> Self65*bb4ee6a4SAndroid Build Coastguard Worker     fn clone(&self) -> Self {
66*bb4ee6a4SAndroid Build Coastguard Worker         *self
67*bb4ee6a4SAndroid Build Coastguard Worker     }
68*bb4ee6a4SAndroid Build Coastguard Worker }
69*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
70*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result71*bb4ee6a4SAndroid Build Coastguard Worker     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
72*bb4ee6a4SAndroid Build Coastguard Worker         fmt.write_str("__BindgenUnionField")
73*bb4ee6a4SAndroid Build Coastguard Worker     }
74*bb4ee6a4SAndroid Build Coastguard Worker }
75*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
hash<H: ::std::hash::Hasher>(&self, _state: &mut H)76*bb4ee6a4SAndroid Build Coastguard Worker     fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
77*bb4ee6a4SAndroid Build Coastguard Worker }
78*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
eq(&self, _other: &__BindgenUnionField<T>) -> bool79*bb4ee6a4SAndroid Build Coastguard Worker     fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
80*bb4ee6a4SAndroid Build Coastguard Worker         true
81*bb4ee6a4SAndroid Build Coastguard Worker     }
82*bb4ee6a4SAndroid Build Coastguard Worker }
83*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
84*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FILE_INDEX_ALLOC: i32 = -1;
85*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_IOPOLL: u32 = 1;
86*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_SQPOLL: u32 = 2;
87*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_SQ_AFF: u32 = 4;
88*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_CQSIZE: u32 = 8;
89*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_CLAMP: u32 = 16;
90*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
91*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_R_DISABLED: u32 = 64;
92*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_SUBMIT_ALL: u32 = 128;
93*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_COOP_TASKRUN: u32 = 256;
94*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512;
95*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_SQE128: u32 = 1024;
96*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_CQE32: u32 = 2048;
97*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096;
98*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192;
99*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_NO_MMAP: u32 = 16384;
100*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_REGISTERED_FD_ONLY: u32 = 32768;
101*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SETUP_NO_SQARRAY: u32 = 65536;
102*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_URING_CMD_FIXED: u32 = 1;
103*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_URING_CMD_POLLED: u32 = 2147483648;
104*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FSYNC_DATASYNC: u32 = 1;
105*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_ABS: u32 = 1;
106*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_UPDATE: u32 = 2;
107*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_BOOTTIME: u32 = 4;
108*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_REALTIME: u32 = 8;
109*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16;
110*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32;
111*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_MULTISHOT: u32 = 64;
112*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12;
113*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18;
114*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_POLL_ADD_MULTI: u32 = 1;
115*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_POLL_UPDATE_EVENTS: u32 = 2;
116*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4;
117*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_POLL_ADD_LEVEL: u32 = 8;
118*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_ALL: u32 = 1;
119*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_FD: u32 = 2;
120*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_ANY: u32 = 4;
121*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8;
122*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_USERDATA: u32 = 16;
123*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ASYNC_CANCEL_OP: u32 = 32;
124*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RECVSEND_POLL_FIRST: u32 = 1;
125*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RECV_MULTISHOT: u32 = 2;
126*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RECVSEND_FIXED_BUF: u32 = 4;
127*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8;
128*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648;
129*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ACCEPT_MULTISHOT: u32 = 1;
130*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_MSG_RING_CQE_SKIP: u32 = 1;
131*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2;
132*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQE_F_BUFFER: u32 = 1;
133*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQE_F_MORE: u32 = 2;
134*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4;
135*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQE_F_NOTIF: u32 = 8;
136*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_SQ_RING: u32 = 0;
137*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_CQ_RING: u32 = 134217728;
138*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_SQES: u32 = 268435456;
139*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_PBUF_RING: u32 = 2147483648;
140*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_PBUF_SHIFT: u32 = 16;
141*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_OFF_MMAP_MASK: u32 = 4160749568;
142*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
143*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
144*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_SQ_TASKRUN: u32 = 4;
145*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
146*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ENTER_GETEVENTS: u32 = 1;
147*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
148*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ENTER_SQ_WAIT: u32 = 4;
149*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ENTER_EXT_ARG: u32 = 8;
150*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_ENTER_REGISTERED_RING: u32 = 16;
151*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
152*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_NODROP: u32 = 2;
153*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
154*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
155*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
156*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_FAST_POLL: u32 = 32;
157*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_POLL_32BITS: u32 = 64;
158*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128;
159*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_EXT_ARG: u32 = 256;
160*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512;
161*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_RSRC_TAGS: u32 = 1024;
162*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_CQE_SKIP: u32 = 2048;
163*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_LINKED_FILE: u32 = 4096;
164*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_FEAT_REG_REG_RING: u32 = 8192;
165*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1;
166*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILES_SKIP: i32 = -2;
167*bb4ee6a4SAndroid Build Coastguard Worker pub const IO_URING_OP_SUPPORTED: u32 = 1;
168*bb4ee6a4SAndroid Build Coastguard Worker pub type __kernel_time64_t = ::std::os::raw::c_longlong;
169*bb4ee6a4SAndroid Build Coastguard Worker pub type __kernel_rwf_t = ::std::os::raw::c_int;
170*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
171*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
172*bb4ee6a4SAndroid Build Coastguard Worker pub struct __kernel_timespec {
173*bb4ee6a4SAndroid Build Coastguard Worker     pub tv_sec: __kernel_time64_t,
174*bb4ee6a4SAndroid Build Coastguard Worker     pub tv_nsec: ::std::os::raw::c_longlong,
175*bb4ee6a4SAndroid Build Coastguard Worker }
176*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
177*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sqe {
178*bb4ee6a4SAndroid Build Coastguard Worker     pub opcode: u8,
179*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u8,
180*bb4ee6a4SAndroid Build Coastguard Worker     pub ioprio: u16,
181*bb4ee6a4SAndroid Build Coastguard Worker     pub fd: i32,
182*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
183*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
184*bb4ee6a4SAndroid Build Coastguard Worker     pub len: u32,
185*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
186*bb4ee6a4SAndroid Build Coastguard Worker     pub user_data: u64,
187*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
188*bb4ee6a4SAndroid Build Coastguard Worker     pub personality: u16,
189*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5,
190*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6,
191*bb4ee6a4SAndroid Build Coastguard Worker }
192*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
193*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
194*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_sqe__bindgen_ty_1 {
195*bb4ee6a4SAndroid Build Coastguard Worker     pub off: u64,
196*bb4ee6a4SAndroid Build Coastguard Worker     pub addr2: u64,
197*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1,
198*bb4ee6a4SAndroid Build Coastguard Worker }
199*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
200*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
201*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 {
202*bb4ee6a4SAndroid Build Coastguard Worker     pub cmd_op: u32,
203*bb4ee6a4SAndroid Build Coastguard Worker     pub __pad1: u32,
204*bb4ee6a4SAndroid Build Coastguard Worker }
205*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_1 {
default() -> Self206*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
207*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
208*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
209*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
210*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
211*bb4ee6a4SAndroid Build Coastguard Worker         }
212*bb4ee6a4SAndroid Build Coastguard Worker     }
213*bb4ee6a4SAndroid Build Coastguard Worker }
214*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
215*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
216*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_sqe__bindgen_ty_2 {
217*bb4ee6a4SAndroid Build Coastguard Worker     pub addr: u64,
218*bb4ee6a4SAndroid Build Coastguard Worker     pub splice_off_in: u64,
219*bb4ee6a4SAndroid Build Coastguard Worker }
220*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_2 {
default() -> Self221*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
222*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
223*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
224*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
225*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
226*bb4ee6a4SAndroid Build Coastguard Worker         }
227*bb4ee6a4SAndroid Build Coastguard Worker     }
228*bb4ee6a4SAndroid Build Coastguard Worker }
229*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
230*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
231*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_sqe__bindgen_ty_3 {
232*bb4ee6a4SAndroid Build Coastguard Worker     pub rw_flags: __kernel_rwf_t,
233*bb4ee6a4SAndroid Build Coastguard Worker     pub fsync_flags: u32,
234*bb4ee6a4SAndroid Build Coastguard Worker     pub poll_events: u16,
235*bb4ee6a4SAndroid Build Coastguard Worker     pub poll32_events: u32,
236*bb4ee6a4SAndroid Build Coastguard Worker     pub sync_range_flags: u32,
237*bb4ee6a4SAndroid Build Coastguard Worker     pub msg_flags: u32,
238*bb4ee6a4SAndroid Build Coastguard Worker     pub timeout_flags: u32,
239*bb4ee6a4SAndroid Build Coastguard Worker     pub accept_flags: u32,
240*bb4ee6a4SAndroid Build Coastguard Worker     pub cancel_flags: u32,
241*bb4ee6a4SAndroid Build Coastguard Worker     pub open_flags: u32,
242*bb4ee6a4SAndroid Build Coastguard Worker     pub statx_flags: u32,
243*bb4ee6a4SAndroid Build Coastguard Worker     pub fadvise_advice: u32,
244*bb4ee6a4SAndroid Build Coastguard Worker     pub splice_flags: u32,
245*bb4ee6a4SAndroid Build Coastguard Worker     pub rename_flags: u32,
246*bb4ee6a4SAndroid Build Coastguard Worker     pub unlink_flags: u32,
247*bb4ee6a4SAndroid Build Coastguard Worker     pub hardlink_flags: u32,
248*bb4ee6a4SAndroid Build Coastguard Worker     pub xattr_flags: u32,
249*bb4ee6a4SAndroid Build Coastguard Worker     pub msg_ring_flags: u32,
250*bb4ee6a4SAndroid Build Coastguard Worker     pub uring_cmd_flags: u32,
251*bb4ee6a4SAndroid Build Coastguard Worker }
252*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_3 {
default() -> Self253*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
254*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
255*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
256*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
257*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
258*bb4ee6a4SAndroid Build Coastguard Worker         }
259*bb4ee6a4SAndroid Build Coastguard Worker     }
260*bb4ee6a4SAndroid Build Coastguard Worker }
261*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)]
262*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
263*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_sqe__bindgen_ty_4 {
264*bb4ee6a4SAndroid Build Coastguard Worker     pub buf_index: u16,
265*bb4ee6a4SAndroid Build Coastguard Worker     pub buf_group: u16,
266*bb4ee6a4SAndroid Build Coastguard Worker }
267*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_4 {
default() -> Self268*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
269*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
270*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
271*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
272*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
273*bb4ee6a4SAndroid Build Coastguard Worker         }
274*bb4ee6a4SAndroid Build Coastguard Worker     }
275*bb4ee6a4SAndroid Build Coastguard Worker }
276*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
277*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
278*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_sqe__bindgen_ty_5 {
279*bb4ee6a4SAndroid Build Coastguard Worker     pub splice_fd_in: i32,
280*bb4ee6a4SAndroid Build Coastguard Worker     pub file_index: u32,
281*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1,
282*bb4ee6a4SAndroid Build Coastguard Worker }
283*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
284*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
285*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 {
286*bb4ee6a4SAndroid Build Coastguard Worker     pub addr_len: u16,
287*bb4ee6a4SAndroid Build Coastguard Worker     pub __pad3: [u16; 1usize],
288*bb4ee6a4SAndroid Build Coastguard Worker }
289*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_5 {
default() -> Self290*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
291*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
292*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
293*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
294*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
295*bb4ee6a4SAndroid Build Coastguard Worker         }
296*bb4ee6a4SAndroid Build Coastguard Worker     }
297*bb4ee6a4SAndroid Build Coastguard Worker }
298*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
299*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sqe__bindgen_ty_6 {
300*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>,
301*bb4ee6a4SAndroid Build Coastguard Worker     pub cmd: __BindgenUnionField<[u8; 0usize]>,
302*bb4ee6a4SAndroid Build Coastguard Worker     pub bindgen_union_field: [u64; 2usize],
303*bb4ee6a4SAndroid Build Coastguard Worker }
304*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
305*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
306*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 {
307*bb4ee6a4SAndroid Build Coastguard Worker     pub addr3: u64,
308*bb4ee6a4SAndroid Build Coastguard Worker     pub __pad2: [u64; 1usize],
309*bb4ee6a4SAndroid Build Coastguard Worker }
310*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe__bindgen_ty_6 {
default() -> Self311*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
312*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
313*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
314*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
315*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
316*bb4ee6a4SAndroid Build Coastguard Worker         }
317*bb4ee6a4SAndroid Build Coastguard Worker     }
318*bb4ee6a4SAndroid Build Coastguard Worker }
319*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_sqe {
default() -> Self320*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
321*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
322*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
323*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
324*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
325*bb4ee6a4SAndroid Build Coastguard Worker         }
326*bb4ee6a4SAndroid Build Coastguard Worker     }
327*bb4ee6a4SAndroid Build Coastguard Worker }
328*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_NOP: io_uring_op = 0;
329*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_READV: io_uring_op = 1;
330*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_WRITEV: io_uring_op = 2;
331*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FSYNC: io_uring_op = 3;
332*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_READ_FIXED: io_uring_op = 4;
333*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_WRITE_FIXED: io_uring_op = 5;
334*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_POLL_ADD: io_uring_op = 6;
335*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_POLL_REMOVE: io_uring_op = 7;
336*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SYNC_FILE_RANGE: io_uring_op = 8;
337*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SENDMSG: io_uring_op = 9;
338*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_RECVMSG: io_uring_op = 10;
339*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_TIMEOUT: io_uring_op = 11;
340*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_TIMEOUT_REMOVE: io_uring_op = 12;
341*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_ACCEPT: io_uring_op = 13;
342*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_ASYNC_CANCEL: io_uring_op = 14;
343*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_LINK_TIMEOUT: io_uring_op = 15;
344*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_CONNECT: io_uring_op = 16;
345*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FALLOCATE: io_uring_op = 17;
346*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_OPENAT: io_uring_op = 18;
347*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_CLOSE: io_uring_op = 19;
348*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FILES_UPDATE: io_uring_op = 20;
349*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_STATX: io_uring_op = 21;
350*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_READ: io_uring_op = 22;
351*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_WRITE: io_uring_op = 23;
352*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FADVISE: io_uring_op = 24;
353*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_MADVISE: io_uring_op = 25;
354*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SEND: io_uring_op = 26;
355*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_RECV: io_uring_op = 27;
356*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_OPENAT2: io_uring_op = 28;
357*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_EPOLL_CTL: io_uring_op = 29;
358*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SPLICE: io_uring_op = 30;
359*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_PROVIDE_BUFFERS: io_uring_op = 31;
360*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_REMOVE_BUFFERS: io_uring_op = 32;
361*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_TEE: io_uring_op = 33;
362*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SHUTDOWN: io_uring_op = 34;
363*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_RENAMEAT: io_uring_op = 35;
364*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_UNLINKAT: io_uring_op = 36;
365*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_MKDIRAT: io_uring_op = 37;
366*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SYMLINKAT: io_uring_op = 38;
367*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_LINKAT: io_uring_op = 39;
368*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_MSG_RING: io_uring_op = 40;
369*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FSETXATTR: io_uring_op = 41;
370*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SETXATTR: io_uring_op = 42;
371*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_FGETXATTR: io_uring_op = 43;
372*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_GETXATTR: io_uring_op = 44;
373*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SOCKET: io_uring_op = 45;
374*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_URING_CMD: io_uring_op = 46;
375*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SEND_ZC: io_uring_op = 47;
376*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_SENDMSG_ZC: io_uring_op = 48;
377*bb4ee6a4SAndroid Build Coastguard Worker pub const io_uring_op_IORING_OP_LAST: io_uring_op = 49;
378*bb4ee6a4SAndroid Build Coastguard Worker pub type io_uring_op = ::std::os::raw::c_uint;
379*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_MSG_DATA: _bindgen_ty_2 = 0;
380*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_MSG_SEND_FD: _bindgen_ty_2 = 1;
381*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
382*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
383*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)]
384*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_cqe {
385*bb4ee6a4SAndroid Build Coastguard Worker     pub user_data: u64,
386*bb4ee6a4SAndroid Build Coastguard Worker     pub res: i32,
387*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
388*bb4ee6a4SAndroid Build Coastguard Worker     pub big_cqe: __IncompleteArrayField<u64>,
389*bb4ee6a4SAndroid Build Coastguard Worker }
390*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_3 = 16;
391*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
392*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
393*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
394*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_sqring_offsets {
395*bb4ee6a4SAndroid Build Coastguard Worker     pub head: u32,
396*bb4ee6a4SAndroid Build Coastguard Worker     pub tail: u32,
397*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_mask: u32,
398*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_entries: u32,
399*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
400*bb4ee6a4SAndroid Build Coastguard Worker     pub dropped: u32,
401*bb4ee6a4SAndroid Build Coastguard Worker     pub array: u32,
402*bb4ee6a4SAndroid Build Coastguard Worker     pub resv1: u32,
403*bb4ee6a4SAndroid Build Coastguard Worker     pub user_addr: u64,
404*bb4ee6a4SAndroid Build Coastguard Worker }
405*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
406*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
407*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_cqring_offsets {
408*bb4ee6a4SAndroid Build Coastguard Worker     pub head: u32,
409*bb4ee6a4SAndroid Build Coastguard Worker     pub tail: u32,
410*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_mask: u32,
411*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_entries: u32,
412*bb4ee6a4SAndroid Build Coastguard Worker     pub overflow: u32,
413*bb4ee6a4SAndroid Build Coastguard Worker     pub cqes: u32,
414*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
415*bb4ee6a4SAndroid Build Coastguard Worker     pub resv1: u32,
416*bb4ee6a4SAndroid Build Coastguard Worker     pub user_addr: u64,
417*bb4ee6a4SAndroid Build Coastguard Worker }
418*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
419*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
420*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_params {
421*bb4ee6a4SAndroid Build Coastguard Worker     pub sq_entries: u32,
422*bb4ee6a4SAndroid Build Coastguard Worker     pub cq_entries: u32,
423*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
424*bb4ee6a4SAndroid Build Coastguard Worker     pub sq_thread_cpu: u32,
425*bb4ee6a4SAndroid Build Coastguard Worker     pub sq_thread_idle: u32,
426*bb4ee6a4SAndroid Build Coastguard Worker     pub features: u32,
427*bb4ee6a4SAndroid Build Coastguard Worker     pub wq_fd: u32,
428*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: [u32; 3usize],
429*bb4ee6a4SAndroid Build Coastguard Worker     pub sq_off: io_sqring_offsets,
430*bb4ee6a4SAndroid Build Coastguard Worker     pub cq_off: io_cqring_offsets,
431*bb4ee6a4SAndroid Build Coastguard Worker }
432*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_BUFFERS: _bindgen_ty_4 = 0;
433*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_4 = 1;
434*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILES: _bindgen_ty_4 = 2;
435*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_FILES: _bindgen_ty_4 = 3;
436*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_EVENTFD: _bindgen_ty_4 = 4;
437*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_4 = 5;
438*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_4 = 6;
439*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_4 = 7;
440*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_PROBE: _bindgen_ty_4 = 8;
441*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_4 = 9;
442*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_4 = 10;
443*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_4 = 11;
444*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_4 = 12;
445*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILES2: _bindgen_ty_4 = 13;
446*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILES_UPDATE2: _bindgen_ty_4 = 14;
447*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_BUFFERS2: _bindgen_ty_4 = 15;
448*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_BUFFERS_UPDATE: _bindgen_ty_4 = 16;
449*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_IOWQ_AFF: _bindgen_ty_4 = 17;
450*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_IOWQ_AFF: _bindgen_ty_4 = 18;
451*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_IOWQ_MAX_WORKERS: _bindgen_ty_4 = 19;
452*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_RING_FDS: _bindgen_ty_4 = 20;
453*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_RING_FDS: _bindgen_ty_4 = 21;
454*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_PBUF_RING: _bindgen_ty_4 = 22;
455*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_UNREGISTER_PBUF_RING: _bindgen_ty_4 = 23;
456*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_SYNC_CANCEL: _bindgen_ty_4 = 24;
457*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_FILE_ALLOC_RANGE: _bindgen_ty_4 = 25;
458*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_LAST: _bindgen_ty_4 = 26;
459*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_REGISTER_USE_REGISTERED_RING: _bindgen_ty_4 = 2147483648;
460*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
461*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
462*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
463*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_files_update {
464*bb4ee6a4SAndroid Build Coastguard Worker     pub offset: u32,
465*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u32,
466*bb4ee6a4SAndroid Build Coastguard Worker     pub fds: u64,
467*bb4ee6a4SAndroid Build Coastguard Worker }
468*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
469*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
470*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_rsrc_register {
471*bb4ee6a4SAndroid Build Coastguard Worker     pub nr: u32,
472*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
473*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: u64,
474*bb4ee6a4SAndroid Build Coastguard Worker     pub data: u64,
475*bb4ee6a4SAndroid Build Coastguard Worker     pub tags: u64,
476*bb4ee6a4SAndroid Build Coastguard Worker }
477*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
478*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
479*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_rsrc_update {
480*bb4ee6a4SAndroid Build Coastguard Worker     pub offset: u32,
481*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u32,
482*bb4ee6a4SAndroid Build Coastguard Worker     pub data: u64,
483*bb4ee6a4SAndroid Build Coastguard Worker }
484*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
485*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
486*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_rsrc_update2 {
487*bb4ee6a4SAndroid Build Coastguard Worker     pub offset: u32,
488*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u32,
489*bb4ee6a4SAndroid Build Coastguard Worker     pub data: u64,
490*bb4ee6a4SAndroid Build Coastguard Worker     pub tags: u64,
491*bb4ee6a4SAndroid Build Coastguard Worker     pub nr: u32,
492*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: u32,
493*bb4ee6a4SAndroid Build Coastguard Worker }
494*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
495*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
496*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_probe_op {
497*bb4ee6a4SAndroid Build Coastguard Worker     pub op: u8,
498*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u8,
499*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u16,
500*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: u32,
501*bb4ee6a4SAndroid Build Coastguard Worker }
502*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
503*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)]
504*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_probe {
505*bb4ee6a4SAndroid Build Coastguard Worker     pub last_op: u8,
506*bb4ee6a4SAndroid Build Coastguard Worker     pub ops_len: u8,
507*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u16,
508*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: [u32; 3usize],
509*bb4ee6a4SAndroid Build Coastguard Worker     pub ops: __IncompleteArrayField<io_uring_probe_op>,
510*bb4ee6a4SAndroid Build Coastguard Worker }
511*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
512*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
513*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_restriction {
514*bb4ee6a4SAndroid Build Coastguard Worker     pub opcode: u16,
515*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
516*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u8,
517*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: [u32; 3usize],
518*bb4ee6a4SAndroid Build Coastguard Worker }
519*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
520*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)]
521*bb4ee6a4SAndroid Build Coastguard Worker pub union io_uring_restriction__bindgen_ty_1 {
522*bb4ee6a4SAndroid Build Coastguard Worker     pub register_op: u8,
523*bb4ee6a4SAndroid Build Coastguard Worker     pub sqe_op: u8,
524*bb4ee6a4SAndroid Build Coastguard Worker     pub sqe_flags: u8,
525*bb4ee6a4SAndroid Build Coastguard Worker }
526*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_restriction__bindgen_ty_1 {
default() -> Self527*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
528*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
529*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
530*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
531*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
532*bb4ee6a4SAndroid Build Coastguard Worker         }
533*bb4ee6a4SAndroid Build Coastguard Worker     }
534*bb4ee6a4SAndroid Build Coastguard Worker }
535*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_restriction {
default() -> Self536*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
537*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
538*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
539*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
540*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
541*bb4ee6a4SAndroid Build Coastguard Worker         }
542*bb4ee6a4SAndroid Build Coastguard Worker     }
543*bb4ee6a4SAndroid Build Coastguard Worker }
544*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
545*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
546*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf {
547*bb4ee6a4SAndroid Build Coastguard Worker     pub addr: u64,
548*bb4ee6a4SAndroid Build Coastguard Worker     pub len: u32,
549*bb4ee6a4SAndroid Build Coastguard Worker     pub bid: u16,
550*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u16,
551*bb4ee6a4SAndroid Build Coastguard Worker }
552*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
553*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_ring {
554*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1,
555*bb4ee6a4SAndroid Build Coastguard Worker }
556*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
557*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_ring__bindgen_ty_1 {
558*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_1: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>,
559*bb4ee6a4SAndroid Build Coastguard Worker     pub __bindgen_anon_2: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>,
560*bb4ee6a4SAndroid Build Coastguard Worker     pub bindgen_union_field: [u64; 2usize],
561*bb4ee6a4SAndroid Build Coastguard Worker }
562*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
563*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
564*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 {
565*bb4ee6a4SAndroid Build Coastguard Worker     pub resv1: u64,
566*bb4ee6a4SAndroid Build Coastguard Worker     pub resv2: u32,
567*bb4ee6a4SAndroid Build Coastguard Worker     pub resv3: u16,
568*bb4ee6a4SAndroid Build Coastguard Worker     pub tail: u16,
569*bb4ee6a4SAndroid Build Coastguard Worker }
570*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
571*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)]
572*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 {
573*bb4ee6a4SAndroid Build Coastguard Worker     pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
574*bb4ee6a4SAndroid Build Coastguard Worker     pub bufs: __IncompleteArrayField<io_uring_buf>,
575*bb4ee6a4SAndroid Build Coastguard Worker }
576*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
577*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
578*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {}
579*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_buf_ring__bindgen_ty_1 {
default() -> Self580*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
581*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
582*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
583*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
584*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
585*bb4ee6a4SAndroid Build Coastguard Worker         }
586*bb4ee6a4SAndroid Build Coastguard Worker     }
587*bb4ee6a4SAndroid Build Coastguard Worker }
588*bb4ee6a4SAndroid Build Coastguard Worker impl Default for io_uring_buf_ring {
default() -> Self589*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
590*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
591*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
592*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
593*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
594*bb4ee6a4SAndroid Build Coastguard Worker         }
595*bb4ee6a4SAndroid Build Coastguard Worker     }
596*bb4ee6a4SAndroid Build Coastguard Worker }
597*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
598*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
599*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_buf_reg {
600*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_addr: u64,
601*bb4ee6a4SAndroid Build Coastguard Worker     pub ring_entries: u32,
602*bb4ee6a4SAndroid Build Coastguard Worker     pub bgid: u16,
603*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u16,
604*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: [u64; 3usize],
605*bb4ee6a4SAndroid Build Coastguard Worker }
606*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_7 = 0;
607*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_7 = 1;
608*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_7 = 2;
609*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_7 = 3;
610*bb4ee6a4SAndroid Build Coastguard Worker pub const IORING_RESTRICTION_LAST: _bindgen_ty_7 = 4;
611*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
612*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
613*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
614*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_getevents_arg {
615*bb4ee6a4SAndroid Build Coastguard Worker     pub sigmask: u64,
616*bb4ee6a4SAndroid Build Coastguard Worker     pub sigmask_sz: u32,
617*bb4ee6a4SAndroid Build Coastguard Worker     pub pad: u32,
618*bb4ee6a4SAndroid Build Coastguard Worker     pub ts: u64,
619*bb4ee6a4SAndroid Build Coastguard Worker }
620*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
621*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
622*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_sync_cancel_reg {
623*bb4ee6a4SAndroid Build Coastguard Worker     pub addr: u64,
624*bb4ee6a4SAndroid Build Coastguard Worker     pub fd: i32,
625*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
626*bb4ee6a4SAndroid Build Coastguard Worker     pub timeout: __kernel_timespec,
627*bb4ee6a4SAndroid Build Coastguard Worker     pub opcode: u8,
628*bb4ee6a4SAndroid Build Coastguard Worker     pub pad: [u8; 7usize],
629*bb4ee6a4SAndroid Build Coastguard Worker     pub pad2: [u64; 3usize],
630*bb4ee6a4SAndroid Build Coastguard Worker }
631*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
632*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
633*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_file_index_range {
634*bb4ee6a4SAndroid Build Coastguard Worker     pub off: u32,
635*bb4ee6a4SAndroid Build Coastguard Worker     pub len: u32,
636*bb4ee6a4SAndroid Build Coastguard Worker     pub resv: u64,
637*bb4ee6a4SAndroid Build Coastguard Worker }
638*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
639*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
640*bb4ee6a4SAndroid Build Coastguard Worker pub struct io_uring_recvmsg_out {
641*bb4ee6a4SAndroid Build Coastguard Worker     pub namelen: u32,
642*bb4ee6a4SAndroid Build Coastguard Worker     pub controllen: u32,
643*bb4ee6a4SAndroid Build Coastguard Worker     pub payloadlen: u32,
644*bb4ee6a4SAndroid Build Coastguard Worker     pub flags: u32,
645*bb4ee6a4SAndroid Build Coastguard Worker }
646