• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* automatically generated by tools/bindgen-all-the-things */
2 
3 #![allow(non_upper_case_globals)]
4 #![allow(non_camel_case_types)]
5 #![allow(non_snake_case)]
6 #![allow(dead_code)]
7 
8 #[repr(C)]
9 #[derive(Default)]
10 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
11 impl<T> __IncompleteArrayField<T> {
12     #[inline]
new() -> Self13     pub const fn new() -> Self {
14         __IncompleteArrayField(::std::marker::PhantomData, [])
15     }
16     #[inline]
as_ptr(&self) -> *const T17     pub fn as_ptr(&self) -> *const T {
18         self as *const _ as *const T
19     }
20     #[inline]
as_mut_ptr(&mut self) -> *mut T21     pub fn as_mut_ptr(&mut self) -> *mut T {
22         self as *mut _ as *mut T
23     }
24     #[inline]
as_slice(&self, len: usize) -> &[T]25     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
26         ::std::slice::from_raw_parts(self.as_ptr(), len)
27     }
28     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]29     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
30         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
31     }
32 }
33 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result34     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
35         fmt.write_str("__IncompleteArrayField")
36     }
37 }
38 pub const IORING_SETUP_IOPOLL: u32 = 1;
39 pub const IORING_SETUP_SQPOLL: u32 = 2;
40 pub const IORING_SETUP_SQ_AFF: u32 = 4;
41 pub const IORING_SETUP_CQSIZE: u32 = 8;
42 pub const IORING_SETUP_CLAMP: u32 = 16;
43 pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
44 pub const IORING_SETUP_R_DISABLED: u32 = 64;
45 pub const IORING_FSYNC_DATASYNC: u32 = 1;
46 pub const IORING_TIMEOUT_ABS: u32 = 1;
47 pub const IORING_CQE_F_BUFFER: u32 = 1;
48 pub const IORING_OFF_SQ_RING: u32 = 0;
49 pub const IORING_OFF_CQ_RING: u32 = 134217728;
50 pub const IORING_OFF_SQES: u32 = 268435456;
51 pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
52 pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
53 pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
54 pub const IORING_ENTER_GETEVENTS: u32 = 1;
55 pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
56 pub const IORING_ENTER_SQ_WAIT: u32 = 4;
57 pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
58 pub const IORING_FEAT_NODROP: u32 = 2;
59 pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
60 pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
61 pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
62 pub const IORING_FEAT_FAST_POLL: u32 = 32;
63 pub const IORING_FEAT_POLL_32BITS: u32 = 64;
64 pub const IO_URING_OP_SUPPORTED: u32 = 1;
65 pub type __kernel_rwf_t = ::std::os::raw::c_int;
66 #[repr(C)]
67 #[derive(Copy, Clone)]
68 pub struct io_uring_sqe {
69     pub opcode: u8,
70     pub flags: u8,
71     pub ioprio: u16,
72     pub fd: i32,
73     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
74     pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
75     pub len: u32,
76     pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
77     pub user_data: u64,
78     pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
79 }
80 #[repr(C)]
81 #[derive(Copy, Clone)]
82 pub union io_uring_sqe__bindgen_ty_1 {
83     pub off: u64,
84     pub addr2: u64,
85 }
86 impl Default for io_uring_sqe__bindgen_ty_1 {
default() -> Self87     fn default() -> Self {
88         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
89         unsafe {
90             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
91             s.assume_init()
92         }
93     }
94 }
95 #[repr(C)]
96 #[derive(Copy, Clone)]
97 pub union io_uring_sqe__bindgen_ty_2 {
98     pub addr: u64,
99     pub splice_off_in: u64,
100 }
101 impl Default for io_uring_sqe__bindgen_ty_2 {
default() -> Self102     fn default() -> Self {
103         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
104         unsafe {
105             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
106             s.assume_init()
107         }
108     }
109 }
110 #[repr(C)]
111 #[derive(Copy, Clone)]
112 pub union io_uring_sqe__bindgen_ty_3 {
113     pub rw_flags: __kernel_rwf_t,
114     pub fsync_flags: u32,
115     pub poll_events: u16,
116     pub poll32_events: u32,
117     pub sync_range_flags: u32,
118     pub msg_flags: u32,
119     pub timeout_flags: u32,
120     pub accept_flags: u32,
121     pub cancel_flags: u32,
122     pub open_flags: u32,
123     pub statx_flags: u32,
124     pub fadvise_advice: u32,
125     pub splice_flags: u32,
126 }
127 impl Default for io_uring_sqe__bindgen_ty_3 {
default() -> Self128     fn default() -> Self {
129         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
130         unsafe {
131             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
132             s.assume_init()
133         }
134     }
135 }
136 #[repr(C)]
137 #[derive(Copy, Clone)]
138 pub union io_uring_sqe__bindgen_ty_4 {
139     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1,
140     pub __pad2: [u64; 3usize],
141 }
142 #[repr(C)]
143 #[derive(Copy, Clone)]
144 pub struct io_uring_sqe__bindgen_ty_4__bindgen_ty_1 {
145     pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1,
146     pub personality: u16,
147     pub splice_fd_in: i32,
148 }
149 #[repr(C, packed)]
150 #[derive(Copy, Clone)]
151 pub union io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
152     pub buf_index: u16,
153     pub buf_group: u16,
154 }
155 impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1__bindgen_ty_1 {
default() -> Self156     fn default() -> Self {
157         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
158         unsafe {
159             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
160             s.assume_init()
161         }
162     }
163 }
164 impl Default for io_uring_sqe__bindgen_ty_4__bindgen_ty_1 {
default() -> Self165     fn default() -> Self {
166         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
167         unsafe {
168             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
169             s.assume_init()
170         }
171     }
172 }
173 impl Default for io_uring_sqe__bindgen_ty_4 {
default() -> Self174     fn default() -> Self {
175         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
176         unsafe {
177             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
178             s.assume_init()
179         }
180     }
181 }
182 impl Default for io_uring_sqe {
default() -> Self183     fn default() -> Self {
184         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
185         unsafe {
186             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
187             s.assume_init()
188         }
189     }
190 }
191 pub const IORING_OP_NOP: ::std::os::raw::c_uint = 0;
192 pub const IORING_OP_READV: ::std::os::raw::c_uint = 1;
193 pub const IORING_OP_WRITEV: ::std::os::raw::c_uint = 2;
194 pub const IORING_OP_FSYNC: ::std::os::raw::c_uint = 3;
195 pub const IORING_OP_READ_FIXED: ::std::os::raw::c_uint = 4;
196 pub const IORING_OP_WRITE_FIXED: ::std::os::raw::c_uint = 5;
197 pub const IORING_OP_POLL_ADD: ::std::os::raw::c_uint = 6;
198 pub const IORING_OP_POLL_REMOVE: ::std::os::raw::c_uint = 7;
199 pub const IORING_OP_SYNC_FILE_RANGE: ::std::os::raw::c_uint = 8;
200 pub const IORING_OP_SENDMSG: ::std::os::raw::c_uint = 9;
201 pub const IORING_OP_RECVMSG: ::std::os::raw::c_uint = 10;
202 pub const IORING_OP_TIMEOUT: ::std::os::raw::c_uint = 11;
203 pub const IORING_OP_TIMEOUT_REMOVE: ::std::os::raw::c_uint = 12;
204 pub const IORING_OP_ACCEPT: ::std::os::raw::c_uint = 13;
205 pub const IORING_OP_ASYNC_CANCEL: ::std::os::raw::c_uint = 14;
206 pub const IORING_OP_LINK_TIMEOUT: ::std::os::raw::c_uint = 15;
207 pub const IORING_OP_CONNECT: ::std::os::raw::c_uint = 16;
208 pub const IORING_OP_FALLOCATE: ::std::os::raw::c_uint = 17;
209 pub const IORING_OP_OPENAT: ::std::os::raw::c_uint = 18;
210 pub const IORING_OP_CLOSE: ::std::os::raw::c_uint = 19;
211 pub const IORING_OP_FILES_UPDATE: ::std::os::raw::c_uint = 20;
212 pub const IORING_OP_STATX: ::std::os::raw::c_uint = 21;
213 pub const IORING_OP_READ: ::std::os::raw::c_uint = 22;
214 pub const IORING_OP_WRITE: ::std::os::raw::c_uint = 23;
215 pub const IORING_OP_FADVISE: ::std::os::raw::c_uint = 24;
216 pub const IORING_OP_MADVISE: ::std::os::raw::c_uint = 25;
217 pub const IORING_OP_SEND: ::std::os::raw::c_uint = 26;
218 pub const IORING_OP_RECV: ::std::os::raw::c_uint = 27;
219 pub const IORING_OP_OPENAT2: ::std::os::raw::c_uint = 28;
220 pub const IORING_OP_EPOLL_CTL: ::std::os::raw::c_uint = 29;
221 pub const IORING_OP_SPLICE: ::std::os::raw::c_uint = 30;
222 pub const IORING_OP_PROVIDE_BUFFERS: ::std::os::raw::c_uint = 31;
223 pub const IORING_OP_REMOVE_BUFFERS: ::std::os::raw::c_uint = 32;
224 pub const IORING_OP_TEE: ::std::os::raw::c_uint = 33;
225 pub const IORING_OP_LAST: ::std::os::raw::c_uint = 34;
226 pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
227 #[repr(C)]
228 #[derive(Debug, Default, Copy, Clone)]
229 pub struct io_uring_cqe {
230     pub user_data: u64,
231     pub res: i32,
232     pub flags: u32,
233 }
234 pub const IORING_CQE_BUFFER_SHIFT: ::std::os::raw::c_uint = 16;
235 pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
236 #[repr(C)]
237 #[derive(Debug, Default, Copy, Clone)]
238 pub struct io_sqring_offsets {
239     pub head: u32,
240     pub tail: u32,
241     pub ring_mask: u32,
242     pub ring_entries: u32,
243     pub flags: u32,
244     pub dropped: u32,
245     pub array: u32,
246     pub resv1: u32,
247     pub resv2: u64,
248 }
249 #[repr(C)]
250 #[derive(Debug, Default, Copy, Clone)]
251 pub struct io_cqring_offsets {
252     pub head: u32,
253     pub tail: u32,
254     pub ring_mask: u32,
255     pub ring_entries: u32,
256     pub overflow: u32,
257     pub cqes: u32,
258     pub flags: u32,
259     pub resv1: u32,
260     pub resv2: u64,
261 }
262 #[repr(C)]
263 #[derive(Debug, Default, Copy, Clone)]
264 pub struct io_uring_params {
265     pub sq_entries: u32,
266     pub cq_entries: u32,
267     pub flags: u32,
268     pub sq_thread_cpu: u32,
269     pub sq_thread_idle: u32,
270     pub features: u32,
271     pub wq_fd: u32,
272     pub resv: [u32; 3usize],
273     pub sq_off: io_sqring_offsets,
274     pub cq_off: io_cqring_offsets,
275 }
276 pub const IORING_REGISTER_BUFFERS: ::std::os::raw::c_uint = 0;
277 pub const IORING_UNREGISTER_BUFFERS: ::std::os::raw::c_uint = 1;
278 pub const IORING_REGISTER_FILES: ::std::os::raw::c_uint = 2;
279 pub const IORING_UNREGISTER_FILES: ::std::os::raw::c_uint = 3;
280 pub const IORING_REGISTER_EVENTFD: ::std::os::raw::c_uint = 4;
281 pub const IORING_UNREGISTER_EVENTFD: ::std::os::raw::c_uint = 5;
282 pub const IORING_REGISTER_FILES_UPDATE: ::std::os::raw::c_uint = 6;
283 pub const IORING_REGISTER_EVENTFD_ASYNC: ::std::os::raw::c_uint = 7;
284 pub const IORING_REGISTER_PROBE: ::std::os::raw::c_uint = 8;
285 pub const IORING_REGISTER_PERSONALITY: ::std::os::raw::c_uint = 9;
286 pub const IORING_UNREGISTER_PERSONALITY: ::std::os::raw::c_uint = 10;
287 pub const IORING_REGISTER_RESTRICTIONS: ::std::os::raw::c_uint = 11;
288 pub const IORING_REGISTER_ENABLE_RINGS: ::std::os::raw::c_uint = 12;
289 pub const IORING_REGISTER_LAST: ::std::os::raw::c_uint = 13;
290 pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
291 #[repr(C)]
292 #[derive(Debug, Default, Copy, Clone)]
293 pub struct io_uring_files_update {
294     pub offset: u32,
295     pub resv: u32,
296     pub fds: u64,
297 }
298 #[repr(C)]
299 #[derive(Debug, Default, Copy, Clone)]
300 pub struct io_uring_probe_op {
301     pub op: u8,
302     pub resv: u8,
303     pub flags: u16,
304     pub resv2: u32,
305 }
306 #[repr(C)]
307 #[derive(Debug, Default)]
308 pub struct io_uring_probe {
309     pub last_op: u8,
310     pub ops_len: u8,
311     pub resv: u16,
312     pub resv2: [u32; 3usize],
313     pub ops: __IncompleteArrayField<io_uring_probe_op>,
314 }
315 #[repr(C)]
316 #[derive(Copy, Clone)]
317 pub struct io_uring_restriction {
318     pub opcode: u16,
319     pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
320     pub resv: u8,
321     pub resv2: [u32; 3usize],
322 }
323 #[repr(C)]
324 #[derive(Copy, Clone)]
325 pub union io_uring_restriction__bindgen_ty_1 {
326     pub register_op: u8,
327     pub sqe_op: u8,
328     pub sqe_flags: u8,
329 }
330 impl Default for io_uring_restriction__bindgen_ty_1 {
default() -> Self331     fn default() -> Self {
332         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
333         unsafe {
334             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
335             s.assume_init()
336         }
337     }
338 }
339 impl Default for io_uring_restriction {
default() -> Self340     fn default() -> Self {
341         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
342         unsafe {
343             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
344             s.assume_init()
345         }
346     }
347 }
348 pub const IORING_RESTRICTION_REGISTER_OP: ::std::os::raw::c_uint = 0;
349 pub const IORING_RESTRICTION_SQE_OP: ::std::os::raw::c_uint = 1;
350 pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: ::std::os::raw::c_uint = 2;
351 pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: ::std::os::raw::c_uint = 3;
352 pub const IORING_RESTRICTION_LAST: ::std::os::raw::c_uint = 4;
353 pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
354