io_uring/sys/
sys.rs

1/* automatically generated by rust-bindgen 0.65.1 */
2
3#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7    #[inline]
8    pub const fn new() -> Self {
9        __IncompleteArrayField(::core::marker::PhantomData, [])
10    }
11    #[inline]
12    pub fn as_ptr(&self) -> *const T {
13        self as *const _ as *const T
14    }
15    #[inline]
16    pub fn as_mut_ptr(&mut self) -> *mut T {
17        self as *mut _ as *mut T
18    }
19    #[inline]
20    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21        ::core::slice::from_raw_parts(self.as_ptr(), len)
22    }
23    #[inline]
24    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25        ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26    }
27}
28impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
29    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30        fmt.write_str("__IncompleteArrayField")
31    }
32}
33#[repr(C)]
34pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
35impl<T> __BindgenUnionField<T> {
36    #[inline]
37    pub const fn new() -> Self {
38        __BindgenUnionField(::core::marker::PhantomData)
39    }
40    #[inline]
41    pub unsafe fn as_ref(&self) -> &T {
42        ::core::mem::transmute(self)
43    }
44    #[inline]
45    pub unsafe fn as_mut(&mut self) -> &mut T {
46        ::core::mem::transmute(self)
47    }
48}
49impl<T> ::core::default::Default for __BindgenUnionField<T> {
50    #[inline]
51    fn default() -> Self {
52        Self::new()
53    }
54}
55impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
56    #[inline]
57    fn clone(&self) -> Self {
58        Self::new()
59    }
60}
61impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
62impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
63    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
64        fmt.write_str("__BindgenUnionField")
65    }
66}
67impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
68    fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
69}
70impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
71    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
72        true
73    }
74}
75impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}
76pub const __NR_io_uring_setup: u32 = 425;
77pub const __NR_io_uring_enter: u32 = 426;
78pub const __NR_io_uring_register: u32 = 427;
79pub const IORING_FILE_INDEX_ALLOC: i32 = -1;
80pub const IORING_SETUP_IOPOLL: u32 = 1;
81pub const IORING_SETUP_SQPOLL: u32 = 2;
82pub const IORING_SETUP_SQ_AFF: u32 = 4;
83pub const IORING_SETUP_CQSIZE: u32 = 8;
84pub const IORING_SETUP_CLAMP: u32 = 16;
85pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
86pub const IORING_SETUP_R_DISABLED: u32 = 64;
87pub const IORING_SETUP_SUBMIT_ALL: u32 = 128;
88pub const IORING_SETUP_COOP_TASKRUN: u32 = 256;
89pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512;
90pub const IORING_SETUP_SQE128: u32 = 1024;
91pub const IORING_SETUP_CQE32: u32 = 2048;
92pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096;
93pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192;
94pub const IORING_SETUP_NO_MMAP: u32 = 16384;
95pub const IORING_SETUP_REGISTERED_FD_ONLY: u32 = 32768;
96pub const IORING_SETUP_NO_SQARRAY: u32 = 65536;
97pub const IORING_URING_CMD_FIXED: u32 = 1;
98pub const IORING_URING_CMD_MASK: u32 = 1;
99pub const IORING_FSYNC_DATASYNC: u32 = 1;
100pub const IORING_TIMEOUT_ABS: u32 = 1;
101pub const IORING_TIMEOUT_UPDATE: u32 = 2;
102pub const IORING_TIMEOUT_BOOTTIME: u32 = 4;
103pub const IORING_TIMEOUT_REALTIME: u32 = 8;
104pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16;
105pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32;
106pub const IORING_TIMEOUT_MULTISHOT: u32 = 64;
107pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12;
108pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18;
109pub const SPLICE_F_FD_IN_FIXED: u32 = 2147483648;
110pub const IORING_POLL_ADD_MULTI: u32 = 1;
111pub const IORING_POLL_UPDATE_EVENTS: u32 = 2;
112pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4;
113pub const IORING_POLL_ADD_LEVEL: u32 = 8;
114pub const IORING_ASYNC_CANCEL_ALL: u32 = 1;
115pub const IORING_ASYNC_CANCEL_FD: u32 = 2;
116pub const IORING_ASYNC_CANCEL_ANY: u32 = 4;
117pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8;
118pub const IORING_ASYNC_CANCEL_USERDATA: u32 = 16;
119pub const IORING_ASYNC_CANCEL_OP: u32 = 32;
120pub const IORING_RECVSEND_POLL_FIRST: u32 = 1;
121pub const IORING_RECV_MULTISHOT: u32 = 2;
122pub const IORING_RECVSEND_FIXED_BUF: u32 = 4;
123pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8;
124pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648;
125pub const IORING_ACCEPT_MULTISHOT: u32 = 1;
126pub const IORING_MSG_RING_CQE_SKIP: u32 = 1;
127pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2;
128pub const IORING_CQE_F_BUFFER: u32 = 1;
129pub const IORING_CQE_F_MORE: u32 = 2;
130pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4;
131pub const IORING_CQE_F_NOTIF: u32 = 8;
132pub const IORING_OFF_SQ_RING: u32 = 0;
133pub const IORING_OFF_CQ_RING: u32 = 134217728;
134pub const IORING_OFF_SQES: u32 = 268435456;
135pub const IORING_OFF_PBUF_RING: u32 = 2147483648;
136pub const IORING_OFF_PBUF_SHIFT: u32 = 16;
137pub const IORING_OFF_MMAP_MASK: u32 = 4160749568;
138pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
139pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
140pub const IORING_SQ_TASKRUN: u32 = 4;
141pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
142pub const IORING_ENTER_GETEVENTS: u32 = 1;
143pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
144pub const IORING_ENTER_SQ_WAIT: u32 = 4;
145pub const IORING_ENTER_EXT_ARG: u32 = 8;
146pub const IORING_ENTER_REGISTERED_RING: u32 = 16;
147pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
148pub const IORING_FEAT_NODROP: u32 = 2;
149pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
150pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
151pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
152pub const IORING_FEAT_FAST_POLL: u32 = 32;
153pub const IORING_FEAT_POLL_32BITS: u32 = 64;
154pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128;
155pub const IORING_FEAT_EXT_ARG: u32 = 256;
156pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512;
157pub const IORING_FEAT_RSRC_TAGS: u32 = 1024;
158pub const IORING_FEAT_CQE_SKIP: u32 = 2048;
159pub const IORING_FEAT_LINKED_FILE: u32 = 4096;
160pub const IORING_FEAT_REG_REG_RING: u32 = 8192;
161pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1;
162pub const IORING_REGISTER_FILES_SKIP: i32 = -2;
163pub const IO_URING_OP_SUPPORTED: u32 = 1;
164pub type __u8 = libc::c_uchar;
165pub type __u16 = libc::c_ushort;
166pub type __s32 = libc::c_int;
167pub type __u32 = libc::c_uint;
168pub type __u64 = libc::c_ulonglong;
169pub type __kernel_time64_t = libc::c_longlong;
170#[repr(C)]
171#[derive(Debug, Default, Copy, Clone)]
172pub struct __kernel_timespec {
173    pub tv_sec: __kernel_time64_t,
174    pub tv_nsec: libc::c_longlong,
175}
176#[test]
177fn bindgen_test_layout___kernel_timespec() {
178    const UNINIT: ::core::mem::MaybeUninit<__kernel_timespec> = ::core::mem::MaybeUninit::uninit();
179    let ptr = UNINIT.as_ptr();
180    assert_eq!(
181        ::core::mem::size_of::<__kernel_timespec>(),
182        16usize,
183        concat!("Size of: ", stringify!(__kernel_timespec))
184    );
185    assert_eq!(
186        ::core::mem::align_of::<__kernel_timespec>(),
187        8usize,
188        concat!("Alignment of ", stringify!(__kernel_timespec))
189    );
190    assert_eq!(
191        unsafe { ::core::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
192        0usize,
193        concat!(
194            "Offset of field: ",
195            stringify!(__kernel_timespec),
196            "::",
197            stringify!(tv_sec)
198        )
199    );
200    assert_eq!(
201        unsafe { ::core::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
202        8usize,
203        concat!(
204            "Offset of field: ",
205            stringify!(__kernel_timespec),
206            "::",
207            stringify!(tv_nsec)
208        )
209    );
210}
211#[repr(C)]
212#[derive(Debug, Default, Copy, Clone)]
213pub struct open_how {
214    pub flags: __u64,
215    pub mode: __u64,
216    pub resolve: __u64,
217}
218#[test]
219fn bindgen_test_layout_open_how() {
220    const UNINIT: ::core::mem::MaybeUninit<open_how> = ::core::mem::MaybeUninit::uninit();
221    let ptr = UNINIT.as_ptr();
222    assert_eq!(
223        ::core::mem::size_of::<open_how>(),
224        24usize,
225        concat!("Size of: ", stringify!(open_how))
226    );
227    assert_eq!(
228        ::core::mem::align_of::<open_how>(),
229        8usize,
230        concat!("Alignment of ", stringify!(open_how))
231    );
232    assert_eq!(
233        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
234        0usize,
235        concat!(
236            "Offset of field: ",
237            stringify!(open_how),
238            "::",
239            stringify!(flags)
240        )
241    );
242    assert_eq!(
243        unsafe { ::core::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
244        8usize,
245        concat!(
246            "Offset of field: ",
247            stringify!(open_how),
248            "::",
249            stringify!(mode)
250        )
251    );
252    assert_eq!(
253        unsafe { ::core::ptr::addr_of!((*ptr).resolve) as usize - ptr as usize },
254        16usize,
255        concat!(
256            "Offset of field: ",
257            stringify!(open_how),
258            "::",
259            stringify!(resolve)
260        )
261    );
262}
263pub type __kernel_rwf_t = libc::c_int;
264#[repr(C)]
265pub struct io_uring_sqe {
266    pub opcode: __u8,
267    pub flags: __u8,
268    pub ioprio: __u16,
269    pub fd: __s32,
270    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
271    pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
272    pub len: __u32,
273    pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
274    pub user_data: __u64,
275    pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
276    pub personality: __u16,
277    pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5,
278    pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6,
279}
280#[repr(C)]
281#[derive(Copy, Clone)]
282pub union io_uring_sqe__bindgen_ty_1 {
283    pub off: __u64,
284    pub addr2: __u64,
285    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1,
286}
287#[repr(C)]
288#[derive(Debug, Default, Copy, Clone)]
289pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 {
290    pub cmd_op: __u32,
291    pub __pad1: __u32,
292}
293#[test]
294fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1__bindgen_ty_1() {
295    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_1__bindgen_ty_1> =
296        ::core::mem::MaybeUninit::uninit();
297    let ptr = UNINIT.as_ptr();
298    assert_eq!(
299        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_1__bindgen_ty_1>(),
300        8usize,
301        concat!(
302            "Size of: ",
303            stringify!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1)
304        )
305    );
306    assert_eq!(
307        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_1__bindgen_ty_1>(),
308        4usize,
309        concat!(
310            "Alignment of ",
311            stringify!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1)
312        )
313    );
314    assert_eq!(
315        unsafe { ::core::ptr::addr_of!((*ptr).cmd_op) as usize - ptr as usize },
316        0usize,
317        concat!(
318            "Offset of field: ",
319            stringify!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1),
320            "::",
321            stringify!(cmd_op)
322        )
323    );
324    assert_eq!(
325        unsafe { ::core::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
326        4usize,
327        concat!(
328            "Offset of field: ",
329            stringify!(io_uring_sqe__bindgen_ty_1__bindgen_ty_1),
330            "::",
331            stringify!(__pad1)
332        )
333    );
334}
335#[test]
336fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() {
337    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_1> =
338        ::core::mem::MaybeUninit::uninit();
339    let ptr = UNINIT.as_ptr();
340    assert_eq!(
341        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_1>(),
342        8usize,
343        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_1))
344    );
345    assert_eq!(
346        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_1>(),
347        8usize,
348        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1))
349    );
350    assert_eq!(
351        unsafe { ::core::ptr::addr_of!((*ptr).off) as usize - ptr as usize },
352        0usize,
353        concat!(
354            "Offset of field: ",
355            stringify!(io_uring_sqe__bindgen_ty_1),
356            "::",
357            stringify!(off)
358        )
359    );
360    assert_eq!(
361        unsafe { ::core::ptr::addr_of!((*ptr).addr2) as usize - ptr as usize },
362        0usize,
363        concat!(
364            "Offset of field: ",
365            stringify!(io_uring_sqe__bindgen_ty_1),
366            "::",
367            stringify!(addr2)
368        )
369    );
370}
371impl Default for io_uring_sqe__bindgen_ty_1 {
372    fn default() -> Self {
373        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
374        unsafe {
375            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
376            s.assume_init()
377        }
378    }
379}
380#[repr(C)]
381#[derive(Copy, Clone)]
382pub union io_uring_sqe__bindgen_ty_2 {
383    pub addr: __u64,
384    pub splice_off_in: __u64,
385    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_2__bindgen_ty_1,
386}
387#[repr(C)]
388#[derive(Debug, Default, Copy, Clone)]
389pub struct io_uring_sqe__bindgen_ty_2__bindgen_ty_1 {
390    pub level: __u32,
391    pub optname: __u32,
392}
393#[test]
394fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2__bindgen_ty_1() {
395    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_2__bindgen_ty_1> =
396        ::core::mem::MaybeUninit::uninit();
397    let ptr = UNINIT.as_ptr();
398    assert_eq!(
399        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_2__bindgen_ty_1>(),
400        8usize,
401        concat!(
402            "Size of: ",
403            stringify!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1)
404        )
405    );
406    assert_eq!(
407        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_2__bindgen_ty_1>(),
408        4usize,
409        concat!(
410            "Alignment of ",
411            stringify!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1)
412        )
413    );
414    assert_eq!(
415        unsafe { ::core::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
416        0usize,
417        concat!(
418            "Offset of field: ",
419            stringify!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1),
420            "::",
421            stringify!(level)
422        )
423    );
424    assert_eq!(
425        unsafe { ::core::ptr::addr_of!((*ptr).optname) as usize - ptr as usize },
426        4usize,
427        concat!(
428            "Offset of field: ",
429            stringify!(io_uring_sqe__bindgen_ty_2__bindgen_ty_1),
430            "::",
431            stringify!(optname)
432        )
433    );
434}
435#[test]
436fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() {
437    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_2> =
438        ::core::mem::MaybeUninit::uninit();
439    let ptr = UNINIT.as_ptr();
440    assert_eq!(
441        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_2>(),
442        8usize,
443        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_2))
444    );
445    assert_eq!(
446        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_2>(),
447        8usize,
448        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2))
449    );
450    assert_eq!(
451        unsafe { ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
452        0usize,
453        concat!(
454            "Offset of field: ",
455            stringify!(io_uring_sqe__bindgen_ty_2),
456            "::",
457            stringify!(addr)
458        )
459    );
460    assert_eq!(
461        unsafe { ::core::ptr::addr_of!((*ptr).splice_off_in) as usize - ptr as usize },
462        0usize,
463        concat!(
464            "Offset of field: ",
465            stringify!(io_uring_sqe__bindgen_ty_2),
466            "::",
467            stringify!(splice_off_in)
468        )
469    );
470}
471impl Default for io_uring_sqe__bindgen_ty_2 {
472    fn default() -> Self {
473        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
474        unsafe {
475            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
476            s.assume_init()
477        }
478    }
479}
480#[repr(C)]
481#[derive(Copy, Clone)]
482pub union io_uring_sqe__bindgen_ty_3 {
483    pub rw_flags: __kernel_rwf_t,
484    pub fsync_flags: __u32,
485    pub poll_events: __u16,
486    pub poll32_events: __u32,
487    pub sync_range_flags: __u32,
488    pub msg_flags: __u32,
489    pub timeout_flags: __u32,
490    pub accept_flags: __u32,
491    pub cancel_flags: __u32,
492    pub open_flags: __u32,
493    pub statx_flags: __u32,
494    pub fadvise_advice: __u32,
495    pub splice_flags: __u32,
496    pub rename_flags: __u32,
497    pub unlink_flags: __u32,
498    pub hardlink_flags: __u32,
499    pub xattr_flags: __u32,
500    pub msg_ring_flags: __u32,
501    pub uring_cmd_flags: __u32,
502    pub waitid_flags: __u32,
503    pub futex_flags: __u32,
504}
505#[test]
506fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() {
507    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_3> =
508        ::core::mem::MaybeUninit::uninit();
509    let ptr = UNINIT.as_ptr();
510    assert_eq!(
511        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_3>(),
512        4usize,
513        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_3))
514    );
515    assert_eq!(
516        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_3>(),
517        4usize,
518        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3))
519    );
520    assert_eq!(
521        unsafe { ::core::ptr::addr_of!((*ptr).rw_flags) as usize - ptr as usize },
522        0usize,
523        concat!(
524            "Offset of field: ",
525            stringify!(io_uring_sqe__bindgen_ty_3),
526            "::",
527            stringify!(rw_flags)
528        )
529    );
530    assert_eq!(
531        unsafe { ::core::ptr::addr_of!((*ptr).fsync_flags) as usize - ptr as usize },
532        0usize,
533        concat!(
534            "Offset of field: ",
535            stringify!(io_uring_sqe__bindgen_ty_3),
536            "::",
537            stringify!(fsync_flags)
538        )
539    );
540    assert_eq!(
541        unsafe { ::core::ptr::addr_of!((*ptr).poll_events) as usize - ptr as usize },
542        0usize,
543        concat!(
544            "Offset of field: ",
545            stringify!(io_uring_sqe__bindgen_ty_3),
546            "::",
547            stringify!(poll_events)
548        )
549    );
550    assert_eq!(
551        unsafe { ::core::ptr::addr_of!((*ptr).poll32_events) as usize - ptr as usize },
552        0usize,
553        concat!(
554            "Offset of field: ",
555            stringify!(io_uring_sqe__bindgen_ty_3),
556            "::",
557            stringify!(poll32_events)
558        )
559    );
560    assert_eq!(
561        unsafe { ::core::ptr::addr_of!((*ptr).sync_range_flags) as usize - ptr as usize },
562        0usize,
563        concat!(
564            "Offset of field: ",
565            stringify!(io_uring_sqe__bindgen_ty_3),
566            "::",
567            stringify!(sync_range_flags)
568        )
569    );
570    assert_eq!(
571        unsafe { ::core::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
572        0usize,
573        concat!(
574            "Offset of field: ",
575            stringify!(io_uring_sqe__bindgen_ty_3),
576            "::",
577            stringify!(msg_flags)
578        )
579    );
580    assert_eq!(
581        unsafe { ::core::ptr::addr_of!((*ptr).timeout_flags) as usize - ptr as usize },
582        0usize,
583        concat!(
584            "Offset of field: ",
585            stringify!(io_uring_sqe__bindgen_ty_3),
586            "::",
587            stringify!(timeout_flags)
588        )
589    );
590    assert_eq!(
591        unsafe { ::core::ptr::addr_of!((*ptr).accept_flags) as usize - ptr as usize },
592        0usize,
593        concat!(
594            "Offset of field: ",
595            stringify!(io_uring_sqe__bindgen_ty_3),
596            "::",
597            stringify!(accept_flags)
598        )
599    );
600    assert_eq!(
601        unsafe { ::core::ptr::addr_of!((*ptr).cancel_flags) as usize - ptr as usize },
602        0usize,
603        concat!(
604            "Offset of field: ",
605            stringify!(io_uring_sqe__bindgen_ty_3),
606            "::",
607            stringify!(cancel_flags)
608        )
609    );
610    assert_eq!(
611        unsafe { ::core::ptr::addr_of!((*ptr).open_flags) as usize - ptr as usize },
612        0usize,
613        concat!(
614            "Offset of field: ",
615            stringify!(io_uring_sqe__bindgen_ty_3),
616            "::",
617            stringify!(open_flags)
618        )
619    );
620    assert_eq!(
621        unsafe { ::core::ptr::addr_of!((*ptr).statx_flags) as usize - ptr as usize },
622        0usize,
623        concat!(
624            "Offset of field: ",
625            stringify!(io_uring_sqe__bindgen_ty_3),
626            "::",
627            stringify!(statx_flags)
628        )
629    );
630    assert_eq!(
631        unsafe { ::core::ptr::addr_of!((*ptr).fadvise_advice) as usize - ptr as usize },
632        0usize,
633        concat!(
634            "Offset of field: ",
635            stringify!(io_uring_sqe__bindgen_ty_3),
636            "::",
637            stringify!(fadvise_advice)
638        )
639    );
640    assert_eq!(
641        unsafe { ::core::ptr::addr_of!((*ptr).splice_flags) as usize - ptr as usize },
642        0usize,
643        concat!(
644            "Offset of field: ",
645            stringify!(io_uring_sqe__bindgen_ty_3),
646            "::",
647            stringify!(splice_flags)
648        )
649    );
650    assert_eq!(
651        unsafe { ::core::ptr::addr_of!((*ptr).rename_flags) as usize - ptr as usize },
652        0usize,
653        concat!(
654            "Offset of field: ",
655            stringify!(io_uring_sqe__bindgen_ty_3),
656            "::",
657            stringify!(rename_flags)
658        )
659    );
660    assert_eq!(
661        unsafe { ::core::ptr::addr_of!((*ptr).unlink_flags) as usize - ptr as usize },
662        0usize,
663        concat!(
664            "Offset of field: ",
665            stringify!(io_uring_sqe__bindgen_ty_3),
666            "::",
667            stringify!(unlink_flags)
668        )
669    );
670    assert_eq!(
671        unsafe { ::core::ptr::addr_of!((*ptr).hardlink_flags) as usize - ptr as usize },
672        0usize,
673        concat!(
674            "Offset of field: ",
675            stringify!(io_uring_sqe__bindgen_ty_3),
676            "::",
677            stringify!(hardlink_flags)
678        )
679    );
680    assert_eq!(
681        unsafe { ::core::ptr::addr_of!((*ptr).xattr_flags) as usize - ptr as usize },
682        0usize,
683        concat!(
684            "Offset of field: ",
685            stringify!(io_uring_sqe__bindgen_ty_3),
686            "::",
687            stringify!(xattr_flags)
688        )
689    );
690    assert_eq!(
691        unsafe { ::core::ptr::addr_of!((*ptr).msg_ring_flags) as usize - ptr as usize },
692        0usize,
693        concat!(
694            "Offset of field: ",
695            stringify!(io_uring_sqe__bindgen_ty_3),
696            "::",
697            stringify!(msg_ring_flags)
698        )
699    );
700    assert_eq!(
701        unsafe { ::core::ptr::addr_of!((*ptr).uring_cmd_flags) as usize - ptr as usize },
702        0usize,
703        concat!(
704            "Offset of field: ",
705            stringify!(io_uring_sqe__bindgen_ty_3),
706            "::",
707            stringify!(uring_cmd_flags)
708        )
709    );
710    assert_eq!(
711        unsafe { ::core::ptr::addr_of!((*ptr).waitid_flags) as usize - ptr as usize },
712        0usize,
713        concat!(
714            "Offset of field: ",
715            stringify!(io_uring_sqe__bindgen_ty_3),
716            "::",
717            stringify!(waitid_flags)
718        )
719    );
720    assert_eq!(
721        unsafe { ::core::ptr::addr_of!((*ptr).futex_flags) as usize - ptr as usize },
722        0usize,
723        concat!(
724            "Offset of field: ",
725            stringify!(io_uring_sqe__bindgen_ty_3),
726            "::",
727            stringify!(futex_flags)
728        )
729    );
730}
731impl Default for io_uring_sqe__bindgen_ty_3 {
732    fn default() -> Self {
733        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
734        unsafe {
735            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
736            s.assume_init()
737        }
738    }
739}
740#[repr(C, packed)]
741#[derive(Copy, Clone)]
742pub union io_uring_sqe__bindgen_ty_4 {
743    pub buf_index: __u16,
744    pub buf_group: __u16,
745}
746#[test]
747fn bindgen_test_layout_io_uring_sqe__bindgen_ty_4() {
748    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_4> =
749        ::core::mem::MaybeUninit::uninit();
750    let ptr = UNINIT.as_ptr();
751    assert_eq!(
752        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_4>(),
753        2usize,
754        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_4))
755    );
756    assert_eq!(
757        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_4>(),
758        1usize,
759        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_4))
760    );
761    assert_eq!(
762        unsafe { ::core::ptr::addr_of!((*ptr).buf_index) as usize - ptr as usize },
763        0usize,
764        concat!(
765            "Offset of field: ",
766            stringify!(io_uring_sqe__bindgen_ty_4),
767            "::",
768            stringify!(buf_index)
769        )
770    );
771    assert_eq!(
772        unsafe { ::core::ptr::addr_of!((*ptr).buf_group) as usize - ptr as usize },
773        0usize,
774        concat!(
775            "Offset of field: ",
776            stringify!(io_uring_sqe__bindgen_ty_4),
777            "::",
778            stringify!(buf_group)
779        )
780    );
781}
782impl Default for io_uring_sqe__bindgen_ty_4 {
783    fn default() -> Self {
784        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
785        unsafe {
786            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
787            s.assume_init()
788        }
789    }
790}
791#[repr(C)]
792#[derive(Copy, Clone)]
793pub union io_uring_sqe__bindgen_ty_5 {
794    pub splice_fd_in: __s32,
795    pub file_index: __u32,
796    pub optlen: __u32,
797    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1,
798}
799#[repr(C)]
800#[derive(Debug, Default, Copy, Clone)]
801pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 {
802    pub addr_len: __u16,
803    pub __pad3: [__u16; 1usize],
804}
805#[test]
806fn bindgen_test_layout_io_uring_sqe__bindgen_ty_5__bindgen_ty_1() {
807    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_5__bindgen_ty_1> =
808        ::core::mem::MaybeUninit::uninit();
809    let ptr = UNINIT.as_ptr();
810    assert_eq!(
811        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_5__bindgen_ty_1>(),
812        4usize,
813        concat!(
814            "Size of: ",
815            stringify!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1)
816        )
817    );
818    assert_eq!(
819        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_5__bindgen_ty_1>(),
820        2usize,
821        concat!(
822            "Alignment of ",
823            stringify!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1)
824        )
825    );
826    assert_eq!(
827        unsafe { ::core::ptr::addr_of!((*ptr).addr_len) as usize - ptr as usize },
828        0usize,
829        concat!(
830            "Offset of field: ",
831            stringify!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1),
832            "::",
833            stringify!(addr_len)
834        )
835    );
836    assert_eq!(
837        unsafe { ::core::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
838        2usize,
839        concat!(
840            "Offset of field: ",
841            stringify!(io_uring_sqe__bindgen_ty_5__bindgen_ty_1),
842            "::",
843            stringify!(__pad3)
844        )
845    );
846}
847#[test]
848fn bindgen_test_layout_io_uring_sqe__bindgen_ty_5() {
849    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_5> =
850        ::core::mem::MaybeUninit::uninit();
851    let ptr = UNINIT.as_ptr();
852    assert_eq!(
853        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_5>(),
854        4usize,
855        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_5))
856    );
857    assert_eq!(
858        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_5>(),
859        4usize,
860        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_5))
861    );
862    assert_eq!(
863        unsafe { ::core::ptr::addr_of!((*ptr).splice_fd_in) as usize - ptr as usize },
864        0usize,
865        concat!(
866            "Offset of field: ",
867            stringify!(io_uring_sqe__bindgen_ty_5),
868            "::",
869            stringify!(splice_fd_in)
870        )
871    );
872    assert_eq!(
873        unsafe { ::core::ptr::addr_of!((*ptr).file_index) as usize - ptr as usize },
874        0usize,
875        concat!(
876            "Offset of field: ",
877            stringify!(io_uring_sqe__bindgen_ty_5),
878            "::",
879            stringify!(file_index)
880        )
881    );
882    assert_eq!(
883        unsafe { ::core::ptr::addr_of!((*ptr).optlen) as usize - ptr as usize },
884        0usize,
885        concat!(
886            "Offset of field: ",
887            stringify!(io_uring_sqe__bindgen_ty_5),
888            "::",
889            stringify!(optlen)
890        )
891    );
892}
893impl Default for io_uring_sqe__bindgen_ty_5 {
894    fn default() -> Self {
895        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
896        unsafe {
897            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
898            s.assume_init()
899        }
900    }
901}
902#[repr(C)]
903pub struct io_uring_sqe__bindgen_ty_6 {
904    pub __bindgen_anon_1: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>,
905    pub optval: __BindgenUnionField<__u64>,
906    pub cmd: __BindgenUnionField<[__u8; 0usize]>,
907    pub bindgen_union_field: [u64; 2usize],
908}
909#[repr(C)]
910#[derive(Debug, Default, Copy, Clone)]
911pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 {
912    pub addr3: __u64,
913    pub __pad2: [__u64; 1usize],
914}
915#[test]
916fn bindgen_test_layout_io_uring_sqe__bindgen_ty_6__bindgen_ty_1() {
917    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_6__bindgen_ty_1> =
918        ::core::mem::MaybeUninit::uninit();
919    let ptr = UNINIT.as_ptr();
920    assert_eq!(
921        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>(),
922        16usize,
923        concat!(
924            "Size of: ",
925            stringify!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1)
926        )
927    );
928    assert_eq!(
929        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>(),
930        8usize,
931        concat!(
932            "Alignment of ",
933            stringify!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1)
934        )
935    );
936    assert_eq!(
937        unsafe { ::core::ptr::addr_of!((*ptr).addr3) as usize - ptr as usize },
938        0usize,
939        concat!(
940            "Offset of field: ",
941            stringify!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1),
942            "::",
943            stringify!(addr3)
944        )
945    );
946    assert_eq!(
947        unsafe { ::core::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
948        8usize,
949        concat!(
950            "Offset of field: ",
951            stringify!(io_uring_sqe__bindgen_ty_6__bindgen_ty_1),
952            "::",
953            stringify!(__pad2)
954        )
955    );
956}
957#[test]
958fn bindgen_test_layout_io_uring_sqe__bindgen_ty_6() {
959    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe__bindgen_ty_6> =
960        ::core::mem::MaybeUninit::uninit();
961    let ptr = UNINIT.as_ptr();
962    assert_eq!(
963        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_6>(),
964        16usize,
965        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_6))
966    );
967    assert_eq!(
968        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_6>(),
969        8usize,
970        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_6))
971    );
972    assert_eq!(
973        unsafe { ::core::ptr::addr_of!((*ptr).optval) as usize - ptr as usize },
974        0usize,
975        concat!(
976            "Offset of field: ",
977            stringify!(io_uring_sqe__bindgen_ty_6),
978            "::",
979            stringify!(optval)
980        )
981    );
982    assert_eq!(
983        unsafe { ::core::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize },
984        0usize,
985        concat!(
986            "Offset of field: ",
987            stringify!(io_uring_sqe__bindgen_ty_6),
988            "::",
989            stringify!(cmd)
990        )
991    );
992}
993impl Default for io_uring_sqe__bindgen_ty_6 {
994    fn default() -> Self {
995        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
996        unsafe {
997            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
998            s.assume_init()
999        }
1000    }
1001}
1002#[test]
1003fn bindgen_test_layout_io_uring_sqe() {
1004    const UNINIT: ::core::mem::MaybeUninit<io_uring_sqe> = ::core::mem::MaybeUninit::uninit();
1005    let ptr = UNINIT.as_ptr();
1006    assert_eq!(
1007        ::core::mem::size_of::<io_uring_sqe>(),
1008        64usize,
1009        concat!("Size of: ", stringify!(io_uring_sqe))
1010    );
1011    assert_eq!(
1012        ::core::mem::align_of::<io_uring_sqe>(),
1013        8usize,
1014        concat!("Alignment of ", stringify!(io_uring_sqe))
1015    );
1016    assert_eq!(
1017        unsafe { ::core::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize },
1018        0usize,
1019        concat!(
1020            "Offset of field: ",
1021            stringify!(io_uring_sqe),
1022            "::",
1023            stringify!(opcode)
1024        )
1025    );
1026    assert_eq!(
1027        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1028        1usize,
1029        concat!(
1030            "Offset of field: ",
1031            stringify!(io_uring_sqe),
1032            "::",
1033            stringify!(flags)
1034        )
1035    );
1036    assert_eq!(
1037        unsafe { ::core::ptr::addr_of!((*ptr).ioprio) as usize - ptr as usize },
1038        2usize,
1039        concat!(
1040            "Offset of field: ",
1041            stringify!(io_uring_sqe),
1042            "::",
1043            stringify!(ioprio)
1044        )
1045    );
1046    assert_eq!(
1047        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
1048        4usize,
1049        concat!(
1050            "Offset of field: ",
1051            stringify!(io_uring_sqe),
1052            "::",
1053            stringify!(fd)
1054        )
1055    );
1056    assert_eq!(
1057        unsafe { ::core::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
1058        24usize,
1059        concat!(
1060            "Offset of field: ",
1061            stringify!(io_uring_sqe),
1062            "::",
1063            stringify!(len)
1064        )
1065    );
1066    assert_eq!(
1067        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
1068        32usize,
1069        concat!(
1070            "Offset of field: ",
1071            stringify!(io_uring_sqe),
1072            "::",
1073            stringify!(user_data)
1074        )
1075    );
1076    assert_eq!(
1077        unsafe { ::core::ptr::addr_of!((*ptr).personality) as usize - ptr as usize },
1078        42usize,
1079        concat!(
1080            "Offset of field: ",
1081            stringify!(io_uring_sqe),
1082            "::",
1083            stringify!(personality)
1084        )
1085    );
1086}
1087impl Default for io_uring_sqe {
1088    fn default() -> Self {
1089        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1090        unsafe {
1091            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1092            s.assume_init()
1093        }
1094    }
1095}
1096pub const IOSQE_FIXED_FILE_BIT: _bindgen_ty_4 = 0;
1097pub const IOSQE_IO_DRAIN_BIT: _bindgen_ty_4 = 1;
1098pub const IOSQE_IO_LINK_BIT: _bindgen_ty_4 = 2;
1099pub const IOSQE_IO_HARDLINK_BIT: _bindgen_ty_4 = 3;
1100pub const IOSQE_ASYNC_BIT: _bindgen_ty_4 = 4;
1101pub const IOSQE_BUFFER_SELECT_BIT: _bindgen_ty_4 = 5;
1102pub const IOSQE_CQE_SKIP_SUCCESS_BIT: _bindgen_ty_4 = 6;
1103pub type _bindgen_ty_4 = libc::c_uint;
1104pub const IORING_OP_NOP: io_uring_op = 0;
1105pub const IORING_OP_READV: io_uring_op = 1;
1106pub const IORING_OP_WRITEV: io_uring_op = 2;
1107pub const IORING_OP_FSYNC: io_uring_op = 3;
1108pub const IORING_OP_READ_FIXED: io_uring_op = 4;
1109pub const IORING_OP_WRITE_FIXED: io_uring_op = 5;
1110pub const IORING_OP_POLL_ADD: io_uring_op = 6;
1111pub const IORING_OP_POLL_REMOVE: io_uring_op = 7;
1112pub const IORING_OP_SYNC_FILE_RANGE: io_uring_op = 8;
1113pub const IORING_OP_SENDMSG: io_uring_op = 9;
1114pub const IORING_OP_RECVMSG: io_uring_op = 10;
1115pub const IORING_OP_TIMEOUT: io_uring_op = 11;
1116pub const IORING_OP_TIMEOUT_REMOVE: io_uring_op = 12;
1117pub const IORING_OP_ACCEPT: io_uring_op = 13;
1118pub const IORING_OP_ASYNC_CANCEL: io_uring_op = 14;
1119pub const IORING_OP_LINK_TIMEOUT: io_uring_op = 15;
1120pub const IORING_OP_CONNECT: io_uring_op = 16;
1121pub const IORING_OP_FALLOCATE: io_uring_op = 17;
1122pub const IORING_OP_OPENAT: io_uring_op = 18;
1123pub const IORING_OP_CLOSE: io_uring_op = 19;
1124pub const IORING_OP_FILES_UPDATE: io_uring_op = 20;
1125pub const IORING_OP_STATX: io_uring_op = 21;
1126pub const IORING_OP_READ: io_uring_op = 22;
1127pub const IORING_OP_WRITE: io_uring_op = 23;
1128pub const IORING_OP_FADVISE: io_uring_op = 24;
1129pub const IORING_OP_MADVISE: io_uring_op = 25;
1130pub const IORING_OP_SEND: io_uring_op = 26;
1131pub const IORING_OP_RECV: io_uring_op = 27;
1132pub const IORING_OP_OPENAT2: io_uring_op = 28;
1133pub const IORING_OP_EPOLL_CTL: io_uring_op = 29;
1134pub const IORING_OP_SPLICE: io_uring_op = 30;
1135pub const IORING_OP_PROVIDE_BUFFERS: io_uring_op = 31;
1136pub const IORING_OP_REMOVE_BUFFERS: io_uring_op = 32;
1137pub const IORING_OP_TEE: io_uring_op = 33;
1138pub const IORING_OP_SHUTDOWN: io_uring_op = 34;
1139pub const IORING_OP_RENAMEAT: io_uring_op = 35;
1140pub const IORING_OP_UNLINKAT: io_uring_op = 36;
1141pub const IORING_OP_MKDIRAT: io_uring_op = 37;
1142pub const IORING_OP_SYMLINKAT: io_uring_op = 38;
1143pub const IORING_OP_LINKAT: io_uring_op = 39;
1144pub const IORING_OP_MSG_RING: io_uring_op = 40;
1145pub const IORING_OP_FSETXATTR: io_uring_op = 41;
1146pub const IORING_OP_SETXATTR: io_uring_op = 42;
1147pub const IORING_OP_FGETXATTR: io_uring_op = 43;
1148pub const IORING_OP_GETXATTR: io_uring_op = 44;
1149pub const IORING_OP_SOCKET: io_uring_op = 45;
1150pub const IORING_OP_URING_CMD: io_uring_op = 46;
1151pub const IORING_OP_SEND_ZC: io_uring_op = 47;
1152pub const IORING_OP_SENDMSG_ZC: io_uring_op = 48;
1153pub const IORING_OP_READ_MULTISHOT: io_uring_op = 49;
1154pub const IORING_OP_WAITID: io_uring_op = 50;
1155pub const IORING_OP_FUTEX_WAIT: io_uring_op = 51;
1156pub const IORING_OP_FUTEX_WAKE: io_uring_op = 52;
1157pub const IORING_OP_FUTEX_WAITV: io_uring_op = 53;
1158pub const IORING_OP_LAST: io_uring_op = 54;
1159pub type io_uring_op = libc::c_uint;
1160pub const IORING_MSG_DATA: _bindgen_ty_5 = 0;
1161pub const IORING_MSG_SEND_FD: _bindgen_ty_5 = 1;
1162pub type _bindgen_ty_5 = libc::c_uint;
1163#[repr(C)]
1164#[derive(Debug, Default)]
1165pub struct io_uring_cqe {
1166    pub user_data: __u64,
1167    pub res: __s32,
1168    pub flags: __u32,
1169    pub big_cqe: __IncompleteArrayField<__u64>,
1170}
1171#[test]
1172fn bindgen_test_layout_io_uring_cqe() {
1173    const UNINIT: ::core::mem::MaybeUninit<io_uring_cqe> = ::core::mem::MaybeUninit::uninit();
1174    let ptr = UNINIT.as_ptr();
1175    assert_eq!(
1176        ::core::mem::size_of::<io_uring_cqe>(),
1177        16usize,
1178        concat!("Size of: ", stringify!(io_uring_cqe))
1179    );
1180    assert_eq!(
1181        ::core::mem::align_of::<io_uring_cqe>(),
1182        8usize,
1183        concat!("Alignment of ", stringify!(io_uring_cqe))
1184    );
1185    assert_eq!(
1186        unsafe { ::core::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
1187        0usize,
1188        concat!(
1189            "Offset of field: ",
1190            stringify!(io_uring_cqe),
1191            "::",
1192            stringify!(user_data)
1193        )
1194    );
1195    assert_eq!(
1196        unsafe { ::core::ptr::addr_of!((*ptr).res) as usize - ptr as usize },
1197        8usize,
1198        concat!(
1199            "Offset of field: ",
1200            stringify!(io_uring_cqe),
1201            "::",
1202            stringify!(res)
1203        )
1204    );
1205    assert_eq!(
1206        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1207        12usize,
1208        concat!(
1209            "Offset of field: ",
1210            stringify!(io_uring_cqe),
1211            "::",
1212            stringify!(flags)
1213        )
1214    );
1215    assert_eq!(
1216        unsafe { ::core::ptr::addr_of!((*ptr).big_cqe) as usize - ptr as usize },
1217        16usize,
1218        concat!(
1219            "Offset of field: ",
1220            stringify!(io_uring_cqe),
1221            "::",
1222            stringify!(big_cqe)
1223        )
1224    );
1225}
1226pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_6 = 16;
1227pub type _bindgen_ty_6 = libc::c_uint;
1228#[repr(C)]
1229#[derive(Debug, Default, Copy, Clone)]
1230pub struct io_sqring_offsets {
1231    pub head: __u32,
1232    pub tail: __u32,
1233    pub ring_mask: __u32,
1234    pub ring_entries: __u32,
1235    pub flags: __u32,
1236    pub dropped: __u32,
1237    pub array: __u32,
1238    pub resv1: __u32,
1239    pub user_addr: __u64,
1240}
1241#[test]
1242fn bindgen_test_layout_io_sqring_offsets() {
1243    const UNINIT: ::core::mem::MaybeUninit<io_sqring_offsets> = ::core::mem::MaybeUninit::uninit();
1244    let ptr = UNINIT.as_ptr();
1245    assert_eq!(
1246        ::core::mem::size_of::<io_sqring_offsets>(),
1247        40usize,
1248        concat!("Size of: ", stringify!(io_sqring_offsets))
1249    );
1250    assert_eq!(
1251        ::core::mem::align_of::<io_sqring_offsets>(),
1252        8usize,
1253        concat!("Alignment of ", stringify!(io_sqring_offsets))
1254    );
1255    assert_eq!(
1256        unsafe { ::core::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
1257        0usize,
1258        concat!(
1259            "Offset of field: ",
1260            stringify!(io_sqring_offsets),
1261            "::",
1262            stringify!(head)
1263        )
1264    );
1265    assert_eq!(
1266        unsafe { ::core::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
1267        4usize,
1268        concat!(
1269            "Offset of field: ",
1270            stringify!(io_sqring_offsets),
1271            "::",
1272            stringify!(tail)
1273        )
1274    );
1275    assert_eq!(
1276        unsafe { ::core::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize },
1277        8usize,
1278        concat!(
1279            "Offset of field: ",
1280            stringify!(io_sqring_offsets),
1281            "::",
1282            stringify!(ring_mask)
1283        )
1284    );
1285    assert_eq!(
1286        unsafe { ::core::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize },
1287        12usize,
1288        concat!(
1289            "Offset of field: ",
1290            stringify!(io_sqring_offsets),
1291            "::",
1292            stringify!(ring_entries)
1293        )
1294    );
1295    assert_eq!(
1296        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1297        16usize,
1298        concat!(
1299            "Offset of field: ",
1300            stringify!(io_sqring_offsets),
1301            "::",
1302            stringify!(flags)
1303        )
1304    );
1305    assert_eq!(
1306        unsafe { ::core::ptr::addr_of!((*ptr).dropped) as usize - ptr as usize },
1307        20usize,
1308        concat!(
1309            "Offset of field: ",
1310            stringify!(io_sqring_offsets),
1311            "::",
1312            stringify!(dropped)
1313        )
1314    );
1315    assert_eq!(
1316        unsafe { ::core::ptr::addr_of!((*ptr).array) as usize - ptr as usize },
1317        24usize,
1318        concat!(
1319            "Offset of field: ",
1320            stringify!(io_sqring_offsets),
1321            "::",
1322            stringify!(array)
1323        )
1324    );
1325    assert_eq!(
1326        unsafe { ::core::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize },
1327        28usize,
1328        concat!(
1329            "Offset of field: ",
1330            stringify!(io_sqring_offsets),
1331            "::",
1332            stringify!(resv1)
1333        )
1334    );
1335    assert_eq!(
1336        unsafe { ::core::ptr::addr_of!((*ptr).user_addr) as usize - ptr as usize },
1337        32usize,
1338        concat!(
1339            "Offset of field: ",
1340            stringify!(io_sqring_offsets),
1341            "::",
1342            stringify!(user_addr)
1343        )
1344    );
1345}
1346#[repr(C)]
1347#[derive(Debug, Default, Copy, Clone)]
1348pub struct io_cqring_offsets {
1349    pub head: __u32,
1350    pub tail: __u32,
1351    pub ring_mask: __u32,
1352    pub ring_entries: __u32,
1353    pub overflow: __u32,
1354    pub cqes: __u32,
1355    pub flags: __u32,
1356    pub resv1: __u32,
1357    pub user_addr: __u64,
1358}
1359#[test]
1360fn bindgen_test_layout_io_cqring_offsets() {
1361    const UNINIT: ::core::mem::MaybeUninit<io_cqring_offsets> = ::core::mem::MaybeUninit::uninit();
1362    let ptr = UNINIT.as_ptr();
1363    assert_eq!(
1364        ::core::mem::size_of::<io_cqring_offsets>(),
1365        40usize,
1366        concat!("Size of: ", stringify!(io_cqring_offsets))
1367    );
1368    assert_eq!(
1369        ::core::mem::align_of::<io_cqring_offsets>(),
1370        8usize,
1371        concat!("Alignment of ", stringify!(io_cqring_offsets))
1372    );
1373    assert_eq!(
1374        unsafe { ::core::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
1375        0usize,
1376        concat!(
1377            "Offset of field: ",
1378            stringify!(io_cqring_offsets),
1379            "::",
1380            stringify!(head)
1381        )
1382    );
1383    assert_eq!(
1384        unsafe { ::core::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
1385        4usize,
1386        concat!(
1387            "Offset of field: ",
1388            stringify!(io_cqring_offsets),
1389            "::",
1390            stringify!(tail)
1391        )
1392    );
1393    assert_eq!(
1394        unsafe { ::core::ptr::addr_of!((*ptr).ring_mask) as usize - ptr as usize },
1395        8usize,
1396        concat!(
1397            "Offset of field: ",
1398            stringify!(io_cqring_offsets),
1399            "::",
1400            stringify!(ring_mask)
1401        )
1402    );
1403    assert_eq!(
1404        unsafe { ::core::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize },
1405        12usize,
1406        concat!(
1407            "Offset of field: ",
1408            stringify!(io_cqring_offsets),
1409            "::",
1410            stringify!(ring_entries)
1411        )
1412    );
1413    assert_eq!(
1414        unsafe { ::core::ptr::addr_of!((*ptr).overflow) as usize - ptr as usize },
1415        16usize,
1416        concat!(
1417            "Offset of field: ",
1418            stringify!(io_cqring_offsets),
1419            "::",
1420            stringify!(overflow)
1421        )
1422    );
1423    assert_eq!(
1424        unsafe { ::core::ptr::addr_of!((*ptr).cqes) as usize - ptr as usize },
1425        20usize,
1426        concat!(
1427            "Offset of field: ",
1428            stringify!(io_cqring_offsets),
1429            "::",
1430            stringify!(cqes)
1431        )
1432    );
1433    assert_eq!(
1434        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1435        24usize,
1436        concat!(
1437            "Offset of field: ",
1438            stringify!(io_cqring_offsets),
1439            "::",
1440            stringify!(flags)
1441        )
1442    );
1443    assert_eq!(
1444        unsafe { ::core::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize },
1445        28usize,
1446        concat!(
1447            "Offset of field: ",
1448            stringify!(io_cqring_offsets),
1449            "::",
1450            stringify!(resv1)
1451        )
1452    );
1453    assert_eq!(
1454        unsafe { ::core::ptr::addr_of!((*ptr).user_addr) as usize - ptr as usize },
1455        32usize,
1456        concat!(
1457            "Offset of field: ",
1458            stringify!(io_cqring_offsets),
1459            "::",
1460            stringify!(user_addr)
1461        )
1462    );
1463}
1464#[repr(C)]
1465#[derive(Debug, Default, Copy, Clone)]
1466pub struct io_uring_params {
1467    pub sq_entries: __u32,
1468    pub cq_entries: __u32,
1469    pub flags: __u32,
1470    pub sq_thread_cpu: __u32,
1471    pub sq_thread_idle: __u32,
1472    pub features: __u32,
1473    pub wq_fd: __u32,
1474    pub resv: [__u32; 3usize],
1475    pub sq_off: io_sqring_offsets,
1476    pub cq_off: io_cqring_offsets,
1477}
1478#[test]
1479fn bindgen_test_layout_io_uring_params() {
1480    const UNINIT: ::core::mem::MaybeUninit<io_uring_params> = ::core::mem::MaybeUninit::uninit();
1481    let ptr = UNINIT.as_ptr();
1482    assert_eq!(
1483        ::core::mem::size_of::<io_uring_params>(),
1484        120usize,
1485        concat!("Size of: ", stringify!(io_uring_params))
1486    );
1487    assert_eq!(
1488        ::core::mem::align_of::<io_uring_params>(),
1489        8usize,
1490        concat!("Alignment of ", stringify!(io_uring_params))
1491    );
1492    assert_eq!(
1493        unsafe { ::core::ptr::addr_of!((*ptr).sq_entries) as usize - ptr as usize },
1494        0usize,
1495        concat!(
1496            "Offset of field: ",
1497            stringify!(io_uring_params),
1498            "::",
1499            stringify!(sq_entries)
1500        )
1501    );
1502    assert_eq!(
1503        unsafe { ::core::ptr::addr_of!((*ptr).cq_entries) as usize - ptr as usize },
1504        4usize,
1505        concat!(
1506            "Offset of field: ",
1507            stringify!(io_uring_params),
1508            "::",
1509            stringify!(cq_entries)
1510        )
1511    );
1512    assert_eq!(
1513        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1514        8usize,
1515        concat!(
1516            "Offset of field: ",
1517            stringify!(io_uring_params),
1518            "::",
1519            stringify!(flags)
1520        )
1521    );
1522    assert_eq!(
1523        unsafe { ::core::ptr::addr_of!((*ptr).sq_thread_cpu) as usize - ptr as usize },
1524        12usize,
1525        concat!(
1526            "Offset of field: ",
1527            stringify!(io_uring_params),
1528            "::",
1529            stringify!(sq_thread_cpu)
1530        )
1531    );
1532    assert_eq!(
1533        unsafe { ::core::ptr::addr_of!((*ptr).sq_thread_idle) as usize - ptr as usize },
1534        16usize,
1535        concat!(
1536            "Offset of field: ",
1537            stringify!(io_uring_params),
1538            "::",
1539            stringify!(sq_thread_idle)
1540        )
1541    );
1542    assert_eq!(
1543        unsafe { ::core::ptr::addr_of!((*ptr).features) as usize - ptr as usize },
1544        20usize,
1545        concat!(
1546            "Offset of field: ",
1547            stringify!(io_uring_params),
1548            "::",
1549            stringify!(features)
1550        )
1551    );
1552    assert_eq!(
1553        unsafe { ::core::ptr::addr_of!((*ptr).wq_fd) as usize - ptr as usize },
1554        24usize,
1555        concat!(
1556            "Offset of field: ",
1557            stringify!(io_uring_params),
1558            "::",
1559            stringify!(wq_fd)
1560        )
1561    );
1562    assert_eq!(
1563        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1564        28usize,
1565        concat!(
1566            "Offset of field: ",
1567            stringify!(io_uring_params),
1568            "::",
1569            stringify!(resv)
1570        )
1571    );
1572    assert_eq!(
1573        unsafe { ::core::ptr::addr_of!((*ptr).sq_off) as usize - ptr as usize },
1574        40usize,
1575        concat!(
1576            "Offset of field: ",
1577            stringify!(io_uring_params),
1578            "::",
1579            stringify!(sq_off)
1580        )
1581    );
1582    assert_eq!(
1583        unsafe { ::core::ptr::addr_of!((*ptr).cq_off) as usize - ptr as usize },
1584        80usize,
1585        concat!(
1586            "Offset of field: ",
1587            stringify!(io_uring_params),
1588            "::",
1589            stringify!(cq_off)
1590        )
1591    );
1592}
1593pub const IORING_REGISTER_BUFFERS: _bindgen_ty_7 = 0;
1594pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_7 = 1;
1595pub const IORING_REGISTER_FILES: _bindgen_ty_7 = 2;
1596pub const IORING_UNREGISTER_FILES: _bindgen_ty_7 = 3;
1597pub const IORING_REGISTER_EVENTFD: _bindgen_ty_7 = 4;
1598pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_7 = 5;
1599pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_7 = 6;
1600pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_7 = 7;
1601pub const IORING_REGISTER_PROBE: _bindgen_ty_7 = 8;
1602pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_7 = 9;
1603pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_7 = 10;
1604pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_7 = 11;
1605pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_7 = 12;
1606pub const IORING_REGISTER_FILES2: _bindgen_ty_7 = 13;
1607pub const IORING_REGISTER_FILES_UPDATE2: _bindgen_ty_7 = 14;
1608pub const IORING_REGISTER_BUFFERS2: _bindgen_ty_7 = 15;
1609pub const IORING_REGISTER_BUFFERS_UPDATE: _bindgen_ty_7 = 16;
1610pub const IORING_REGISTER_IOWQ_AFF: _bindgen_ty_7 = 17;
1611pub const IORING_UNREGISTER_IOWQ_AFF: _bindgen_ty_7 = 18;
1612pub const IORING_REGISTER_IOWQ_MAX_WORKERS: _bindgen_ty_7 = 19;
1613pub const IORING_REGISTER_RING_FDS: _bindgen_ty_7 = 20;
1614pub const IORING_UNREGISTER_RING_FDS: _bindgen_ty_7 = 21;
1615pub const IORING_REGISTER_PBUF_RING: _bindgen_ty_7 = 22;
1616pub const IORING_UNREGISTER_PBUF_RING: _bindgen_ty_7 = 23;
1617pub const IORING_REGISTER_SYNC_CANCEL: _bindgen_ty_7 = 24;
1618pub const IORING_REGISTER_FILE_ALLOC_RANGE: _bindgen_ty_7 = 25;
1619pub const IORING_REGISTER_LAST: _bindgen_ty_7 = 26;
1620pub const IORING_REGISTER_USE_REGISTERED_RING: _bindgen_ty_7 = 2147483648;
1621pub type _bindgen_ty_7 = libc::c_uint;
1622#[repr(C)]
1623#[derive(Debug, Default, Copy, Clone)]
1624pub struct io_uring_files_update {
1625    pub offset: __u32,
1626    pub resv: __u32,
1627    pub fds: __u64,
1628}
1629#[test]
1630fn bindgen_test_layout_io_uring_files_update() {
1631    const UNINIT: ::core::mem::MaybeUninit<io_uring_files_update> =
1632        ::core::mem::MaybeUninit::uninit();
1633    let ptr = UNINIT.as_ptr();
1634    assert_eq!(
1635        ::core::mem::size_of::<io_uring_files_update>(),
1636        16usize,
1637        concat!("Size of: ", stringify!(io_uring_files_update))
1638    );
1639    assert_eq!(
1640        ::core::mem::align_of::<io_uring_files_update>(),
1641        8usize,
1642        concat!("Alignment of ", stringify!(io_uring_files_update))
1643    );
1644    assert_eq!(
1645        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
1646        0usize,
1647        concat!(
1648            "Offset of field: ",
1649            stringify!(io_uring_files_update),
1650            "::",
1651            stringify!(offset)
1652        )
1653    );
1654    assert_eq!(
1655        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1656        4usize,
1657        concat!(
1658            "Offset of field: ",
1659            stringify!(io_uring_files_update),
1660            "::",
1661            stringify!(resv)
1662        )
1663    );
1664    assert_eq!(
1665        unsafe { ::core::ptr::addr_of!((*ptr).fds) as usize - ptr as usize },
1666        8usize,
1667        concat!(
1668            "Offset of field: ",
1669            stringify!(io_uring_files_update),
1670            "::",
1671            stringify!(fds)
1672        )
1673    );
1674}
1675#[repr(C)]
1676#[derive(Debug, Default, Copy, Clone)]
1677pub struct io_uring_rsrc_register {
1678    pub nr: __u32,
1679    pub flags: __u32,
1680    pub resv2: __u64,
1681    pub data: __u64,
1682    pub tags: __u64,
1683}
1684#[test]
1685fn bindgen_test_layout_io_uring_rsrc_register() {
1686    const UNINIT: ::core::mem::MaybeUninit<io_uring_rsrc_register> =
1687        ::core::mem::MaybeUninit::uninit();
1688    let ptr = UNINIT.as_ptr();
1689    assert_eq!(
1690        ::core::mem::size_of::<io_uring_rsrc_register>(),
1691        32usize,
1692        concat!("Size of: ", stringify!(io_uring_rsrc_register))
1693    );
1694    assert_eq!(
1695        ::core::mem::align_of::<io_uring_rsrc_register>(),
1696        8usize,
1697        concat!("Alignment of ", stringify!(io_uring_rsrc_register))
1698    );
1699    assert_eq!(
1700        unsafe { ::core::ptr::addr_of!((*ptr).nr) as usize - ptr as usize },
1701        0usize,
1702        concat!(
1703            "Offset of field: ",
1704            stringify!(io_uring_rsrc_register),
1705            "::",
1706            stringify!(nr)
1707        )
1708    );
1709    assert_eq!(
1710        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1711        4usize,
1712        concat!(
1713            "Offset of field: ",
1714            stringify!(io_uring_rsrc_register),
1715            "::",
1716            stringify!(flags)
1717        )
1718    );
1719    assert_eq!(
1720        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
1721        8usize,
1722        concat!(
1723            "Offset of field: ",
1724            stringify!(io_uring_rsrc_register),
1725            "::",
1726            stringify!(resv2)
1727        )
1728    );
1729    assert_eq!(
1730        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1731        16usize,
1732        concat!(
1733            "Offset of field: ",
1734            stringify!(io_uring_rsrc_register),
1735            "::",
1736            stringify!(data)
1737        )
1738    );
1739    assert_eq!(
1740        unsafe { ::core::ptr::addr_of!((*ptr).tags) as usize - ptr as usize },
1741        24usize,
1742        concat!(
1743            "Offset of field: ",
1744            stringify!(io_uring_rsrc_register),
1745            "::",
1746            stringify!(tags)
1747        )
1748    );
1749}
1750#[repr(C)]
1751#[derive(Debug, Default, Copy, Clone)]
1752pub struct io_uring_rsrc_update {
1753    pub offset: __u32,
1754    pub resv: __u32,
1755    pub data: __u64,
1756}
1757#[test]
1758fn bindgen_test_layout_io_uring_rsrc_update() {
1759    const UNINIT: ::core::mem::MaybeUninit<io_uring_rsrc_update> =
1760        ::core::mem::MaybeUninit::uninit();
1761    let ptr = UNINIT.as_ptr();
1762    assert_eq!(
1763        ::core::mem::size_of::<io_uring_rsrc_update>(),
1764        16usize,
1765        concat!("Size of: ", stringify!(io_uring_rsrc_update))
1766    );
1767    assert_eq!(
1768        ::core::mem::align_of::<io_uring_rsrc_update>(),
1769        8usize,
1770        concat!("Alignment of ", stringify!(io_uring_rsrc_update))
1771    );
1772    assert_eq!(
1773        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
1774        0usize,
1775        concat!(
1776            "Offset of field: ",
1777            stringify!(io_uring_rsrc_update),
1778            "::",
1779            stringify!(offset)
1780        )
1781    );
1782    assert_eq!(
1783        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1784        4usize,
1785        concat!(
1786            "Offset of field: ",
1787            stringify!(io_uring_rsrc_update),
1788            "::",
1789            stringify!(resv)
1790        )
1791    );
1792    assert_eq!(
1793        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1794        8usize,
1795        concat!(
1796            "Offset of field: ",
1797            stringify!(io_uring_rsrc_update),
1798            "::",
1799            stringify!(data)
1800        )
1801    );
1802}
1803#[repr(C)]
1804#[derive(Debug, Default, Copy, Clone)]
1805pub struct io_uring_rsrc_update2 {
1806    pub offset: __u32,
1807    pub resv: __u32,
1808    pub data: __u64,
1809    pub tags: __u64,
1810    pub nr: __u32,
1811    pub resv2: __u32,
1812}
1813#[test]
1814fn bindgen_test_layout_io_uring_rsrc_update2() {
1815    const UNINIT: ::core::mem::MaybeUninit<io_uring_rsrc_update2> =
1816        ::core::mem::MaybeUninit::uninit();
1817    let ptr = UNINIT.as_ptr();
1818    assert_eq!(
1819        ::core::mem::size_of::<io_uring_rsrc_update2>(),
1820        32usize,
1821        concat!("Size of: ", stringify!(io_uring_rsrc_update2))
1822    );
1823    assert_eq!(
1824        ::core::mem::align_of::<io_uring_rsrc_update2>(),
1825        8usize,
1826        concat!("Alignment of ", stringify!(io_uring_rsrc_update2))
1827    );
1828    assert_eq!(
1829        unsafe { ::core::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
1830        0usize,
1831        concat!(
1832            "Offset of field: ",
1833            stringify!(io_uring_rsrc_update2),
1834            "::",
1835            stringify!(offset)
1836        )
1837    );
1838    assert_eq!(
1839        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1840        4usize,
1841        concat!(
1842            "Offset of field: ",
1843            stringify!(io_uring_rsrc_update2),
1844            "::",
1845            stringify!(resv)
1846        )
1847    );
1848    assert_eq!(
1849        unsafe { ::core::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
1850        8usize,
1851        concat!(
1852            "Offset of field: ",
1853            stringify!(io_uring_rsrc_update2),
1854            "::",
1855            stringify!(data)
1856        )
1857    );
1858    assert_eq!(
1859        unsafe { ::core::ptr::addr_of!((*ptr).tags) as usize - ptr as usize },
1860        16usize,
1861        concat!(
1862            "Offset of field: ",
1863            stringify!(io_uring_rsrc_update2),
1864            "::",
1865            stringify!(tags)
1866        )
1867    );
1868    assert_eq!(
1869        unsafe { ::core::ptr::addr_of!((*ptr).nr) as usize - ptr as usize },
1870        24usize,
1871        concat!(
1872            "Offset of field: ",
1873            stringify!(io_uring_rsrc_update2),
1874            "::",
1875            stringify!(nr)
1876        )
1877    );
1878    assert_eq!(
1879        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
1880        28usize,
1881        concat!(
1882            "Offset of field: ",
1883            stringify!(io_uring_rsrc_update2),
1884            "::",
1885            stringify!(resv2)
1886        )
1887    );
1888}
1889#[repr(C)]
1890#[derive(Debug, Default, Copy, Clone)]
1891pub struct io_uring_probe_op {
1892    pub op: __u8,
1893    pub resv: __u8,
1894    pub flags: __u16,
1895    pub resv2: __u32,
1896}
1897#[test]
1898fn bindgen_test_layout_io_uring_probe_op() {
1899    const UNINIT: ::core::mem::MaybeUninit<io_uring_probe_op> = ::core::mem::MaybeUninit::uninit();
1900    let ptr = UNINIT.as_ptr();
1901    assert_eq!(
1902        ::core::mem::size_of::<io_uring_probe_op>(),
1903        8usize,
1904        concat!("Size of: ", stringify!(io_uring_probe_op))
1905    );
1906    assert_eq!(
1907        ::core::mem::align_of::<io_uring_probe_op>(),
1908        4usize,
1909        concat!("Alignment of ", stringify!(io_uring_probe_op))
1910    );
1911    assert_eq!(
1912        unsafe { ::core::ptr::addr_of!((*ptr).op) as usize - ptr as usize },
1913        0usize,
1914        concat!(
1915            "Offset of field: ",
1916            stringify!(io_uring_probe_op),
1917            "::",
1918            stringify!(op)
1919        )
1920    );
1921    assert_eq!(
1922        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1923        1usize,
1924        concat!(
1925            "Offset of field: ",
1926            stringify!(io_uring_probe_op),
1927            "::",
1928            stringify!(resv)
1929        )
1930    );
1931    assert_eq!(
1932        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1933        2usize,
1934        concat!(
1935            "Offset of field: ",
1936            stringify!(io_uring_probe_op),
1937            "::",
1938            stringify!(flags)
1939        )
1940    );
1941    assert_eq!(
1942        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
1943        4usize,
1944        concat!(
1945            "Offset of field: ",
1946            stringify!(io_uring_probe_op),
1947            "::",
1948            stringify!(resv2)
1949        )
1950    );
1951}
1952#[repr(C)]
1953#[derive(Debug, Default)]
1954pub struct io_uring_probe {
1955    pub last_op: __u8,
1956    pub ops_len: __u8,
1957    pub resv: __u16,
1958    pub resv2: [__u32; 3usize],
1959    pub ops: __IncompleteArrayField<io_uring_probe_op>,
1960}
1961#[test]
1962fn bindgen_test_layout_io_uring_probe() {
1963    const UNINIT: ::core::mem::MaybeUninit<io_uring_probe> = ::core::mem::MaybeUninit::uninit();
1964    let ptr = UNINIT.as_ptr();
1965    assert_eq!(
1966        ::core::mem::size_of::<io_uring_probe>(),
1967        16usize,
1968        concat!("Size of: ", stringify!(io_uring_probe))
1969    );
1970    assert_eq!(
1971        ::core::mem::align_of::<io_uring_probe>(),
1972        4usize,
1973        concat!("Alignment of ", stringify!(io_uring_probe))
1974    );
1975    assert_eq!(
1976        unsafe { ::core::ptr::addr_of!((*ptr).last_op) as usize - ptr as usize },
1977        0usize,
1978        concat!(
1979            "Offset of field: ",
1980            stringify!(io_uring_probe),
1981            "::",
1982            stringify!(last_op)
1983        )
1984    );
1985    assert_eq!(
1986        unsafe { ::core::ptr::addr_of!((*ptr).ops_len) as usize - ptr as usize },
1987        1usize,
1988        concat!(
1989            "Offset of field: ",
1990            stringify!(io_uring_probe),
1991            "::",
1992            stringify!(ops_len)
1993        )
1994    );
1995    assert_eq!(
1996        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
1997        2usize,
1998        concat!(
1999            "Offset of field: ",
2000            stringify!(io_uring_probe),
2001            "::",
2002            stringify!(resv)
2003        )
2004    );
2005    assert_eq!(
2006        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
2007        4usize,
2008        concat!(
2009            "Offset of field: ",
2010            stringify!(io_uring_probe),
2011            "::",
2012            stringify!(resv2)
2013        )
2014    );
2015    assert_eq!(
2016        unsafe { ::core::ptr::addr_of!((*ptr).ops) as usize - ptr as usize },
2017        16usize,
2018        concat!(
2019            "Offset of field: ",
2020            stringify!(io_uring_probe),
2021            "::",
2022            stringify!(ops)
2023        )
2024    );
2025}
2026#[repr(C)]
2027#[derive(Copy, Clone)]
2028pub struct io_uring_restriction {
2029    pub opcode: __u16,
2030    pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
2031    pub resv: __u8,
2032    pub resv2: [__u32; 3usize],
2033}
2034#[repr(C)]
2035#[derive(Copy, Clone)]
2036pub union io_uring_restriction__bindgen_ty_1 {
2037    pub register_op: __u8,
2038    pub sqe_op: __u8,
2039    pub sqe_flags: __u8,
2040}
2041#[test]
2042fn bindgen_test_layout_io_uring_restriction__bindgen_ty_1() {
2043    const UNINIT: ::core::mem::MaybeUninit<io_uring_restriction__bindgen_ty_1> =
2044        ::core::mem::MaybeUninit::uninit();
2045    let ptr = UNINIT.as_ptr();
2046    assert_eq!(
2047        ::core::mem::size_of::<io_uring_restriction__bindgen_ty_1>(),
2048        1usize,
2049        concat!("Size of: ", stringify!(io_uring_restriction__bindgen_ty_1))
2050    );
2051    assert_eq!(
2052        ::core::mem::align_of::<io_uring_restriction__bindgen_ty_1>(),
2053        1usize,
2054        concat!(
2055            "Alignment of ",
2056            stringify!(io_uring_restriction__bindgen_ty_1)
2057        )
2058    );
2059    assert_eq!(
2060        unsafe { ::core::ptr::addr_of!((*ptr).register_op) as usize - ptr as usize },
2061        0usize,
2062        concat!(
2063            "Offset of field: ",
2064            stringify!(io_uring_restriction__bindgen_ty_1),
2065            "::",
2066            stringify!(register_op)
2067        )
2068    );
2069    assert_eq!(
2070        unsafe { ::core::ptr::addr_of!((*ptr).sqe_op) as usize - ptr as usize },
2071        0usize,
2072        concat!(
2073            "Offset of field: ",
2074            stringify!(io_uring_restriction__bindgen_ty_1),
2075            "::",
2076            stringify!(sqe_op)
2077        )
2078    );
2079    assert_eq!(
2080        unsafe { ::core::ptr::addr_of!((*ptr).sqe_flags) as usize - ptr as usize },
2081        0usize,
2082        concat!(
2083            "Offset of field: ",
2084            stringify!(io_uring_restriction__bindgen_ty_1),
2085            "::",
2086            stringify!(sqe_flags)
2087        )
2088    );
2089}
2090impl Default for io_uring_restriction__bindgen_ty_1 {
2091    fn default() -> Self {
2092        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2093        unsafe {
2094            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2095            s.assume_init()
2096        }
2097    }
2098}
2099#[test]
2100fn bindgen_test_layout_io_uring_restriction() {
2101    const UNINIT: ::core::mem::MaybeUninit<io_uring_restriction> =
2102        ::core::mem::MaybeUninit::uninit();
2103    let ptr = UNINIT.as_ptr();
2104    assert_eq!(
2105        ::core::mem::size_of::<io_uring_restriction>(),
2106        16usize,
2107        concat!("Size of: ", stringify!(io_uring_restriction))
2108    );
2109    assert_eq!(
2110        ::core::mem::align_of::<io_uring_restriction>(),
2111        4usize,
2112        concat!("Alignment of ", stringify!(io_uring_restriction))
2113    );
2114    assert_eq!(
2115        unsafe { ::core::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize },
2116        0usize,
2117        concat!(
2118            "Offset of field: ",
2119            stringify!(io_uring_restriction),
2120            "::",
2121            stringify!(opcode)
2122        )
2123    );
2124    assert_eq!(
2125        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
2126        3usize,
2127        concat!(
2128            "Offset of field: ",
2129            stringify!(io_uring_restriction),
2130            "::",
2131            stringify!(resv)
2132        )
2133    );
2134    assert_eq!(
2135        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
2136        4usize,
2137        concat!(
2138            "Offset of field: ",
2139            stringify!(io_uring_restriction),
2140            "::",
2141            stringify!(resv2)
2142        )
2143    );
2144}
2145impl Default for io_uring_restriction {
2146    fn default() -> Self {
2147        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2148        unsafe {
2149            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2150            s.assume_init()
2151        }
2152    }
2153}
2154#[repr(C)]
2155#[derive(Debug, Default, Copy, Clone)]
2156pub struct io_uring_buf {
2157    pub addr: __u64,
2158    pub len: __u32,
2159    pub bid: __u16,
2160    pub resv: __u16,
2161}
2162#[test]
2163fn bindgen_test_layout_io_uring_buf() {
2164    const UNINIT: ::core::mem::MaybeUninit<io_uring_buf> = ::core::mem::MaybeUninit::uninit();
2165    let ptr = UNINIT.as_ptr();
2166    assert_eq!(
2167        ::core::mem::size_of::<io_uring_buf>(),
2168        16usize,
2169        concat!("Size of: ", stringify!(io_uring_buf))
2170    );
2171    assert_eq!(
2172        ::core::mem::align_of::<io_uring_buf>(),
2173        8usize,
2174        concat!("Alignment of ", stringify!(io_uring_buf))
2175    );
2176    assert_eq!(
2177        unsafe { ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
2178        0usize,
2179        concat!(
2180            "Offset of field: ",
2181            stringify!(io_uring_buf),
2182            "::",
2183            stringify!(addr)
2184        )
2185    );
2186    assert_eq!(
2187        unsafe { ::core::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
2188        8usize,
2189        concat!(
2190            "Offset of field: ",
2191            stringify!(io_uring_buf),
2192            "::",
2193            stringify!(len)
2194        )
2195    );
2196    assert_eq!(
2197        unsafe { ::core::ptr::addr_of!((*ptr).bid) as usize - ptr as usize },
2198        12usize,
2199        concat!(
2200            "Offset of field: ",
2201            stringify!(io_uring_buf),
2202            "::",
2203            stringify!(bid)
2204        )
2205    );
2206    assert_eq!(
2207        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
2208        14usize,
2209        concat!(
2210            "Offset of field: ",
2211            stringify!(io_uring_buf),
2212            "::",
2213            stringify!(resv)
2214        )
2215    );
2216}
2217#[repr(C)]
2218pub struct io_uring_buf_ring {
2219    pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1,
2220}
2221#[repr(C)]
2222pub struct io_uring_buf_ring__bindgen_ty_1 {
2223    pub __bindgen_anon_1: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>,
2224    pub __bindgen_anon_2: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>,
2225    pub bindgen_union_field: [u64; 2usize],
2226}
2227#[repr(C)]
2228#[derive(Debug, Default, Copy, Clone)]
2229pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 {
2230    pub resv1: __u64,
2231    pub resv2: __u32,
2232    pub resv3: __u16,
2233    pub tail: __u16,
2234}
2235#[test]
2236fn bindgen_test_layout_io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1() {
2237    const UNINIT: ::core::mem::MaybeUninit<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1> =
2238        ::core::mem::MaybeUninit::uninit();
2239    let ptr = UNINIT.as_ptr();
2240    assert_eq!(
2241        ::core::mem::size_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>(),
2242        16usize,
2243        concat!(
2244            "Size of: ",
2245            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1)
2246        )
2247    );
2248    assert_eq!(
2249        ::core::mem::align_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>(),
2250        8usize,
2251        concat!(
2252            "Alignment of ",
2253            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1)
2254        )
2255    );
2256    assert_eq!(
2257        unsafe { ::core::ptr::addr_of!((*ptr).resv1) as usize - ptr as usize },
2258        0usize,
2259        concat!(
2260            "Offset of field: ",
2261            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1),
2262            "::",
2263            stringify!(resv1)
2264        )
2265    );
2266    assert_eq!(
2267        unsafe { ::core::ptr::addr_of!((*ptr).resv2) as usize - ptr as usize },
2268        8usize,
2269        concat!(
2270            "Offset of field: ",
2271            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1),
2272            "::",
2273            stringify!(resv2)
2274        )
2275    );
2276    assert_eq!(
2277        unsafe { ::core::ptr::addr_of!((*ptr).resv3) as usize - ptr as usize },
2278        12usize,
2279        concat!(
2280            "Offset of field: ",
2281            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1),
2282            "::",
2283            stringify!(resv3)
2284        )
2285    );
2286    assert_eq!(
2287        unsafe { ::core::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
2288        14usize,
2289        concat!(
2290            "Offset of field: ",
2291            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1),
2292            "::",
2293            stringify!(tail)
2294        )
2295    );
2296}
2297#[repr(C)]
2298#[derive(Debug, Default)]
2299pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 {
2300    pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2301    pub bufs: __IncompleteArrayField<io_uring_buf>,
2302}
2303#[repr(C)]
2304#[derive(Debug, Default, Copy, Clone)]
2305pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {}
2306#[test]
2307fn bindgen_test_layout_io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() {
2308    assert_eq!(
2309        ::core::mem::size_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
2310        0usize,
2311        concat!(
2312            "Size of: ",
2313            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
2314        )
2315    );
2316    assert_eq!(
2317        ::core::mem::align_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(),
2318        1usize,
2319        concat!(
2320            "Alignment of ",
2321            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1)
2322        )
2323    );
2324}
2325#[test]
2326fn bindgen_test_layout_io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2() {
2327    const UNINIT: ::core::mem::MaybeUninit<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2> =
2328        ::core::mem::MaybeUninit::uninit();
2329    let ptr = UNINIT.as_ptr();
2330    assert_eq!(
2331        ::core::mem::size_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>(),
2332        0usize,
2333        concat!(
2334            "Size of: ",
2335            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2)
2336        )
2337    );
2338    assert_eq!(
2339        ::core::mem::align_of::<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>(),
2340        8usize,
2341        concat!(
2342            "Alignment of ",
2343            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2)
2344        )
2345    );
2346    assert_eq!(
2347        unsafe { ::core::ptr::addr_of!((*ptr).__empty_bufs) as usize - ptr as usize },
2348        0usize,
2349        concat!(
2350            "Offset of field: ",
2351            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2),
2352            "::",
2353            stringify!(__empty_bufs)
2354        )
2355    );
2356    assert_eq!(
2357        unsafe { ::core::ptr::addr_of!((*ptr).bufs) as usize - ptr as usize },
2358        0usize,
2359        concat!(
2360            "Offset of field: ",
2361            stringify!(io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2),
2362            "::",
2363            stringify!(bufs)
2364        )
2365    );
2366}
2367#[test]
2368fn bindgen_test_layout_io_uring_buf_ring__bindgen_ty_1() {
2369    assert_eq!(
2370        ::core::mem::size_of::<io_uring_buf_ring__bindgen_ty_1>(),
2371        16usize,
2372        concat!("Size of: ", stringify!(io_uring_buf_ring__bindgen_ty_1))
2373    );
2374    assert_eq!(
2375        ::core::mem::align_of::<io_uring_buf_ring__bindgen_ty_1>(),
2376        8usize,
2377        concat!("Alignment of ", stringify!(io_uring_buf_ring__bindgen_ty_1))
2378    );
2379}
2380impl Default for io_uring_buf_ring__bindgen_ty_1 {
2381    fn default() -> Self {
2382        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2383        unsafe {
2384            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2385            s.assume_init()
2386        }
2387    }
2388}
2389#[test]
2390fn bindgen_test_layout_io_uring_buf_ring() {
2391    assert_eq!(
2392        ::core::mem::size_of::<io_uring_buf_ring>(),
2393        16usize,
2394        concat!("Size of: ", stringify!(io_uring_buf_ring))
2395    );
2396    assert_eq!(
2397        ::core::mem::align_of::<io_uring_buf_ring>(),
2398        8usize,
2399        concat!("Alignment of ", stringify!(io_uring_buf_ring))
2400    );
2401}
2402impl Default for io_uring_buf_ring {
2403    fn default() -> Self {
2404        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
2405        unsafe {
2406            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2407            s.assume_init()
2408        }
2409    }
2410}
2411#[repr(C)]
2412#[derive(Debug, Default, Copy, Clone)]
2413pub struct io_uring_buf_reg {
2414    pub ring_addr: __u64,
2415    pub ring_entries: __u32,
2416    pub bgid: __u16,
2417    pub flags: __u16,
2418    pub resv: [__u64; 3usize],
2419}
2420#[test]
2421fn bindgen_test_layout_io_uring_buf_reg() {
2422    const UNINIT: ::core::mem::MaybeUninit<io_uring_buf_reg> = ::core::mem::MaybeUninit::uninit();
2423    let ptr = UNINIT.as_ptr();
2424    assert_eq!(
2425        ::core::mem::size_of::<io_uring_buf_reg>(),
2426        40usize,
2427        concat!("Size of: ", stringify!(io_uring_buf_reg))
2428    );
2429    assert_eq!(
2430        ::core::mem::align_of::<io_uring_buf_reg>(),
2431        8usize,
2432        concat!("Alignment of ", stringify!(io_uring_buf_reg))
2433    );
2434    assert_eq!(
2435        unsafe { ::core::ptr::addr_of!((*ptr).ring_addr) as usize - ptr as usize },
2436        0usize,
2437        concat!(
2438            "Offset of field: ",
2439            stringify!(io_uring_buf_reg),
2440            "::",
2441            stringify!(ring_addr)
2442        )
2443    );
2444    assert_eq!(
2445        unsafe { ::core::ptr::addr_of!((*ptr).ring_entries) as usize - ptr as usize },
2446        8usize,
2447        concat!(
2448            "Offset of field: ",
2449            stringify!(io_uring_buf_reg),
2450            "::",
2451            stringify!(ring_entries)
2452        )
2453    );
2454    assert_eq!(
2455        unsafe { ::core::ptr::addr_of!((*ptr).bgid) as usize - ptr as usize },
2456        12usize,
2457        concat!(
2458            "Offset of field: ",
2459            stringify!(io_uring_buf_reg),
2460            "::",
2461            stringify!(bgid)
2462        )
2463    );
2464    assert_eq!(
2465        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2466        14usize,
2467        concat!(
2468            "Offset of field: ",
2469            stringify!(io_uring_buf_reg),
2470            "::",
2471            stringify!(flags)
2472        )
2473    );
2474    assert_eq!(
2475        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
2476        16usize,
2477        concat!(
2478            "Offset of field: ",
2479            stringify!(io_uring_buf_reg),
2480            "::",
2481            stringify!(resv)
2482        )
2483    );
2484}
2485pub const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_10 = 0;
2486pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_10 = 1;
2487pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_10 = 2;
2488pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_10 = 3;
2489pub const IORING_RESTRICTION_LAST: _bindgen_ty_10 = 4;
2490pub type _bindgen_ty_10 = libc::c_uint;
2491#[repr(C)]
2492#[derive(Debug, Default, Copy, Clone)]
2493pub struct io_uring_getevents_arg {
2494    pub sigmask: __u64,
2495    pub sigmask_sz: __u32,
2496    pub pad: __u32,
2497    pub ts: __u64,
2498}
2499#[test]
2500fn bindgen_test_layout_io_uring_getevents_arg() {
2501    const UNINIT: ::core::mem::MaybeUninit<io_uring_getevents_arg> =
2502        ::core::mem::MaybeUninit::uninit();
2503    let ptr = UNINIT.as_ptr();
2504    assert_eq!(
2505        ::core::mem::size_of::<io_uring_getevents_arg>(),
2506        24usize,
2507        concat!("Size of: ", stringify!(io_uring_getevents_arg))
2508    );
2509    assert_eq!(
2510        ::core::mem::align_of::<io_uring_getevents_arg>(),
2511        8usize,
2512        concat!("Alignment of ", stringify!(io_uring_getevents_arg))
2513    );
2514    assert_eq!(
2515        unsafe { ::core::ptr::addr_of!((*ptr).sigmask) as usize - ptr as usize },
2516        0usize,
2517        concat!(
2518            "Offset of field: ",
2519            stringify!(io_uring_getevents_arg),
2520            "::",
2521            stringify!(sigmask)
2522        )
2523    );
2524    assert_eq!(
2525        unsafe { ::core::ptr::addr_of!((*ptr).sigmask_sz) as usize - ptr as usize },
2526        8usize,
2527        concat!(
2528            "Offset of field: ",
2529            stringify!(io_uring_getevents_arg),
2530            "::",
2531            stringify!(sigmask_sz)
2532        )
2533    );
2534    assert_eq!(
2535        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
2536        12usize,
2537        concat!(
2538            "Offset of field: ",
2539            stringify!(io_uring_getevents_arg),
2540            "::",
2541            stringify!(pad)
2542        )
2543    );
2544    assert_eq!(
2545        unsafe { ::core::ptr::addr_of!((*ptr).ts) as usize - ptr as usize },
2546        16usize,
2547        concat!(
2548            "Offset of field: ",
2549            stringify!(io_uring_getevents_arg),
2550            "::",
2551            stringify!(ts)
2552        )
2553    );
2554}
2555#[repr(C)]
2556#[derive(Debug, Default, Copy, Clone)]
2557pub struct io_uring_sync_cancel_reg {
2558    pub addr: __u64,
2559    pub fd: __s32,
2560    pub flags: __u32,
2561    pub timeout: __kernel_timespec,
2562    pub opcode: __u8,
2563    pub pad: [__u8; 7usize],
2564    pub pad2: [__u64; 3usize],
2565}
2566#[test]
2567fn bindgen_test_layout_io_uring_sync_cancel_reg() {
2568    const UNINIT: ::core::mem::MaybeUninit<io_uring_sync_cancel_reg> =
2569        ::core::mem::MaybeUninit::uninit();
2570    let ptr = UNINIT.as_ptr();
2571    assert_eq!(
2572        ::core::mem::size_of::<io_uring_sync_cancel_reg>(),
2573        64usize,
2574        concat!("Size of: ", stringify!(io_uring_sync_cancel_reg))
2575    );
2576    assert_eq!(
2577        ::core::mem::align_of::<io_uring_sync_cancel_reg>(),
2578        8usize,
2579        concat!("Alignment of ", stringify!(io_uring_sync_cancel_reg))
2580    );
2581    assert_eq!(
2582        unsafe { ::core::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
2583        0usize,
2584        concat!(
2585            "Offset of field: ",
2586            stringify!(io_uring_sync_cancel_reg),
2587            "::",
2588            stringify!(addr)
2589        )
2590    );
2591    assert_eq!(
2592        unsafe { ::core::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
2593        8usize,
2594        concat!(
2595            "Offset of field: ",
2596            stringify!(io_uring_sync_cancel_reg),
2597            "::",
2598            stringify!(fd)
2599        )
2600    );
2601    assert_eq!(
2602        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2603        12usize,
2604        concat!(
2605            "Offset of field: ",
2606            stringify!(io_uring_sync_cancel_reg),
2607            "::",
2608            stringify!(flags)
2609        )
2610    );
2611    assert_eq!(
2612        unsafe { ::core::ptr::addr_of!((*ptr).timeout) as usize - ptr as usize },
2613        16usize,
2614        concat!(
2615            "Offset of field: ",
2616            stringify!(io_uring_sync_cancel_reg),
2617            "::",
2618            stringify!(timeout)
2619        )
2620    );
2621    assert_eq!(
2622        unsafe { ::core::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize },
2623        32usize,
2624        concat!(
2625            "Offset of field: ",
2626            stringify!(io_uring_sync_cancel_reg),
2627            "::",
2628            stringify!(opcode)
2629        )
2630    );
2631    assert_eq!(
2632        unsafe { ::core::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
2633        33usize,
2634        concat!(
2635            "Offset of field: ",
2636            stringify!(io_uring_sync_cancel_reg),
2637            "::",
2638            stringify!(pad)
2639        )
2640    );
2641    assert_eq!(
2642        unsafe { ::core::ptr::addr_of!((*ptr).pad2) as usize - ptr as usize },
2643        40usize,
2644        concat!(
2645            "Offset of field: ",
2646            stringify!(io_uring_sync_cancel_reg),
2647            "::",
2648            stringify!(pad2)
2649        )
2650    );
2651}
2652#[repr(C)]
2653#[derive(Debug, Default, Copy, Clone)]
2654pub struct io_uring_file_index_range {
2655    pub off: __u32,
2656    pub len: __u32,
2657    pub resv: __u64,
2658}
2659#[test]
2660fn bindgen_test_layout_io_uring_file_index_range() {
2661    const UNINIT: ::core::mem::MaybeUninit<io_uring_file_index_range> =
2662        ::core::mem::MaybeUninit::uninit();
2663    let ptr = UNINIT.as_ptr();
2664    assert_eq!(
2665        ::core::mem::size_of::<io_uring_file_index_range>(),
2666        16usize,
2667        concat!("Size of: ", stringify!(io_uring_file_index_range))
2668    );
2669    assert_eq!(
2670        ::core::mem::align_of::<io_uring_file_index_range>(),
2671        8usize,
2672        concat!("Alignment of ", stringify!(io_uring_file_index_range))
2673    );
2674    assert_eq!(
2675        unsafe { ::core::ptr::addr_of!((*ptr).off) as usize - ptr as usize },
2676        0usize,
2677        concat!(
2678            "Offset of field: ",
2679            stringify!(io_uring_file_index_range),
2680            "::",
2681            stringify!(off)
2682        )
2683    );
2684    assert_eq!(
2685        unsafe { ::core::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
2686        4usize,
2687        concat!(
2688            "Offset of field: ",
2689            stringify!(io_uring_file_index_range),
2690            "::",
2691            stringify!(len)
2692        )
2693    );
2694    assert_eq!(
2695        unsafe { ::core::ptr::addr_of!((*ptr).resv) as usize - ptr as usize },
2696        8usize,
2697        concat!(
2698            "Offset of field: ",
2699            stringify!(io_uring_file_index_range),
2700            "::",
2701            stringify!(resv)
2702        )
2703    );
2704}
2705#[repr(C)]
2706#[derive(Debug, Default, Copy, Clone)]
2707pub struct io_uring_recvmsg_out {
2708    pub namelen: __u32,
2709    pub controllen: __u32,
2710    pub payloadlen: __u32,
2711    pub flags: __u32,
2712}
2713#[test]
2714fn bindgen_test_layout_io_uring_recvmsg_out() {
2715    const UNINIT: ::core::mem::MaybeUninit<io_uring_recvmsg_out> =
2716        ::core::mem::MaybeUninit::uninit();
2717    let ptr = UNINIT.as_ptr();
2718    assert_eq!(
2719        ::core::mem::size_of::<io_uring_recvmsg_out>(),
2720        16usize,
2721        concat!("Size of: ", stringify!(io_uring_recvmsg_out))
2722    );
2723    assert_eq!(
2724        ::core::mem::align_of::<io_uring_recvmsg_out>(),
2725        4usize,
2726        concat!("Alignment of ", stringify!(io_uring_recvmsg_out))
2727    );
2728    assert_eq!(
2729        unsafe { ::core::ptr::addr_of!((*ptr).namelen) as usize - ptr as usize },
2730        0usize,
2731        concat!(
2732            "Offset of field: ",
2733            stringify!(io_uring_recvmsg_out),
2734            "::",
2735            stringify!(namelen)
2736        )
2737    );
2738    assert_eq!(
2739        unsafe { ::core::ptr::addr_of!((*ptr).controllen) as usize - ptr as usize },
2740        4usize,
2741        concat!(
2742            "Offset of field: ",
2743            stringify!(io_uring_recvmsg_out),
2744            "::",
2745            stringify!(controllen)
2746        )
2747    );
2748    assert_eq!(
2749        unsafe { ::core::ptr::addr_of!((*ptr).payloadlen) as usize - ptr as usize },
2750        8usize,
2751        concat!(
2752            "Offset of field: ",
2753            stringify!(io_uring_recvmsg_out),
2754            "::",
2755            stringify!(payloadlen)
2756        )
2757    );
2758    assert_eq!(
2759        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2760        12usize,
2761        concat!(
2762            "Offset of field: ",
2763            stringify!(io_uring_recvmsg_out),
2764            "::",
2765            stringify!(flags)
2766        )
2767    );
2768}
2769#[repr(C)]
2770#[derive(Debug, Default, Copy, Clone)]
2771pub struct futex_waitv {
2772    pub val: __u64,
2773    pub uaddr: __u64,
2774    pub flags: __u32,
2775    pub __reserved: __u32,
2776}
2777#[test]
2778fn bindgen_test_layout_futex_waitv() {
2779    const UNINIT: ::core::mem::MaybeUninit<futex_waitv> = ::core::mem::MaybeUninit::uninit();
2780    let ptr = UNINIT.as_ptr();
2781    assert_eq!(
2782        ::core::mem::size_of::<futex_waitv>(),
2783        24usize,
2784        concat!("Size of: ", stringify!(futex_waitv))
2785    );
2786    assert_eq!(
2787        ::core::mem::align_of::<futex_waitv>(),
2788        8usize,
2789        concat!("Alignment of ", stringify!(futex_waitv))
2790    );
2791    assert_eq!(
2792        unsafe { ::core::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
2793        0usize,
2794        concat!(
2795            "Offset of field: ",
2796            stringify!(futex_waitv),
2797            "::",
2798            stringify!(val)
2799        )
2800    );
2801    assert_eq!(
2802        unsafe { ::core::ptr::addr_of!((*ptr).uaddr) as usize - ptr as usize },
2803        8usize,
2804        concat!(
2805            "Offset of field: ",
2806            stringify!(futex_waitv),
2807            "::",
2808            stringify!(uaddr)
2809        )
2810    );
2811    assert_eq!(
2812        unsafe { ::core::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2813        16usize,
2814        concat!(
2815            "Offset of field: ",
2816            stringify!(futex_waitv),
2817            "::",
2818            stringify!(flags)
2819        )
2820    );
2821    assert_eq!(
2822        unsafe { ::core::ptr::addr_of!((*ptr).__reserved) as usize - ptr as usize },
2823        20usize,
2824        concat!(
2825            "Offset of field: ",
2826            stringify!(futex_waitv),
2827            "::",
2828            stringify!(__reserved)
2829        )
2830    );
2831}